freeimage: 3.17.0 -> 3.18.0
This commit is contained in:
parent
26b095829f
commit
88825bbbde
|
@ -1,65 +1,46 @@
|
||||||
{ stdenv, fetchurl, unzip, darwin }:
|
{ lib, stdenv, fetchurl, unzip, darwin }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "freeimage-3.17.0";
|
name = "freeimage-3.18.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = mirror://sourceforge/freeimage/FreeImage3170.zip;
|
url = mirror://sourceforge/freeimage/FreeImage3180.zip;
|
||||||
sha256 = "12bz57asdcfsz3zr9i9nska0fb6h3z2aizy412qjqkixkginbz7v";
|
sha256 = "1z9qwi9mlq69d5jipr3v2jika2g0kszqdzilggm99nls5xl7j4zl";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = let
|
patches = lib.optional stdenv.isDarwin ./dylib.patch;
|
||||||
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;
|
buildInputs = [ unzip ] ++ lib.optional stdenv.isDarwin darwin.cctools;
|
||||||
|
|
||||||
prePatch = if stdenv.isDarwin
|
prePatch = if stdenv.isDarwin then ''
|
||||||
then ''
|
sed -e 's/$(shell xcrun -find clang)/clang/g' \
|
||||||
sed -e 's/gcc-4.0/clang/g' \
|
-e 's/$(shell xcrun -find clang++)/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|PREFIX = /usr/local|PREFIX = $out|" \
|
||||||
-e 's|-Wl,-syslibroot /Developer/SDKs/MacOSX10.5.sdk||g' \
|
-e 's|-Wl,-syslibroot $(MACOSX_SYSROOT)||g' \
|
||||||
-e 's|-Wl,-syslibroot /Developer/SDKs/MacOSX10.6.sdk||g' \
|
-e 's|-isysroot $(MACOSX_SYSROOT)||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| install -d -m 755 -o root -g wheel $(INCDIR) $(INSTALLDIR)||' \
|
||||||
-e 's| -m 644 -o root -g wheel||g' \
|
-e 's| -m 644 -o root -g wheel||g' \
|
||||||
-i ./Makefile.osx
|
-i ./Makefile.osx
|
||||||
# Fix LibJXR performance timers
|
# Fix LibJXR performance timers
|
||||||
sed 's|^SRCS = \(.*\)$|SRCS = \1 Source/LibJXR/image/sys/perfTimerANSI.c|' -i ./Makefile.srcs
|
sed 's|^SRCS = \(.*\)$|SRCS = \1 Source/LibJXR/image/sys/perfTimerANSI.c|' -i ./Makefile.srcs
|
||||||
''
|
'' else ''
|
||||||
else ''
|
|
||||||
sed -e s@/usr/@$out/@ \
|
sed -e s@/usr/@$out/@ \
|
||||||
-e 's@-o root -g root@@' \
|
-e 's@-o root -g root@@' \
|
||||||
-e 's@ldconfig@echo not running ldconfig@' \
|
-e 's@ldconfig@echo not running ldconfig@' \
|
||||||
-i Makefile.gnu Makefile.fip
|
-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";
|
postBuild = lib.optionalString (!stdenv.isDarwin) ''
|
||||||
preInstall = "mkdir -p $out/include $out/lib";
|
make -f Makefile.fip
|
||||||
postInstall = stdenv.lib.optionalString (!stdenv.isDarwin) "make -f Makefile.fip install";
|
'';
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = "-Wno-narrowing";
|
preInstall = ''
|
||||||
|
mkdir -p $out/include $out/lib
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = lib.optionalString (!stdenv.isDarwin) ''
|
||||||
|
make -f Makefile.fip install
|
||||||
|
'';
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
@ -67,7 +48,7 @@ stdenv.mkDerivation {
|
||||||
description = "Open Source library for accessing popular graphics image file formats";
|
description = "Open Source library for accessing popular graphics image file formats";
|
||||||
homepage = http://freeimage.sourceforge.net/;
|
homepage = http://freeimage.sourceforge.net/;
|
||||||
license = "GPL";
|
license = "GPL";
|
||||||
maintainers = with stdenv.lib.maintainers; [viric];
|
maintainers = with lib.maintainers; [viric];
|
||||||
platforms = with stdenv.lib.platforms; unix;
|
platforms = with lib.platforms; unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
--- a/Makefile.osx
|
||||||
|
+++ b/Makefile.osx
|
||||||
|
@@ -60,1 +60,1 @@
|
||||||
|
-FreeImage: $(STATICLIB)
|
||||||
|
+FreeImage: $(STATICLIB) $(SHAREDLIB)
|
||||||
|
@@ -87,7 +87,7 @@
|
||||||
|
-$(SHAREDLIB): $(SHAREDLIB)-i386 $(SHAREDLIB)-x86_64
|
||||||
|
- $(LIPO) -create $(SHAREDLIB)-i386 $(SHAREDLIB)-x86_64 -output $(SHAREDLIB)
|
||||||
|
+#$(SHAREDLIB): $(SHAREDLIB)-i386 $(SHAREDLIB)-x86_64
|
||||||
|
+# $(LIPO) -create $(SHAREDLIB)-i386 $(SHAREDLIB)-x86_64 -output $(SHAREDLIB)
|
||||||
|
|
||||||
|
$(SHAREDLIB)-i386: $(MODULES_I386)
|
||||||
|
$(CPP_I386) -arch i386 -dynamiclib $(LIBRARIES_I386) -o $@ $(MODULES_I386)
|
||||||
|
|
||||||
|
-$(SHAREDLIB)-x86_64: $(MODULES_X86_64)
|
||||||
|
+$(SHAREDLIB): $(MODULES_X86_64)
|
|
@ -19,6 +19,7 @@ stdenv.mkDerivation {
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
sed 1i'#include <inttypes.h>' -i src/PGF.cpp
|
sed 1i'#include <inttypes.h>' -i src/PGF.cpp
|
||||||
sed s/__int64/int64_t/g -i src/PGF.cpp
|
sed s/__int64/int64_t/g -i src/PGF.cpp
|
||||||
|
rm include/FreeImage.h include/FreeImagePlus.h
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preConfigure = "dos2unix configure.ac; sh autogen.sh";
|
preConfigure = "dos2unix configure.ac; sh autogen.sh";
|
||||||
|
|
Loading…
Reference in New Issue