diff --git a/pkgs/development/libraries/poppler/0.20.nix b/pkgs/development/libraries/poppler/0.20.nix new file mode 100644 index 00000000000..0a3cf58319f --- /dev/null +++ b/pkgs/development/libraries/poppler/0.20.nix @@ -0,0 +1,52 @@ +{ fetchurl, stdenv, cairo, freetype, fontconfig, zlib +, libjpeg, curl, libpthreadstubs, xorg, openjpeg +, libxml2, pkgconfig, cmake, lcms2 +, gtkSupport ? false, glib ? null, gtk3 ? null # gtk2 no longer accepted +, qt4Support ? false, qt4 ? null +}: + +stdenv.mkDerivation rec { + name = "poppler-0.20.5"; + + src = fetchurl { + url = "${meta.homepage}${name}.tar.gz"; + sha256 = "1djl0jbgz7m8kbg7sq0wklnlfav5vp7iplkryphvs781by509my6"; + }; + + propagatedBuildInputs = with xorg; + [ zlib cairo freetype fontconfig libjpeg lcms2 curl + libpthreadstubs libxml2 stdenv.gcc.libc + libXau libXdmcp libxcb libXrender libXext + #openjpeg # not detected + ] + ++ stdenv.lib.optionals gtkSupport [ glib /*gtk3*/ ] + ++ stdenv.lib.optional qt4Support qt4; + + buildNativeInputs = [ pkgconfig cmake ]; + + cmakeFlags = "-DENABLE_XPDF_HEADERS=ON -DENABLE_LIBCURL=ON -DENABLE_ZLIB=ON"; + + patches = [ ./datadir_env.patch ]; + + # XXX: The Poppler/Qt4 test suite refers to non-existent PDF files + # such as `../../../test/unittestcases/UseNone.pdf'. + #doCheck = !qt4Support; + checkTarget = "test"; + + enableParallelBuilding = true; + + meta = { + homepage = http://poppler.freedesktop.org/; + description = "Poppler, a PDF rendering library"; + + longDescription = '' + Poppler is a PDF rendering library based on the xpdf-3.0 code base. + ''; + + platforms = if qt4Support + then qt4.meta.platforms + else stdenv.lib.platforms.all; + + license = "GPLv2"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ca464415306..279aba708a9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4810,11 +4810,19 @@ let gtkSupport = true; qt4Support = false; }; + poppler_0_20 = callPackage ../development/libraries/poppler/0.20.nix { + gtkSupport = true; + qt4Support = false; + }; popplerQt4 = poppler.override { gtkSupport = false; qt4Support = true; }; + popplerQt4_0_20 = poppler_0_20.override { + gtkSupport = false; + qt4Support = true; + }; popt = callPackage ../development/libraries/popt { }; @@ -6716,7 +6724,9 @@ let inherit (gnome) libglade; }; - calibre = callPackage ../applications/misc/calibre { }; + calibre = callPackage ../applications/misc/calibre { + popplerQt4 = popplerQt4_0_20; + }; carrier = builderDefsPackage (import ../applications/networking/instant-messengers/carrier/2.5.0.nix) { inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 openssl nss @@ -7024,6 +7034,7 @@ let evince = hiPrio (callPackage ../applications/misc/evince { inherit (gnome) gnomedocutils gnomeicontheme libgnome libgnomeui libglade scrollkeeper; + poppler = poppler_0_20; }); evolution_data_server = newScope (gnome) ../servers/evolution-data-server { }; @@ -7429,6 +7440,7 @@ let freefont_ttf xorg.fontmiscmisc xorg.fontbhttf ]; }; + poppler = poppler_0_20; }; lingot = callPackage ../applications/audio/lingot {