about summary refs log tree commit diff
diff options
context:
space:
mode:
author6t8k <58048945+6t8k@users.noreply.github.com>2023-11-01 14:14:37 +0100
committer6t8k <58048945+6t8k@users.noreply.github.com>2023-11-03 16:53:47 +0100
commit534acfadf6480f50d975d982ea3953d25db95109 (patch)
tree901986f0193a1afae3c313f56a66bcfa0273a1ee
parentff10d3126815bb9b93b8e743bd1429797d7b1d8c (diff)
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
-rw-r--r--pkgs/development/libraries/poppler/default.nix24
-rw-r--r--pkgs/top-level/all-packages.nix1
2 files changed, 21 insertions, 4 deletions
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 3774a3e05dcfa..06a110680ebb8 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -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;
     };
   };
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 9075cbd98fdca..3dfd44cf2f293 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -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";
   };