diff --git a/pkgs/development/libraries/acl/LFS64.patch b/pkgs/development/libraries/acl/LFS64.patch new file mode 100644 index 0000000000000..dee951f4121e3 --- /dev/null +++ b/pkgs/development/libraries/acl/LFS64.patch @@ -0,0 +1,38 @@ +From 2b42f64737adf6a2ddd491213580d6e9cdd2f5af Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 10 Nov 2022 18:04:15 -0800 +Subject: chacl: Use portable version of dirent and readdir + +Using 64bit versions on 32bit architectures should be enabled with +--enable-largefile, this makes it portable across musl and glibc + +Signed-off-by: Khem Raj +--- + tools/chacl.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tools/chacl.c b/tools/chacl.c +index 525a7ff..8fff875 100644 +--- a/tools/chacl.c ++++ b/tools/chacl.c +@@ -320,7 +320,7 @@ walk_dir(acl_t acl, acl_t dacl, const char *fname) + { + int failed = 0; + DIR *dir; +- struct dirent64 *d; ++ struct dirent *d; + char *name; + + if ((dir = opendir(fname)) == NULL) { +@@ -332,7 +332,7 @@ walk_dir(acl_t acl, acl_t dacl, const char *fname) + return(0); /* got a file, not an error */ + } + +- while ((d = readdir64(dir)) != NULL) { ++ while ((d = readdir(dir)) != NULL) { + /* skip "." and ".." entries */ + if (strcmp(d->d_name, ".") == 0 || strcmp(d->d_name, "..") == 0) + continue; +-- +cgit v1.1 + diff --git a/pkgs/development/libraries/acl/default.nix b/pkgs/development/libraries/acl/default.nix index 5b31ba3a1c850..eccfef568e9ce 100644 --- a/pkgs/development/libraries/acl/default.nix +++ b/pkgs/development/libraries/acl/default.nix @@ -14,6 +14,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-dgxhxokBs3/dXu/ur0wMeia9/disdHoe3/HODiQ8Ea8="; }; + patches = [ + ./LFS64.patch + ]; + outputs = [ "bin" "dev" "out" "man" "doc" ]; nativeBuildInputs = [ gettext ]; @@ -24,7 +28,7 @@ stdenv.mkDerivation rec { # Upstream use C++-style comments in C code. Remove them. # This comment breaks compilation if too strict gcc flags are used. - patchPhase = '' + postPatch = '' echo "Removing C++-style comments from include/acl.h" sed -e '/^\/\//d' -i include/acl.h