From 11a80eab64daf8945dce42de612226b1f4805ddd Mon Sep 17 00:00:00 2001 From: devome Date: Wed, 9 Apr 2025 22:38:27 +0800 Subject: [PATCH] stirling-pdf-bin: 0.45.2-2 --- .SRCINFO | 29 +++++++++++++--------- .gitignore | 3 ++- PKGBUILD | 56 ++++++++++++++++++++++++++++++------------- stirling-pdf.env | 4 ++-- stirling-pdf.service | 12 ++++++++-- stirling-pdf.sh | 4 ++++ stirling-pdf.sysusers | 2 +- 7 files changed, 76 insertions(+), 34 deletions(-) create mode 100644 stirling-pdf.sh diff --git a/.SRCINFO b/.SRCINFO index 81e601778f80..ae18d7f12362 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,18 +1,22 @@ pkgbase = stirling-pdf-bin pkgdesc = Locally hosted web application that allows you to perform various operations on PDF files pkgver = 0.45.2 - pkgrel = 1 + pkgrel = 2 url = https://github.com/Stirling-Tools/Stirling-PDF arch = any license = GPL-3.0-or-later - depends = java-runtime-headless>=17 - depends = libreoffice-fresh - depends = ocrmypdf + depends = fontconfig + depends = java-runtime-headless>=21 + depends = libreoffice depends = pngquant + depends = poppler depends = python-opencv + depends = python-pdf2image + depends = python-pillow + depends = python-unoserver + depends = python-weasyprint + depends = qpdf depends = tesseract-data-eng - depends = unoconv - depends = unpaper optdepends = jbig2enc: for certain OCR functionality optdepends = tesseract-data-afr: for afr language OCR optdepends = tesseract-data-amh: for amh language OCR @@ -43,7 +47,6 @@ pkgbase = stirling-pdf-bin optdepends = tesseract-data-div: for div language OCR optdepends = tesseract-data-dzo: for dzo language OCR optdepends = tesseract-data-ell: for ell language OCR - optdepends = tesseract-data-eng: for eng language OCR optdepends = tesseract-data-enm: for enm language OCR optdepends = tesseract-data-epo: for epo language OCR optdepends = tesseract-data-equ: for equ language OCR @@ -148,14 +151,18 @@ pkgbase = stirling-pdf-bin noextract = stirling-pdf-0.45.2.jar backup = etc/stirling-pdf/stirling-pdf.env source = stirling-pdf-0.45.2.jar::https://github.com/Stirling-Tools/Stirling-PDF/releases/download/v0.45.2/Stirling-PDF-with-login.jar + source = stirling-pdf-0.45.2.tar.gz::https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v0.45.2.tar.gz source = stirling-pdf.env source = stirling-pdf.service + source = stirling-pdf.sh source = stirling-pdf.sysusers source = stirling-pdf.tmpfiles - sha256sums = 41a33737c39a6ffbc8c54224e2068b2ca53b100bfa29d90cbfbad3f9d41616d3 - sha256sums = 21eb87b52d8502b10b339f9d2267530fcaa73f849317ad25102b6bd489ce9280 - sha256sums = 4abb93db9f1f000ddb3d1f25dbda9f207a3f8fd8a783c264115271e36662e9f3 - sha256sums = 0f8b3d727955536ae3ed98e8aeccb8f073e4c97c36a95de595624a71ea5fdd11 + sha256sums = 31eccb63f2465c04cbca6f73e33e8e91390063e69e5d9a43339c05197126cdaa + sha256sums = 015a3429410fe6f89476b4330beacb489f79988c9200268d27403f8416eede82 + sha256sums = d395992889fdf60de430509cd5866fc4606548aa1ba8f134b7e6bd4e29f293c9 + sha256sums = d717c3d0d7165f33d12e6230e2ad87f42d2fc26debe3c2a5c516d2e754c93203 + sha256sums = cc15280066c4e188edb30596fb02eabf46e5335642a4202366408cc36208e8f0 + sha256sums = efdf233d59cf82bc331e3ea85e912e7f534ed0d821674e232e3fc827f699ef43 sha256sums = 554fbc114c32f4b81fe3b8199e936881e26b5649098c495acfd4cd77eefd2612 pkgname = stirling-pdf-bin diff --git a/.gitignore b/.gitignore index 933e9a557830..296192b1ed2d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /pkg /src -*.pkg.tar.* *.jar +*.pkg.tar.* +*.tar.gz diff --git a/PKGBUILD b/PKGBUILD index 94c0b9277ab4..dd5735f7e201 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,37 +1,55 @@ # Maintainer: devome -_pkgname="stirling-pdf" +_reponame=Stirling-PDF +_pkgname="${_reponame,,}" pkgname="${_pkgname}-bin" pkgver=0.45.2 -pkgrel=1 +pkgrel=2 pkgdesc="Locally hosted web application that allows you to perform various operations on PDF files" arch=("any") -url="https://github.com/Stirling-Tools/Stirling-PDF" +url="https://github.com/Stirling-Tools/${_reponame}" provides=("${_pkgname}") conflicts=("${_pkgname}") license=("GPL-3.0-or-later") backup=("etc/${_pkgname}/${_pkgname}.env") -depends=("java-runtime-headless>=17" "libreoffice-fresh" "ocrmypdf" "pngquant" "python-opencv" "tesseract-data-eng" "unoconv" "unpaper") +depends=( + "fontconfig" + "java-runtime-headless>=21" + "libreoffice" + "pngquant" + "poppler" + "python-opencv" + "python-pdf2image" + "python-pillow" + "python-unoserver" + "python-weasyprint" + "qpdf" + "tesseract-data-eng" +) optdepends=("jbig2enc: for certain OCR functionality") -source=("${_pkgname}-${pkgver}.jar::${url}/releases/download/v${pkgver}/Stirling-PDF-with-login.jar" +source=("${_pkgname}-${pkgver}.jar::${url}/releases/download/v${pkgver}/${_reponame}-with-login.jar" + "${_pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz" "${_pkgname}.env" "${_pkgname}.service" + "${_pkgname}.sh" "${_pkgname}.sysusers" "${_pkgname}.tmpfiles") -sha256sums=('41a33737c39a6ffbc8c54224e2068b2ca53b100bfa29d90cbfbad3f9d41616d3' - '21eb87b52d8502b10b339f9d2267530fcaa73f849317ad25102b6bd489ce9280' - '4abb93db9f1f000ddb3d1f25dbda9f207a3f8fd8a783c264115271e36662e9f3' - '0f8b3d727955536ae3ed98e8aeccb8f073e4c97c36a95de595624a71ea5fdd11' +sha256sums=('31eccb63f2465c04cbca6f73e33e8e91390063e69e5d9a43339c05197126cdaa' + '015a3429410fe6f89476b4330beacb489f79988c9200268d27403f8416eede82' + 'd395992889fdf60de430509cd5866fc4606548aa1ba8f134b7e6bd4e29f293c9' + 'd717c3d0d7165f33d12e6230e2ad87f42d2fc26debe3c2a5c516d2e754c93203' + 'cc15280066c4e188edb30596fb02eabf46e5335642a4202366408cc36208e8f0' + 'efdf233d59cf82bc331e3ea85e912e7f534ed0d821674e232e3fc827f699ef43' '554fbc114c32f4b81fe3b8199e936881e26b5649098c495acfd4cd77eefd2612') noextract=("${_pkgname}-${pkgver}.jar") -_langs=(afr amh ara asm aze aze_cyrl bel ben bod bos bre bul cat ceb ces - chi_sim chi_sim_vert chi_tra chi_tra_vert chr cos cym dan dan_frak deu deu_frak div dzo ell eng enm epo - equ est eus fao fas fil fin fra frk frm fry gla gle glg grc guj hat heb - hin hrv hun hye iku ind isl ita ita_old jav jpn jpn_vert kan kat kat_old kaz khm - kir kmr kor kor_vert lao lat lav lit ltz mal mar mkd mlt mon mri msa - mya nep nld nor oci ori osd pan pol por pus que ron rus san sin slk - slk_frak slv snd spa spa_old sqi srp srp_latn sun swa swe syr tam tat - tel tgk tgl tha tir ton tur uig ukr urd uzb uzb_cyrl vie yid yor) + +_langs=(afr amh ara asm aze aze_cyrl bel ben bod bos bre bul cat ceb ces chi_sim chi_sim_vert + chi_tra chi_tra_vert chr cos cym dan dan_frak deu deu_frak div dzo ell enm epo equ + est eus fao fas fil fin fra frk frm fry gla gle glg grc guj hat heb hin hrv hun hye + iku ind isl ita ita_old jav jpn jpn_vert kan kat kat_old kaz khm kir kmr kor kor_vert + lao lat lav lit ltz mal mar mkd mlt mon mri msa mya nep nld nor oci ori osd pan pol + por pus que ron rus san sin slk slk_frak slv snd spa spa_old sqi srp srp_latn sun swa + swe syr tam tat tel tgk tgl tha tir ton tur uig ukr urd uzb uzb_cyrl vie yid yor) for lang in ${_langs[@]}; do optdepends+=("tesseract-data-${lang}: for ${lang} language OCR") @@ -41,6 +59,10 @@ package() { install -Dm644 "${_pkgname}-${pkgver}.jar" "${pkgdir}/usr/share/java/${_pkgname}.jar" install -Dm644 "${_pkgname}.env" "${pkgdir}/etc/${_pkgname}/${_pkgname}.env" install -Dm644 "${_pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${_pkgname}.service" + install -Dm755 "${_pkgname}.sh" "${pkgdir}/usr/bin/${_pkgname}" install -Dm644 "${_pkgname}.sysusers" "${pkgdir}/usr/lib/sysusers.d/${_pkgname}.conf" install -Dm644 "${_pkgname}.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/${_pkgname}.conf" + + cd "${_reponame}-${pkgver}/src/main/resources" + install -Dm644 static/fonts/*.ttf -t "${pkgdir}/usr/share/fonts/${_pkgname}" } diff --git a/stirling-pdf.env b/stirling-pdf.env index 8545eaf60a77..48d162be2d2d 100644 --- a/stirling-pdf.env +++ b/stirling-pdf.env @@ -1,4 +1,4 @@ -# See https://stirlingtools.com/docs/Advanced%20Configuration/How%20to%20add%20configurations for more information +# See https://docs.stirlingpdf.com/Advanced%20Configuration/How%20to%20add%20configurations for more information # If you want to override with environment parameter 'security.initialLogin.username' parameter naming SECURITY_INITIALLOGIN_USERNAME # server.host in settings @@ -25,4 +25,4 @@ SECURITY_INITIALLOGIN_USERNAME=admin # security.initialLogin.password in settings, initial password for the first login SECURITY_INITIALLOGIN_PASSWORD=stirling -# Please add other environment variables according to this link on your own: https://stirlingtools.com/docs/Advanced%20Configuration/How%20to%20add%20configurations +# Please add other environment variables according to this link on your own: https://docs.stirlingpdf.com/Advanced%20Configuration/How%20to%20add%20configurations diff --git a/stirling-pdf.service b/stirling-pdf.service index d90fee646cfe..14dac4e1a5ef 100644 --- a/stirling-pdf.service +++ b/stirling-pdf.service @@ -1,6 +1,6 @@ [Unit] Description = Stirling-PDF Service -Documentation = https://stirlingtools.com/docs/Overview/What%20is%20Stirling-PDF +Documentation = https://docs.stirlingpdf.com Wants = network-online.target After = network-online.target @@ -10,7 +10,15 @@ Group = stirling-pdf Restart = on-failure WorkingDirectory = /var/lib/stirling-pdf EnvironmentFile = -/etc/stirling-pdf/stirling-pdf.env -ExecStart = /usr/bin/java -jar -Xmx512m /usr/share/java/stirling-pdf.jar +Environment = JAVA_BASE_OPTS="-XX:+UnlockExperimentalVMOptions -XX:MaxRAMPercentage=75 -XX:InitiatingHeapOccupancyPercent=20 -XX:+G1PeriodicGCInvokesConcurrent -XX:G1PeriodicGCInterval=10000 -XX:+UseStringDeduplication -XX:G1PeriodicGCSystemLoadThreshold=70" +Environment = UNO_PATH=/usr/lib/libreoffice/program +Environment = URE_BOOTSTRAP=file:///usr/lib/libreoffice/program/fundamentalrc +ExecStart = /usr/bin/stirling-pdf +ExecStop = /usr/bin/killall -9 soffice.bin +KillMode = control-group +TimeoutStopSec = 10 +SuccessExitStatus = 0 143 +RestartForceExitStatus = 0 143 ProtectSystem = yes ProtectHome = yes PrivateTmp = yes diff --git a/stirling-pdf.sh b/stirling-pdf.sh new file mode 100644 index 000000000000..0dca55f4a63c --- /dev/null +++ b/stirling-pdf.sh @@ -0,0 +1,4 @@ +#!/usr/bin/sh + +/usr/bin/unoserver --port 2003 --interface 127.0.0.1 & +/usr/bin/java -jar -Xmx512m /usr/share/java/stirling-pdf.jar diff --git a/stirling-pdf.sysusers b/stirling-pdf.sysusers index 66557ab1c99c..9a296d744be5 100644 --- a/stirling-pdf.sysusers +++ b/stirling-pdf.sysusers @@ -1 +1 @@ -u "stirling-pdf" - "Stirling-PDF" - - +u "stirling-pdf" - "Stirling PDF" - -