Let poppler use ${POPPLER_DATADIR}
Also upgrade poppler-data svn path=/nixpkgs/trunk/; revision=29342
This commit is contained in:
parent
de2105b740
commit
63959f2a5a
@ -1,19 +1,22 @@
|
|||||||
{ fetchurl, stdenv, cmake }:
|
{ fetchurl, stdenv, cmake }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "poppler-data-0.4.3";
|
name = "poppler-data-0.4.5";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://poppler.freedesktop.org/${name}.tar.gz";
|
url = "http://poppler.freedesktop.org/${name}.tar.gz";
|
||||||
sha256 = "19jq5miinzzrzlv6696j82hr60ga2r4msk6a34s9537vid410q22";
|
sha256 = "1zbh1zd083wfwrcw7vxc2bn32h42y6iyh24syxcb3r5ggd2vr41i";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ cmake ];
|
buildInputs = [ cmake ];
|
||||||
|
|
||||||
postInstall = ''
|
# TODO: actually use $prefix/etc/profile.d in NixOS
|
||||||
ensureDir ''${out}/etc/profile.d
|
postInstall =
|
||||||
echo "export POPPLER_DATADIR=''${out}/share/poppler" > \
|
''
|
||||||
''${out}/etc/profile.d/60-poppler.sh
|
mkdir -pv ''${out}/etc/profile.d
|
||||||
|
echo "export POPPLER_DATADIR=''${out}/share/poppler" |
|
||||||
|
tee ''${out}/etc/profile.d/60-poppler.sh
|
||||||
|
chmod -c +x ''${out}/etc/profile.d/60-poppler.sh
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -1,56 +1,13 @@
|
|||||||
diff -ur poppler-0.6.1/poppler/GlobalParams.cc poppler-0.6.1-patched/poppler/GlobalParams.cc
|
diff --git a/poppler/GlobalParams.cc b/poppler/GlobalParams.cc
|
||||||
--- poppler-0.6.1/poppler/GlobalParams.cc 2007-09-17 20:37:58.000000000 +0200
|
index 2e11bb0..a277ab9 100644
|
||||||
+++ poppler-0.6.1-patched/poppler/GlobalParams.cc 2007-11-06 16:11:55.995595933 +0100
|
--- a/poppler/GlobalParams.cc
|
||||||
@@ -654,27 +654,39 @@
|
+++ b/poppler/GlobalParams.cc
|
||||||
|
@@ -748,7 +748,7 @@ GlobalParams::GlobalParams(const char *customPopplerDataDir)
|
||||||
|
void GlobalParams::scanEncodingDirs() {
|
||||||
GDir *dir;
|
GDir *dir;
|
||||||
GDirEntry *entry;
|
GDirEntry *entry;
|
||||||
|
- const char *dataRoot = popplerDataDir ? popplerDataDir : POPPLER_DATADIR;
|
||||||
|
+ const char *dataRoot = popplerDataDir ? popplerDataDir : ( getenv("POPPLER_DATADIR") ? getenv("POPPLER_DATADIR") : POPPLER_DATADIR );
|
||||||
|
|
||||||
- dir = new GDir(POPPLER_DATADIR "/nameToUnicode", gFalse);
|
// allocate buffer large enough to append "/nameToUnicode"
|
||||||
+ GooString *real_datadir = new GooString (getenv("POPPLER_DATADIR"));
|
size_t bufSize = strlen(dataRoot) + strlen("/nameToUnicode") + 1;
|
||||||
+ if (!real_datadir->getCString())
|
|
||||||
+ real_datadir->Set(POPPLER_DATADIR);
|
|
||||||
+ GooString *dirname;
|
|
||||||
+
|
|
||||||
+ dirname = real_datadir->copy();
|
|
||||||
+ dir = new GDir(dirname->append("/nameToUnicode")->getCString(), gFalse);
|
|
||||||
while (entry = dir->getNextEntry(), entry != NULL) {
|
|
||||||
parseNameToUnicode(entry->getFullPath());
|
|
||||||
delete entry;
|
|
||||||
}
|
|
||||||
delete dir;
|
|
||||||
+ delete dirname;
|
|
||||||
|
|
||||||
- dir = new GDir(POPPLER_DATADIR "/cidToUnicode", gFalse);
|
|
||||||
+ dirname = real_datadir->copy();
|
|
||||||
+ dir = new GDir(dirname->append("/cidToUnicode")->getCString(), gFalse);
|
|
||||||
while (entry = dir->getNextEntry(), entry != NULL) {
|
|
||||||
addCIDToUnicode(entry->getName(), entry->getFullPath());
|
|
||||||
delete entry;
|
|
||||||
}
|
|
||||||
delete dir;
|
|
||||||
+ delete dirname;
|
|
||||||
|
|
||||||
- dir = new GDir(POPPLER_DATADIR "/unicodeMap", gFalse);
|
|
||||||
+ dirname = real_datadir->copy();
|
|
||||||
+ dir = new GDir(dirname->append("/unicodeMap")->getCString(), gFalse);
|
|
||||||
while (entry = dir->getNextEntry(), entry != NULL) {
|
|
||||||
addUnicodeMap(entry->getName(), entry->getFullPath());
|
|
||||||
delete entry;
|
|
||||||
}
|
|
||||||
delete dir;
|
|
||||||
+ delete dirname;
|
|
||||||
|
|
||||||
+ dirname = real_datadir->copy();
|
|
||||||
dir = new GDir(POPPLER_DATADIR "/cMap", gFalse);
|
|
||||||
while (entry = dir->getNextEntry(), entry != NULL) {
|
|
||||||
addCMapDir(entry->getName(), entry->getFullPath());
|
|
||||||
@@ -682,6 +694,9 @@
|
|
||||||
delete entry;
|
|
||||||
}
|
|
||||||
delete dir;
|
|
||||||
+ delete dirname;
|
|
||||||
+
|
|
||||||
+ delete real_datadir;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GlobalParams::parseNameToUnicode(GooString *name) {
|
|
||||||
|
@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
cmakeFlags = "-DENABLE_XPDF_HEADERS=ON -DENABLE_LIBCURL=ON -DENABLE_ZLIB=ON";
|
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
|
# XXX: The Poppler/Qt4 test suite refers to non-existent PDF files
|
||||||
# such as `../../../test/unittestcases/UseNone.pdf'.
|
# such as `../../../test/unittestcases/UseNone.pdf'.
|
||||||
#doCheck = !qt4Support;
|
#doCheck = !qt4Support;
|
||||||
|
@ -6080,7 +6080,7 @@ let
|
|||||||
|
|
||||||
iana_etc = callPackage ../data/misc/iana-etc { };
|
iana_etc = callPackage ../data/misc/iana-etc { };
|
||||||
|
|
||||||
popplerData = callPackage ../data/misc/poppler-data { };
|
poppler_data = callPackage ../data/misc/poppler-data { };
|
||||||
|
|
||||||
r3rs = callPackage ../data/documentation/rnrs/r3rs.nix { };
|
r3rs = callPackage ../data/documentation/rnrs/r3rs.nix { };
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user