about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/freeimage/default.nix
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:36 +0000
committerAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:47 +0000
commit36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch)
treeb3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/development/libraries/freeimage/default.nix
parent4e31070265257dc67d120c27e0f75c2344fdfa9a (diff)
parentabf060725d7614bd3b9f96764262dfbc2f9c2199 (diff)
downloadnixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs
git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a
git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/freeimage/default.nix')
-rw-r--r--nixpkgs/pkgs/development/libraries/freeimage/default.nix73
1 files changed, 73 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/freeimage/default.nix b/nixpkgs/pkgs/development/libraries/freeimage/default.nix
new file mode 100644
index 000000000000..b2c66ad346d0
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/freeimage/default.nix
@@ -0,0 +1,73 @@
+{ stdenv, fetchurl, unzip, darwin }:
+
+stdenv.mkDerivation {
+  name = "freeimage-3.17.0";
+
+  src = fetchurl {
+    url = mirror://sourceforge/freeimage/FreeImage3170.zip;
+    sha256 = "12bz57asdcfsz3zr9i9nska0fb6h3z2aizy412qjqkixkginbz7v";
+  };
+
+  patches = let
+    patchURL = https://anonscm.debian.org/cgit/debian-science/packages/freeimage.git/plain/debian/patches;
+  in [
+    (fetchurl {
+      url = patchURL + "/Fix-CVE-2015-0852.patch";
+      sha256 = "1vxdck4i5qi5j6i3cjja0gfy79mmbf0lq2qdrnqdsl4kclbvw2c8";
+    })
+    (fetchurl {
+      url = patchURL + "/Fix-CVE-2016-5684.patch";
+      sha256 = "14ffgqbnwg28r6sjvm3z89zbnnm9ghbc81hdhrzxlyk3vwvd6cw3";
+    })
+    (fetchurl {
+      url = https://raw.githubusercontent.com/buildroot/buildroot/2018.05/package/libfreeimage/0005-Manage-powf64-with-glibc.patch;
+      sha256 = "1lis479ad5cfkhqm044nk4x97wfwm3hry3bvij1w5xkndnlfppc2";
+    })
+  ];
+
+  buildInputs = [ unzip ] ++ stdenv.lib.optional stdenv.isDarwin darwin.cctools;
+
+  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
+    # Fix gcc 5.1 macro problems
+    # https://chromium.googlesource.com/webm/libwebp/+/eebaf97f5a1cb713d81d311308d8a48c124e5aef%5E!/
+    sed -i -e 's/"\(#[^"]*\)"/" \1 "/g' Source/LibWebP/src/dsp/*
+  '';
+
+  postBuild = stdenv.lib.optionalString (!stdenv.isDarwin) "make -f Makefile.fip";
+  preInstall = "mkdir -p $out/include $out/lib";
+  postInstall = stdenv.lib.optionalString (!stdenv.isDarwin) "make -f Makefile.fip install";
+
+  NIX_CFLAGS_COMPILE = "-Wno-narrowing";
+
+  enableParallelBuilding = true;
+
+  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];
+    platforms = with stdenv.lib.platforms; unix;
+  };
+}