summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO17
-rw-r--r--.gitignore3
-rw-r--r--PKGBUILD95
-rw-r--r--pdfstudioviewer.desktop10
4 files changed, 79 insertions, 46 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ecdc0ebf0805..1a7ae4923fda 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,16 +1,19 @@
pkgbase = pdfstudioviewer
pkgdesc = Review, annotate, and edit PDF Documents
- pkgver = 2023.0.3
+ pkgver = 2023.0.4
pkgrel = 1
url = https://www.qoppa.com/pdfstudioviewer
arch = x86_64
arch = aarch64
license = custom
- depends = java-runtime>=9
- depends = sane
- source = pdfstudioviewer-2023.0.3_linux64.deb::https://download.qoppa.com/pdfstudioviewer/PDFStudioViewer_linux64.deb
- source = pdfstudioviewer.desktop
- sha256sums = 250c79c892e3c16e154572ccfbf54d0d714df19707271971c8a0c8cdcfbe844b
- sha256sums = fdcba512d02c666e3f116afeb6811457483e09ad29f934b5bce13c862fd473d6
+ makedepends = dpkg
+ makedepends = desktop-file-utils
+ makedepends = gendesk
+ makedepends = libarchive
+ noextract = pdfstudioviewer-2023.0.4_linux64.deb
+ source = pdfstudioviewer-2023.0.4_linux64.deb::https://download.qoppa.com/pdfstudioviewer/PDFStudioViewer_linux64.deb
+ b2sums = afcb07be0831a36e316e1d37a4a9889dfe6730fac1561a284466ce542dc1ab9ce7aca71e6e19dde62c37a5e0f2e1dbb0a5d0bc1a96d3374464c7e2d9e01dfdd6
pkgname = pdfstudioviewer
+ depends = java-runtime>=9
+ depends = sane
diff --git a/.gitignore b/.gitignore
index 72abd777e296..4dccc7769c72 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,5 +4,4 @@
# But not these files...
!.gitignore
!PKGBUILD
-!.SRCINFO
-!pdfstudioviewer.desktop
+!.SRCINFO \ No newline at end of file
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}"
}
diff --git a/pdfstudioviewer.desktop b/pdfstudioviewer.desktop
deleted file mode 100644
index 951bca023bd2..000000000000
--- a/pdfstudioviewer.desktop
+++ /dev/null
@@ -1,10 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=PDF Studio Viewer 2023
-Comment=Views and Edits Adobe PDF (acrobat) files
-Icon=pdfstudioviewer
-Exec=pdfstudioviewer %U
-Terminal=false
-MimeType=application/pdf;
-Categories=Office;
-StartupWMClass=install4j-com-qoppa-pdfStudioViewer-pub-PDFStudioViewer