Updated port to pdftk-2.02

Changes:
- Removed LOCAL master site, no distfile there obviously
- Moved USE_ZIP after BUILD_DEPENDS due to portlint warning
- Added LICENSE due to portlint warning
- Added LIB_DEPENDS. Libraries provided by gcc required to run the binary, but gcc is registered only as build dependency. Removing the gcc after installation of pdftk is permitted but breaks pdftk
- The port doesn't install any shared libraries, so there's no point in USE_LDCONFIG
- Changed PLIST_FILES and removed MAN1 to support staging
- Removed ancient comment (mentioned gcc and FreeBSD versions are deprecated long ago)
- Prepended STAGEDIR before PREFIX to support staging
- Corrected patch-pdftk__Makefile.Base to support new version
- REMOVED FILE file/patch-pdftk__Makefile.FreeBSD (is now provided by upstream)
- REMOVED FILE file/patch-java__Makefile (patch included by upstream)

maintainer timeout.

PR:		ports/183578
Submitted by:	Kozlov Sergey
This commit is contained in:
Mathieu Arnold 2013-11-29 15:48:07 +00:00
parent c8db721432
commit db38f110ea
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=335189
5 changed files with 25 additions and 132 deletions

View File

@ -2,29 +2,31 @@
# $FreeBSD$
PORTNAME= pdftk
PORTVERSION= 1.45
PORTREVISION= 1
PORTVERSION= 2.02
CATEGORIES= print
MASTER_SITES= http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/ \
LOCAL/glarkin
MASTER_SITES= http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/
DISTNAME= ${PORTNAME}-${PORTVERSION}-src
MAINTAINER= glarkin@FreeBSD.org
COMMENT= Simple tool for doing everyday things with PDF documents
USE_ZIP= yes
LICENSE= GPLv2
LIB_DEPENDS= libgcj.so:${PORTSDIR}/lang/gcc${CSUFF} \
libstdc++.so:${PORTSDIR}/lang/gcc${CSUFF} \
libgcc_s.so:${PORTSDIR}/lang/gcc${CSUFF}
BUILD_DEPENDS= gcj${CSUFF}:${PORTSDIR}/lang/gcc${CSUFF} \
gcjh${CSUFF}:${PORTSDIR}/lang/gcc${CSUFF} \
cpp${CSUFF}:${PORTSDIR}/lang/gcc${CSUFF}
USE_ZIP= yes
# Get GCC version suffix without the dot in USE_GCC
CSUFF= ${_USE_GCC:S/.//}
USE_GCC= yes
USE_GMAKE= yes
USES= iconv
USE_LDCONFIG= ${PREFIX}/lib/gcc${CSUFF}
USES= iconv gmake
# gcj/libgcj don't exist on some platforms
ONLY_FOR_ARCHS= i386 amd64
@ -42,15 +44,6 @@ PLIST_FILES= bin/${PORTNAME} man/man1/${PORTNAME}.1.gz
post-patch:
@${REINPLACE_CMD} -e "s|TOOLPATH=|TOOLPATH=${LOCALBASE}/bin/|g" ${WRKSRC}/${MAKEFILE}
@${REINPLACE_CMD} -e "s|VERSUFF=|VERSUFF=${CSUFF}|g" ${WRKSRC}/${MAKEFILE}
#2005-10-29 - mjoyner@vbservices.net/mjoyner@ewc.edu
#as shipped, pdftk compiles fine with 3.4 gcj, as we currently only have 4.1 gcj available,
#fix things so that it will compile. (compile tested on 5.4-STABLE)
#
#The resulting binary from using the 4.1 compiler suite has *NOT* been regression tested!
#Based on info found via Google USENET Search: Adam McDougall, Gerald Pfeifer
#
@${REINPLACE_CMD} -e "s|GCJFLAGS=|GCJFLAGS= -L${LOCALBASE}/lib -Wl,-rpath=${LOCALBASE}/lib/gcc${CSUFF} -w|g" ${WRKSRC}/${MAKEFILE}
@${REINPLACE_CMD} -e "s|LDLIBS= -lgcj|LDLIBS= -lgcj ${PTHREAD_CFLAGS} ${PTHREAD_LIBS} ${ICONV_LIB} -lz -L${LOCALBASE}/lib -Wl,-rpath=${LOCALBASE}/lib/gcc${CSUFF} -w|g" \
${WRKSRC}/${MAKEFILE}

View File

@ -1,2 +1,2 @@
SHA256 (pdftk-1.45-src.zip) = f4e1a50a9ae748dc71883182b797c80c497884fb3071e564361af57354378fcf
SIZE (pdftk-1.45-src.zip) = 1159411
SHA256 (pdftk-2.02-src.zip) = 118f6a25fd3acaafb58824dce6f97cdc07e56050e666b90e4c4ef426ea37b8c1
SIZE (pdftk-2.02-src.zip) = 2239008

View File

@ -1,21 +0,0 @@
--- ./java/Makefile.orig 2013-07-18 14:58:41.000000000 -0400
+++ ./java/Makefile 2013-07-18 14:59:08.000000000 -0400
@@ -21,9 +21,9 @@
# preprocess this file so it might include our local copies of library objects: libgcj_local
com/lowagie/text/pdf/PdfEncryption.java : com/lowagie/text/pdf/PdfEncryption.java.c
ifdef USE_LOCAL_LIBGCJ
- cpp -C -P -DPDFTK_JAVA_LOCAL com/lowagie/text/pdf/PdfEncryption.java.c com/lowagie/text/pdf/PdfEncryption.java
+ ${GCPP} -C -P -DPDFTK_JAVA_LOCAL com/lowagie/text/pdf/PdfEncryption.java.c com/lowagie/text/pdf/PdfEncryption.java
else
- cpp -C -P com/lowagie/text/pdf/PdfEncryption.java.c com/lowagie/text/pdf/PdfEncryption.java
+ ${GCPP} -C -P com/lowagie/text/pdf/PdfEncryption.java.c com/lowagie/text/pdf/PdfEncryption.java
endif
#
@@ -102,4 +102,4 @@
libgcj_local_clean :
$(MAKE) -iC "$(JAVALIBPATH)/gnu_local/java/security" clean;
$(MAKE) -iC "$(JAVALIBPATH)/gnu_local/java/security/provider" clean;
- $(MAKE) -iC "$(JAVALIBPATH)/java_local/security" clean;
\ No newline at end of file
+ $(MAKE) -iC "$(JAVALIBPATH)/java_local/security" clean;

View File

@ -1,8 +1,8 @@
--- ./pdftk/Makefile.Base.orig 2010-11-17 14:25:44.000000000 -0500
+++ ./pdftk/Makefile.Base 2010-11-17 14:27:49.000000000 -0500
@@ -29,21 +29,21 @@
--- pdftk/Makefile.Base.orig 2013-10-13 16:59:09.000000000 +0300
+++ pdftk/Makefile.Base 2013-10-13 17:14:39.000000000 +0300
@@ -28,24 +28,24 @@
#
CPPFLAGS+= -DPDFTK_VER=\"1.44\"
CPPFLAGS+= -DPDFTK_VER=\"2.02\"
-all : javalib pdftk
+all : pdftk
@ -18,12 +18,16 @@
+report.o : javalib report.cc report.h pdftk.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(JAVALIBPATH) report.cc -c
-pdftk.o : pdftk.cc pdftk.h attachments.h report.h $(JAVALIB) $(GCJ_LOCAL_LIB_FULL)
+pdftk.o : javalib pdftk.cc pdftk.h attachments.h report.h $(GCJ_LOCAL_LIB_FULL)
-passwords.o : passwords.cc passwords.h pdftk.h $(JAVALIB)
+passwords.o : javalib passwords.cc passwords.h pdftk.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(JAVALIBPATH) passwords.cc -c
-pdftk.o : pdftk.cc pdftk.h attachments.h report.h passwords.h $(JAVALIB)
+pdftk.o : javalib pdftk.cc pdftk.h attachments.h report.h passwords.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(JAVALIBPATH) pdftk.cc -c
-pdftk : pdftk.o attachments.o report.o $(JAVALIB) $(GCJ_LOCAL_LIB_FULL)
+pdftk : javalib pdftk.o attachments.o report.o $(GCJ_LOCAL_LIB_FULL)
$(CXX) $(CXXFLAGS) attachments.o report.o pdftk.o $(JAVALIB) $(GCJ_LOCAL_LIB_FULL) $(LDLIBS) -o pdftk
-pdftk : pdftk.o attachments.o report.o passwords.o $(JAVALIB) $(LIBGCJ_SUPPLEMENT_FULL_O)
+pdftk : javalib pdftk.o attachments.o report.o passwords.o $(LIBGCJ_SUPPLEMENT_FULL_O)
$(CXX) $(CXXFLAGS) attachments.o report.o passwords.o pdftk.o $(JAVALIB) $(LIBGCJ_SUPPLEMENT_FULL_O) $(LDLIBS) -o pdftk
install:

View File

@ -1,83 +0,0 @@
--- ./pdftk/Makefile.FreeBSD.orig 2010-11-11 09:38:40.000000000 -0500
+++ ./pdftk/Makefile.FreeBSD 2010-11-11 09:39:33.000000000 -0500
@@ -0,0 +1,80 @@
+# -*- Mode: Makefile -*-
+# Makefile.FreeBSD
+# Copyright 2004, 2010 Sid Steward
+# This is part of pdftk.
+#
+# Visit: www.pdftk.com for pdftk information and articles
+# Permalink: http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/
+#
+# Please email Sid Steward with questions or bug reports.
+# Include "pdftk" in the subject line to ensure successful delivery:
+# sid.steward at pdflabs dot com
+
+# Brief Instructions
+#
+# Compile: make -f Makefile.FreeBSD
+# Install (as root): make -f Makefile.FreeBSD install
+# Uninstall: make -f Makefile.FreeBSD uninstall
+# Clean: make -f Makefile.FreeBSD clean
+#
+
+# this tries to compensate for objects missing from older versions of libgcj
+# it replaces them with local implementations
+#
+# set to 1 for gcc 3.4 and other, older versions of gcc (e.g., mingw 3.4.5)
+# comment out for gcc 4.4 and other, newer versions of gcc
+#
+#export USE_LOCAL_LIBGCJ= 1
+
+# tools
+# need direct path to libgcj for gcjh (starting in gcj 4.1.2 per Aurélien GÉRÔME)
+TOOLPATH=
+export VERSUFF=
+export CXX= $(TOOLPATH)g++$(VERSUFF)
+export GCJ= $(TOOLPATH)gcj$(VERSUFF)
+export GCJH= $(TOOLPATH)gcjh$(VERSUFF)
+export GJAR= $(TOOLPATH)gjar$(VERSUFF)
+#export LIBGCJ= /usr/share/java/libgcj$(VERSUFF).jar
+export AR= ar
+export RM= rm
+export ARFLAGS= rs
+export RMFLAGS= -vf
+
+# pdftk compiler flags; 0x2f is a forward slash; 0x5c is a backslash
+# if you want pdftk to ask before overwriting a file, set
+# ASK_ABOUT_WARNINGS to true; otherwise: false; override this default
+# with the dont_ask or do_ask command-line options
+#
+# drop CXXFLAG -O3 due to template inlining causing:
+# "error: mixing C++ and Java catches in a single translation unit" per Andrew Haley;
+# fix added for gcc-4.3; this problem might be fixed in 4.4
+#
+# GCJFLAG -O3 causes pdftk to segfault (during a cat operation) when compiled on sarge using gcc 3.4.4
+# per Johann Felix Soden:
+# In gcc 4.3 "-O3" gives an error. This is fixed in PR C++/39380 which is at least in debian's gcc 4.4.1-4
+#
+# GCJFLAG -fsource=1.3 identifies the version of the java source
+#
+# when building/using a shared itext library:
+# CXXFLAGS: -fpic (or-fPIC)
+# GCJFLAGS: -Wl,-Bsymbolic -fpic (or -fPIC) -Wl,-rpath,/usr/lib/gcj
+# stock pdftk links statically against its own, modified itext library
+#
+# -findirect-dispatch
+# introduced in gcj 4:
+# "Using that option causes GCJ to generate native code for classes and methods that follow the precise same binary compatibility rules as described in the Java Language Specification."
+# http://lwn.net/Articles/130796/
+# omitted because it caused linking errors using gcc 4.4; it also seems to make a larger binary
+#
+# -Wl,--as-needed
+# see: http://www.gentoo.org/proj/en/qa/asneeded.xml
+# only effects libraries following option on the command line
+#
+#
+export CPPFLAGS= -DPATH_DELIM=0x2f -DASK_ABOUT_WARNINGS=false -DUNBLOCK_SIGNALS -fdollars-in-identifiers
+export CXXFLAGS= -Wall -Wextra -Weffc++ -O2
+export GCJFLAGS= -Wall -Wextra -fsource=1.3 -O2
+export GCJHFLAGS= -force
+export LDLIBS= -lgcj
+
+include Makefile.Base