nixpkgs/pkgs/development/libraries/freeimage/default.nix

66 lines
2.7 KiB
Nix
Raw Normal View History

{ stdenv, fetchpatch, fetchurl, unzip, darwin }:
2017-01-21 13:43:22 +00:00
stdenv.mkDerivation {
name = "freeimage-3.17.0";
2017-01-21 13:43:22 +00:00
src = fetchurl {
url = mirror://sourceforge/freeimage/FreeImage3170.zip;
sha256 = "12bz57asdcfsz3zr9i9nska0fb6h3z2aizy412qjqkixkginbz7v";
};
2017-01-21 13:43:22 +00:00
patches = [
(fetchpatch {
url = "https://anonscm.debian.org/cgit/debian-science/packages/freeimage.git/plain/debian/patches/Fix-CVE-2015-0852.patch";
sha256 = "0qkb96mvvhji75gz7dma3vj2b71smp96z3kl2ydj6skvnw6slnmc";
})
(fetchpatch {
url = "https://anonscm.debian.org/cgit/debian-science/packages/freeimage.git/plain/debian/patches/Fix-CVE-2016-5684.patch";
sha256 = "18g5ckrvqfjcldis7zf7hmfl8b3mgnc6akd6x3cdq8c5j7l1y98f";
})
];
2016-11-03 01:16:12 +00:00
buildInputs = [ unzip ] ++ stdenv.lib.optional stdenv.isDarwin darwin.cctools;
2017-01-21 13:43:22 +00:00
2016-11-03 01:16:12 +00:00
prePatch = if stdenv.isDarwin
then ''
sed -e 's/gcc-4.0/clang/g' \
-e 's/g++-4.0/clang++/g' \
-e 's/COMPILERFLAGS = -Os -fexceptions -fvisibility=hidden -DNO_LCMS/COMPILERFLAGS = -Os -fexceptions -fvisibility=hidden -DNO_LCMS -D__ANSI__/' \
-e "s|PREFIX = /usr/local|PREFIX = $out|" \
-e 's|-Wl,-syslibroot /Developer/SDKs/MacOSX10.5.sdk||g' \
-e 's|-Wl,-syslibroot /Developer/SDKs/MacOSX10.6.sdk||g' \
-e 's|-isysroot /Developer/SDKs/MacOSX10.6.sdk||g' \
-e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||g' \
-e 's| $(STATICLIB)-ppc $(STATICLIB)-i386||g' \
-e 's| $(SHAREDLIB)-ppc $(SHAREDLIB)-i386||g' \
-e 's| install -d -m 755 -o root -g wheel $(INCDIR) $(INSTALLDIR)||' \
-e 's| -m 644 -o root -g wheel||g' \
-i ./Makefile.osx
# Fix LibJXR performance timers
sed 's|^SRCS = \(.*\)$|SRCS = \1 Source/LibJXR/image/sys/perfTimerANSI.c|' -i ./Makefile.srcs
''
else ''
sed -e s@/usr/@$out/@ \
-e 's@-o root -g root@@' \
-e 's@ldconfig@echo not running ldconfig@' \
-i Makefile.gnu Makefile.fip
2016-11-03 01:16:12 +00:00
# Fix gcc 5.1 macro problems
# https://chromium.googlesource.com/webm/libwebp/+/eebaf97f5a1cb713d81d311308d8a48c124e5aef%5E!/
sed -i -e 's/"\(#[^"]*\)"/" \1 "/g' Source/LibWebP/src/dsp/*
'';
2016-11-03 01:16:12 +00:00
postBuild = stdenv.lib.optionalString (!stdenv.isDarwin) "make -f Makefile.fip";
preInstall = "mkdir -p $out/include $out/lib";
2016-11-03 01:16:12 +00:00
postInstall = stdenv.lib.optionalString (!stdenv.isDarwin) "make -f Makefile.fip install";
2017-01-21 13:43:22 +00:00
NIX_CFLAGS_COMPILE = "-Wno-narrowing";
meta = {
description = "Open Source library for accessing popular graphics image file formats";
homepage = http://freeimage.sourceforge.net/;
license = "GPL";
maintainers = with stdenv.lib.maintainers; [viric];
2016-11-03 01:16:12 +00:00
platforms = with stdenv.lib.platforms; unix;
};
}