poppler: 23.08.0 -> 23.10.0
https://lists.freedesktop.org/archives/poppler/2023-September/015569.html https://lists.freedesktop.org/archives/poppler/2023-October/015576.html Remove references to TeXLive, as it no longer depends on Poppler.[1] In 23.06.0, Poppler added a GPGME-based[2] backend for signature handling as an alternative to NSS.[3] The dependency on GPGME has been made soft-mandatory in 23.10.0[4], so we have to either provide it or disable it at compile time. Since the feature sets provided by both backends are almost identical so far, it has been decided to make GPGME support opt-in for now.[5] [1] https://github.com/NixOS/nixpkgs/commit/7bf9a3b2505af37213753b062dd594b91ee513bb [2] https://gnupg.org/software/gpgme/index.html [3] https://lists.freedesktop.org/archives/poppler/2023-June/015510.html [4] https://gitlab.freedesktop.org/poppler/poppler/-/commit/8646a6aa2cb60644b56dc6e6e3b3af30ba920245#9a2aa4db38d3115ed60da621e012c0efc0172aae_80_82 [5] https://github.com/NixOS/nixpkgs/pull/264817
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
, withData ? true, poppler_data
|
||||
, qt5Support ? false, qt6Support ? false, qtbase ? null
|
||||
, introspectionSupport ? false, gobject-introspection ? null
|
||||
, gpgmeSupport ? false, gpgme ? null
|
||||
, utils ? false, nss ? null
|
||||
, minimal ? false
|
||||
, suffix ? "glib"
|
||||
@@ -47,13 +48,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
pname = "poppler-${suffix}";
|
||||
version = "23.08.0"; # beware: updates often break cups-filters build, check texlive and scribus too!
|
||||
version = "23.10.0"; # beware: updates often break cups-filters build, check scribus too!
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz";
|
||||
hash = "sha256-Skv3/JA7nxoqt9BLfF2CINubxiYcxz/bmoJtwnL0mqg=";
|
||||
hash = "sha256-MaPf3qefSSJALTE3N0FaRNRNwU1rMX+VmnfFu6Bkfdk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -88,6 +89,8 @@ stdenv.mkDerivation (finalAttrs: rec {
|
||||
qtbase
|
||||
] ++ lib.optionals introspectionSupport [
|
||||
gobject-introspection
|
||||
] ++ lib.optionals gpgmeSupport [
|
||||
gpgme
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
@@ -95,9 +98,13 @@ stdenv.mkDerivation (finalAttrs: rec {
|
||||
(mkFlag (!minimal) "GLIB")
|
||||
(mkFlag (!minimal) "CPP")
|
||||
(mkFlag (!minimal) "LIBCURL")
|
||||
(mkFlag (!minimal) "LCMS")
|
||||
(mkFlag (!minimal) "LIBTIFF")
|
||||
(mkFlag (!minimal) "NSS3")
|
||||
(mkFlag utils "UTILS")
|
||||
(mkFlag qt5Support "QT5")
|
||||
(mkFlag qt6Support "QT6")
|
||||
(mkFlag gpgmeSupport "GPGME")
|
||||
] ++ lib.optionals finalAttrs.doCheck [
|
||||
"-DTESTDATADIR=${testData}"
|
||||
];
|
||||
@@ -110,13 +117,24 @@ stdenv.mkDerivation (finalAttrs: rec {
|
||||
sed -i -e '1i cmake_policy(SET CMP0025 NEW)' CMakeLists.txt
|
||||
'';
|
||||
|
||||
# Work around gpgme trying to write to $HOME during qt5 and qt6 tests:
|
||||
preCheck = lib.optionalString gpgmeSupport ''
|
||||
HOME_orig="$HOME"
|
||||
export HOME="$(mktemp -d)"
|
||||
'';
|
||||
|
||||
postCheck = lib.optionalString gpgmeSupport ''
|
||||
export HOME="$HOME_orig"
|
||||
unset -v HOME_orig
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
passthru = {
|
||||
inherit testData;
|
||||
tests = {
|
||||
# These depend on internal poppler code that frequently changes.
|
||||
inherit inkscape cups-filters texlive scribus;
|
||||
inherit inkscape cups-filters scribus;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -24548,7 +24548,6 @@ with pkgs;
|
||||
});
|
||||
|
||||
poppler_min = poppler.override { # TODO: maybe reduce even more
|
||||
# this is currently only used by texlive.bin.
|
||||
minimal = true;
|
||||
suffix = "min";
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user