libtiff: don't propagate unnecessary build inputs (#292568)

Changed files
+14 -16
pkgs
by-name
li
libappimage
libgeotiff
libtiff
+2
pkgs/by-name/li/libappimage/package.nix
···
librsvg,
squashfuse,
xdg-utils-cxx,
+
xz, # for liblzma
zlib,
}:
stdenv.mkDerivation rec {
···
libarchive
squashfuse
xdg-utils-cxx
+
xz
];
propagatedBuildInputs = [
+1
pkgs/by-name/li/libgeotiff/package.nix
···
buildInputs = [
libtiff
proj
+
zlib
];
#hardeningDisable = [ "format" ];
+11 -16
pkgs/by-name/li/libtiff/package.nix
···
zlib,
zstd,
-
# Because lerc is C++ and static libraries don't track dependencies,
-
# that every downstream dependent of libtiff has to link with a C++
-
# compiler, or the C++ standard library won't be linked, resulting
-
# in undefined symbol errors. Without systematic support for this
-
# in build systems, fixing this would require modifying the build
-
# system of every libtiff user. Hopefully at some point build
+
# Because lerc is C++ and static libraries don't track dependencies, every downstream dependent of
+
# libtiff has to link with a C++ compiler, or the C++ standard library won't be linked, resulting
+
# in undefined symbol errors. Without systematic support for this in build systems, fixing this
+
# would require modifying the build system of every libtiff user. Hopefully at some point build
# systems will figure this out, and then we can enable this.
#
# See https://github.com/mesonbuild/meson/issues/14234
···
];
buildInputs = [
-
zstd
-
]
-
++ lib.optionals withLerc [
-
lerc
-
];
-
-
# TODO: opengl support (bogus configure detection)
-
propagatedBuildInputs = [
libdeflate
libjpeg
-
# libwebp depends on us; this will cause infinite
-
# recursion otherwise
+
# libwebp depends on us; this will cause infinite recursion otherwise
(libwebp.override { tiffSupport = false; })
xz
zlib
zstd
+
]
+
++ lib.optionals withLerc [
+
lerc
];
cmakeFlags = [
···
enableParallelBuilding = true;
doCheck = true;
+
# Avoid flakiness like https://gitlab.com/libtiff/libtiff/-/commit/94f6f7315b1
enableParallelChecking = false;
···
openimageio
freeimage
;
+
inherit (python3Packages) pillow imread;
+
pkg-config = testers.hasPkgConfigModules {
package = finalAttrs.finalPackage;
};