diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libpng')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libpng/12.nix | 31 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libpng/default.nix | 49 |
2 files changed, 80 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libpng/12.nix b/nixpkgs/pkgs/development/libraries/libpng/12.nix new file mode 100644 index 000000000000..2cd8c1debaf2 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libpng/12.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, zlib }: + +assert stdenv.hostPlatform == stdenv.buildPlatform -> zlib != null; + +stdenv.mkDerivation rec { + name = "libpng-1.2.57"; + + src = fetchurl { + url = "mirror://sourceforge/libpng/${name}.tar.xz"; + sha256 = "1n2lrzjkm5jhfg2bs10q398lkwbbx742fi27zgdgx0x23zhj0ihg"; + }; + + outputs = [ "out" "dev" "man" ]; + + propagatedBuildInputs = [ zlib ]; + + passthru = { inherit zlib; }; + + configureFlags = [ "--enable-static" ]; + + postInstall = ''mv "$out/bin" "$dev/bin"''; + + meta = with stdenv.lib; { + description = "The official reference implementation for the PNG file format"; + homepage = http://www.libpng.org/pub/png/libpng.html; + license = licenses.libpng; + maintainers = [ maintainers.fuuzetsu ]; + branch = "1.2"; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/libpng/default.nix b/nixpkgs/pkgs/development/libraries/libpng/default.nix new file mode 100644 index 000000000000..765f03d9825d --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libpng/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchurl, zlib, apngSupport ? true }: + +assert zlib != null; + +let + patchVersion = "1.6.36"; + patch_src = fetchurl { + url = "mirror://sourceforge/libpng-apng/libpng-${patchVersion}-apng.patch.gz"; + sha256 = "03ywdwaq1k3pfslvbs2b33z3pdmazz6yp8g56mzafacvfgd367wc"; + }; + whenPatched = stdenv.lib.optionalString apngSupport; + +in stdenv.mkDerivation rec { + name = "libpng" + whenPatched "-apng" + "-${version}"; + version = "1.6.36"; + + src = fetchurl { + url = "mirror://sourceforge/libpng/libpng-${version}.tar.xz"; + sha256 = "06d35a3xz2a0kph82r56hqm1fn8fbwrqs07xzmr93dx63x695szc"; + }; + patches = [ + (fetchurl { # https://github.com/glennrp/libpng/issues/266 + url = "https://salsa.debian.org/debian/libpng1.6/raw/0e1348f3d/debian/patches/272.patch"; + sha256 = "1d36khgryq2p27bdx10xrr4kcjr7cdfdj2zhdcjzznpnpns97s6n"; + }) + (fetchurl { # https://github.com/glennrp/libpng/issues/275 + url = "https://salsa.debian.org/debian/libpng1.6/raw/853d1977/debian/patches/CVE-2019-7317.patch"; + sha256 = "0c8qc176mqh08kcxlnx40rzdggchihkrlzqw6qg6lf0c9ygkf55k"; + }) + ]; + postPatch = whenPatched "gunzip < ${patch_src} | patch -Np1"; + + outputs = [ "out" "dev" "man" ]; + outputBin = "dev"; + + propagatedBuildInputs = [ zlib ]; + + doCheck = true; + + passthru = { inherit zlib; }; + + meta = with stdenv.lib; { + description = "The official reference implementation for the PNG file format" + whenPatched " with animation patch"; + homepage = http://www.libpng.org/pub/png/libpng.html; + license = licenses.libpng2; + platforms = platforms.all; + maintainers = [ maintainers.vcunat maintainers.fuuzetsu ]; + }; +} |