nixpkgs/pkgs/development/libraries/poppler/default.nix
Vladimír Čunát f5ce8f86df
Revert "Merge staging at '8d490ca9934d0' into master"
This reverts commit fc23242220, reversing
changes made to 754816b84b.
We don't have many binaries yet.  Comment on the original merge commit.
2018-02-26 22:53:18 +01:00

76 lines
2.2 KiB
Nix

{ 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.56.0";
sha256 = "0wviayidfv2ix2ql0d4nl9r1ia6qi5kc1nybd9vjx27dk7gvm7c6";
in
stdenv.mkDerivation rec {
name = "poppler-${suffix}-${version}";
src = fetchurl {
url = "${meta.homepage}/poppler-${version}.tar.xz";
inherit sha256;
};
outputs = [ "out" "dev" ];
buildInputs = [ libiconv ] ++ libintlOrEmpty ++ 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 qt4Support qt4
++ optional qt5Support qtbase
++ optional introspectionSupport gobjectIntrospection;
nativeBuildInputs = [ pkgconfig ];
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/;
description = "A PDF rendering library";
longDescription = ''
Poppler is a PDF rendering library based on the xpdf-3.0 code base.
'';
license = licenses.gpl2;
platforms = platforms.all;
maintainers = with maintainers; [ ttuegel ];
};
}