summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD95
1 files changed, 68 insertions, 27 deletions
diff --git a/PKGBUILD b/PKGBUILD
index cf83d788d3b8..c342e9c5cbd3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,45 +1,86 @@
-# Maintainer:
+# Maintainer: bbx0 <39773919+bbx0@users.noreply.github.com>
# Contributor: Mark Wagie <mark dot wagie at proton dot me>
+# Contributor: Qoppa Software, LLC <info@qoppa.com>
+
+# shellcheck shell=bash disable=SC2034,SC2154,SC2164
+
pkgname=pdfstudioviewer
_pkgname=pdfstudioviewer2023
-pkgver=2023.0.3
+pkgver=2023.0.4
pkgrel=1
-pkgdesc="Review, annotate, and edit PDF Documents"
+pkgdesc='Review, annotate, and edit PDF Documents'
arch=('x86_64' 'aarch64')
-url="https://www.qoppa.com/pdfstudioviewer"
+url='https://www.qoppa.com/pdfstudioviewer'
license=('custom')
-depends=('java-runtime>=9' 'sane')
-source=("${pkgname}-${pkgver}_linux64.deb::https://download.qoppa.com/$pkgname/PDFStudioViewer_linux64.deb"
- "$pkgname.desktop")
-sha256sums=('250c79c892e3c16e154572ccfbf54d0d714df19707271971c8a0c8cdcfbe844b'
- 'fdcba512d02c666e3f116afeb6811457483e09ad29f934b5bce13c862fd473d6')
+makedepends=('dpkg' 'desktop-file-utils' 'gendesk' 'libarchive')
+_deb="${pkgname}-${pkgver}_linux64.deb"
+noextract=("${_deb}")
+source=("${_deb}::https://download.qoppa.com/${pkgname}/PDFStudioViewer_linux64.deb")
+b2sums=('afcb07be0831a36e316e1d37a4a9889dfe6730fac1561a284466ce542dc1ab9ce7aca71e6e19dde62c37a5e0f2e1dbb0a5d0bc1a96d3374464c7e2d9e01dfdd6')
+
+# Desktop File parameters; validate via `gendesk -n PKGBUILD`
+_name='PDF Studio Viewer 2023'
+_genericname='PDF Viewer'
+_mimetypes='application/pdf'
+_categories='Application;Office'
+_custom='StartupWMClass=install4j-com-qoppa-pdfStudioViewer-pub-PDFStudioViewer'
+_exec="${pkgname} %U"
+
+pkgver() {
+ # shellcheck disable=SC2016
+ dpkg-deb --show --showformat='${Version}' "${_deb}" | tr - .
+}
prepare() {
- mkdir -p "$pkgname-$pkgver"
- bsdtar xf data.tar.gz -C "$pkgname-$pkgver"
+ # Extract Debian Archive
+ dpkg-deb --raw-extract "${_deb}" "${pkgname}-${pkgver}"
+ cd "${pkgname}-${pkgver}"
- cd "$pkgname-$pkgver"
+ # Extract License
+ bsdtar xf "opt/${_pkgname}/lib/pdfstudio.jar" resources/license.html
- # Extract license
- bsdtar xf "opt/$_pkgname/lib/pdfstudio.jar" resources/license.html
+ # Arch Linux customization
+ {
+ # shellcheck disable=SC2016 # Probe the default JRE first and disable caching of tested JRE versions.
+ sed -i 's!# INSTALL4J_JAVA_HOME_OVERRIDE=!: "${INSTALL4J_JAVA_HOME_OVERRIDE:=/usr/lib/jvm/default-runtime}";: "${INSTALL4J_NO_DB:=true}";!' "opt/${_pkgname}/${_pkgname}"
- # Remove bundled JRE
- rm -rf "opt/$_pkgname/jre"
+ # shellcheck disable=SC2016 # Disable the maximum java version check.
+ sed -i 's!"$ver_major" -gt "[0-9]*"!"$ver_major" -gt "99"!' "opt/${_pkgname}/${_pkgname}"
- # Bump max JRE version from 19 to 20
- sed -i 's/19/20/g' "opt/$_pkgname/$_pkgname"
+ # Remove bundled JRE
+ rm -rf "opt/${_pkgname}/jre"
+ }
+
+ # Generate the ${pkgname}.desktop file
+ gendesk -n \
+ --pkgname "${pkgname}" \
+ --pkgdesc "${pkgdesc}" \
+ --name "${_name}" \
+ --genericname "${_genericname}" \
+ --mimetypes "${_mimetypes}" \
+ --categories "${_categories}" \
+ --custom "${_custom}" \
+ --exec "${_exec}"
}
package() {
- cd "$pkgname-$pkgver"
- install -d "$pkgdir/opt/$pkgname"
- cp -r "opt/$_pkgname/." "$pkgdir/opt/$pkgname/"
+ cd "${pkgname}-${pkgver}"
+
+ # Runtime dependencies
+ depends=('java-runtime>=9' 'sane')
+
+ # Application /opt/${pkgname}
+ install -d "${pkgdir}/opt/${pkgname}"
+ cp -a "opt/${_pkgname}/." "${pkgdir}/opt/${pkgname}/"
+
+ # Link /usr/bin/${pkgname}
+ install -d "${pkgdir}/usr/bin"
+ ln -s "/opt/${pkgname}/${_pkgname}" "${pkgdir}/usr/bin/${pkgname}"
- install -Dm644 "opt/$_pkgname/.install4j/$_pkgname.png" \
- "$pkgdir/usr/share/pixmaps/$pkgname.png"
- install -Dm644 resources/license.html -t "$pkgdir/usr/share/licenses/$pkgname"
- install -Dm644 "$srcdir/$pkgname.desktop" -t "$pkgdir/usr/share/applications"
+ # Desktop Entry and Icon
+ desktop-file-install -m 644 --dir "${pkgdir}/usr/share/applications/" "${pkgname}.desktop"
+ install -Dm644 "opt/${_pkgname}/.install4j/${_pkgname}.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
- install -d "$pkgdir/usr/bin"
- ln -s "/opt/$pkgname/$_pkgname" "$pkgdir/usr/bin/$pkgname"
+ # License
+ install -Dm644 resources/license.html -t "${pkgdir}/usr/share/licenses/${pkgname}"
}