diff options
author | Michael Raskin <7c6f434c@mail.ru> | 2014-11-16 02:16:01 +0400 |
---|---|---|
committer | Michael Raskin <7c6f434c@mail.ru> | 2014-11-16 02:16:42 +0400 |
commit | 1a69d881747cda57bfa45be7c6f351d2d2e83d53 (patch) | |
tree | b39b2ffb94037a00ef4f477639aed09ba53bb090 /pkgs/tools/typesetting | |
parent | 05d4db4c7196f8c9b4000f2210c0cd04958355ab (diff) | |
download | nixpkgs-1a69d881747cda57bfa45be7c6f351d2d2e83d53.tar nixpkgs-1a69d881747cda57bfa45be7c6f351d2d2e83d53.tar.gz nixpkgs-1a69d881747cda57bfa45be7c6f351d2d2e83d53.tar.bz2 nixpkgs-1a69d881747cda57bfa45be7c6f351d2d2e83d53.tar.lz nixpkgs-1a69d881747cda57bfa45be7c6f351d2d2e83d53.tar.xz nixpkgs-1a69d881747cda57bfa45be7c6f351d2d2e83d53.tar.zst nixpkgs-1a69d881747cda57bfa45be7c6f351d2d2e83d53.zip |
Update pdftk and fix its build
Diffstat (limited to 'pkgs/tools/typesetting')
-rw-r--r-- | pkgs/tools/typesetting/pdftk/default.nix | 32 | ||||
-rw-r--r-- | pkgs/tools/typesetting/pdftk/gcc-4.3.patch | 205 | ||||
-rw-r--r-- | pkgs/tools/typesetting/pdftk/gcc-4.4.patch | 18 |
3 files changed, 20 insertions, 235 deletions
diff --git a/pkgs/tools/typesetting/pdftk/default.nix b/pkgs/tools/typesetting/pdftk/default.nix index c71bc3ba77c..a2ef7716cda 100644 --- a/pkgs/tools/typesetting/pdftk/default.nix +++ b/pkgs/tools/typesetting/pdftk/default.nix @@ -1,32 +1,40 @@ -{ fetchurl, stdenv, gcj }: +{ fetchurl, stdenv, gcj, unzip }: stdenv.mkDerivation { - name = "pdftk-1.41"; + name = "pdftk-2.02"; src = fetchurl { - url = http://www.pdfhacks.com/pdftk/pdftk-1.41.tar.bz2; - sha256 = "1vdrc3179slix6lz3gdiy53z7sh2yf9026r3xi6wdarwrcpawfrf"; + url = "https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk-2.02-src.zip"; + sha256 = "1hdq6zm2dx2f9h7bjrp6a1hfa1ywgkwydp14i2sszjiszljnm3qi"; }; - patches = [ ./gcc-4.3.patch ./gcc-4.4.patch ]; + buildInputs = [ gcj unzip ]; - buildInputs = [ gcj ]; - - makeFlags = [ "-f" "Makefile.Generic" ]; + preBuild = '' + cd pdftk + sed -e 's@/usr/bin/@@g' -i Makefile.* + NIX_ENFORCE_PURITY= \ + make \ + LIBGCJ="${gcj.gcc}/share/java/libgcj-${gcj.gcc.version}.jar" \ + GCJ=gcj GCJH=gcjh GJAR=gjar \ + -iC ../java all + ''; - preBuild = "cd pdftk"; + # Makefile.Debian has almost fitting defaults + makeFlags = [ "-f" "Makefile.Debian" "VERSUFF=" ]; installPhase = '' mkdir -p $out/bin $out/share/man/man1 cp pdftk $out/bin - cp ../debian/pdftk.1 $out/share/man/man1 + cp ../pdftk.1 $out/share/man/man1 ''; + meta = { description = "Simple tool for doing everyday things with PDF documents"; - homepage = http://www.accesspdf.com/pdftk/; + homepage = "https://www.pdflabs.com/tools/pdftk-server/"; license = stdenv.lib.licenses.gpl2; - maintainers = with stdenv.lib.maintainers; [viric]; + maintainers = with stdenv.lib.maintainers; [viric raskin]; platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/tools/typesetting/pdftk/gcc-4.3.patch b/pkgs/tools/typesetting/pdftk/gcc-4.3.patch deleted file mode 100644 index 05bca95f6c2..00000000000 --- a/pkgs/tools/typesetting/pdftk/gcc-4.3.patch +++ /dev/null @@ -1,205 +0,0 @@ -Taken from gentoo portage. - -# posted to bug #251796 by <andrex@mail.ee> from Debian patches -diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/bc/asn1/Makefile pdftk-1.41/java_libs/com/lowagie/bc/asn1/Makefile ---- pdftk-1.41.orig/java_libs/com/lowagie/bc/asn1/Makefile 2008-12-22 23:43:29.000000000 +0200 -+++ pdftk-1.41/java_libs/com/lowagie/bc/asn1/Makefile 2008-12-23 00:04:52.000000000 +0200 -@@ -25,8 +25,7 @@ - # the "$*" automatic variable, here - # - %.h : %.class -- $(GCJH) --classpath="." $*; -- $(RM) $< -+ $(GCJH) --classpath="$(java_libs_root):." $*; - - ## - # targets -diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/Makefile pdftk-1.41/java_libs/com/lowagie/text/Makefile ---- pdftk-1.41.orig/java_libs/com/lowagie/text/Makefile 2008-12-22 23:43:29.000000000 +0200 -+++ pdftk-1.41/java_libs/com/lowagie/text/Makefile 2008-12-22 23:58:52.000000000 +0200 -@@ -25,13 +25,12 @@ - # the "$*" automatic variable, here - # - %.h : %.class -- $(GCJH) --classpath="." $*; -- $(RM) $< -+ $(GCJH) --classpath="$(java_libs_root):." $*; - - ## - # targets - --all : $(library) $(headers) -+all : $(library) $(headers) $(classes) - - $(library) : $(objects) - $(AR) $(ARFLAGS) $(library) $(objects); -diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/markup/Makefile pdftk-1.41/java_libs/com/lowagie/text/markup/Makefile ---- pdftk-1.41.orig/java_libs/com/lowagie/text/markup/Makefile 2008-12-22 23:43:29.000000000 +0200 -+++ pdftk-1.41/java_libs/com/lowagie/text/markup/Makefile 2008-12-23 00:04:28.000000000 +0200 -@@ -25,8 +25,7 @@ - # the "$*" automatic variable, here - # - %.h : %.class -- $(GCJH) --classpath="." $*; -- $(RM) $< -+ $(GCJH) --classpath="$(java_libs_root):." $*; - - ## - # targets -diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/Makefile pdftk-1.41/java_libs/com/lowagie/text/pdf/codec/Makefile ---- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/Makefile 2008-12-22 23:43:29.000000000 +0200 -+++ pdftk-1.41/java_libs/com/lowagie/text/pdf/codec/Makefile 2008-12-23 00:04:11.000000000 +0200 -@@ -25,8 +25,7 @@ - # the "$*" automatic variable, here - # - %.h : %.class -- $(GCJH) --classpath="." $*; -- $(RM) $< -+ $(GCJH) --classpath="$(java_libs_root):." $*; - - ## - # targets -diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/postscript/Makefile pdftk-1.41/java_libs/com/lowagie/text/pdf/codec/postscript/Makefile ---- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/postscript/Makefile 2008-12-22 23:43:29.000000000 +0200 -+++ pdftk-1.41/java_libs/com/lowagie/text/pdf/codec/postscript/Makefile 2008-12-23 00:03:05.000000000 +0200 -@@ -25,8 +25,7 @@ - # the "$*" automatic variable, here - # - %.h : %.class -- $(GCJH) --classpath="." $*; -- $(RM) $< -+ $(GCJH) --classpath="$(java_libs_root):." $*; - - ## - # targets -diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/wmf/Makefile pdftk-1.41/java_libs/com/lowagie/text/pdf/codec/wmf/Makefile ---- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/wmf/Makefile 2008-12-22 23:43:29.000000000 +0200 -+++ pdftk-1.41/java_libs/com/lowagie/text/pdf/codec/wmf/Makefile 2008-12-23 00:03:29.000000000 +0200 -@@ -25,8 +25,7 @@ - # the "$*" automatic variable, here - # - %.h : %.class -- $(GCJH) --classpath="." $*; -- $(RM) $< -+ $(GCJH) --classpath="$(java_libs_root):." $*; - - ## - # targets -diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/fonts/Makefile pdftk-1.41/java_libs/com/lowagie/text/pdf/fonts/Makefile ---- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/fonts/Makefile 2008-12-22 23:43:29.000000000 +0200 -+++ pdftk-1.41/java_libs/com/lowagie/text/pdf/fonts/Makefile 2008-12-23 00:01:33.000000000 +0200 -@@ -34,8 +34,7 @@ - # the "$*" automatic variable, here - # - %.h : %.class -- $(GCJH) --classpath="." $*; -- $(RM) $< -+ $(GCJH) --classpath="$(java_libs_root):." $*; - - ## - # targets -diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/Makefile pdftk-1.41/java_libs/com/lowagie/text/pdf/Makefile ---- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/Makefile 2008-12-22 23:43:29.000000000 +0200 -+++ pdftk-1.41/java_libs/com/lowagie/text/pdf/Makefile 2008-12-23 00:00:25.000000000 +0200 -@@ -25,8 +25,7 @@ - # the "$*" automatic variable, here - # - %.h : %.class -- $(GCJH) --classpath="." $*; -- $(RM) $< -+ $(GCJH) --classpath="$(java_libs_root):." $*; - - ## - # targets -diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/PdfEncryption.java pdftk-1.41/java_libs/com/lowagie/text/pdf/PdfEncryption.java ---- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/PdfEncryption.java 2008-12-22 23:43:29.000000000 +0200 -+++ pdftk-1.41/java_libs/com/lowagie/text/pdf/PdfEncryption.java 2008-12-22 23:46:21.000000000 +0200 -@@ -50,7 +50,7 @@ - - package com.lowagie.text.pdf; - --import java_local.security.MessageDigest; // ssteward -+import java.security.MessageDigest; - import com.lowagie.text.ExceptionConverter; - - /** -diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/xml/xmp/Makefile pdftk-1.41/java_libs/com/lowagie/text/xml/xmp/Makefile ---- pdftk-1.41.orig/java_libs/com/lowagie/text/xml/xmp/Makefile 2008-12-22 23:43:29.000000000 +0200 -+++ pdftk-1.41/java_libs/com/lowagie/text/xml/xmp/Makefile 2008-12-22 23:59:42.000000000 +0200 -@@ -25,8 +25,7 @@ - # the "$*" automatic variable, here - # - %.h : %.class -- $(GCJH) --classpath="." $*; -- $(RM) $< -+ $(GCJH) --classpath="$(java_libs_root):." $*; - - ## - # targets -diff -u -r pdftk-1.41.orig/java_libs/Makefile pdftk-1.41/java_libs/Makefile ---- pdftk-1.41.orig/java_libs/Makefile 2008-12-22 23:43:29.000000000 +0200 -+++ pdftk-1.41/java_libs/Makefile 2008-12-22 23:47:10.000000000 +0200 -@@ -13,13 +13,7 @@ - # append gcj flags - export GCJFLAGS+= --encoding=UTF-8 --classpath="$(java_libs_root)" - --all : libgcj_local itext -- --libgcj_local : -- $(MAKE) -C "$(java_libs_root)/gnu_local/java/security"; -- $(MAKE) -C "$(java_libs_root)/gnu_local/java/security/provider"; -- $(MAKE) -C "$(java_libs_root)/gnu/gcj/convert"; -- $(MAKE) -C "$(java_libs_root)/java_local/security"; -+all : itext - - itext : - $(MAKE) -C "$(java_libs_root)/com/lowagie/text"; -@@ -35,13 +29,7 @@ - $(MAKE) -C "$(java_libs_root)/com/lowagie/bc/asn1"; - $(MAKE) -C "$(java_libs_root)/com/lowagie/text/pdf/codec/postscript"; - --clean : libgcj_local_clean itext_clean -- --libgcj_local_clean : -- $(MAKE) -iC "$(java_libs_root)/gnu_local/java/security" clean; -- $(MAKE) -iC "$(java_libs_root)/gnu_local/java/security/provider" clean; -- $(MAKE) -iC "$(java_libs_root)/gnu/gcj/convert" clean; -- $(MAKE) -iC "$(java_libs_root)/java_local/security" clean; -+clean : itext_clean - - itext_clean : - $(MAKE) -iC "$(java_libs_root)/com/lowagie/text" clean; -diff -u -r pdftk-1.41.orig/pdftk/Makefile.Base pdftk-1.41/pdftk/Makefile.Base ---- pdftk-1.41.orig/pdftk/Makefile.Base 2008-12-22 23:43:29.000000000 +0200 -+++ pdftk-1.41/pdftk/Makefile.Base 2008-12-22 23:44:33.000000000 +0200 -@@ -31,18 +31,6 @@ - afms= $(wildcard $(java_libs_root)/com/lowagie/text/pdf/fonts/*.afm) - afm_objects= $(patsubst %.afm, %.o, $(afms)) - --# older versions of libgcj might not have the MD5 algorithm, --# so I added it here; these *_local java files were grabbed from --# libgcj CVS on March 7, 2004; diffed September 5, 2006 w/ gcc 4.1.1 --# --# gnu/gcj/convert/Input_UnicodeBig.java was grabbed March 26, 2004; diffed September 5, 2006 w/ gcc 4.1.1 --# --libgcj_local_libs = \ --$(java_libs_root)/java_local/security/security.a \ --$(java_libs_root)/gnu_local/java/security/provider/provider.a \ --$(java_libs_root)/gnu_local/java/security/security.a \ --$(java_libs_root)/gnu/gcj/convert/convert.a -- - # this must already be set according to your platform Makefile; - # we're just appending to it, here - # -diff -u -r pdftk-1.41.orig/pdftk/Makefile.Generic pdftk-1.41/pdftk/Makefile.Generic ---- pdftk-1.41.orig/pdftk/Makefile.Generic 2008-12-22 23:43:29.000000000 +0200 -+++ pdftk-1.41/pdftk/Makefile.Generic 2008-12-23 00:06:24.000000000 +0200 -@@ -28,7 +28,7 @@ - - # itext compiler flags - # -O3 might cause pdftk to segfault on cat operation (gcc 3.4.4) --export GCJFLAGS= -O2 -+export GCJFLAGS= -O2 -w - - # - export ARFLAGS= rs diff --git a/pkgs/tools/typesetting/pdftk/gcc-4.4.patch b/pkgs/tools/typesetting/pdftk/gcc-4.4.patch deleted file mode 100644 index f66c22e5106..00000000000 --- a/pkgs/tools/typesetting/pdftk/gcc-4.4.patch +++ /dev/null @@ -1,18 +0,0 @@ -Taken from gentoo portage. - -diff -NrU5 pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/PdfDate.java pdftk-1.41/java_libs/com/lowagie/text/pdf/PdfDate.java ---- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/PdfDate.java 2009-05-18 20:49:13.000000000 -0600 -+++ pdftk-1.41/java_libs/com/lowagie/text/pdf/PdfDate.java 2009-05-18 20:51:36.000000000 -0600 -@@ -74,11 +74,11 @@ - public class PdfDate extends PdfString { - - // ssteward; static builds of pdftk (Windows, gcc 3.3.1) would - // omit this class because of its reference by reflection; - // this treatment ensures that ld will include it -- private static Class c1= gnu.java.locale.Calendar.class; -+ private static Class c1= java.util.Calendar.class; - - private static final int dateSpace[] = {Calendar.YEAR, 4, 0, Calendar.MONTH, 2, -1, Calendar.DAY_OF_MONTH, 2, 0, - Calendar.HOUR_OF_DAY, 2, 0, Calendar.MINUTE, 2, 0, Calendar.SECOND, 2, 0}; - - // constructors |