summary refs log tree commit diff
path: root/pkgs/tools/graphics/optipng/default.nix
diff options
context:
space:
mode:
authorJaka Hudoklin <jakahudoklin@gmail.com>2014-04-01 01:37:10 +0200
committerJaka Hudoklin <jakahudoklin@gmail.com>2014-04-01 01:43:56 +0200
commitc3524a8dd6cb3cc03a65a486290b29f97ba469d0 (patch)
tree14930eeb14de1a5e2845de09d237911ea66a46d1 /pkgs/tools/graphics/optipng/default.nix
parent4eefc983a2d4e2d7ac2bbe7cf8bc393fa8da3aaa (diff)
downloadnixlib-c3524a8dd6cb3cc03a65a486290b29f97ba469d0.tar
nixlib-c3524a8dd6cb3cc03a65a486290b29f97ba469d0.tar.gz
nixlib-c3524a8dd6cb3cc03a65a486290b29f97ba469d0.tar.bz2
nixlib-c3524a8dd6cb3cc03a65a486290b29f97ba469d0.tar.lz
nixlib-c3524a8dd6cb3cc03a65a486290b29f97ba469d0.tar.xz
nixlib-c3524a8dd6cb3cc03a65a486290b29f97ba469d0.tar.zst
nixlib-c3524a8dd6cb3cc03a65a486290b29f97ba469d0.zip
optipng: use system libpng & zlib, fix cross builds and add support for static builds
Diffstat (limited to 'pkgs/tools/graphics/optipng/default.nix')
-rw-r--r--pkgs/tools/graphics/optipng/default.nix22
1 files changed, 21 insertions, 1 deletions
diff --git a/pkgs/tools/graphics/optipng/default.nix b/pkgs/tools/graphics/optipng/default.nix
index 1b2fc6dbb90c..1984ab7b1de8 100644
--- a/pkgs/tools/graphics/optipng/default.nix
+++ b/pkgs/tools/graphics/optipng/default.nix
@@ -1,7 +1,9 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, libpng, static ? false }:
 
 # This package comes with its own copy of zlib, libpng and pngxtern
 
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
   name = "optipng-0.7.4";
 
@@ -10,6 +12,24 @@ stdenv.mkDerivation rec {
     sha256 = "1zrphbz17rhhfl1l95q5s979rrhifbwczl2xj1fdrnq5jid5s2sj";
   };
 
+  buildInputs = [ libpng ];
+
+  LDFLAGS = optional static "-static";
+  configureFlags = "--with-system-zlib --with-system-libpng";
+
+  crossAttrs = {
+    CC="${stdenv.cross.config}-gcc";
+    LD="${stdenv.cross.config}-gcc";
+    AR="${stdenv.cross.config}-ar";
+    RANLIB="${stdenv.cross.config}-ranlib";
+    configurePhase = ''
+      ./configure -prefix="$out" --with-system-zlib --with-system-libpng
+    '';
+    postInstall = optional (stdenv.cross.libc == "msvcrt") ''
+      mv "$out"/bin/optipng "$out"/bin/optipng.exe
+    '';
+  };
+
   meta = {
     homepage = http://optipng.sourceforge.net/;
     description = "A PNG optimizer";