From 321ecde8a163cdde9e39df277288e9ff3817f4df Mon Sep 17 00:00:00 2001 From: Vladimír Čunát Date: Thu, 21 Apr 2016 16:12:50 +0200 Subject: zlib: on mingw, add another DLL link Also clean up the expression a little. It fixes at least libpng's DLL. --- pkgs/development/libraries/zlib/default.nix | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'pkgs/development/libraries/zlib') diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix index 59713bb8d20..f7a72a7673a 100644 --- a/pkgs/development/libraries/zlib/default.nix +++ b/pkgs/development/libraries/zlib/default.nix @@ -52,14 +52,21 @@ stdenv.mkDerivation rec { crossAttrs = { dontStrip = static; + dontSetConfigureCross = true; } // stdenv.lib.optionalAttrs (stdenv.cross.libc == "msvcrt") { - configurePhase='' - installFlags="BINARY_PATH=$out/bin INCLUDE_PATH=$out/include LIBRARY_PATH=$out/lib" - ''; + installFlags = [ + "BINARY_PATH=$(out)/bin" + "INCLUDE_PATH=$(dev)/include" + "LIBRARY_PATH=$(out)/lib" + ]; makeFlags = [ "-f" "win32/Makefile.gcc" "PREFIX=${stdenv.cross.config}-" - ] ++ (if static then [] else [ "SHARED_MODE=1" ]); + ] ++ stdenv.lib.optional (!static) "SHARED_MODE=1"; + + # Non-typical naming confuses libtool which then refuses to use zlib's DLL + # in some cases, e.g. when compiling libpng. + postInstall = postInstall + "ln -s zlib1.dll $out/bin/libz.dll"; } // stdenv.lib.optionalAttrs (stdenv.cross.libc == "libSystem") { makeFlags = [ "RANLIB=${stdenv.cross.config}-ranlib" ]; }; -- cgit 1.4.1