poppler_data: embed into poppler, make an option

Previously we relied on an environment variable POPPLER_DATADIR which
practically noone used and everyone was expected to set. This is a good
candidate for a feature option because noone really _noticed_ that this data is
not available. Disabled by default because of this and size of the data (22M).

+10 -28
+3 -3
pkgs/applications/graphics/xournal/default.nix
··· 1 1 { stdenv, fetchurl 2 2 , ghostscript, atk, gtk, glib, fontconfig, freetype 3 3 , libgnomecanvas, libgnomeprint, libgnomeprintui 4 - , pango, libX11, xproto, zlib, poppler, poppler_data 4 + , pango, libX11, xproto, zlib, poppler 5 5 , autoconf, automake, libtool, pkgconfig}: 6 6 stdenv.mkDerivation rec { 7 7 version = "0.4.8"; ··· 14 14 buildInputs = [ 15 15 ghostscript atk gtk glib fontconfig freetype 16 16 libgnomecanvas libgnomeprint libgnomeprintui 17 - pango libX11 xproto zlib poppler poppler_data 17 + pango libX11 xproto zlib poppler 18 18 ]; 19 19 20 20 nativeBuildInputs = [ autoconf automake libtool pkgconfig ]; 21 21 22 - NIX_LDFLAGS="-lX11 -lz"; 22 + NIX_LDFLAGS = [ "-lX11" "-lz" ]; 23 23 24 24 meta = { 25 25 homepage = http://xournal.sourceforge.net/;
-13
pkgs/development/libraries/poppler/datadir_env.patch
··· 1 - diff --git a/poppler/GlobalParams.cc b/poppler/GlobalParams.cc 2 - index 2e11bb0..a277ab9 100644 3 - --- a/poppler/GlobalParams.cc 4 - +++ b/poppler/GlobalParams.cc 5 - @@ -748,7 +748,7 @@ GlobalParams::GlobalParams(const char *customPopplerDataDir) 6 - void GlobalParams::scanEncodingDirs() { 7 - GDir *dir; 8 - GDirEntry *entry; 9 - - const char *dataRoot = popplerDataDir ? popplerDataDir : POPPLER_DATADIR; 10 - + const char *dataRoot = popplerDataDir ? popplerDataDir : ( getenv("POPPLER_DATADIR") ? getenv("POPPLER_DATADIR") : POPPLER_DATADIR ); 11 - 12 - // allocate buffer large enough to append "/nameToUnicode" 13 - size_t bufSize = strlen(dataRoot) + strlen("/nameToUnicode") + 1;
+5 -4
pkgs/development/libraries/poppler/default.nix
··· 1 1 { stdenv, lib, fetchurl, fetchpatch, pkgconfig, libiconv, libintlOrEmpty 2 2 , zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg 3 - , minimal ? false 3 + , withData ? false, poppler_data 4 4 , qt4Support ? false, qt4 ? null 5 5 , qt5Support ? false, qtbase ? null 6 - , utils ? false, suffix ? "glib" 6 + , utils ? false 7 + , minimal ? false, suffix ? "glib" 7 8 }: 8 9 9 10 let # beware: updates often break cups_filters build ··· 20 21 21 22 outputs = [ "dev" "out" ]; 22 23 23 - patches = [ ./datadir_env.patch ]; 24 + buildInputs = [ libiconv ] ++ libintlOrEmpty ++ lib.optional withData poppler_data; 24 25 25 26 # TODO: reduce propagation to necessary libs 26 27 propagatedBuildInputs = with lib; ··· 29 30 ++ optional qt4Support qt4 30 31 ++ optional qt5Support qtbase; 31 32 32 - nativeBuildInputs = [ pkgconfig libiconv ] ++ libintlOrEmpty; 33 + nativeBuildInputs = [ pkgconfig ]; 33 34 34 35 NIX_CFLAGS_COMPILE = [ "-DQT_NO_DEBUG" ]; 35 36
+2 -8
pkgs/tools/typesetting/pdfgrep/default.nix
··· 1 - { fetchurl, stdenv, pkgconfig, poppler, poppler_data, makeWrapper }: 1 + { fetchurl, stdenv, pkgconfig, poppler, makeWrapper }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 name = "pdfgrep-${version}"; ··· 9 9 sha256 = "6e8bcaf8b219e1ad733c97257a97286a94124694958c27506b2ea7fc8e532437"; 10 10 }; 11 11 12 - buildInputs = [ pkgconfig poppler poppler_data makeWrapper ]; 12 + buildInputs = [ pkgconfig poppler makeWrapper ]; 13 13 14 14 patchPhase = '' 15 15 sed -i -e "s%cpp/poppler-document.h%poppler/cpp/poppler-document.h%" pdfgrep.cc 16 16 sed -i -e "s%cpp/poppler-page.h%poppler/cpp/poppler-page.h%" pdfgrep.cc 17 - ''; 18 - 19 - # workarround since it can't be hardcoded in pdfgrep 20 - preFixup = '' 21 - wrapProgram "$out/bin/pdfgrep" \ 22 - --set POPPLER_DATADIR "${poppler_data}/share/poppler" 23 17 ''; 24 18 25 19 meta = {