From 25e60944c6b6c1527cebd4fe11428cf3f438b9dd Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 22 Aug 2020 23:34:20 +0200 Subject: [PATCH] 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 --- pkgs/build-support/libredirect/libredirect.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/build-support/libredirect/libredirect.c b/pkgs/build-support/libredirect/libredirect.c index e7f74c736ab0..c8d6956a6bfe 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");