diff options
Diffstat (limited to 'pkgs/development/libraries/poppler/default.nix')
-rw-r--r-- | pkgs/development/libraries/poppler/default.nix | 45 |
1 files changed, 32 insertions, 13 deletions
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix index 9a3d24fc0b28..5fcb7d386faf 100644 --- a/pkgs/development/libraries/poppler/default.nix +++ b/pkgs/development/libraries/poppler/default.nix @@ -1,22 +1,24 @@ -{ stdenv, lib, fetchurl, cmake, ninja, pkgconfig, libiconv, libintlOrEmpty +{ stdenv, lib, fetchurl, fetchpatch, pkgconfig, libiconv, libintlOrEmpty , zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg , withData ? true, poppler_data +, qt4Support ? false, qt4 ? null , qt5Support ? false, qtbase ? null , introspectionSupport ? false, gobjectIntrospection ? null , utils ? false , minimal ? false, suffix ? "glib" +, hostPlatform }: let # beware: updates often break cups-filters build - version = "0.62.0"; - mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}"; + version = "0.56.0"; + sha256 = "0wviayidfv2ix2ql0d4nl9r1ia6qi5kc1nybd9vjx27dk7gvm7c6"; in stdenv.mkDerivation rec { name = "poppler-${suffix}-${version}"; src = fetchurl { url = "${meta.homepage}/poppler-${version}.tar.xz"; - sha256 = "1ii9ly1pngyvs0aiq2wxpya08hidpl54y7nsb8b1vxnnskgp76jv"; + inherit sha256; }; outputs = [ "out" "dev" ]; @@ -27,19 +29,36 @@ stdenv.mkDerivation rec { propagatedBuildInputs = with lib; [ zlib freetype fontconfig libjpeg openjpeg ] ++ optionals (!minimal) [ cairo lcms curl ] + ++ optional qt4Support qt4 ++ optional qt5Support qtbase ++ optional introspectionSupport gobjectIntrospection; - nativeBuildInputs = [ cmake ninja pkgconfig ]; + nativeBuildInputs = [ pkgconfig ]; - cmakeFlags = [ - (mkFlag true "XPDF_HEADERS") - (mkFlag (!minimal) "GLIB") - (mkFlag (!minimal) "CPP") - (mkFlag (!minimal) "LIBCURL") - (mkFlag utils "UTILS") - (mkFlag qt5Support "QT5") - ]; + NIX_CFLAGS_COMPILE = [ "-DQT_NO_DEBUG" ]; + + CXXFLAGS = lib.optional qt5Support "-std=c++11"; + + configureFlags = with lib; + [ + "--enable-xpdf-headers" + "--enable-libcurl" + "--enable-zlib" + "--enable-build-type=release" + ] + ++ optionals minimal [ + "--disable-poppler-glib" "--disable-poppler-cpp" + "--disable-libcurl" + ] + ++ optional (!utils) "--disable-utils" + ++ optional introspectionSupport "--enable-introspection"; + + enableParallelBuilding = true; + + crossAttrs.postPatch = + # there are tests using `strXXX_s` functions that are missing apparently + stdenv.lib.optionalString (hostPlatform.libc or null == "msvcrt") + "sed '/^SUBDIRS =/s/ test / /' -i Makefile.in"; meta = with lib; { homepage = https://poppler.freedesktop.org/; |