diff options
Diffstat (limited to 'pkgs/development/libraries/libAfterImage/default.nix')
-rw-r--r-- | pkgs/development/libraries/libAfterImage/default.nix | 55 |
1 files changed, 53 insertions, 2 deletions
diff --git a/pkgs/development/libraries/libAfterImage/default.nix b/pkgs/development/libraries/libAfterImage/default.nix index 1c88459ba9b6..de463cdf42cb 100644 --- a/pkgs/development/libraries/libAfterImage/default.nix +++ b/pkgs/development/libraries/libAfterImage/default.nix @@ -1,4 +1,6 @@ -{ lib, stdenv, fetchurl, zlib }: +{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook, giflib, libjpeg, libpng, libX11, zlib +, static ? stdenv.hostPlatform.isStatic +, withX ? !stdenv.isDarwin }: stdenv.mkDerivation { pname = "libAfterImage"; @@ -13,7 +15,56 @@ stdenv.mkDerivation { sha256 = "0n74rxidwig3yhr6fzxsk7y19n1nq1f296lzrvgj5pfiyi9k48vf"; }; - buildInputs = [ zlib ]; + patches = [ + # add back --with-gif option + (fetchpatch { + name = "libafterimage-gif.patch"; + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/libafterimage/files/libafterimage-gif.patch?id=4aa4fca00611b0b3a4007870da43cc5fd63f76c4"; + sha256 = "16pa94wlqpd7h6mzs4f0qm794yk1xczrwsgf93kdd3g0zbjq3rnr"; + }) + + # fix build with newer giflib + (fetchpatch { + name = "libafterimage-giflib5-v2.patch"; + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/libafterimage/files/libafterimage-giflib5-v2.patch?id=4aa4fca00611b0b3a4007870da43cc5fd63f76c4"; + sha256 = "0qwydqy9bm73cg5n3vm97aj4jfi70p7fxqmfbi54vi78z593brln"; + stripLen = 1; + }) + + # fix build with newer libpng + (fetchpatch { + name = "libafterimage-libpng15.patch"; + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/libafterimage/files/libafterimage-libpng15.patch?id=4aa4fca00611b0b3a4007870da43cc5fd63f76c4"; + sha256 = "1qyvf7786hayasfnnilfbri3p99cfz5wjpbli3gdqj2cvk6mpydv"; + }) + + # fix an ldconfig problem + (fetchpatch { + name = "libafterimage-makefile.patch"; + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/libafterimage/files/libafterimage-makefile.in.patch?id=4aa4fca00611b0b3a4007870da43cc5fd63f76c4"; + sha256 = "1n6fniz6dldms615046yhc4mlg9gb53y4yfia8wfz6szgq5zicj4"; + }) + ]; + patchFlags = [ "-p0" ]; + + nativeBuildInputs = [ autoreconfHook ]; + buildInputs = [ giflib libjpeg libpng zlib ] ++ lib.optional withX libX11; + + preConfigure = '' + rm -rf {libjpeg,libpng,libungif,zlib}/ + substituteInPlace Makefile.in \ + --replace "include .depend" "" + '' + lib.optionalString stdenv.isDarwin '' + substituteInPlace Makefile.in \ + --replace "-soname," "-install_name,$out/lib/" + ''; + + configureFlags = [ + "--with-gif" + "--disable-mmx-optimization" + "--${if static then "enable" else "disable"}-staticlibs" + "--${if !static then "enable" else "disable"}-sharedlibs" + ] ++ lib.optional withX "--with-x"; meta = with lib; { homepage = "http://www.afterstep.org/afterimage/"; |