summary refs log tree commit diff
path: root/pkgs/development/libraries/poppler/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/poppler/default.nix')
-rw-r--r--pkgs/development/libraries/poppler/default.nix87
1 files changed, 29 insertions, 58 deletions
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index bec779e221a3..c79cdfd44665 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -1,79 +1,50 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, libiconv, libintlOrEmpty
 , zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg
-, qt4Support ? false, qt4 ? null, qt5
+, qt4Support ? false, qt4 ? null, qt5Support ? false, qt5 ? null
+, utils ? false, suffix ? "glib"
 }:
 
 let
   version = "0.32.0"; # even major numbers are stable
   sha256 = "162vfbvbz0frvqyk00ldsbl49h4bj8i8wn0ngfl30xg1lldy6qs9";
+in
+stdenv.mkDerivation rec {
+  name = "poppler-${suffix}-${version}";
 
-  poppler_drv = nameSuff: merge: stdenv.mkDerivation (stdenv.lib.mergeAttrsByFuncDefaultsClean [
-  rec {
-    name = "poppler-${nameSuff}-${version}";
+  src = fetchurl {
+    url = "${meta.homepage}/poppler-${version}.tar.xz";
+    inherit sha256;
+  };
 
-    src = fetchurl {
-      url = "${meta.homepage}/poppler-${version}.tar.xz";
-      inherit sha256;
-    };
+  patches = [ ./datadir_env.patch ];
 
-    propagatedBuildInputs = [ zlib cairo freetype fontconfig libjpeg lcms curl openjpeg ];
+  propagatedBuildInputs = with stdenv.lib;
+    [ zlib cairo freetype fontconfig libjpeg lcms curl openjpeg ]
+    ++ optional qt4Support qt4
+    ++ optional qt5Support qt5.base;
 
-    nativeBuildInputs = [ pkgconfig libiconv ] ++ libintlOrEmpty;
+  nativeBuildInputs = [ pkgconfig libiconv ] ++ libintlOrEmpty;
 
-    configureFlags = [
+  configureFlags =
+    [
       "--enable-xpdf-headers"
       "--enable-libcurl"
       "--enable-zlib"
-    ];
-
-    patches = [ ./datadir_env.patch ./poppler-glib.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 = "A PDF rendering library";
+    ]
+    ++ stdenv.lib.optional (!utils) "--disable-utils";
 
-      longDescription = ''
-        Poppler is a PDF rendering library based on the xpdf-3.0 code base.
-      '';
+  enableParallelBuilding = true;
 
-      license = stdenv.lib.licenses.gpl2;
-      platforms = stdenv.lib.platforms.all;
-    };
-  } merge ]); # poppler_drv
+  meta = {
+    homepage = http://poppler.freedesktop.org/;
+    description = "A PDF rendering library";
 
-  /* We always use cairo in poppler, so we always depend on glib,
-     so we always build the glib wrapper (~350kB).
-     We also always build the cpp wrapper (<100kB).
-     ToDo: around half the size could be saved by splitting out headers and tools (1.5 + 0.5 MB).
-  */
-
-  poppler_glib = poppler_drv "glib" { };
-
-  poppler_qt4 = poppler_drv "qt4" {
-    #patches = [ qtcairo_patch ]; # text rendering artifacts in recent versions
-    propagatedBuildInputs = [ qt4 poppler_glib ];
-    NIX_LDFLAGS = "-lpoppler";
-    postConfigure = ''
-      mkdir -p "$out/lib/pkgconfig"
-      install -c -m 644 poppler-qt4.pc "$out/lib/pkgconfig"
-      cd qt4
+    longDescription = ''
+      Poppler is a PDF rendering library based on the xpdf-3.0 code base.
     '';
-  };
 
-  poppler_qt5 = poppler_drv "qt5" {
-    propagatedBuildInputs = [ qt5.base poppler_glib ];
-    postConfigure = ''
-      mkdir -p "$out/lib/pkgconfig"
-      install -c -m 644 poppler-qt5.pc "$out/lib/pkgconfig"
-      cd qt5
-    '';
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ ttuegel ];
   };
-
-in { inherit poppler_glib poppler_qt4 poppler_qt5; } // poppler_glib
+}