summaryrefslogtreecommitdiff
path: root/www-apps/paperless-ngx
diff options
context:
space:
mode:
Diffstat (limited to 'www-apps/paperless-ngx')
-rw-r--r--www-apps/paperless-ngx/Manifest16
-rw-r--r--www-apps/paperless-ngx/files/paperless-consumer.service2
-rw-r--r--www-apps/paperless-ngx/files/paperless-webserver.service4
-rw-r--r--www-apps/paperless-ngx/files/paperless-webserver.socket13
-rw-r--r--www-apps/paperless-ngx/files/paperless.conf.example86
-rw-r--r--www-apps/paperless-ngx/metadata.xml4
-rw-r--r--www-apps/paperless-ngx/paperless-ngx-2.7.2.ebuild (renamed from www-apps/paperless-ngx/paperless-ngx-1.13.0.ebuild)130
-rw-r--r--www-apps/paperless-ngx/paperless-ngx-2.8.3.ebuild (renamed from www-apps/paperless-ngx/paperless-ngx-1.12.2.ebuild)128
8 files changed, 185 insertions, 198 deletions
diff --git a/www-apps/paperless-ngx/Manifest b/www-apps/paperless-ngx/Manifest
index 8bf6c34..8fbd93b 100644
--- a/www-apps/paperless-ngx/Manifest
+++ b/www-apps/paperless-ngx/Manifest
@@ -1,12 +1,12 @@
-AUX paperless-consumer.service 307 BLAKE2B db97750cb7db44cd99c4a26ab9cc3742edeb22da1126c526754a58159025720416116378b6e6bf453d80657c462ce366a8922f86729fded9e9163f4fcd352a29 SHA512 85875d092c758e54d6942dabd2348445fce36e1f0526d66fd669c0d5ed874b266df35bf52d5bb9c31b2c6a6d8ffc8e481527eff716ba71e4b14cebdeea1196ec
+AUX paperless-consumer.service 306 BLAKE2B ebdeb8abf56a144a7a6ef281ac179aac0a9b2831a2093e9e6741fbb616078b84596c4a990995d8996ffb67ab653f4af356bd469eb965cab970f5c4c7f62a355e SHA512 d45f1e5be9130623eef21715ad3e2f80ff33e722ba2cbb29c56014008a105bca7add4507e116e8dbda53e4b41afa177b04f98a3e2d8553afd548a8846a19720c
AUX paperless-scheduler.service 307 BLAKE2B 4abe32ad0cc4a565675dce7f01323343ff6c3fe2309049971764865acc3f8da20894ecb624137ecd2c367bc4972c55e554f7d5aabc5df4fd8fda6e8bfb8496fa SHA512 424d116d083c536bf979911700bf2bc5f66a415d2732b5e68c3bd9efd3ba0c18d78de3a885e2fe6c49613bae3be3cb8917d5d91d2dffa0c25e1764b78389b815
AUX paperless-task-queue.service 306 BLAKE2B fb04b70fc9d3461dff1f4ba78a92f5e299f38d77c8bbae9f4449b52bfbb8d4b56dd50e8ced8126ba5224e316e1462590a0ccc227cd2219615430338a75a385e0 SHA512 a5f6ec9dd63d743dae42bad473c9147a66792b7b168521e9d1b7726d226829263fe5c4546ed1c1e9d8e86cf862581187fcf25b722e70f115c072c66b1bcde4f8
-AUX paperless-webserver.service 406 BLAKE2B e1f00059be8e814f9ab67e18ef790665f3eb8077c0d7ce5d25b371a908a24d9802643db95ae1090d99f7c0420b9e55271197351b32d816cb6cf6afafd0f17c90 SHA512 74531b12c30f7bfe30a7b74685107d03b38dd134703484107d4c4d6ce675c703fd6322fb6eeb0957bedeb51e649c13f05bf6ff7e24f38c85c73a8c5602b35e0f
-AUX paperless.conf.example 2577 BLAKE2B 4f786c02663300c3e8eb12a7702316621d917be4620ab2e89b33d246486bb78cdf2d6bd0ebaa830d8bedd815fe778c0edf9c8869b8e8b2b63d468ec527b7ce5e SHA512 8dd13bf9d63ca838285978e9dc1635dc45d21ae0cbb3f1ce402097f566cc1f74bce6635f1324714aacf85c6a20bc61bab76deb04081813ac207fffd421f8ee8f
+AUX paperless-webserver.service 496 BLAKE2B 5a818886de0dfa0bb724b9c7e9d64a2707f78cfabce132f5255c7027bbfd5656a613de76675fecf85bd9491389997f3267c8d97d52742b846d7fb032e3cba8fa SHA512 37a4dbacd8ebc00f93dcd370dfc97d6657c091dbd062dd621b102de69a2b6307fbd1790b1766737ec8db6d65274d892a3998639a8a5a6880f654a3818482f433
+AUX paperless-webserver.socket 240 BLAKE2B 127735356bdd1ac1a46d85e757299f13a2224596fbc9e41b20b8d70aa2bbd31e8f20f571c636e6421960f2e5250386422c10ef16e7cab373f5625c7a3d053db1 SHA512 860ca3e6f3f2358684be356dbc9d2e770a22363e8324dea4d9547e99c02f9e36708b62b9da32df1d838852ca2ae0092a6795a368e7704d53981de87e4dc24df8
AUX paperless.target 215 BLAKE2B 95b67ebfc166b888ee5aea32c5565002ae451a10c0d0851df79eeabf3a6e900c7112d447ccbc170bca771bf33e07261aa05f32a25e742ded0b10e6f31ee78870 SHA512 ae3d1dcc8f056f303a0c628c1aabb60e0c93f4006352c5d05a5ee673238c56085ccd2d95ff53555767d9a31a639cd571a26083aab274237cb9f8563ce50c25d6
AUX paperless.tmpfiles 349 BLAKE2B 4a59f0a0c6a4abad23cba01e216909f45a7064e93911b8ba3e3b394f52379e41898b8c9e1246ba034bc8d2fe6dc83f5cad926e265a17da7c7093d997cfe8b4f3 SHA512 63af6e4359d5fa7bfc3f3669263a36f5d3b5f60c95cf6579d7324bb2116647bb447968b1bab5916e831918344b963d1026116e8cdfb57bce8063ed5ba119c9ea
-DIST paperless-ngx-v1.12.2.tar.xz 16064564 BLAKE2B 2fbad657037336a4f05b577f73ac8f9a1e9bfe5eed3773d17c3ef6a74fca4c5bae9aca20be9dc02b3e0b425b1182f7c1e50a5df61bb70bfa960364b7c3c9e47f SHA512 75cdfb6aa2ddffac1d4e1860e31d8cc8a9344ecdd17b686da27bc9af1270dcdde34bcea3d45839043fd12048a9f39ce046fc7e3a2b44d18cc8d5af5d1addc0bf
-DIST paperless-ngx-v1.13.0.tar.xz 16206396 BLAKE2B 6ba1dee5834d6571055dd2227ea3b29fea7b5c1194037c62842f048dc1fc3f5fc201ec5180fb7f46001c07b745300a4b0cf622fabeb88e8c9676047579307a8a SHA512 e26b9006a8e4c3b192dbeb138582d2f16810905e1ef37e4e9f6526ad311d136aebe6577dbe675298ce3d5493e025087697f686556d5936d0ed5ba700402d3632
-EBUILD paperless-ngx-1.12.2.ebuild 4559 BLAKE2B 8e17fa9f5895c17f8908d015caa3acc1f11c1d1761256c331615b8cf8814f7434214120263f4ddb2d996206e201cf55a04ee926db62a37d1f4d914d516a0755f SHA512 3777865762bdfd75435d0c312f1bd5266fa40d1f1d853e3d398842684afe4437927b422d2b5611eef2a80756eb12dcb56600efef345e3fb4b76398a2bc4d8b19
-EBUILD paperless-ngx-1.13.0.ebuild 4848 BLAKE2B 2764a3dacc9ec26e6ced22099940be5ed89e07bf1e7a1bac4ed0f3316c10c5a2af98d39eff633c4cbe9c6c07be5df02097e4adab6b31a48ce0c3da7e27be21d6 SHA512 ea98e841a4b1a0c69b09fc6611e3dd62691234a1d39a257d4a15ec2c71ef3e9a3c03c0c1404919d216fe502653468b4b0f01f826e40989c236f9d842857663f0
-MISC metadata.xml 659 BLAKE2B bc331f596aa68542a4e27ba044fdc7186eb524b0de650e4d719faff4c20a3ddf1903c7d780b05a58f61d120672d8d7882ac927338fcd048310e5cf78ee55966c SHA512 95fdd2bcd0ab9e144a8284c4047a2e8509fc68786d9304cd968956d4d74379f2f79496c08ca231fa6e6d527a1ecc565b30c3d12506942c7514876c3a397b7217
+DIST paperless-ngx-v2.7.2.tar.xz 64558580 BLAKE2B c04d545363853c4b16cac300b653fa7c4c40894a98780f5636534427824132ae61ae4caa51253d5c4fd042200dcaaad02e180108a1ff11ef7c9c37964ef3047e SHA512 276f7f3368562280fbbeb57ef9486d53730f888e08cba6721c0f7c6d37450f5509acc7632c3d742e91106f2bcf0b0f5740d82512776f3ea78259e73aadd79dcf
+DIST paperless-ngx-v2.8.3.tar.xz 63607556 BLAKE2B 13547d054b199a4b471f0ad002ffd2273d581198dbc41463c3ca1e40a516617ea7726ef14518ad06a4ca0454b5e6bfe53f120e1a8490dc802761005eb1b6ec68 SHA512 5e713f4c0302871a75313c4fafb72fd66296d079ea80bbf09ebc60bdc137bde37797b9d5fc7ccba2e097f5e0b762a99b55b1c6bba4b4b3b1e9b8f906f1f29622
+EBUILD paperless-ngx-2.7.2.ebuild 6363 BLAKE2B 419a727c29d6cf775e903b3367b1d1f4513b61132cf3bb97908fd3bb252567cdcaa8e686abb7f60ce95850b2052d13a910ba78be0dfde9aec0cb1d6fc9206906 SHA512 05a161eee91b55b6696998938f7c1e31016cef55454d67b2acf05efb76b9bc39397aabf618c86f7b000bd89ff7e6f4cc353119e1d946644e249b91dcb9583ede
+EBUILD paperless-ngx-2.8.3.ebuild 6363 BLAKE2B 9cbf5accf4b90534d8e09f854e63f865f98c822a257c7fd00ec2f1c021ce3a8ee91c01c217535a0765c75f184878b3e057a741d50201120d6840e966f49dd3a0 SHA512 78bcec04b0d5a4f81e98a71e40c47e85742cee4154d28e241dd06f6c67d45ed0db6d869693bde0f41bca9b5125e6dd7b9143e0e1c6e335432cdf73b89ab215d4
+MISC metadata.xml 851 BLAKE2B dfb395b418d92c0c7318c4862dfbce74a312222b3a2848334806c2f8063bb63947a4c0315c289f1db83987d5e7649483efb484944afd6963b3f74c1a488877f5 SHA512 e7622cfe74bee71e3698241cb234221d9d40c9a41eca4f8b3e5e3c7338940652f5c5652cd72a675339cc6620d777e858fe5310f29cf7f87f5585eb8742b58405
diff --git a/www-apps/paperless-ngx/files/paperless-consumer.service b/www-apps/paperless-ngx/files/paperless-consumer.service
index a5b474f..a43178a 100644
--- a/www-apps/paperless-ngx/files/paperless-consumer.service
+++ b/www-apps/paperless-ngx/files/paperless-consumer.service
@@ -12,4 +12,4 @@ ExecStart=/usr/bin/paperless-manage document_consumer
Restart=on-abort
[Install]
-WantedBy=multi-user.target
+WantedBy=paperless.target
diff --git a/www-apps/paperless-ngx/files/paperless-webserver.service b/www-apps/paperless-ngx/files/paperless-webserver.service
index 2568805..5394909 100644
--- a/www-apps/paperless-ngx/files/paperless-webserver.service
+++ b/www-apps/paperless-ngx/files/paperless-webserver.service
@@ -1,6 +1,6 @@
[Unit]
Description=Paperless webserver service
-Requires=redis.service
+Requires=redis.service paperless-webserver.socket
After=network.target
Wants=network.target
PartOf=paperless.target
@@ -8,10 +8,12 @@ PartOf=paperless.target
[Service]
User=paperless
Group=paperless
+Environment=PYTHONUNBUFFERED=1
EnvironmentFile=/etc/paperless.conf
WorkingDirectory=/usr/share/paperless/src
ExecStart=/usr/bin/gunicorn -c /usr/share/paperless/gunicorn.conf.py paperless.asgi:application
Restart=on-abort
[Install]
+Also=paperless-webserver.socket
WantedBy=paperless.target
diff --git a/www-apps/paperless-ngx/files/paperless-webserver.socket b/www-apps/paperless-ngx/files/paperless-webserver.socket
new file mode 100644
index 0000000..4c458c7
--- /dev/null
+++ b/www-apps/paperless-ngx/files/paperless-webserver.socket
@@ -0,0 +1,13 @@
+[Unit]
+Description=Socket for Paperless webserver
+PartOf=paperless-webserver.service
+
+[Socket]
+ListenStream=/run/paperless.sock
+SocketUser=paperless
+SocketGroup=paperless
+SocketMode=0660
+RemoveOnStop=True
+
+[Install]
+WantedBy=sockets.target
diff --git a/www-apps/paperless-ngx/files/paperless.conf.example b/www-apps/paperless-ngx/files/paperless.conf.example
deleted file mode 100644
index 524d926..0000000
--- a/www-apps/paperless-ngx/files/paperless.conf.example
+++ /dev/null
@@ -1,86 +0,0 @@
-# Have a look at the docs for documentation.
-# https://docs.paperless-ngx.com/configuration/
-
-# Debug. Only enable this for development.
-
-#PAPERLESS_DEBUG=false
-
-# Required services
-
-#PAPERLESS_REDIS=redis://localhost:6379
-#PAPERLESS_DBHOST=localhost
-#PAPERLESS_DBPORT=5432
-#PAPERLESS_DBNAME=paperless
-#PAPERLESS_DBUSER=paperless
-#PAPERLESS_DBPASS=paperless
-#PAPERLESS_DBSSLMODE=prefer
-
-# Paths and folders
-
-#PAPERLESS_CONSUMPTION_DIR=../consume
-#PAPERLESS_DATA_DIR=../data
-#PAPERLESS_TRASH_DIR=
-#PAPERLESS_MEDIA_ROOT=../media
-#PAPERLESS_STATICDIR=../static
-#PAPERLESS_FILENAME_FORMAT=
-#PAPERLESS_FILENAME_FORMAT_REMOVE_NONE=
-
-# Security and hosting
-
-#PAPERLESS_SECRET_KEY=change-me
-#PAPERLESS_URL=https://example.com
-#PAPERLESS_CSRF_TRUSTED_ORIGINS=https://example.com # can be set using PAPERLESS_URL
-#PAPERLESS_ALLOWED_HOSTS=example.com,www.example.com # can be set using PAPERLESS_URL
-#PAPERLESS_CORS_ALLOWED_HOSTS=https://localhost:8080,https://example.com # can be set using PAPERLESS_URL
-#PAPERLESS_FORCE_SCRIPT_NAME=
-#PAPERLESS_STATIC_URL=/static/
-#PAPERLESS_AUTO_LOGIN_USERNAME=
-#PAPERLESS_COOKIE_PREFIX=
-#PAPERLESS_ENABLE_HTTP_REMOTE_USER=false
-
-# OCR settings
-
-#PAPERLESS_OCR_LANGUAGE=eng
-#PAPERLESS_OCR_MODE=skip
-#PAPERLESS_OCR_OUTPUT_TYPE=pdfa
-#PAPERLESS_OCR_PAGES=1
-#PAPERLESS_OCR_IMAGE_DPI=300
-#PAPERLESS_OCR_CLEAN=clean
-#PAPERLESS_OCR_DESKEW=true
-#PAPERLESS_OCR_ROTATE_PAGES=true
-#PAPERLESS_OCR_ROTATE_PAGES_THRESHOLD=12.0
-#PAPERLESS_OCR_USER_ARGS={}
-#PAPERLESS_CONVERT_MEMORY_LIMIT=0
-#PAPERLESS_CONVERT_TMPDIR=/var/tmp/paperless
-
-# Software tweaks
-
-#PAPERLESS_TASK_WORKERS=1
-#PAPERLESS_THREADS_PER_WORKER=1
-#PAPERLESS_TIME_ZONE=UTC
-#PAPERLESS_CONSUMER_POLLING=10
-#PAPERLESS_CONSUMER_DELETE_DUPLICATES=false
-#PAPERLESS_CONSUMER_RECURSIVE=false
-#PAPERLESS_CONSUMER_IGNORE_PATTERNS=[".DS_STORE/*", "._*", ".stfolder/*", ".stversions/*", ".localized/*", "desktop.ini"]
-#PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS=false
-#PAPERLESS_CONSUMER_ENABLE_BARCODES=false
-#PAPERLESS_CONSUMER_BARCODE_STRING=PATCHT
-#PAPERLESS_PRE_CONSUME_SCRIPT=/path/to/an/arbitrary/script.sh
-#PAPERLESS_POST_CONSUME_SCRIPT=/path/to/an/arbitrary/script.sh
-#PAPERLESS_FILENAME_DATE_ORDER=YMD
-#PAPERLESS_FILENAME_PARSE_TRANSFORMS=[]
-#PAPERLESS_NUMBER_OF_SUGGESTED_DATES=5
-#PAPERLESS_THUMBNAIL_FONT_NAME=
-#PAPERLESS_IGNORE_DATES=
-#PAPERLESS_ENABLE_UPDATE_CHECK=
-
-# Tika settings
-
-#PAPERLESS_TIKA_ENABLED=false
-#PAPERLESS_TIKA_ENDPOINT=http://localhost:9998
-#PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000
-
-# Binaries
-
-#PAPERLESS_CONVERT_BINARY=/usr/bin/convert
-#PAPERLESS_GS_BINARY=/usr/bin/gs
diff --git a/www-apps/paperless-ngx/metadata.xml b/www-apps/paperless-ngx/metadata.xml
index 070c2bb..fad0d28 100644
--- a/www-apps/paperless-ngx/metadata.xml
+++ b/www-apps/paperless-ngx/metadata.xml
@@ -6,9 +6,11 @@
<name>Marcin Deranek</name>
</maintainer>
<use>
+ <flag name="audit">Enables an audit trail for documents, document types, correspondents and tags</flag>
+ <flag name="compression">Enable compression of the responses in application</flag>
<flag name="ocr">Enable support for Optical Character Recognition</flag>
<flag name="remote-redis">Use remote Redis instance</flag>
- <flag name="compression">Enable compression of the responses in application</flag>
+ <flag name="zxing">Use zxing-cpp as an alternative barcodes scanning library</flag>
</use>
<upstream>
<bugs-to>https://github.com/paperless-ngx/paperless-ngx/issues</bugs-to>
diff --git a/www-apps/paperless-ngx/paperless-ngx-1.13.0.ebuild b/www-apps/paperless-ngx/paperless-ngx-2.7.2.ebuild
index 298bf38..28c6491 100644
--- a/www-apps/paperless-ngx/paperless-ngx-1.13.0.ebuild
+++ b/www-apps/paperless-ngx/paperless-ngx-2.7.2.ebuild
@@ -1,8 +1,11 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit systemd
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit python-single-r1 systemd
DESCRIPTION="Community supported paperless: scan, index and archive your physical documents"
HOMEPAGE="https://github.com/paperless-ngx/paperless-ngx"
@@ -12,8 +15,11 @@ S="${WORKDIR}/${PN}"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
-IUSE="compression mysql +ocr postgres remote-redis +sqlite"
-REQUIRED_USE="|| ( mysql postgres sqlite )"
+IUSE="audit compression mysql +ocr postgres remote-redis +sqlite zxing"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( mysql postgres sqlite )
+"
ACCT_DEPEND="
acct-group/paperless
@@ -21,65 +27,77 @@ ACCT_DEPEND="
"
EXTRA_DEPEND="
app-text/unpaper
- dev-python/hiredis
- dev-python/websockets
+ $(python_gen_cond_dep '
+ dev-python/hiredis[${PYTHON_USEDEP}]
+ dev-python/websockets[${PYTHON_USEDEP}]')
"
DEPEND="
${ACCT_DEPEND}
${EXTRA_DEPEND}
+ ${PYTHON_DEPS}
app-text/poppler[utils]
- app-text/pdfminer
- dev-python/asgiref
- dev-python/bleach
- dev-python/celery
- >=dev-python/channels-3.0
- <dev-python/channels-4.0
- >=dev-python/channels-redis-3.4.1
- <dev-python/channels-redis-4.0
- dev-python/concurrent-log-handler
- >=dev-python/dateparser-1.1
- >=dev-python/django-4.1
- dev-python/django-celery-results
- dev-python/django-cors-headers
- dev-python/django-extensions
- >=dev-python/django-filter-22.1
- dev-python/django-redis
- >=dev-python/djangorestframework-3.14
- dev-python/filelock
- dev-python/imap-tools
- >=dev-python/inotifyrecursive-0.3
- dev-python/langdetect
- dev-python/nltk
- dev-python/pathvalidate
- dev-python/pdf2image
- dev-python/pikepdf
- >=dev-python/pillow-9.3
- dev-python/python-dateutil
- dev-python/python-dotenv
- dev-python/python-gnupg
- dev-python/python-magic
- dev-python/pyzbar
- dev-python/rapidfuzz
- dev-python/redis
- dev-python/tqdm
- dev-python/uvicorn
- >=dev-python/watchdog-2.1
- >=dev-python/whitenoise-6.2
- >=dev-python/whoosh-2.7
- media-gfx/imagemagick
+ $(python_gen_cond_dep '
+ dev-python/asgiref[${PYTHON_USEDEP}]
+ dev-python/bleach[${PYTHON_USEDEP}]
+ dev-python/celery[${PYTHON_USEDEP}]
+ >=dev-python/channels-4.0[${PYTHON_USEDEP}]
+ >=dev-python/channels-redis-4.0[${PYTHON_USEDEP}]
+ dev-python/concurrent-log-handler[${PYTHON_USEDEP}]
+ >=dev-python/dateparser-1.2[${PYTHON_USEDEP}]
+ >=dev-python/django-4.2.11[${PYTHON_USEDEP}]
+ <dev-python/django-5.0[${PYTHON_USEDEP}]
+ dev-python/django-allauth[${PYTHON_USEDEP}]
+ dev-python/django-celery-results[${PYTHON_USEDEP}]
+ dev-python/django-cors-headers[${PYTHON_USEDEP}]
+ dev-python/django-extensions[${PYTHON_USEDEP}]
+ >=dev-python/django-filter-24.1[${PYTHON_USEDEP}]
+ dev-python/django-guardian[${PYTHON_USEDEP}]
+ dev-python/django-multiselectfield[${PYTHON_USEDEP}]
+ dev-python/django-redis[${PYTHON_USEDEP}]
+ ~dev-python/djangorestframework-3.14.0[${PYTHON_USEDEP}]
+ dev-python/djangorestframework-guardian[${PYTHON_USEDEP}]
+ dev-python/drf-writable-nested[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/imap-tools[${PYTHON_USEDEP}]
+ >=dev-python/inotifyrecursive-0.3[${PYTHON_USEDEP}]
+ dev-python/langdetect[${PYTHON_USEDEP}]
+ dev-python/nltk[${PYTHON_USEDEP}]
+ dev-python/pathvalidate[${PYTHON_USEDEP}]
+ dev-python/pdf2image[${PYTHON_USEDEP}]
+ dev-python/pikepdf[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ dev-python/python-gnupg[${PYTHON_USEDEP}]
+ >=dev-python/python-ipware-2.0.0[${PYTHON_USEDEP}]
+ dev-python/python-magic[${PYTHON_USEDEP}]
+ dev-python/pyzbar[${PYTHON_USEDEP}]
+ dev-python/rapidfuzz[${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
+ >=dev-python/scikit-learn-1.4
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ <dev-python/uvicorn-0.26.0[${PYTHON_USEDEP}]
+ >=dev-python/watchdog-4.0[${PYTHON_USEDEP}]
+ >=dev-python/whitenoise-6.6[${PYTHON_USEDEP}]
+ >=dev-python/whoosh-2.7[${PYTHON_USEDEP}]')
+ media-gfx/imagemagick[xml]
media-gfx/optipng
media-libs/jbig2enc
- >=sci-libs/scikit-learn-1.1
www-servers/gunicorn
- compression? ( dev-python/django-compression-middleware )
+ audit? ( $(python_gen_cond_dep '
+ dev-python/django-auditlog[${PYTHON_USEDEP}]') )
+ compression? ( $(python_gen_cond_dep '
+ dev-python/django-compression-middleware[${PYTHON_USEDEP}]') )
mysql? ( dev-python/mysqlclient )
- ocr? ( >=app-text/OCRmyPDF-14.0 )
+ ocr? ( >=app-text/OCRmyPDF-15.4 )
postgres? ( dev-python/psycopg:2 )
!remote-redis? ( dev-db/redis )
+ zxing? ( media-libs/zxing-cpp[python,${PYTHON_SINGLE_USEDEP}] )
"
RDEPEND="${DEPEND}"
# dev-python/tika
+# dev-python/gotenberg-client
DOCS=( docker/imagemagick-policy.xml )
@@ -92,10 +110,17 @@ src_prepare() {
-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|" \
- "${FILESDIR}/paperless.conf.example" > "paperless.conf" || die "Cannot update paperless.conf"
- #-i "paperless.conf.example" || die "Cannot update paperless.conf"
+ -i "paperless.conf" || die "Cannot update paperless.conf"
+
+ cat >> "paperless.conf" <<- EOF
+
+ # Custom
+ PAPERLESS_BIND_ADDR=unix
+ PAPERLESS_PORT=/run/paperless.sock
- echo -e "\n# Custom\nPAPERLESS_ENABLE_COMPRESSION=$(use compression && echo 1 || echo 0)" >> "paperless.conf"
+ PAPERLESS_ENABLE_COMPRESSION=$(use compression && echo true || echo false)
+ PAPERLESS_AUDIT_LOG_ENABLED=$(use audit && echo true || echo false)
+ EOF
}
src_install() {
@@ -103,6 +128,7 @@ src_install() {
# Install service files
systemd_newunit "${FILESDIR}"/paperless-webserver.service paperless-webserver.service
+ systemd_newunit "${FILESDIR}"/paperless-webserver.socket paperless-webserver.socket
systemd_newunit "${FILESDIR}"/paperless-scheduler.service paperless-scheduler.service
systemd_newunit "${FILESDIR}"/paperless-consumer.service paperless-consumer.service
systemd_newunit "${FILESDIR}"/paperless-task-queue.service paperless-task-queue.service
@@ -125,7 +151,7 @@ src_install() {
fperms 644 /usr/lib/tmpfiles.d/paperless.tmpfiles
# Set directories
- for dir in data media tmp; do
+ for dir in consume data media tmp; do
keepdir /var/lib/paperless/${dir}
fowners paperless:paperless /var/lib/paperless/${dir}
case "${dir}" in
diff --git a/www-apps/paperless-ngx/paperless-ngx-1.12.2.ebuild b/www-apps/paperless-ngx/paperless-ngx-2.8.3.ebuild
index f0f3bcc..d1559a0 100644
--- a/www-apps/paperless-ngx/paperless-ngx-1.12.2.ebuild
+++ b/www-apps/paperless-ngx/paperless-ngx-2.8.3.ebuild
@@ -1,8 +1,11 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit systemd
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit python-single-r1 systemd
DESCRIPTION="Community supported paperless: scan, index and archive your physical documents"
HOMEPAGE="https://github.com/paperless-ngx/paperless-ngx"
@@ -12,8 +15,11 @@ S="${WORKDIR}/${PN}"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
-IUSE="mysql +ocr postgres remote-redis +sqlite"
-REQUIRED_USE="|| ( mysql postgres sqlite )"
+IUSE="audit compression mysql +ocr postgres remote-redis +sqlite zxing"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( mysql postgres sqlite )
+"
ACCT_DEPEND="
acct-group/paperless
@@ -21,64 +27,77 @@ ACCT_DEPEND="
"
EXTRA_DEPEND="
app-text/unpaper
- dev-python/hiredis
- dev-python/websockets
+ $(python_gen_cond_dep '
+ dev-python/hiredis[${PYTHON_USEDEP}]
+ dev-python/websockets[${PYTHON_USEDEP}]')
"
DEPEND="
${ACCT_DEPEND}
${EXTRA_DEPEND}
+ ${PYTHON_DEPS}
app-text/poppler[utils]
- app-text/pdfminer
- dev-python/asgiref
- dev-python/bleach
- dev-python/celery
- >=dev-python/channels-3.0
- <dev-python/channels-4.0
- >=dev-python/channels-redis-3.4.1
- <dev-python/channels-redis-4.0
- dev-python/concurrent-log-handler
- >=dev-python/dateparser-1.1
- >=dev-python/django-4.1
- dev-python/django-celery-results
- dev-python/django-cors-headers
- dev-python/django-extensions
- >=dev-python/django-filter-22.1
- dev-python/django-redis
- >=dev-python/djangorestframework-3.14
- dev-python/filelock
- dev-python/imap-tools
- >=dev-python/inotifyrecursive-0.3
- dev-python/langdetect
- dev-python/nltk
- dev-python/pathvalidate
- dev-python/pdf2image
- dev-python/pikepdf
- >=dev-python/pillow-9.3
- dev-python/python-dateutil
- dev-python/python-dotenv
- dev-python/python-gnupg
- dev-python/python-magic
- dev-python/pyzbar
- dev-python/rapidfuzz
- dev-python/redis
- dev-python/tqdm
- dev-python/uvicorn
- >=dev-python/watchdog-2.1
- >=dev-python/whitenoise-6.2
- >=dev-python/whoosh-2.7
- media-gfx/imagemagick
+ $(python_gen_cond_dep '
+ dev-python/asgiref[${PYTHON_USEDEP}]
+ dev-python/bleach[${PYTHON_USEDEP}]
+ dev-python/celery[${PYTHON_USEDEP}]
+ >=dev-python/channels-4.1[${PYTHON_USEDEP}]
+ >=dev-python/channels-redis-4.0[${PYTHON_USEDEP}]
+ dev-python/concurrent-log-handler[${PYTHON_USEDEP}]
+ >=dev-python/dateparser-1.2[${PYTHON_USEDEP}]
+ >=dev-python/django-4.2.11[${PYTHON_USEDEP}]
+ <dev-python/django-5.0[${PYTHON_USEDEP}]
+ dev-python/django-allauth[${PYTHON_USEDEP}]
+ dev-python/django-celery-results[${PYTHON_USEDEP}]
+ dev-python/django-cors-headers[${PYTHON_USEDEP}]
+ dev-python/django-extensions[${PYTHON_USEDEP}]
+ >=dev-python/django-filter-24.2[${PYTHON_USEDEP}]
+ dev-python/django-guardian[${PYTHON_USEDEP}]
+ dev-python/django-multiselectfield[${PYTHON_USEDEP}]
+ dev-python/django-redis[${PYTHON_USEDEP}]
+ ~dev-python/djangorestframework-3.14.0[${PYTHON_USEDEP}]
+ dev-python/djangorestframework-guardian[${PYTHON_USEDEP}]
+ dev-python/drf-writable-nested[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/imap-tools[${PYTHON_USEDEP}]
+ >=dev-python/inotifyrecursive-0.3[${PYTHON_USEDEP}]
+ dev-python/langdetect[${PYTHON_USEDEP}]
+ dev-python/nltk[${PYTHON_USEDEP}]
+ dev-python/pathvalidate[${PYTHON_USEDEP}]
+ dev-python/pdf2image[${PYTHON_USEDEP}]
+ dev-python/pikepdf[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ dev-python/python-gnupg[${PYTHON_USEDEP}]
+ >=dev-python/python-ipware-2.0.0[${PYTHON_USEDEP}]
+ dev-python/python-magic[${PYTHON_USEDEP}]
+ dev-python/pyzbar[${PYTHON_USEDEP}]
+ dev-python/rapidfuzz[${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
+ >=dev-python/scikit-learn-1.4
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ <dev-python/uvicorn-0.26.0[${PYTHON_USEDEP}]
+ >=dev-python/watchdog-4.0[${PYTHON_USEDEP}]
+ >=dev-python/whitenoise-6.6[${PYTHON_USEDEP}]
+ >=dev-python/whoosh-2.7[${PYTHON_USEDEP}]')
+ media-gfx/imagemagick[xml]
media-gfx/optipng
media-libs/jbig2enc
- >=sci-libs/scikit-learn-1.1
www-servers/gunicorn
+ audit? ( $(python_gen_cond_dep '
+ dev-python/django-auditlog[${PYTHON_USEDEP}]') )
+ compression? ( $(python_gen_cond_dep '
+ dev-python/django-compression-middleware[${PYTHON_USEDEP}]') )
mysql? ( dev-python/mysqlclient )
- ocr? ( >=app-text/OCRmyPDF-14.0 )
+ ocr? ( >=app-text/OCRmyPDF-15.4 )
postgres? ( dev-python/psycopg:2 )
!remote-redis? ( dev-db/redis )
+ zxing? ( media-libs/zxing-cpp[python,${PYTHON_SINGLE_USEDEP}] )
"
RDEPEND="${DEPEND}"
# dev-python/tika
+# dev-python/gotenberg-client
DOCS=( docker/imagemagick-policy.xml )
@@ -91,7 +110,17 @@ src_prepare() {
-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|" \
- -i "paperless.conf" || die "Cannot update paperless.conf"
+ -i "paperless.conf" || die "Cannot update paperless.conf"
+
+ cat >> "paperless.conf" <<- EOF
+
+ # Custom
+ PAPERLESS_BIND_ADDR=unix
+ PAPERLESS_PORT=/run/paperless.sock
+
+ PAPERLESS_ENABLE_COMPRESSION=$(use compression && echo true || echo false)
+ PAPERLESS_AUDIT_LOG_ENABLED=$(use audit && echo true || echo false)
+ EOF
}
src_install() {
@@ -99,6 +128,7 @@ src_install() {
# Install service files
systemd_newunit "${FILESDIR}"/paperless-webserver.service paperless-webserver.service
+ systemd_newunit "${FILESDIR}"/paperless-webserver.socket paperless-webserver.socket
systemd_newunit "${FILESDIR}"/paperless-scheduler.service paperless-scheduler.service
systemd_newunit "${FILESDIR}"/paperless-consumer.service paperless-consumer.service
systemd_newunit "${FILESDIR}"/paperless-task-queue.service paperless-task-queue.service
@@ -121,7 +151,7 @@ src_install() {
fperms 644 /usr/lib/tmpfiles.d/paperless.tmpfiles
# Set directories
- for dir in data media tmp; do
+ for dir in consume data media tmp; do
keepdir /var/lib/paperless/${dir}
fowners paperless:paperless /var/lib/paperless/${dir}
case "${dir}" in