nixpkgs/pkgs/development/libraries/libtiff/default.nix

71 lines
1.8 KiB
Nix
Raw Normal View History

{ lib, stdenv
2018-11-27 10:11:03 +00:00
, fetchurl
2022-02-04 23:56:54 +00:00
, fetchpatch
, autoreconfHook
, pkg-config
2021-03-06 19:32:55 +00:00
, libdeflate
, libjpeg
, xz
2021-03-06 19:32:55 +00:00
, zlib
}:
#FIXME: fix aarch64-darwin build and get rid of ./aarch64-darwin.nix
stdenv.mkDerivation rec {
pname = "libtiff";
version = "4.3.0";
2018-11-27 10:11:03 +00:00
src = fetchurl {
url = "https://download.osgeo.org/libtiff/tiff-${version}.tar.gz";
sha256 = "1j3snghqjbhwmnm5vz3dr1zm68dj15mgbx1wqld7vkl7n2nfaihf";
};
2021-09-23 11:05:54 +01:00
patches = [
2021-10-22 18:35:04 +01:00
# FreeImage needs this patch
2021-09-23 11:05:54 +01:00
./headers.patch
2021-10-22 18:35:04 +01:00
# libc++abi 11 has an `#include <version>`, this picks up files name
# `version` in the project's include paths
2021-09-23 11:05:54 +01:00
./rename-version.patch
2022-02-04 23:56:54 +00:00
(fetchpatch {
name = "CVE-2022-22844.patch";
url = "https://gitlab.com/libtiff/libtiff/-/commit/03047a26952a82daaa0792957ce211e0aa51bc64.patch";
sha256 = "0cfih55f5qpc84mvlwsffik80bgz6drkflkhrdyqq8m84jw3mbwb";
})
2021-09-23 11:05:54 +01:00
];
postPatch = ''
mv VERSION VERSION.txt
'';
2014-08-27 00:14:09 +01:00
outputs = [ "bin" "dev" "dev_private" "out" "man" "doc" ];
postFixup = ''
moveToOutput include/tif_dir.h $dev_private
moveToOutput include/tif_config.h $dev_private
moveToOutput include/tiffiop.h $dev_private
'';
# If you want to change to a different build system, please make
# sure cross-compilation works first!
nativeBuildInputs = [ autoreconfHook pkg-config ];
2021-03-06 19:32:55 +00:00
propagatedBuildInputs = [ libjpeg xz zlib ]; #TODO: opengl support (bogus configure detection)
buildInputs = [ libdeflate ];
enableParallelBuilding = true;
doCheck = true;
meta = with lib; {
description = "Library and utilities for working with the TIFF image file format";
homepage = "https://libtiff.gitlab.io/libtiff";
changelog = "https://libtiff.gitlab.io/libtiff/v${version}.html";
maintainers = with maintainers; [ qyliss ];
license = licenses.libtiff;
platforms = platforms.unix;
};
}