From d162ba1860a88062f4cd61f8b52fc303ba0b2991 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 7 Aug 2021 00:16:33 +0100 Subject: gentoo resync : 07.08.2021 --- media-gfx/hydrus/Manifest | 14 ++- media-gfx/hydrus/files/test-exitcode.patch | 36 ------- media-gfx/hydrus/files/upnpc.patch | 40 -------- media-gfx/hydrus/hydrus-444.ebuild | 143 ---------------------------- media-gfx/hydrus/hydrus-445.ebuild | 12 ++- media-gfx/hydrus/hydrus-446.ebuild | 12 ++- media-gfx/hydrus/hydrus-447.ebuild | 12 ++- media-gfx/hydrus/hydrus-448.ebuild | 145 +++++++++++++++++++++++++++++ media-gfx/hydrus/hydrus-9999.ebuild | 12 ++- 9 files changed, 183 insertions(+), 243 deletions(-) delete mode 100644 media-gfx/hydrus/files/test-exitcode.patch delete mode 100644 media-gfx/hydrus/files/upnpc.patch delete mode 100644 media-gfx/hydrus/hydrus-444.ebuild create mode 100644 media-gfx/hydrus/hydrus-448.ebuild (limited to 'media-gfx/hydrus') diff --git a/media-gfx/hydrus/Manifest b/media-gfx/hydrus/Manifest index 612972b0bea9..d8fcbb58fcc4 100644 --- a/media-gfx/hydrus/Manifest +++ b/media-gfx/hydrus/Manifest @@ -1,15 +1,13 @@ AUX hydrus-client 98 BLAKE2B c08af22c2ee9ea3d5c95ed3196ceb9b74b9c886bfa9b91141584f7ea884830fbdd300c948af199ac82a016e1a9dd7314e9c7fdfa8f47f07a9336eff9e2bd2ce1 SHA512 453ac6f9685325b6510c7f833b658491f01e92be213ae26da0d86490033951d3a825f9b15fd33d8a0727992cd83bf7ed491b88f0808674d6fdc23af90c7911a5 AUX hydrus-server 62 BLAKE2B dac100012fb03c2a14438b67a1c68daa1673eb23dfe7725a941325eb67149064c1276f462732e62db294acce75d111f948599698615e9fa15be43fe74ce444cd SHA512 5b7f9ca4b364ff529e5f4feb6fb11c91aff9cf1ad3ae6c12ff301915fa1d7b9920d51028b820000635d071a049a4e98a0e4e815ffa6ca31d2e67bec5a78afdea -AUX test-exitcode.patch 1077 BLAKE2B 7e270c939a421d8c709d7e24b9628c69ec03f72431b6d783043e904ea92bba1938207d08d9275ac1b90825149c92ed48d466fd5edc03fa694fc57465ef474db7 SHA512 703fc73ea3829a8d5c6f64d0573439570300635d3543437983359afea0522c95da6c8b0f2cba3736d0f22f939aad72b4b27c648d166feed96ec6447a68f33b75 -AUX upnpc.patch 1032 BLAKE2B ffbd89511731d5e71a9568fb9578888152af50d18e443871ffde0eb0cad65a98c7561587cc4c9b288c6de158263ef4f172477ee836ab07c4a72d419521872f20 SHA512 7dec34031545e238388134166dd11ca1bf65975caab46ea308a9e36daaf1eeda71c70d260409ed3a64f277a2d65c9f1441c5af02fefa33e263906c386482e98e AUX userpath-in-local-share.patch 443 BLAKE2B 2562bdb6207a35a872a7c1b22ee378504ec4f53ee7b64bdce31649d62780cae00b42be7297aa82e069a9df5e01f76c508d97c47a25a9dffec8cbf8829e7ff674 SHA512 f96cf0040a663c534bd539e40413c95928ea45238f765f741db3c251b7c141fe99989b092d4033695a99e7267fec7fac74641fdc4a0887e74d23d3695f8ce467 -DIST hydrus-444.tar.gz 38817103 BLAKE2B f9eb3dc346a1a7b8d45558ee69b0b9d2a7dbbb7018734680e9953f20ebd56209cc1874213ecf5515835f1022bf571a99543154843f7dc2b9375116db8ba080a0 SHA512 f5bc28e43a5218fce15bc9d197ebcc1f4eb47856a741ad79f59d1da2413a3e7e220381a4d8208fe880fa507e023f9c03050e46ab5214ef310d105df0d85a9682 DIST hydrus-445.tar.gz 38823389 BLAKE2B 3cd07a3e30e60bd8507fd58c027e5c5a96745163bd5982198448a65b957ff8f4308c9bc0ee73b883fa275689c900dff07f497634c07f4b2f7fe579e1e3d6f378 SHA512 6735468bd531786fef9a861a81ee1e34595c362450027a0c011593465ed77dc85a304a314dcb7031e30b2e90548b2497bb4f01932dc1f04e814b7dd5ae70617c DIST hydrus-446.tar.gz 38830223 BLAKE2B 5ab44f9cfbd15eb10144135eb4cc1d8493c20f2a931db4332a61aa186fddff96cb3a3b29eb2b210f070bb4be8210d552beb2578a7287a169a7364f02363e05f4 SHA512 bdbcd1177c3bf6ee85089e1a653587bae41c524bc2313bb5d481dee074c7da1c533a91957dc3b03d1c0b515e705809887e290ac71b866a51664f2a9a34bbfb6b DIST hydrus-447.tar.gz 38833157 BLAKE2B 8d7cf37a1419ef40fa7816958a01421ecc335d2a8c975fcf16d3ea5dfbdb76d872e4e597bdbade28eff7727914de5de7fb6ffcc7ecc27a712410031efa8433fe SHA512 85eaab40f192f2414be828545464811af2590b55e1a2fea7bbf64f27e4bb9a8b6c6c86cb25c1f7e9f48449173f079dcd749ea25ed22559bebb11adddce62da94 -EBUILD hydrus-444.ebuild 4096 BLAKE2B 38d338d034c353723481cc8daf2bb8f99ca6443242ba8692cda6cfc663271e763b9b53aff7f3dc2e407676586eede2895fa669aaf19be2d2e95b2dac2e6c5823 SHA512 c722905f3ca2b6097cd3c50848dec6c0d7279765fd5792947eec7b405ff62770bc29e62e38076eebfbe18347724d8b58b7b719165c18b7cd477a27c83282e680 -EBUILD hydrus-445.ebuild 4034 BLAKE2B 77e62b1cccc18c669c446dc705982c3012ccc769f6307a60771c7341bf7d463f7c13681c76fb24aea23540d98f64d03fe06622865ff89619fb03ac88a22825dd SHA512 4da0299ae93ad7736f15942bcd94a841f17ec6df2f02fc51fca6992dd03aff69db7cb1dd906a58b08c1ecd866975686f5723a7c370d73303eb41b811594e4769 -EBUILD hydrus-446.ebuild 4034 BLAKE2B 77e62b1cccc18c669c446dc705982c3012ccc769f6307a60771c7341bf7d463f7c13681c76fb24aea23540d98f64d03fe06622865ff89619fb03ac88a22825dd SHA512 4da0299ae93ad7736f15942bcd94a841f17ec6df2f02fc51fca6992dd03aff69db7cb1dd906a58b08c1ecd866975686f5723a7c370d73303eb41b811594e4769 -EBUILD hydrus-447.ebuild 4034 BLAKE2B 77e62b1cccc18c669c446dc705982c3012ccc769f6307a60771c7341bf7d463f7c13681c76fb24aea23540d98f64d03fe06622865ff89619fb03ac88a22825dd SHA512 4da0299ae93ad7736f15942bcd94a841f17ec6df2f02fc51fca6992dd03aff69db7cb1dd906a58b08c1ecd866975686f5723a7c370d73303eb41b811594e4769 -EBUILD hydrus-9999.ebuild 4034 BLAKE2B 77e62b1cccc18c669c446dc705982c3012ccc769f6307a60771c7341bf7d463f7c13681c76fb24aea23540d98f64d03fe06622865ff89619fb03ac88a22825dd SHA512 4da0299ae93ad7736f15942bcd94a841f17ec6df2f02fc51fca6992dd03aff69db7cb1dd906a58b08c1ecd866975686f5723a7c370d73303eb41b811594e4769 +DIST hydrus-448.tar.gz 38851906 BLAKE2B 2b60174ffea3dd0c3816afef12378546582dfc39f80406534fa8b868c33052dc8497fa750ed724388467fd9ed4f1a7245b7ef91745750b9ede834a94e2da9638 SHA512 a16879dfd3417a784ca900b6cdab5fb4079d8ca4179224ac69e37321e165f35483d476b40994f2445c846998b2f154498da3cbd9c695a9d96b71f187e788b7b3 +EBUILD hydrus-445.ebuild 4153 BLAKE2B af53ea19c4e57bef37cf32b2b20a3b92e57728ca7ee493851e70c97dcce631160c429b282a0367fbf680a1e03f64ab099267bcb7ca8899accd8e3b8b2c87d7eb SHA512 11fd24be29eb7ab185f560e3a5df9f59a7ba2bad72a94e82ca412c011164ac0f5b66f0ca42cca50e20a2b70651c804f004fd9af95efb6284b32f8930f43d5547 +EBUILD hydrus-446.ebuild 4153 BLAKE2B af53ea19c4e57bef37cf32b2b20a3b92e57728ca7ee493851e70c97dcce631160c429b282a0367fbf680a1e03f64ab099267bcb7ca8899accd8e3b8b2c87d7eb SHA512 11fd24be29eb7ab185f560e3a5df9f59a7ba2bad72a94e82ca412c011164ac0f5b66f0ca42cca50e20a2b70651c804f004fd9af95efb6284b32f8930f43d5547 +EBUILD hydrus-447.ebuild 4153 BLAKE2B af53ea19c4e57bef37cf32b2b20a3b92e57728ca7ee493851e70c97dcce631160c429b282a0367fbf680a1e03f64ab099267bcb7ca8899accd8e3b8b2c87d7eb SHA512 11fd24be29eb7ab185f560e3a5df9f59a7ba2bad72a94e82ca412c011164ac0f5b66f0ca42cca50e20a2b70651c804f004fd9af95efb6284b32f8930f43d5547 +EBUILD hydrus-448.ebuild 4153 BLAKE2B af53ea19c4e57bef37cf32b2b20a3b92e57728ca7ee493851e70c97dcce631160c429b282a0367fbf680a1e03f64ab099267bcb7ca8899accd8e3b8b2c87d7eb SHA512 11fd24be29eb7ab185f560e3a5df9f59a7ba2bad72a94e82ca412c011164ac0f5b66f0ca42cca50e20a2b70651c804f004fd9af95efb6284b32f8930f43d5547 +EBUILD hydrus-9999.ebuild 4153 BLAKE2B af53ea19c4e57bef37cf32b2b20a3b92e57728ca7ee493851e70c97dcce631160c429b282a0367fbf680a1e03f64ab099267bcb7ca8899accd8e3b8b2c87d7eb SHA512 11fd24be29eb7ab185f560e3a5df9f59a7ba2bad72a94e82ca412c011164ac0f5b66f0ca42cca50e20a2b70651c804f004fd9af95efb6284b32f8930f43d5547 MISC metadata.xml 1168 BLAKE2B 6480f7938566059342a4b8eef89ee26e4f3843faab9b8c937f74e71a1a27b63630bc6e64482b7ff5ebc647c1247a030e62635a4c3a5bc42d6df87209e35ffb53 SHA512 9bb31694a8d1ce56741340431e82b0e7f35866d90dd1359062703809be331192e5ba4acca94b8c0fc146cbb6199335e724345924687c904795c3c2d0d917acb3 diff --git a/media-gfx/hydrus/files/test-exitcode.patch b/media-gfx/hydrus/files/test-exitcode.patch deleted file mode 100644 index d61d341ee1ef..000000000000 --- a/media-gfx/hydrus/files/test-exitcode.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/hydrus/hydrus_test.py b/hydrus/hydrus_test.py -index 3504c9c..7f95af8 100644 ---- a/hydrus/hydrus_test.py -+++ b/hydrus/hydrus_test.py -@@ -91,6 +91,9 @@ def boot(): - if sys.stdin.isatty(): - - input( 'Press any key to exit.' ) -+ else: - -+ success = 0 if controller.was_successful else 1 -+ sys.exit(success) - - -diff --git a/hydrus/test/TestController.py b/hydrus/test/TestController.py -index 0c43440..7e6c5ef 100644 ---- a/hydrus/test/TestController.py -+++ b/hydrus/test/TestController.py -@@ -168,7 +168,6 @@ only_run = None - class Controller( object ): - - def __init__( self, win, only_run ): -- - self.app = win - self.win = win - self.only_run = only_run -@@ -827,8 +826,7 @@ class Controller( object ): - def do_it(): - - try: -- -- runner.run( suite ) -+ self.was_successful = runner.run( suite ).wasSuccessful() - - finally: - diff --git a/media-gfx/hydrus/files/upnpc.patch b/media-gfx/hydrus/files/upnpc.patch deleted file mode 100644 index ea78f2b70b63..000000000000 --- a/media-gfx/hydrus/files/upnpc.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/hydrus/core/networking/HydrusNATPunch.py b/hydrus/core/networking/HydrusNATPunch.py -index c959753..6792d89 100644 ---- a/hydrus/core/networking/HydrusNATPunch.py -+++ b/hydrus/core/networking/HydrusNATPunch.py -@@ -3,6 +3,7 @@ import socket - import subprocess - import threading - import traceback -+import shutil - - from hydrus.core import HydrusConstants as HC - from hydrus.core import HydrusData -@@ -18,7 +19,7 @@ if HC.PLATFORM_WINDOWS: - - else: - -- possible_bin_filenames = [ 'upnpc-static', 'upnpc-shared', 'miniupnpc' ] -+ possible_bin_filenames = [ 'upnpc', 'upnpc-static', 'upnpc-shared', 'miniupnpc' ] - - if HC.PLATFORM_LINUX: - -@@ -42,7 +43,17 @@ for filename in possible_bin_filenames: - - UPNPC_PATH = possible_path - -- -+ break -+ -+ maybe_in_path = shutil.which( filename ) -+ -+ if maybe_in_path: -+ -+ UPNPC_PATH = maybe_in_path -+ -+ break -+ -+ - EXTERNAL_IP = {} - EXTERNAL_IP[ 'ip' ] = None - EXTERNAL_IP[ 'time' ] = 0 diff --git a/media-gfx/hydrus/hydrus-444.ebuild b/media-gfx/hydrus/hydrus-444.ebuild deleted file mode 100644 index d09faedb63c2..000000000000 --- a/media-gfx/hydrus/hydrus-444.ebuild +++ /dev/null @@ -1,143 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{8..9} ) -PYTHON_REQ_USE="sqlite" - -inherit python-single-r1 desktop optfeature - -DESCRIPTION="A booru-like media organizer for the desktop" -HOMEPAGE="https://hydrusnetwork.github.io/hydrus/ https://github.com/hydrusnetwork/hydrus" - -if [[ "${PV}" == "9999" ]]; then - inherit git-r3 - - EGIT_REPO_URI="https://github.com/hydrusnetwork/hydrus.git" -else - SRC_URI="https://github.com/hydrusnetwork/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - - KEYWORDS="~amd64" -fi - -# hydrus itself is WTFPL -# icons included are CC-BY-2.5 -LICENSE="WTFPL-2 CC-BY-2.5" -SLOT="0" -IUSE="+mpv +ffmpeg +lz4 socks +cloudscraper charts test" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RESTRICT="!test? ( test )" - -RDEPEND=" - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/chardet[${PYTHON_USEDEP}] - dev-python/html5lib[${PYTHON_USEDEP}] - dev-python/lxml[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/pillow[${PYTHON_USEDEP}] - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/pyopenssl[${PYTHON_USEDEP}] - dev-python/pyside2[widgets,gui,charts?,${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/send2trash[${PYTHON_USEDEP}] - dev-python/service_identity[${PYTHON_USEDEP}] - dev-python/six[${PYTHON_USEDEP}] - dev-python/twisted[${PYTHON_USEDEP}] - media-libs/opencv[python,png,jpeg,${PYTHON_USEDEP}] - - >=dev-python/QtPy-1.9.0-r4[pyside2,${PYTHON_USEDEP}] - dev-python/beautifulsoup:4[${PYTHON_USEDEP}] - - cloudscraper? ( dev-python/cloudscraper[${PYTHON_USEDEP}] ) - ffmpeg? ( media-video/ffmpeg ) - lz4? ( dev-python/lz4[${PYTHON_USEDEP}] ) - mpv? ( - media-video/mpv[libmpv,${PYTHON_USEDEP}] - dev-python/python-mpv[${PYTHON_USEDEP}] - ) - socks? ( - || ( dev-python/requests[socks5,${PYTHON_USEDEP}] - dev-python/PySocks[${PYTHON_USEDEP}] ) - ) - ') -" -BDEPEND=" - ${RDEPEND} - $(python_gen_cond_dep ' - test? ( - dev-python/httmock[${PYTHON_USEDEP}] - dev-python/mock[${PYTHON_USEDEP}] - dev-python/nose[${PYTHON_USEDEP}] - ) - ') -" - -PATCHES=( - "${FILESDIR}/upnpc.patch" - "${FILESDIR}/userpath-in-local-share.patch" - "${FILESDIR}/test-exitcode.patch" -) - -src_prepare() { - default - - # Contains pre-built binaries for other systems and a broken swf renderer for linux - rm -r bin/ || die - # Build files used for CI, not actually needed - rm -r static/build_files || die - # Duplicate license file, not needed - rm license.txt || die - # Python requirements files, not needed - rm requirements_*.txt || die -} - -src_compile() { - python_optimize "${S}" -} - -src_test() { - # The tests use unittest, but are run with a custom runner script. - # QT_QPA_PLATFORM is required to make them run without X - local -x QT_QPA_PLATFORM=offscreen - "${EPYTHON}" "${S}/test.py" || die "Tests failed" -} - -src_install() { - local doc="${EPREFIX}/usr/share/doc/${PF}" - elog "Hydrus includes an excellent manual, that can either be viewed at" - elog "${doc}/html/help/index.html" - elog "or accessed through the hydrus help menu." - - mv "help my client will not boot.txt" "help_my_client_will_not_boot.txt" || die - - local DOCS=(COPYING README.md Readme.txt help_my_client_will_not_boot.txt db/) - local HTML_DOCS=("${S}"/help/) - einstalldocs - - # Files only needed for testing - rm test.py hydrus/hydrus_test.py || die - rm -r hydrus/test/ static/testing/ || die - - # These files are copied into doc - rm -r "${DOCS[@]}" "${HTML_DOCS[@]}" || die - # The program expects to find documentation here, so add a symlink to doc - ln -s "${doc}/html/help" help || die - - insinto /opt/hydrus - doins -r "${S}"/. - - exeinto /usr/bin - python_newexe - hydrus-server < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-server") - python_newexe - hydrus-client < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-client") - - make_desktop_entry "hydrus-client" "Hydrus Client" "/opt/hydrus/static/hydrus_non-transparent.png" \ - "AudioVideo;FileTools;Graphics;Network;" -} - -pkg_postinst() { - optfeature "support for automatic port forwarding" "net-libs/miniupnpc" -} diff --git a/media-gfx/hydrus/hydrus-445.ebuild b/media-gfx/hydrus/hydrus-445.ebuild index c735f0ac9e1f..ff24bd7b24a3 100644 --- a/media-gfx/hydrus/hydrus-445.ebuild +++ b/media-gfx/hydrus/hydrus-445.ebuild @@ -25,11 +25,15 @@ fi # icons included are CC-BY-2.5 LICENSE="WTFPL-2 CC-BY-2.5" SLOT="0" -IUSE="+mpv +ffmpeg +lz4 socks +cloudscraper charts test" +IUSE="+cloudscraper +ffmpeg +lz4 charts socks test +mpv" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RESTRICT="!test? ( test )" +# RDEPEND is sorted as such: +# - No specific requirements +# - Specific version or slot +# - Depends on use flags RDEPEND=" ${PYTHON_DEPS} $(python_gen_cond_dep ' @@ -123,14 +127,14 @@ src_install() { # These files are copied into doc rm -r "${DOCS[@]}" "${HTML_DOCS[@]}" || die # The program expects to find documentation here, so add a symlink to doc - ln -s "${doc}/html/help" help || die + dosym "${doc}/html/help" help insinto /opt/hydrus doins -r "${S}"/. exeinto /usr/bin - python_newexe - hydrus-server < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-server") - python_newexe - hydrus-client < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-client") + python_newexe - hydrus-server < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-server" || die) + python_newexe - hydrus-client < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-client" || die) make_desktop_entry "hydrus-client" "Hydrus Client" "/opt/hydrus/static/hydrus_non-transparent.png" \ "AudioVideo;FileTools;Graphics;Network;" diff --git a/media-gfx/hydrus/hydrus-446.ebuild b/media-gfx/hydrus/hydrus-446.ebuild index c735f0ac9e1f..ff24bd7b24a3 100644 --- a/media-gfx/hydrus/hydrus-446.ebuild +++ b/media-gfx/hydrus/hydrus-446.ebuild @@ -25,11 +25,15 @@ fi # icons included are CC-BY-2.5 LICENSE="WTFPL-2 CC-BY-2.5" SLOT="0" -IUSE="+mpv +ffmpeg +lz4 socks +cloudscraper charts test" +IUSE="+cloudscraper +ffmpeg +lz4 charts socks test +mpv" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RESTRICT="!test? ( test )" +# RDEPEND is sorted as such: +# - No specific requirements +# - Specific version or slot +# - Depends on use flags RDEPEND=" ${PYTHON_DEPS} $(python_gen_cond_dep ' @@ -123,14 +127,14 @@ src_install() { # These files are copied into doc rm -r "${DOCS[@]}" "${HTML_DOCS[@]}" || die # The program expects to find documentation here, so add a symlink to doc - ln -s "${doc}/html/help" help || die + dosym "${doc}/html/help" help insinto /opt/hydrus doins -r "${S}"/. exeinto /usr/bin - python_newexe - hydrus-server < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-server") - python_newexe - hydrus-client < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-client") + python_newexe - hydrus-server < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-server" || die) + python_newexe - hydrus-client < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-client" || die) make_desktop_entry "hydrus-client" "Hydrus Client" "/opt/hydrus/static/hydrus_non-transparent.png" \ "AudioVideo;FileTools;Graphics;Network;" diff --git a/media-gfx/hydrus/hydrus-447.ebuild b/media-gfx/hydrus/hydrus-447.ebuild index c735f0ac9e1f..ff24bd7b24a3 100644 --- a/media-gfx/hydrus/hydrus-447.ebuild +++ b/media-gfx/hydrus/hydrus-447.ebuild @@ -25,11 +25,15 @@ fi # icons included are CC-BY-2.5 LICENSE="WTFPL-2 CC-BY-2.5" SLOT="0" -IUSE="+mpv +ffmpeg +lz4 socks +cloudscraper charts test" +IUSE="+cloudscraper +ffmpeg +lz4 charts socks test +mpv" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RESTRICT="!test? ( test )" +# RDEPEND is sorted as such: +# - No specific requirements +# - Specific version or slot +# - Depends on use flags RDEPEND=" ${PYTHON_DEPS} $(python_gen_cond_dep ' @@ -123,14 +127,14 @@ src_install() { # These files are copied into doc rm -r "${DOCS[@]}" "${HTML_DOCS[@]}" || die # The program expects to find documentation here, so add a symlink to doc - ln -s "${doc}/html/help" help || die + dosym "${doc}/html/help" help insinto /opt/hydrus doins -r "${S}"/. exeinto /usr/bin - python_newexe - hydrus-server < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-server") - python_newexe - hydrus-client < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-client") + python_newexe - hydrus-server < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-server" || die) + python_newexe - hydrus-client < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-client" || die) make_desktop_entry "hydrus-client" "Hydrus Client" "/opt/hydrus/static/hydrus_non-transparent.png" \ "AudioVideo;FileTools;Graphics;Network;" diff --git a/media-gfx/hydrus/hydrus-448.ebuild b/media-gfx/hydrus/hydrus-448.ebuild new file mode 100644 index 000000000000..ff24bd7b24a3 --- /dev/null +++ b/media-gfx/hydrus/hydrus-448.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..9} ) +PYTHON_REQ_USE="sqlite" + +inherit python-single-r1 desktop optfeature + +DESCRIPTION="A booru-like media organizer for the desktop" +HOMEPAGE="https://hydrusnetwork.github.io/hydrus/ https://github.com/hydrusnetwork/hydrus" + +if [[ "${PV}" == "9999" ]]; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/hydrusnetwork/hydrus.git" +else + SRC_URI="https://github.com/hydrusnetwork/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + + KEYWORDS="~amd64" +fi + +# hydrus itself is WTFPL +# icons included are CC-BY-2.5 +LICENSE="WTFPL-2 CC-BY-2.5" +SLOT="0" +IUSE="+cloudscraper +ffmpeg +lz4 charts socks test +mpv" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RESTRICT="!test? ( test )" + +# RDEPEND is sorted as such: +# - No specific requirements +# - Specific version or slot +# - Depends on use flags +RDEPEND=" + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/html5lib[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/pyside2[widgets,gui,charts?,${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/send2trash[${PYTHON_USEDEP}] + dev-python/service_identity[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] + dev-python/twisted[${PYTHON_USEDEP}] + media-libs/opencv[python,png,jpeg,${PYTHON_USEDEP}] + + >=dev-python/QtPy-1.9.0-r4[pyside2,${PYTHON_USEDEP}] + dev-python/beautifulsoup:4[${PYTHON_USEDEP}] + + cloudscraper? ( dev-python/cloudscraper[${PYTHON_USEDEP}] ) + ffmpeg? ( media-video/ffmpeg ) + lz4? ( dev-python/lz4[${PYTHON_USEDEP}] ) + mpv? ( + media-video/mpv[libmpv,${PYTHON_USEDEP}] + dev-python/python-mpv[${PYTHON_USEDEP}] + ) + socks? ( + || ( dev-python/requests[socks5,${PYTHON_USEDEP}] + dev-python/PySocks[${PYTHON_USEDEP}] ) + ) + ') +" +BDEPEND=" + ${RDEPEND} + $(python_gen_cond_dep ' + test? ( + dev-python/httmock[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/nose[${PYTHON_USEDEP}] + ) + ') +" + +PATCHES=( + "${FILESDIR}/userpath-in-local-share.patch" +) + +src_prepare() { + default + + # Contains pre-built binaries for other systems and a broken swf renderer for linux + rm -r bin/ || die + # Build files used for CI, not actually needed + rm -r static/build_files || die + # Duplicate license file, not needed + rm license.txt || die + # Python requirements files, not needed + rm requirements_*.txt || die +} + +src_compile() { + python_optimize "${S}" +} + +src_test() { + # The tests use unittest, but are run with a custom runner script. + # QT_QPA_PLATFORM is required to make them run without X + local -x QT_QPA_PLATFORM=offscreen + "${EPYTHON}" "${S}/test.py" || die "Tests failed" +} + +src_install() { + local doc="${EPREFIX}/usr/share/doc/${PF}" + elog "Hydrus includes an excellent manual, that can either be viewed at" + elog "${doc}/html/help/index.html" + elog "or accessed through the hydrus help menu." + + mv "help my client will not boot.txt" "help_my_client_will_not_boot.txt" || die + + local DOCS=(COPYING README.md Readme.txt help_my_client_will_not_boot.txt db/) + local HTML_DOCS=("${S}"/help/) + einstalldocs + + # Files only needed for testing + rm test.py hydrus/hydrus_test.py || die + rm -r hydrus/test/ static/testing/ || die + + # These files are copied into doc + rm -r "${DOCS[@]}" "${HTML_DOCS[@]}" || die + # The program expects to find documentation here, so add a symlink to doc + dosym "${doc}/html/help" help + + insinto /opt/hydrus + doins -r "${S}"/. + + exeinto /usr/bin + python_newexe - hydrus-server < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-server" || die) + python_newexe - hydrus-client < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-client" || die) + + make_desktop_entry "hydrus-client" "Hydrus Client" "/opt/hydrus/static/hydrus_non-transparent.png" \ + "AudioVideo;FileTools;Graphics;Network;" +} + +pkg_postinst() { + optfeature "support for automatic port forwarding" "net-libs/miniupnpc" +} diff --git a/media-gfx/hydrus/hydrus-9999.ebuild b/media-gfx/hydrus/hydrus-9999.ebuild index c735f0ac9e1f..ff24bd7b24a3 100644 --- a/media-gfx/hydrus/hydrus-9999.ebuild +++ b/media-gfx/hydrus/hydrus-9999.ebuild @@ -25,11 +25,15 @@ fi # icons included are CC-BY-2.5 LICENSE="WTFPL-2 CC-BY-2.5" SLOT="0" -IUSE="+mpv +ffmpeg +lz4 socks +cloudscraper charts test" +IUSE="+cloudscraper +ffmpeg +lz4 charts socks test +mpv" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RESTRICT="!test? ( test )" +# RDEPEND is sorted as such: +# - No specific requirements +# - Specific version or slot +# - Depends on use flags RDEPEND=" ${PYTHON_DEPS} $(python_gen_cond_dep ' @@ -123,14 +127,14 @@ src_install() { # These files are copied into doc rm -r "${DOCS[@]}" "${HTML_DOCS[@]}" || die # The program expects to find documentation here, so add a symlink to doc - ln -s "${doc}/html/help" help || die + dosym "${doc}/html/help" help insinto /opt/hydrus doins -r "${S}"/. exeinto /usr/bin - python_newexe - hydrus-server < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-server") - python_newexe - hydrus-client < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-client") + python_newexe - hydrus-server < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-server" || die) + python_newexe - hydrus-client < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-client" || die) make_desktop_entry "hydrus-client" "Hydrus Client" "/opt/hydrus/static/hydrus_non-transparent.png" \ "AudioVideo;FileTools;Graphics;Network;" -- cgit v1.2.3