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 { stdenv, fetchurl 2 , ghostscript, atk, gtk, glib, fontconfig, freetype 3 , libgnomecanvas, libgnomeprint, libgnomeprintui 4 - , pango, libX11, xproto, zlib, poppler, poppler_data 5 , autoconf, automake, libtool, pkgconfig}: 6 stdenv.mkDerivation rec { 7 version = "0.4.8"; ··· 14 buildInputs = [ 15 ghostscript atk gtk glib fontconfig freetype 16 libgnomecanvas libgnomeprint libgnomeprintui 17 - pango libX11 xproto zlib poppler poppler_data 18 ]; 19 20 nativeBuildInputs = [ autoconf automake libtool pkgconfig ]; 21 22 - NIX_LDFLAGS="-lX11 -lz"; 23 24 meta = { 25 homepage = http://xournal.sourceforge.net/;
··· 1 { stdenv, fetchurl 2 , ghostscript, atk, gtk, glib, fontconfig, freetype 3 , libgnomecanvas, libgnomeprint, libgnomeprintui 4 + , pango, libX11, xproto, zlib, poppler 5 , autoconf, automake, libtool, pkgconfig}: 6 stdenv.mkDerivation rec { 7 version = "0.4.8"; ··· 14 buildInputs = [ 15 ghostscript atk gtk glib fontconfig freetype 16 libgnomecanvas libgnomeprint libgnomeprintui 17 + pango libX11 xproto zlib poppler 18 ]; 19 20 nativeBuildInputs = [ autoconf automake libtool pkgconfig ]; 21 22 + NIX_LDFLAGS = [ "-lX11" "-lz" ]; 23 24 meta = { 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 { stdenv, lib, fetchurl, fetchpatch, pkgconfig, libiconv, libintlOrEmpty 2 , zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg 3 - , minimal ? false 4 , qt4Support ? false, qt4 ? null 5 , qt5Support ? false, qtbase ? null 6 - , utils ? false, suffix ? "glib" 7 }: 8 9 let # beware: updates often break cups_filters build ··· 20 21 outputs = [ "dev" "out" ]; 22 23 - patches = [ ./datadir_env.patch ]; 24 25 # TODO: reduce propagation to necessary libs 26 propagatedBuildInputs = with lib; ··· 29 ++ optional qt4Support qt4 30 ++ optional qt5Support qtbase; 31 32 - nativeBuildInputs = [ pkgconfig libiconv ] ++ libintlOrEmpty; 33 34 NIX_CFLAGS_COMPILE = [ "-DQT_NO_DEBUG" ]; 35
··· 1 { stdenv, lib, fetchurl, fetchpatch, pkgconfig, libiconv, libintlOrEmpty 2 , zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg 3 + , withData ? false, poppler_data 4 , qt4Support ? false, qt4 ? null 5 , qt5Support ? false, qtbase ? null 6 + , utils ? false 7 + , minimal ? false, suffix ? "glib" 8 }: 9 10 let # beware: updates often break cups_filters build ··· 21 22 outputs = [ "dev" "out" ]; 23 24 + buildInputs = [ libiconv ] ++ libintlOrEmpty ++ lib.optional withData poppler_data; 25 26 # TODO: reduce propagation to necessary libs 27 propagatedBuildInputs = with lib; ··· 30 ++ optional qt4Support qt4 31 ++ optional qt5Support qtbase; 32 33 + nativeBuildInputs = [ pkgconfig ]; 34 35 NIX_CFLAGS_COMPILE = [ "-DQT_NO_DEBUG" ]; 36
+2 -8
pkgs/tools/typesetting/pdfgrep/default.nix
··· 1 - { fetchurl, stdenv, pkgconfig, poppler, poppler_data, makeWrapper }: 2 3 stdenv.mkDerivation rec { 4 name = "pdfgrep-${version}"; ··· 9 sha256 = "6e8bcaf8b219e1ad733c97257a97286a94124694958c27506b2ea7fc8e532437"; 10 }; 11 12 - buildInputs = [ pkgconfig poppler poppler_data makeWrapper ]; 13 14 patchPhase = '' 15 sed -i -e "s%cpp/poppler-document.h%poppler/cpp/poppler-document.h%" pdfgrep.cc 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 ''; 24 25 meta = {
··· 1 + { fetchurl, stdenv, pkgconfig, poppler, makeWrapper }: 2 3 stdenv.mkDerivation rec { 4 name = "pdfgrep-${version}"; ··· 9 sha256 = "6e8bcaf8b219e1ad733c97257a97286a94124694958c27506b2ea7fc8e532437"; 10 }; 11 12 + buildInputs = [ pkgconfig poppler makeWrapper ]; 13 14 patchPhase = '' 15 sed -i -e "s%cpp/poppler-document.h%poppler/cpp/poppler-document.h%" pdfgrep.cc 16 sed -i -e "s%cpp/poppler-page.h%poppler/cpp/poppler-page.h%" pdfgrep.cc 17 ''; 18 19 meta = {