mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-29 00:53:57 +00:00
be94ded77f
The unreleased version of freeimage contains many important fixes, amongst others CVEs, and is taken from the svn repository (r1859). We also unbundle all the dependencies to make it fit into the Nixpkgs ecosystem. All the changes needed to unbundle and make it compile with Nix is contained in unbundle.diff. Fixes #77653 Replaces #77655
50 lines
1.5 KiB
Nix
50 lines
1.5 KiB
Nix
{ lib, stdenv, fetchsvn, darwin, libtiff
|
|
, libpng, zlib, libwebp, libraw, openexr, openjpeg
|
|
, libjpeg, jxrlib, pkg-config }:
|
|
|
|
stdenv.mkDerivation {
|
|
pname = "freeimage";
|
|
version = "unstable-2020-07-04";
|
|
|
|
src = fetchsvn {
|
|
url = "svn://svn.code.sf.net/p/freeimage/svn/";
|
|
rev = "1859";
|
|
sha256 = "1d94935aqbkb994nqkw7m8xcynyz9rm6k7k59igrbjak8b63qpi6";
|
|
};
|
|
sourceRoot = "svn-r1859/FreeImage/trunk";
|
|
|
|
# Ensure that the bundled libraries are not used at all
|
|
prePatch = "rm -rf Source/Lib* Source/OpenEXR Source/ZLib";
|
|
patches = [ ./unbundle.diff ];
|
|
|
|
nativeBuildInputs = [ pkg-config ] ++ lib.optional stdenv.isDarwin darwin.cctools;
|
|
buildInputs = [ libtiff libtiff.dev_private libpng zlib libwebp libraw openexr openjpeg libjpeg libjpeg.dev_private jxrlib ];
|
|
|
|
postBuild = lib.optionalString (!stdenv.isDarwin) ''
|
|
make -f Makefile.fip
|
|
'';
|
|
|
|
INCDIR = "${placeholder "out"}/include";
|
|
INSTALLDIR = "${placeholder "out"}/lib";
|
|
|
|
preInstall = ''
|
|
mkdir -p $INCDIR $INSTALLDIR
|
|
'';
|
|
|
|
postInstall = lib.optionalString (!stdenv.isDarwin) ''
|
|
make -f Makefile.fip install
|
|
'' + lib.optionalString stdenv.isDarwin ''
|
|
ln -s $out/lib/libfreeimage.3.dylib $out/lib/libfreeimage.dylib
|
|
'';
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
meta = {
|
|
description = "Open Source library for accessing popular graphics image file formats";
|
|
homepage = "http://freeimage.sourceforge.net/";
|
|
license = "GPL";
|
|
maintainers = with lib.maintainers; [viric l-as];
|
|
platforms = with lib.platforms; unix;
|
|
};
|
|
}
|