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:
6t8k
2023-11-03 16:53:47 +01:00
parent ff10d31268
commit 534acfadf6
2 changed files with 21 additions and 4 deletions
+21 -3
View File
@@ -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;
};
};
-1
View File
@@ -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";
};