2024-12-10 19:26:33 +00:00
|
|
|
{
|
|
|
|
lib,
|
|
|
|
stdenv,
|
|
|
|
fetchurl,
|
|
|
|
zlib,
|
|
|
|
apngSupport ? true,
|
|
|
|
testers,
|
2023-10-16 02:52:05 +00:00
|
|
|
}:
|
2011-09-19 23:05:02 +00:00
|
|
|
|
|
|
|
assert zlib != null;
|
2003-11-06 15:24:19 +00:00
|
|
|
|
2013-08-02 16:28:29 +00:00
|
|
|
let
|
2024-03-12 07:33:03 +00:00
|
|
|
patchVersion = "1.6.43";
|
2013-11-25 21:24:13 +00:00
|
|
|
patch_src = fetchurl {
|
2017-01-02 16:20:13 +00:00
|
|
|
url = "mirror://sourceforge/libpng-apng/libpng-${patchVersion}-apng.patch.gz";
|
2024-03-12 07:33:03 +00:00
|
|
|
hash = "sha256-0QdXnpDVU4bQDmCG6nUJQvIqBLmrR2u6DGYHcM76/iI=";
|
2013-08-02 16:28:29 +00:00
|
|
|
};
|
2021-01-21 17:00:13 +00:00
|
|
|
whenPatched = lib.optionalString apngSupport;
|
2013-06-26 08:54:06 +00:00
|
|
|
|
2024-12-10 19:26:33 +00:00
|
|
|
in
|
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
2022-02-14 21:32:50 +00:00
|
|
|
pname = "libpng" + whenPatched "-apng";
|
2024-03-12 07:33:03 +00:00
|
|
|
version = "1.6.43";
|
2011-10-05 08:13:16 +00:00
|
|
|
|
2003-11-06 15:24:19 +00:00
|
|
|
src = fetchurl {
|
2023-10-16 02:52:05 +00:00
|
|
|
url = "mirror://sourceforge/libpng/libpng-${finalAttrs.version}.tar.xz";
|
2024-03-12 07:33:03 +00:00
|
|
|
hash = "sha256-alygZSOSotfJ2yrltAIQhDwLvAgcvUEIJasAzFnxSmw=";
|
2003-11-06 15:24:19 +00:00
|
|
|
};
|
2024-12-10 19:26:33 +00:00
|
|
|
postPatch =
|
|
|
|
whenPatched "gunzip < ${patch_src} | patch -Np1"
|
|
|
|
+ lib.optionalString stdenv.hostPlatform.isFreeBSD ''
|
2024-06-17 08:30:34 +00:00
|
|
|
|
2024-12-10 19:26:33 +00:00
|
|
|
sed -i 1i'int feenableexcept(int __mask);' contrib/libtests/pngvalid.c
|
|
|
|
'';
|
2011-10-05 08:13:16 +00:00
|
|
|
|
2024-12-10 19:26:33 +00:00
|
|
|
outputs = [
|
|
|
|
"out"
|
|
|
|
"dev"
|
|
|
|
"man"
|
|
|
|
];
|
2016-07-09 13:42:42 +00:00
|
|
|
outputBin = "dev";
|
2013-08-23 07:54:38 +00:00
|
|
|
|
2010-07-18 21:54:42 +00:00
|
|
|
propagatedBuildInputs = [ zlib ];
|
2010-07-19 22:24:26 +00:00
|
|
|
|
2018-12-03 12:18:31 +00:00
|
|
|
doCheck = true;
|
2013-02-14 19:53:46 +00:00
|
|
|
|
2023-10-16 02:52:05 +00:00
|
|
|
passthru = {
|
|
|
|
inherit zlib;
|
|
|
|
|
|
|
|
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
|
|
|
};
|
2011-10-05 08:13:16 +00:00
|
|
|
|
2021-01-21 17:00:13 +00:00
|
|
|
meta = with lib; {
|
2024-12-10 19:26:33 +00:00
|
|
|
description =
|
|
|
|
"Official reference implementation for the PNG file format" + whenPatched " with animation patch";
|
2020-04-01 01:11:51 +00:00
|
|
|
homepage = "http://www.libpng.org/pub/png/libpng.html";
|
2024-02-04 11:16:14 +00:00
|
|
|
changelog = "https://github.com/pnggroup/libpng/blob/v${finalAttrs.version}/CHANGES";
|
2018-12-03 12:18:31 +00:00
|
|
|
license = licenses.libpng2;
|
2024-12-10 19:26:33 +00:00
|
|
|
pkgConfigModules = [
|
|
|
|
"libpng"
|
|
|
|
"libpng16"
|
|
|
|
];
|
2013-09-12 15:17:32 +00:00
|
|
|
platforms = platforms.all;
|
2022-12-29 22:48:40 +00:00
|
|
|
maintainers = with maintainers; [ vcunat ];
|
2008-03-06 16:22:41 +00:00
|
|
|
};
|
2023-10-16 02:52:05 +00:00
|
|
|
})
|