Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
PKGBUILD 1.67 KiB
# Maintainer: Jonas Witschel <diabonas@archlinux.org>
pkgname=pdftk
pkgver=3.2.2
pkgrel=1
pkgdesc='Command-line tool for working with PDFs'
arch=('any')
url='https://gitlab.com/pdftk-java/pdftk'
license=('GPL')
depends=('java-runtime-headless' 'sh')
makedepends=('ant' 'bcprov' 'java-commons-lang' 'strip-nondeterminism')
checkdepends=('java-hamcrest' 'junit' 'junit-system-rules' 'poppler')
optdepends=('bcprov: support for signed PDF documents'
            'java-commons-lang: burst, dump_data, dump_data_fields and update_info operation support')
source=("$url/-/archive/v$pkgver/$pkgname-v$pkgver.tar.bz2" 'pdftk.sh')
sha512sums=('03220ac3036098768dd4250bbfeb6675561e9126697b99703ab5788b2cee7551256c301d9191745c5fdedf429056b46641351d1fb92631ef17673d7e740c5431'
            '439c397472012d71c8e782a75819a7a950474c387b7050bbd5aa2f849d1dbe29423accf3f8e17d18436ba32eb4f76072df5b4f85caebd853df1e75c131631988')

prepare() {
	cd "$pkgname-v$pkgver"
	mkdir lib
	ln -s /usr/share/java/{bcprov,commons-lang/commons-lang,hamcrest-core,junit,junit-system-rules/system-rules}.jar lib
	# No need for code coverage reports during tests
	sed -ri '/<\/?jacoco:coverage>/d' build.xml
}

build() {
	cd "$pkgname-v$pkgver"
	ant clean jar

	# Timestamps in JAR files generated by Ant do not honour SOURCE_DATE_EPOCH
	# (https://bz.apache.org/bugzilla/show_bug.cgi?id=61269)
	strip-nondeterminism --timestamp "$SOURCE_DATE_EPOCH" build/jar/pdftk.jar
}

check() {
	cd "$pkgname-v$pkgver"
	ant test-run
}

package() {
	cd "$pkgname-v$pkgver"
	install -Dm644 build/jar/pdftk.jar -t "$pkgdir/usr/share/java/$pkgname"
	install -Dm644 pdftk.1 -t "$pkgdir/usr/share/man/man1"
	install -Dm755 "$srcdir/pdftk.sh" "$pkgdir/usr/bin/pdftk"
}