From 561840b4aa91bf271acc13864f185586a5a01722 Mon Sep 17 00:00:00 2001 From: Manolis Ragkousis Date: Sat, 25 Apr 2015 18:18:53 +0300 Subject: 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/packages/acl.scm | 4 +- gnu/packages/patches/acl-hurd-path-max.patch | 80 ++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/acl-hurd-path-max.patch (limited to 'gnu/packages') diff --git a/gnu/packages/acl.scm b/gnu/packages/acl.scm index 49a2c3c2ab..784186b670 100644 --- a/gnu/packages/acl.scm +++ b/gnu/packages/acl.scm @@ -26,6 +26,7 @@ (define-module (gnu packages acl) #: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 @@ (define-public acl 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 0000000000..89cb3a38d7 --- /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 +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; + } + -- cgit v1.2.3