about summary refs log tree commit diff
path: root/pkgs/development/libraries
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 /pkgs/development/libraries
parentff10d3126815bb9b93b8e743bd1429797d7b1d8c (diff)
downloadnixlib-534acfadf6480f50d975d982ea3953d25db95109.tar
nixlib-534acfadf6480f50d975d982ea3953d25db95109.tar.gz
nixlib-534acfadf6480f50d975d982ea3953d25db95109.tar.bz2
nixlib-534acfadf6480f50d975d982ea3953d25db95109.tar.lz
nixlib-534acfadf6480f50d975d982ea3953d25db95109.tar.xz
nixlib-534acfadf6480f50d975d982ea3953d25db95109.tar.zst
nixlib-534acfadf6480f50d975d982ea3953d25db95109.zip
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
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r--pkgs/development/libraries/poppler/default.nix24
1 files changed, 21 insertions, 3 deletions
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 3774a3e05dcf..06a110680ebb 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;
     };
   };