summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-04-30 12:15:59 +0000
committerAlyssa Ross <hi@alyssa.is>2023-05-07 21:42:13 +0000
commit416f268c64baf844a81eacf9d946820a8f484ee7 (patch)
tree5fbca635c88fcef48927b406eeedffc5a83797f0
parent048e91e57b0491774fd6a39214b4bc675da2ef6d (diff)
downloadnixpkgs-416f268c64baf844a81eacf9d946820a8f484ee7.tar
nixpkgs-416f268c64baf844a81eacf9d946820a8f484ee7.tar.gz
nixpkgs-416f268c64baf844a81eacf9d946820a8f484ee7.tar.bz2
nixpkgs-416f268c64baf844a81eacf9d946820a8f484ee7.tar.lz
nixpkgs-416f268c64baf844a81eacf9d946820a8f484ee7.tar.xz
nixpkgs-416f268c64baf844a81eacf9d946820a8f484ee7.tar.zst
nixpkgs-416f268c64baf844a81eacf9d946820a8f484ee7.zip
acl: backport patch for musl 1.2.4
-rw-r--r--pkgs/development/libraries/acl/LFS64.patch38
-rw-r--r--pkgs/development/libraries/acl/default.nix6
2 files changed, 43 insertions, 1 deletions
diff --git a/pkgs/development/libraries/acl/LFS64.patch b/pkgs/development/libraries/acl/LFS64.patch
new file mode 100644
index 00000000000..dee951f4121
--- /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 <raj.khem@gmail.com>
+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 <raj.khem@gmail.com>
+---
+ 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 5b31ba3a1c8..eccfef568e9 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