|
|
|
@ -1,10 +1,30 @@ |
|
|
|
|
{ stdenv, lib, fetchurl, fetchpatch, cmake, ninja, pkg-config, libiconv, libintl |
|
|
|
|
, zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg |
|
|
|
|
{ stdenv |
|
|
|
|
, lib |
|
|
|
|
, fetchurl |
|
|
|
|
, fetchpatch |
|
|
|
|
, cmake |
|
|
|
|
, ninja |
|
|
|
|
, pkg-config |
|
|
|
|
, libiconv |
|
|
|
|
, libintl |
|
|
|
|
, zlib |
|
|
|
|
, curl |
|
|
|
|
, cairo |
|
|
|
|
, freetype |
|
|
|
|
, fontconfig |
|
|
|
|
, lcms |
|
|
|
|
, libjpeg |
|
|
|
|
, openjpeg |
|
|
|
|
, withData ? true, poppler_data |
|
|
|
|
, qt5Support ? false, qtbase ? null |
|
|
|
|
, introspectionSupport ? false, gobject-introspection ? null |
|
|
|
|
, utils ? false, nss ? null |
|
|
|
|
, minimal ? false, suffix ? "glib" |
|
|
|
|
, minimal ? false |
|
|
|
|
, suffix ? "glib" |
|
|
|
|
, inkscape |
|
|
|
|
, cups-filters |
|
|
|
|
, texlive |
|
|
|
|
, scribusUnstable |
|
|
|
|
}: |
|
|
|
|
|
|
|
|
|
let |
|
|
|
@ -14,31 +34,44 @@ stdenv.mkDerivation (rec { |
|
|
|
|
name = "poppler-${suffix}-${version}"; |
|
|
|
|
version = "21.02.0"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too! |
|
|
|
|
|
|
|
|
|
outputs = [ "out" "dev" ]; |
|
|
|
|
|
|
|
|
|
src = fetchurl { |
|
|
|
|
url = "${meta.homepage}/poppler-${version}.tar.xz"; |
|
|
|
|
sha256 = "sha256-XBR1nJmJHm5HKs7W1fD/Haz4XYDNkCbTZcVcZT7feSw="; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
outputs = [ "out" "dev" ]; |
|
|
|
|
nativeBuildInputs = [ |
|
|
|
|
cmake |
|
|
|
|
ninja |
|
|
|
|
pkg-config |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
buildInputs = [ libiconv libintl ] ++ lib.optional withData poppler_data; |
|
|
|
|
buildInputs = [ |
|
|
|
|
libiconv |
|
|
|
|
libintl |
|
|
|
|
] ++ lib.optional withData [ |
|
|
|
|
poppler_data |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
# TODO: reduce propagation to necessary libs |
|
|
|
|
propagatedBuildInputs = with lib; |
|
|
|
|
[ zlib freetype fontconfig libjpeg openjpeg ] |
|
|
|
|
++ optionals (!minimal) [ cairo lcms curl ] |
|
|
|
|
++ optional qt5Support qtbase |
|
|
|
|
++ optional utils nss |
|
|
|
|
++ optional introspectionSupport gobject-introspection; |
|
|
|
|
|
|
|
|
|
nativeBuildInputs = [ cmake ninja pkg-config ]; |
|
|
|
|
|
|
|
|
|
# Workaround #54606 |
|
|
|
|
preConfigure = lib.optionalString stdenv.isDarwin '' |
|
|
|
|
sed -i -e '1i cmake_policy(SET CMP0025 NEW)' CMakeLists.txt |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|
dontWrapQtApps = true; |
|
|
|
|
propagatedBuildInputs = [ |
|
|
|
|
zlib |
|
|
|
|
freetype |
|
|
|
|
fontconfig |
|
|
|
|
libjpeg |
|
|
|
|
openjpeg |
|
|
|
|
] ++ lib.optionals (!minimal) [ |
|
|
|
|
cairo |
|
|
|
|
lcms |
|
|
|
|
curl |
|
|
|
|
] ++ lib.optionals qt5Support [ |
|
|
|
|
qtbase |
|
|
|
|
] ++ lib.optionals utils [ |
|
|
|
|
nss |
|
|
|
|
] ++ lib.optionals introspectionSupport [ |
|
|
|
|
gobject-introspection |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
cmakeFlags = [ |
|
|
|
|
(mkFlag true "UNSTABLE_API_ABI_HEADERS") # previously "XPDF_HEADERS" |
|
|
|
@ -49,6 +82,20 @@ stdenv.mkDerivation (rec { |
|
|
|
|
(mkFlag qt5Support "QT5") |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
dontWrapQtApps = true; |
|
|
|
|
|
|
|
|
|
# Workaround #54606 |
|
|
|
|
preConfigure = lib.optionalString stdenv.isDarwin '' |
|
|
|
|
sed -i -e '1i cmake_policy(SET CMP0025 NEW)' CMakeLists.txt |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|
passthru = { |
|
|
|
|
tests = { |
|
|
|
|
# These depend on internal poppler code that frequently changes. |
|
|
|
|
inherit inkscape cups-filters texlive scribusUnstable; |
|
|
|
|
}; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
meta = with lib; { |
|
|
|
|
homepage = "https://poppler.freedesktop.org/"; |
|
|
|
|
description = "A PDF rendering library"; |
|
|
|
@ -59,7 +106,7 @@ stdenv.mkDerivation (rec { |
|
|
|
|
installed separately. |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|
license = licenses.gpl2; |
|
|
|
|
license = licenses.gpl2Plus; |
|
|
|
|
platforms = platforms.all; |
|
|
|
|
maintainers = with maintainers; [ ttuegel ] ++ teams.freedesktop.members; |
|
|
|
|
}; |
|
|
|
|