summary refs log tree commit diff
path: root/pkgs/build-support/libredirect
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2020-08-22 23:34:20 +0200
committerMaximilian Bosch <maximilian@mbosch.me>2020-09-12 23:04:50 +0200
commit25e60944c6b6c1527cebd4fe11428cf3f438b9dd (patch)
tree2fb317079f25d552f5b4e6c530911d035b288034 /pkgs/build-support/libredirect
parent698461394c6ffdaf0b1f0142ba800c5ba8a4ef8b (diff)
downloadnixpkgs-25e60944c6b6c1527cebd4fe11428cf3f438b9dd.tar
nixpkgs-25e60944c6b6c1527cebd4fe11428cf3f438b9dd.tar.gz
nixpkgs-25e60944c6b6c1527cebd4fe11428cf3f438b9dd.tar.bz2
nixpkgs-25e60944c6b6c1527cebd4fe11428cf3f438b9dd.tar.lz
nixpkgs-25e60944c6b6c1527cebd4fe11428cf3f438b9dd.tar.xz
nixpkgs-25e60944c6b6c1527cebd4fe11428cf3f438b9dd.tar.zst
nixpkgs-25e60944c6b6c1527cebd4fe11428cf3f438b9dd.zip
python3Packages.python-engineio: fix build w/glibc-2.32
Also had to wrap `__nss_files_fopen` in `libredirect` as this is the way
now `nss` uses to retrieve file-databases[1].

[1] https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=299210c1fa67e2dfb564475986fce11cd33db9ad;hp=469c03907b116c37c98d8ad7a9edac2bdbf3e934
Diffstat (limited to 'pkgs/build-support/libredirect')
-rw-r--r--pkgs/build-support/libredirect/libredirect.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/pkgs/build-support/libredirect/libredirect.c b/pkgs/build-support/libredirect/libredirect.c
index e7f74c736ab..c8d6956a6bf 100644
--- a/pkgs/build-support/libredirect/libredirect.c
+++ b/pkgs/build-support/libredirect/libredirect.c
@@ -121,6 +121,13 @@ FILE * fopen(const char * path, const char * mode)
     return fopen_real(rewrite(path, buf), mode);
 }
 
+FILE * __nss_files_fopen(const char * path)
+{
+    FILE * (*__nss_files_fopen_real) (const char *) = dlsym(RTLD_NEXT, "__nss_files_fopen");
+    char buf[PATH_MAX];
+    return __nss_files_fopen_real(rewrite(path, buf));
+}
+
 FILE * fopen64(const char * path, const char * mode)
 {
     FILE * (*fopen64_real) (const char *, const char *) = dlsym(RTLD_NEXT, "fopen64");