From 007173a9dbdebdb94cec37cb88a01480a47c0e15 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Fri, 30 Dec 2022 20:12:33 +0100 Subject: [PATCH] pkgsCross.mingwW64.giflib: fix build It was failing with: x86_64-w64-mingw32-ld: qprintf.o:qprintf.c:(.text+0xb9): undefined reference to `GifErrorString' and then install gif2rgb gifbuild giffix giftext giftool gifclrmp "/nix/store/vcik0mlp8756g2lpmzbjw3v8mhn1529i-giflib-x86_64-w64-mingw32-5.2.1/bin" install: cannot stat 'gif2rgb': No such file or directory --- pkgs/development/libraries/giflib/default.nix | 9 +++++++++ .../libraries/giflib/mingw-install-exes.patch | 11 +++++++++++ 2 files changed, 20 insertions(+) create mode 100644 pkgs/development/libraries/giflib/mingw-install-exes.patch diff --git a/pkgs/development/libraries/giflib/default.nix b/pkgs/development/libraries/giflib/default.nix index 1eaa16583d6..8c8a587ed54 100644 --- a/pkgs/development/libraries/giflib/default.nix +++ b/pkgs/development/libraries/giflib/default.nix @@ -29,6 +29,15 @@ stdenv.mkDerivation rec { sha256 = "12afkqnlkl3n1hywwgx8sqnhp3bz0c5qrwcv8j9hifw1lmfhv67r"; extraPrefix = "./"; }) + ] ++ lib.optionals stdenv.hostPlatform.isMinGW [ + # Build dll libraries. + (fetchurl { + url = "https://aur.archlinux.org/cgit/aur.git/plain/001-mingw-build.patch?h=mingw-w64-giflib&id=4cf1e519bcf51338dc607d23388fca47d71790c0"; + sha256 = "KyJi3eqH/Ae+guEK6znraZI5+IPImaoYoW5NTkCvjsg="; + }) + + # Install executables. + ./mingw-install-exes.patch ]; nativeBuildInputs = lib.optionals stdenv.isDarwin [ diff --git a/pkgs/development/libraries/giflib/mingw-install-exes.patch b/pkgs/development/libraries/giflib/mingw-install-exes.patch new file mode 100644 index 00000000000..5ec3fdad7e6 --- /dev/null +++ b/pkgs/development/libraries/giflib/mingw-install-exes.patch @@ -0,0 +1,11 @@ +--- a/Makefile ++++ b/Makefile +@@ -92,7 +92,7 @@ + install: all install-bin install-include install-lib install-man + install-bin: $(INSTALLABLE) + $(INSTALL) -d "$(DESTDIR)$(BINDIR)" +- $(INSTALL) $^ "$(DESTDIR)$(BINDIR)" ++ $(INSTALL) $(^:=.exe) "$(DESTDIR)$(BINDIR)" + install-include: + $(INSTALL) -d "$(DESTDIR)$(INCDIR)" + $(INSTALL) -m 644 gif_lib.h "$(DESTDIR)$(INCDIR)"