From f8cc0e58c7a851345e3eeeec2c102ae49a0bc7a2 Mon Sep 17 00:00:00 2001 From: Marcin Deranek Date: Mon, 18 Mar 2024 17:19:29 +0100 Subject: www-apps/paperless-ngx Version bump --- www-apps/paperless-ngx/Manifest | 6 +- www-apps/paperless-ngx/paperless-ngx-2.4.3.ebuild | 179 --------------------- www-apps/paperless-ngx/paperless-ngx-2.6.2.ebuild | 184 ---------------------- www-apps/paperless-ngx/paperless-ngx-2.6.3.ebuild | 184 ++++++++++++++++++++++ 4 files changed, 186 insertions(+), 367 deletions(-) delete mode 100644 www-apps/paperless-ngx/paperless-ngx-2.4.3.ebuild delete mode 100644 www-apps/paperless-ngx/paperless-ngx-2.6.2.ebuild create mode 100644 www-apps/paperless-ngx/paperless-ngx-2.6.3.ebuild diff --git a/www-apps/paperless-ngx/Manifest b/www-apps/paperless-ngx/Manifest index 46f2046..3d7d940 100644 --- a/www-apps/paperless-ngx/Manifest +++ b/www-apps/paperless-ngx/Manifest @@ -6,9 +6,7 @@ AUX paperless-webserver.socket 240 BLAKE2B 127735356bdd1ac1a46d85e757299f13a2224 AUX paperless.target 215 BLAKE2B 95b67ebfc166b888ee5aea32c5565002ae451a10c0d0851df79eeabf3a6e900c7112d447ccbc170bca771bf33e07261aa05f32a25e742ded0b10e6f31ee78870 SHA512 ae3d1dcc8f056f303a0c628c1aabb60e0c93f4006352c5d05a5ee673238c56085ccd2d95ff53555767d9a31a639cd571a26083aab274237cb9f8563ce50c25d6 AUX paperless.tmpfiles 349 BLAKE2B 4a59f0a0c6a4abad23cba01e216909f45a7064e93911b8ba3e3b394f52379e41898b8c9e1246ba034bc8d2fe6dc83f5cad926e265a17da7c7093d997cfe8b4f3 SHA512 63af6e4359d5fa7bfc3f3669263a36f5d3b5f60c95cf6579d7324bb2116647bb447968b1bab5916e831918344b963d1026116e8cdfb57bce8063ed5ba119c9ea DIST paperless-ngx-v1.17.4.tar.xz 16507140 BLAKE2B 34e67810dc9264cfcfec5a62557f5c102aedb82d8f31b27302e01675b84cb39cb22925339263cd8908e828d91b3469895732962e50c2b6bc62d266222b3072c4 SHA512 eb225244d51db0ba0db9fca259825ab542448f5f9904d2bf55ad581f16a9386696457593df2ad5eda6df5eefb296f0ee0c0f27e6fc0eff8956807aedf20e0094 -DIST paperless-ngx-v2.4.3.tar.xz 60778612 BLAKE2B a048dee6f1e0853d37a5b4fc979d5624796efa5cc7414d08add9146994045217247794d4d2b0111830890de033932a46b4add9888b79fa66c428a3127537f0c5 SHA512 34ef0c09851b29d3279ff3a6bce261c7a3c68f80dbc1233ff5eea4ccf39371790d45f619cfdc0e68cd8e2553a7efa56fa2bc1061135cf44e86e4ad1777e6a6ec -DIST paperless-ngx-v2.6.2.tar.xz 60537092 BLAKE2B f6c43b75b8b4ceab353040ef33a06974f14f8c905d05e256b613d7a74cd0bce293c0b77c65c0fbee49435963ed94c44722bab8417b5ac391679577db7dbaac25 SHA512 9d9bb7ed9f0eb7037f784049ff78685737589e9b846ca44b67d4f257b8362e70ffe86a0de458c40bed9639dc48dc01c8361e0e036a9a924556d99f9741e549b2 +DIST paperless-ngx-v2.6.3.tar.xz 61884952 BLAKE2B 0c310116678a8b592ac6071f63c210f6798bb9f8ede6e0062bfbecfaf0c9fc5068ba74f0483019b2191c4aad467b704d459f6473d00eee8024285aa5f6e4955a SHA512 853c69ff39f74aac666f229a9ca7afe4dc83082f3bf7b9769021f8f270a8032ae39881b4ef6984c374dca43621ba9cfdb84254ad0510a8e1629c868a5ed5b3eb EBUILD paperless-ngx-1.17.4.ebuild 4849 BLAKE2B d8488abffb7a222e4d9cf2088c0aa4ef7b099cfd822033b419d6261abb312a02a866c28155b3443ca2836c71c25173b5ef0c947471b023f3fd74521b3f055e97 SHA512 8aed5b3c47a5cb5a896e404ddd50c86634c07b0afb637c24edd1985ef22903e5f568b27ff128d28db9e4b0d74316f61c1388fa601a4783c49af540ceac064ce5 -EBUILD paperless-ngx-2.4.3.ebuild 6102 BLAKE2B 3f5d1c4617ca23d98f0d342a69384e3760e958b6f45f51996e9579a15a0cec2f402a864bbc505ef58352c6404ac2fade1fee56c3264cae2fdaa2f7f589dfcb2d SHA512 4e6e4a5f8fae3e8df6bbc6de30d905c6e901ec832b92fea0bfa54a712307760ad9dffd5a87e924f8577fde5486ec90901c953bd683f8214c72aa39e94dc6deb1 -EBUILD paperless-ngx-2.6.2.ebuild 6297 BLAKE2B 631d0579c34ded95f680c4dcb52a5938f9b400d98352f8643802ac1ce4d69861ed4f10dfd8d6f6c2870d3aa8163236bd559a271c9182dd5c5c3a98b28fc26c7d SHA512 7c3538f387de78599a66ea20ac2f671ae88c7b93f9b54618386d7e8d6bf212e5fe6e3381cd8f0aa00f4f4eadf98cf28947257460cd72fd6b51a8cb92a884dc5d +EBUILD paperless-ngx-2.6.3.ebuild 6297 BLAKE2B e06b1aa1ec970d9ed753f529f4e12aa5f49582787e2b30d4d1107dfc9f33464101cbab0136f3ded58f8ea8eddfa5307d73503b4735432c3252183c8ac8976d08 SHA512 e7949284d9080931e0050e099d3a82d12cf4375af07c92df7fcacaf662d2cb066f2f7b4095af27a5eb65d0fd8fc9eb012f17edb6450f140c512d2b69d91bf335 MISC metadata.xml 851 BLAKE2B dfb395b418d92c0c7318c4862dfbce74a312222b3a2848334806c2f8063bb63947a4c0315c289f1db83987d5e7649483efb484944afd6963b3f74c1a488877f5 SHA512 e7622cfe74bee71e3698241cb234221d9d40c9a41eca4f8b3e5e3c7338940652f5c5652cd72a675339cc6620d777e858fe5310f29cf7f87f5585eb8742b58405 diff --git a/www-apps/paperless-ngx/paperless-ngx-2.4.3.ebuild b/www-apps/paperless-ngx/paperless-ngx-2.4.3.ebuild deleted file mode 100644 index c852eb3..0000000 --- a/www-apps/paperless-ngx/paperless-ngx-2.4.3.ebuild +++ /dev/null @@ -1,179 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -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" -SRC_URI="https://github.com/paperless-ngx/paperless-ngx/releases/download/v${PV}/paperless-ngx-v${PV}.tar.xz" -S="${WORKDIR}/${PN}" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64" -IUSE="audit compression mysql +ocr postgres remote-redis +sqlite zxing" -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - || ( mysql postgres sqlite ) -" - -ACCT_DEPEND=" - acct-group/paperless - acct-user/paperless -" -EXTRA_DEPEND=" - app-text/unpaper - dev-python/hiredis - dev-python/websockets -" - -DEPEND=" - ${ACCT_DEPEND} - ${EXTRA_DEPEND} - ${PYTHON_DEPS} - app-text/poppler[utils] - $(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.9[${PYTHON_USEDEP}] - =dev-python/django-filter-23.5[${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[${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.3 - dev-python/tqdm[${PYTHON_USEDEP}] - =dev-python/watchdog-3.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 - 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-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 ) - -src_prepare() { - default - - sed \ - -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|" \ - -i "paperless.conf" || die "Cannot update paperless.conf" - - cat >> "paperless.conf" <<- EOF - - # Custom - PAPERLESS_ENABLE_COMPRESSION=$(use compression && echo true || echo false) - PAPERLESS_AUDIT_LOG_ENABLED=$(use audit && echo true || echo false) - EOF -} - -src_install() { - einstalldocs - - # Install service files - systemd_newunit "${FILESDIR}"/paperless-webserver.service paperless-webserver.service - 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 - systemd_newunit "${FILESDIR}"/paperless.target paperless.target - if use remote-redis; then - sed -e '/redis\.service/d' -i *.service "${D}$(systemd_get_systemunitdir)"/*.service - fi - - # Install paperless files - insinto /usr/share/paperless - doins -r docs src static gunicorn.conf.py requirements.txt - - insinto /etc - doins paperless.conf - fowners root:paperless /etc/paperless.conf - fperms 640 /etc/paperless.conf - - insinto /usr/lib/tmpfiles.d - doins "${FILESDIR}"/paperless.tmpfiles - fperms 644 /usr/lib/tmpfiles.d/paperless.tmpfiles - - # Set directories - for dir in consume data media tmp; do - keepdir /var/lib/paperless/${dir} - fowners paperless:paperless /var/lib/paperless/${dir} - case "${dir}" in - data) fperms 700 /var/lib/paperless/${dir} ;; - *) fperms 750 /var/lib/paperless/${dir} ;; - esac - done - - # Main executable - fperms 755 "/usr/share/paperless/src/manage.py" - dosym -r "/usr/share/paperless/src/manage.py" "/usr/bin/paperless-manage" -} - -pkg_postinst() { - elog "To complete the installation of paperless, edit /etc/paperless.conf file and" - elog "* Create the database with" - elog "" - elog "sudo -u paperless paperless-manage migrate" - elog "" - elog "* Create a super user account with" - elog "" - elog "sudo -u paperless paperless-manage createsuperuser" - elog "" - elog "After each update of paperless, you should run migration with" - elog "" - elog "sudo -u paperless paperless-manage migrate" - elog "" - elog "Paperless services can be started together with" - elog "" - elog "sudo systemctl start paperless.target" -} diff --git a/www-apps/paperless-ngx/paperless-ngx-2.6.2.ebuild b/www-apps/paperless-ngx/paperless-ngx-2.6.2.ebuild deleted file mode 100644 index 2429165..0000000 --- a/www-apps/paperless-ngx/paperless-ngx-2.6.2.ebuild +++ /dev/null @@ -1,184 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -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" -SRC_URI="https://github.com/paperless-ngx/paperless-ngx/releases/download/v${PV}/paperless-ngx-v${PV}.tar.xz" -S="${WORKDIR}/${PN}" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64" -IUSE="audit compression mysql +ocr postgres remote-redis +sqlite zxing" -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - || ( mysql postgres sqlite ) -" - -ACCT_DEPEND=" - acct-group/paperless - acct-user/paperless -" -EXTRA_DEPEND=" - app-text/unpaper - dev-python/hiredis - dev-python/websockets -" - -DEPEND=" - ${ACCT_DEPEND} - ${EXTRA_DEPEND} - ${PYTHON_DEPS} - app-text/poppler[utils] - $(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-filter-23.5[${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[${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/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 - 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-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 ) - -src_prepare() { - default - - sed \ - -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|" \ - -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() { - einstalldocs - - # 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 - systemd_newunit "${FILESDIR}"/paperless.target paperless.target - if use remote-redis; then - sed -e '/redis\.service/d' -i *.service "${D}$(systemd_get_systemunitdir)"/*.service - fi - - # Install paperless files - insinto /usr/share/paperless - doins -r docs src static gunicorn.conf.py requirements.txt - - insinto /etc - doins paperless.conf - fowners root:paperless /etc/paperless.conf - fperms 640 /etc/paperless.conf - - insinto /usr/lib/tmpfiles.d - doins "${FILESDIR}"/paperless.tmpfiles - fperms 644 /usr/lib/tmpfiles.d/paperless.tmpfiles - - # Set directories - for dir in consume data media tmp; do - keepdir /var/lib/paperless/${dir} - fowners paperless:paperless /var/lib/paperless/${dir} - case "${dir}" in - data) fperms 700 /var/lib/paperless/${dir} ;; - *) fperms 750 /var/lib/paperless/${dir} ;; - esac - done - - # Main executable - fperms 755 "/usr/share/paperless/src/manage.py" - dosym -r "/usr/share/paperless/src/manage.py" "/usr/bin/paperless-manage" -} - -pkg_postinst() { - elog "To complete the installation of paperless, edit /etc/paperless.conf file and" - elog "* Create the database with" - elog "" - elog "sudo -u paperless paperless-manage migrate" - elog "" - elog "* Create a super user account with" - elog "" - elog "sudo -u paperless paperless-manage createsuperuser" - elog "" - elog "After each update of paperless, you should run migration with" - elog "" - elog "sudo -u paperless paperless-manage migrate" - elog "" - elog "Paperless services can be started together with" - elog "" - elog "sudo systemctl start paperless.target" -} diff --git a/www-apps/paperless-ngx/paperless-ngx-2.6.3.ebuild b/www-apps/paperless-ngx/paperless-ngx-2.6.3.ebuild new file mode 100644 index 0000000..b621a6b --- /dev/null +++ b/www-apps/paperless-ngx/paperless-ngx-2.6.3.ebuild @@ -0,0 +1,184 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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" +SRC_URI="https://github.com/paperless-ngx/paperless-ngx/releases/download/v${PV}/paperless-ngx-v${PV}.tar.xz" +S="${WORKDIR}/${PN}" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" +IUSE="audit compression mysql +ocr postgres remote-redis +sqlite zxing" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + || ( mysql postgres sqlite ) +" + +ACCT_DEPEND=" + acct-group/paperless + acct-user/paperless +" +EXTRA_DEPEND=" + app-text/unpaper + dev-python/hiredis + dev-python/websockets +" + +DEPEND=" + ${ACCT_DEPEND} + ${EXTRA_DEPEND} + ${PYTHON_DEPS} + app-text/poppler[utils] + $(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-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[${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/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 + 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-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 ) + +src_prepare() { + default + + sed \ + -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|" \ + -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() { + einstalldocs + + # 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 + systemd_newunit "${FILESDIR}"/paperless.target paperless.target + if use remote-redis; then + sed -e '/redis\.service/d' -i *.service "${D}$(systemd_get_systemunitdir)"/*.service + fi + + # Install paperless files + insinto /usr/share/paperless + doins -r docs src static gunicorn.conf.py requirements.txt + + insinto /etc + doins paperless.conf + fowners root:paperless /etc/paperless.conf + fperms 640 /etc/paperless.conf + + insinto /usr/lib/tmpfiles.d + doins "${FILESDIR}"/paperless.tmpfiles + fperms 644 /usr/lib/tmpfiles.d/paperless.tmpfiles + + # Set directories + for dir in consume data media tmp; do + keepdir /var/lib/paperless/${dir} + fowners paperless:paperless /var/lib/paperless/${dir} + case "${dir}" in + data) fperms 700 /var/lib/paperless/${dir} ;; + *) fperms 750 /var/lib/paperless/${dir} ;; + esac + done + + # Main executable + fperms 755 "/usr/share/paperless/src/manage.py" + dosym -r "/usr/share/paperless/src/manage.py" "/usr/bin/paperless-manage" +} + +pkg_postinst() { + elog "To complete the installation of paperless, edit /etc/paperless.conf file and" + elog "* Create the database with" + elog "" + elog "sudo -u paperless paperless-manage migrate" + elog "" + elog "* Create a super user account with" + elog "" + elog "sudo -u paperless paperless-manage createsuperuser" + elog "" + elog "After each update of paperless, you should run migration with" + elog "" + elog "sudo -u paperless paperless-manage migrate" + elog "" + elog "Paperless services can be started together with" + elog "" + elog "sudo systemctl start paperless.target" +} -- cgit v1.2.3