guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

05/09: gnu: acl: Fix i686-gnu build.


From: Ludovic Courtès
Subject: 05/09: gnu: acl: Fix i686-gnu build.
Date: Fri, 04 Sep 2015 11:52:06 +0000

civodul pushed a commit to branch core-updates
in repository guix.

commit 561840b4aa91bf271acc13864f185586a5a01722
Author: Manolis Ragkousis <address@hidden>
Date:   Sat Apr 25 18:18:53 2015 +0300

    gnu: acl: Fix i686-gnu build.
    
    * gnu/packages/patches/acl-hurd-path-max.patch: New file.
    * gnu-system.am (dist_patch_DATA): Add it.
---
 gnu-system.am                                |    1 +
 gnu/packages/acl.scm                         |    4 +-
 gnu/packages/patches/acl-hurd-path-max.patch |   80 ++++++++++++++++++++++++++
 3 files changed, 84 insertions(+), 1 deletions(-)

diff --git a/gnu-system.am b/gnu-system.am
index ab43081..6d0cb26 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -383,6 +383,7 @@ dist_patch_DATA =                                           
\
   gnu/packages/patches/abiword-pass-no-undefined-to-linker.patch       \
   gnu/packages/patches/abiword-use-proper-png-api.patch                \
   gnu/packages/patches/abiword-wmf-version-lookup-fix.patch    \
+  gnu/packages/patches/acl-hurd-path-max.patch                 \
   gnu/packages/patches/aegis-constness-error.patch             \
   gnu/packages/patches/aegis-perl-tempdir1.patch               \
   gnu/packages/patches/aegis-perl-tempdir2.patch               \
diff --git a/gnu/packages/acl.scm b/gnu/packages/acl.scm
index 49a2c3c..784186b 100644
--- a/gnu/packages/acl.scm
+++ b/gnu/packages/acl.scm
@@ -26,6 +26,7 @@
   #:use-module (gnu packages perl)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (gnu packages)
   #:use-module (guix build-system gnu))
 
 (define-public acl
@@ -39,7 +40,8 @@
                           version ".src.tar.gz"))
       (sha256
        (base32
-        "08qd9s3wfhv0ajswsylnfwr5h0d7j9d4rgip855nrh400nxp940p"))))
+        "08qd9s3wfhv0ajswsylnfwr5h0d7j9d4rgip855nrh400nxp940p"))
+      (patches (list (search-patch "acl-hurd-path-max.patch")))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f   ; FIXME: Investigate test suite failures
diff --git a/gnu/packages/patches/acl-hurd-path-max.patch 
b/gnu/packages/patches/acl-hurd-path-max.patch
new file mode 100644
index 0000000..89cb3a3
--- /dev/null
+++ b/gnu/packages/patches/acl-hurd-path-max.patch
@@ -0,0 +1,80 @@
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=636512
+
+From: Svante Signell <address@hidden>
+Subject: acl: Fix FTBFS on hurd-i386
+Date: Wed, 03 Aug 2011 19:36:27 +0200
+
+Currently acl does not compile on hurd-i386. The problem is a PATH_MAX
+definition which is not supported on GNU/Hurd.
+
+Index: acl-2.2.52/setfacl/parse.c
+===================================================================
+--- acl-2.2.52/setfacl/parse.c
++++ acl-2.2.52/setfacl/parse.c
+@@ -419,7 +419,13 @@ read_acl_comments(
+         bytes for "# file: ". Not a good solution but for now it is the
+         best I can do without too much impact on the code. [tw]
+       */
++
++#ifdef __GNU__
++      char *linebuf;
++      size_t dummy = 0;
++#else
+       char linebuf[(4*PATH_MAX)+9];
++#endif
+       char *cp;
+       char *p;
+       int comments_read = 0;
+@@ -449,9 +455,13 @@ read_acl_comments(
+               if (line)
+                       (*line)++;
+ 
++#ifdef __GNU__
++              if (getline(&linebuf, &dummy, file) == -1)
++                      break;
++#else
+               if (fgets(linebuf, sizeof(linebuf), file) == NULL)
+                       break;
+-              
++#endif                
+               comments_read = 1;
+ 
+               p = strrchr(linebuf, '\0');
+@@ -473,7 +483,12 @@ read_acl_comments(
+                                       goto fail;
+                               *path_p = (char*)malloc(strlen(cp)+1);
+                               if (!*path_p)
++                                {
++#ifdef __GNU__
++                                  free (linebuf);
++#endif
+                                       return -1;
++                                }
+                               strcpy(*path_p, cp);
+                       }
+               } else if (strncmp(cp, "owner:", 6) == 0) {
+@@ -522,13 +537,24 @@ read_acl_comments(
+               }
+       }
+       if (ferror(file))
++        {
++#ifdef __GNU__
++          free (linebuf);
++#endif
+               return -1;
++        }
++#ifdef __GNU__
++      free (linebuf);
++#endif
+       return comments_read;
+ fail:
+       if (path_p && *path_p) {
+               free(*path_p);
+               *path_p = NULL;
+       }
++#ifdef __GNU__
++      free (linebuf);
++#endif
+       return -EINVAL;
+ }
+ 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]