ayaports/user/paperless-ngx/APKBUILD
build@apk-groulx a48eceecc6 3.17 cleanup
2023-01-11 13:23:51 +00:00

171 lines
4.5 KiB
Text

# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=paperless-ngx
pkgver=1.11.3
pkgrel=0
pkgdesc="A community-supported supercharged version of paperless: scan, index and archive all your physical documents"
url="https://github.com/paperless-ngx/paperless-ngx"
license="GPL-3.0-only"
# s390x: ocrmypdf py3-joblib py3-scikit-learn py3-watchfiles
# armhf / ppc64le: py3-uvloop
arch="noarch !s390x !armhf !ppc64le"
depends="
file
gnupg
py3-gunicorn
imagemagick
mailcap
ocrmypdf
optipng
redis
sqlite
tesseract-ocr
tesseract-ocr-data-fra
ttf-liberation
py3-uvicorn
py3-aiohttp
py3-anyio
py3-arrow
py3-asgiref
py3-async-timeout
py3-attrs
py3-autobahn
py3-automat
py3-blessed
py3-certifi
py3-django-channels
py3-django-channels-redis
py3-chardet
py3-charset-normalizer
py3-click
py3-concurrent-log-handler
py3-constantly
py3-cryptography
py3-daphne
py3-dateparser py3-django
py3-deprecation
py3-django-cors-headers
py3-django-extensions
py3-django-filter
py3-django-picklefield
py3-django-q
py3-django-rest-framework
py3-filelock
py3-fuzzywuzzy
py3-h11
py3-hiredis
py3-httptools
py3-humanfriendly
py3-hyperlink
py3-idna
py3-imap-tools
py3-incremental
py3-inotify-simple
py3-inotifyrecursive
py3-joblib
py3-langdetect
py3-lxml
py3-msgpack
py3-numpy
py3-pathvalidate
py3-portalocker
py3-psycopg2
py3-asn1
py3-asn1-modules
py3-cparser
py3-openssl
py3-dateutil
py3-dotenv
py3-gnupg
py3-levenshtein
py3-magic
py3-pdf2image
py3-pyzbar
py3-pillow
py3-tz
py3-redis
py3-regex
py3-requests
py3-scikit-learn
py3-scipy
py3-service_identity
py3-six
py3-sniffio
py3-sortedcontainers
py3-sqlparse
py3-threadpoolctl
py3-tika
py3-twisted
py3-txaio
py3-urllib3
py3-uvloop
py3-watchdog
py3-watchfiles
py3-wcwidth
py3-websockets
py3-whitenoise
py3-whoosh
py3-yaml
py3-zope-interface
postgresql
jbig2enc
"
builddir="$srcdir"/$pkgname
source="
$url/releases/download/v$pkgver/$pkgname-v$pkgver.tar.xz
paperless-scheduler.openrc
paperless-consumer.openrc
paperless-webserver.openrc
"
options="!strip !check" # No testsuite
subpackages="$pkgname-openrc"
prepare() {
default_prepare
# use alpine linux canonical paths
sed -i "paperless.conf" \
-e "s|#PAPERLESS_CONSUMPTION_DIR=../consume|PAPERLESS_CONSUMPTION_DIR=/var/lib/paperless/consume|" \
-e "s|#PAPERLESS_DATA_DIR=../data|PAPERLESS_DATA_DIR=/var/lib/paperless/data|" \
-e "s|#PAPERLESS_MEDIA_ROOT=../media|PAPERLESS_MEDIA_ROOT=/var/lib/paperless/media|" \
-e "s|#PAPERLESS_STATICDIR=../static|PAPERLESS_STATICDIR=/usr/share/webapps/paperless/static|" \
-e "s|#PAPERLESS_CONVERT_TMPDIR=/var/tmp/paperless|PAPERLESS_CONVERT_TMPDIR=/var/lib/paperless/tmp|"
# remove hardcoded bind address
sed -i "gunicorn.conf.py" \
-e "s|bind = '0.0.0.0:8000'||"
# add custom dir for uploaded files
printf "\n# Uploads\n\nPAPERLESS_SCRATCH_DIR=/var/lib/paperless/uploads" >> "paperless.conf"
# add customizable bind address, will be used by paperless-webserver.service
printf "\n\n# Webserver\n\nGUNICORN_CMD_ARGS='--bind=127.0.0.1:8000'" >> "paperless.conf"
}
package() {
# program files
install -d "$pkgdir/usr/bin" "$pkgdir/usr/share/webapps"
cp -R "$builddir" "$pkgdir/usr/share/webapps/paperless"
# main executable
chmod 755 "$pkgdir/usr/share/webapps/paperless/src/manage.py"
ln -s "/usr/share/webapps/paperless/src/manage.py" "$pkgdir/usr/bin/paperless-manage"
# config file
install -D -m 640 "paperless.conf" "$pkgdir/etc/paperless.conf"
rm "$pkgdir/usr/share/webapps/paperless/paperless.conf"
ln -s "/etc/paperless.conf" "$pkgdir/usr/share/webapps/paperless/paperless.conf"
# openrc file
install -Dm 755 "$srcdir"/paperless-scheduler.openrc "$pkgdir"/etc/init.d/paperless-scheduler
install -Dm 755 "$srcdir"/paperless-consumer.openrc "$pkgdir"/etc/init.d/paperless-consumer
install -Dm 755 "$srcdir"/paperless-webserver.openrc "$pkgdir"/etc/init.d/paperless-webserver
}
sha512sums="
c2bf0ef90c9df938f8165944737b6a4157f2d94ab577e13b8202b2c1372e2e34b213a57a535b19c88421acdb73dc04b9e633cc9cd4c857c1868809e08e79fd24 paperless-ngx-v1.11.3.tar.xz
a62a499c1d8fede5685e98f639c1155fdc7387eaf7908b04317a9af6594427d11416730f4dd127cf2e249ac97242634acf900fe32541edfe95ac9298eeea0cd6 paperless-scheduler.openrc
b4413f48b481d53b3e10542f5ffe830928c40ae016e2dc1da533ae8b546c5b6e4ddfa1129280807f866002f61b283c4eba327be6eb04171e259fe27fec47696a paperless-consumer.openrc
e9c517f7fbae269072506316711a12a6ba5568456348305972caf023020de5ebeab45401371fe114fe8dbddfacbcc6cfd01d0fad2b2ade6ee3883f46120b904e paperless-webserver.openrc
"