diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix index 3774a3e05dcf..25a26e7fd2c6 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.11.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-+ZzKZ5nLnLbJL8Hg63hUe2EctzN1CrfLBHyw5sJGU5w="; }; 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 af609d1e8a3a..a6e9ae80df63 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24564,7 +24564,6 @@ with pkgs; }); poppler_min = poppler.override { # TODO: maybe reduce even more - # this is currently only used by texlive.bin. minimal = true; suffix = "min"; };