summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorAlphaJack2022-03-11 11:18:04 +0100
committerAlphaJack2022-03-11 11:18:04 +0100
commit2362e648206408e496d954f5e35ff374b677b1b2 (patch)
tree9d8b8158be842b2b941465abf38c1b040827d177 /PKGBUILD
downloadaur-2362e648206408e496d954f5e35ff374b677b1b2.tar.gz
Initial commit
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD165
1 files changed, 165 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..9a5709bcdce8
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,165 @@
+# Maintainer: AlphaJack <alphajack at tuta dot io>
+# Maintainer: amo <https://aur.archlinux.org/account/amo>
+
+pkgname="paperless-ngx"
+pkgver=1.6.0
+pkgrel=1
+pkgdesc="A supercharged version of paperless: scan, index and archive all your physical documents"
+url="https://github.com/paperless-ngx/paperless-ngx"
+license=("GPL3")
+arch=("any")
+provides=("paperless" "$pkgname")
+conflicts=("paperless" "paperless-ng")
+depends=("file"
+ "gnupg"
+ "gunicorn"
+ "imagemagick"
+ "mailcap"
+ "ocrmypdf"
+ "optipng"
+ "redis"
+ "sqlite"
+ "tesseract-data-eng"
+ "ttf-liberation"
+ "uvicorn"
+ "python-aiohttp"
+ "python-aioredis1" # until components have been updated
+ "python-arrow"
+ "python-asgiref"
+ "python-async-timeout"
+ "python-attrs"
+ "python-autobahn"
+ "python-automat"
+ "python-blessed"
+ "python-certifi"
+ "python-django-channels"
+ "python-django-channels-redis"
+ "python-chardet"
+ "python-click"
+ "python-concurrent-log-handler"
+ "python-constantly"
+ "python-cryptography"
+ "python-daphne"
+ "python-dateparser"
+ "python-django"
+ "python-django-cors-headers"
+ "python-django-extensions"
+ "python-django-filter"
+ "python-django-picklefield"
+ "python-django-q"
+ "python-django-rest-framework"
+ "python-filelock"
+ "python-fuzzywuzzy"
+ "python-h11"
+ "python-hiredis"
+ "python-httptools"
+ "python-humanfriendly"
+ "python-hyperlink"
+ "python-idna"
+ "python-imap-tools"
+ "python-incremental"
+ "python-inotify-simple"
+ "python-inotifyrecursive"
+ "python-joblib"
+ "python-langdetect"
+ "python-lxml"
+ "python-msgpack"
+ "python-numpy"
+ "python-pathvalidate"
+ "python-portalocker"
+ "python-psycopg2"
+ "python-pyasn1"
+ "python-pyasn1-modules"
+ "python-pycparser"
+ "python-pyopenssl"
+ "python-dateutil"
+ "python-dotenv"
+ "python-gnupg"
+ "python-levenshtein"
+ "python-magic-ahupp"
+ "python-pytz"
+ "python-yaml"
+ "python-redis"
+ "python-regex"
+ "python-requests"
+ "python-scikit-learn"
+ "python-scipy"
+ "python-service-identity"
+ "python-six"
+ "python-sortedcontainers"
+ "python-sqlparse"
+ "python-threadpoolctl"
+ "python-tika"
+ "python-twisted"
+ "python-txaio"
+ "python-tzlocal"
+ "python-urllib3"
+ "python-uvloop"
+ "python-watchdog"
+ "python-watchgod"
+ "python-wcwidth"
+ "python-websockets"
+ "python-whitenoise"
+ "python-whoosh"
+ "python-zope-interface")
+optdepends=("jbig2enc: smaller PDF size"
+ "postgresql: postgres database")
+source=("$url/releases/download/ngx-$pkgver/$pkgname-$pkgver.tar.xz"
+ "paperless.hook"
+ "paperless.sysusers"
+ "paperless.tmpfiles"
+ "paperless.target"
+ "paperless-consumer.service"
+ "paperless-scheduler.service"
+ "paperless-webserver.service")
+sha256sums=('f4971abf258382fb171a8d11f4c6181ca03b42334deb6d9305a04ea8f8eab91e'
+ '4e2ca67d7eedf14ba839af852907e1d76aa0a5ee5f4f740a3aee786c24035ace'
+ 'a002bd55b8e5b1ef89a10b907483c56df99d52d03951d464472d8c375e9835d6'
+ '3971deb5721eb4e01c2cc0348546cc22a861a1e84458061fce4fbd2cf01b2a1e'
+ '091dc2406139bcc52ca1f9acdb4e20723f4511b8ce6849e37c5ab88784dbac12'
+ '95d4e665f66f63432c22d9f139769f84575cb427362865931253d9651779ec22'
+ '544821a278617c6493e7a27f25266c39d6cc10a877247fa5f807c7eaf1a460cd'
+ '47e47fcadf029d85fa6304191afa6362b7675216cb82ed1bad8cce42c0378e7e')
+backup=("etc/paperless.conf")
+options=("!strip")
+install="paperless.install"
+
+prepare(){
+ # use arch linux canonical paths
+ sed -i "$pkgname/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/paperless/static|" \
+ -e "s|#PAPERLESS_CONVERT_TMPDIR=/var/tmp/paperless|PAPERLESS_CONVERT_TMPDIR=/var/lib/paperless/tmp|"
+ # remove hardcoded bind address
+ sed -i "$pkgname/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" >> "$pkgname/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'" >> "$pkgname/paperless.conf"
+}
+
+package(){
+ # program files
+ install -d "$pkgdir/usr/share/paperless" "$pkgdir/usr/bin"
+ cp -R "$pkgname"/* "$pkgdir/usr/share/paperless"
+ # main executable
+ chmod 755 "$pkgdir/usr/share/paperless/src/manage.py"
+ ln -s "/usr/share/paperless/src/manage.py" "$pkgdir/usr/bin/paperless-manage"
+ # config file
+ install -D -m 640 "$pkgname/paperless.conf" "$pkgdir/etc/paperless.conf"
+ rm "$pkgdir/usr/share/paperless/paperless.conf"
+ ln -s "/etc/paperless.conf" "$pkgdir/usr/share/paperless/paperless.conf"
+ # optional pacman hook
+ install -D -m 644 "paperless.hook" "$pkgdir/usr/share/paperless/docs/paperless.hook"
+ # user and files to create, ownership and permission to set
+ install -D -m 644 "paperless.sysusers" "$pkgdir/usr/lib/sysusers.d/paperless.conf"
+ install -D -m 644 "paperless.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/paperless.conf"
+ # service files
+ install -D -m 644 "paperless.target" "$pkgdir/usr/lib/systemd/system/paperless.target"
+ install -D -m 644 "paperless-consumer.service" "$pkgdir/usr/lib/systemd/system/paperless-consumer.service"
+ install -D -m 644 "paperless-scheduler.service" "$pkgdir/usr/lib/systemd/system/paperless-scheduler.service"
+ install -D -m 644 "paperless-webserver.service" "$pkgdir/usr/lib/systemd/system/paperless-webserver.service"
+}