From 752d6256e5204b958b0ef7905675a940b5e9172f Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 12 May 2022 16:42:50 +0300 Subject: gentoo resync : 12.05.2022 --- media-gfx/hydrus/Manifest | 8 +- media-gfx/hydrus/hydrus-474.ebuild | 139 ----------------------------------- media-gfx/hydrus/hydrus-476.ebuild | 146 ------------------------------------ media-gfx/hydrus/hydrus-481.ebuild | 147 +++++++++++++++++++++++++++++++++++++ media-gfx/hydrus/hydrus-482.ebuild | 147 +++++++++++++++++++++++++++++++++++++ 5 files changed, 298 insertions(+), 289 deletions(-) delete mode 100644 media-gfx/hydrus/hydrus-474.ebuild delete mode 100644 media-gfx/hydrus/hydrus-476.ebuild create mode 100644 media-gfx/hydrus/hydrus-481.ebuild create mode 100644 media-gfx/hydrus/hydrus-482.ebuild (limited to 'media-gfx/hydrus') diff --git a/media-gfx/hydrus/Manifest b/media-gfx/hydrus/Manifest index c384232180b5..7a3a80de5ce0 100644 --- a/media-gfx/hydrus/Manifest +++ b/media-gfx/hydrus/Manifest @@ -1,13 +1,13 @@ AUX hydrus-client 98 BLAKE2B c08af22c2ee9ea3d5c95ed3196ceb9b74b9c886bfa9b91141584f7ea884830fbdd300c948af199ac82a016e1a9dd7314e9c7fdfa8f47f07a9336eff9e2bd2ce1 SHA512 453ac6f9685325b6510c7f833b658491f01e92be213ae26da0d86490033951d3a825f9b15fd33d8a0727992cd83bf7ed491b88f0808674d6fdc23af90c7911a5 AUX hydrus-server 62 BLAKE2B dac100012fb03c2a14438b67a1c68daa1673eb23dfe7725a941325eb67149064c1276f462732e62db294acce75d111f948599698615e9fa15be43fe74ce444cd SHA512 5b7f9ca4b364ff529e5f4feb6fb11c91aff9cf1ad3ae6c12ff301915fa1d7b9920d51028b820000635d071a049a4e98a0e4e815ffa6ca31d2e67bec5a78afdea AUX userpath-in-local-share.patch 443 BLAKE2B 2562bdb6207a35a872a7c1b22ee378504ec4f53ee7b64bdce31649d62780cae00b42be7297aa82e069a9df5e01f76c508d97c47a25a9dffec8cbf8829e7ff674 SHA512 f96cf0040a663c534bd539e40413c95928ea45238f765f741db3c251b7c141fe99989b092d4033695a99e7267fec7fac74641fdc4a0887e74d23d3695f8ce467 -DIST hydrus-474.tar.gz 40052948 BLAKE2B 7d323caf6dee2dc8a1dcf792a5c3383b395374d0e5a8fd88489b08a5b4ad295317cd5ae1da95d5435fb44ea8d4bbe4038d821c037c156e11d8b8c8a8582d67be SHA512 b73f5823ff84cf84710dd1fd9f9bfedffb6ce9ffaba8e4b23a7eda4a6a206aeaa8993632858fab9a5934f4c279fc23955cf045cd38af7ccf78b1eb73a0940bdb -DIST hydrus-476.tar.gz 40139397 BLAKE2B 68a3f31a8f250b2c129a9f2562624ec98994e338112eba4f0953aa96dd95abdb97fc60f6a8f28efb5a660f543f596a344a13fe234b3ffb11e6a158b795b0a11c SHA512 5aa59cc2e4d72219d24de10eaeb99ad5b13c0de3af8d9c7e55e3ccea3b897077596401d4d034aac05c018a969f84507618f95ef70d422ac57075bf2d64a692c5 DIST hydrus-478.tar.gz 40150962 BLAKE2B d654d2c12de8c8af6212679ed719892bcb6172d0b2120718e1bca7159ea3ab0f509dd01bf7c6f57f7da4d5e711c7b85cd0ce467ebc5fe0b08214085e3ca13cc5 SHA512 eb92071e0c9a0c3d04ef72336feaa55e47d28c523916484090220f30fa137c7d6b09b1d97e214fd191212a54e5d653eba08cfa1fe3f242a488d22cc331279e9b DIST hydrus-479.tar.gz 40164261 BLAKE2B 9c9b60c831a84414632a6ddbe51ece66d036aaa1f98cc74f112ee668583fb4ad95572a25e98cfc8d5c9d6886b55110b373534addb27bf9bec5f9bec53b69e8f7 SHA512 7f08fa62c7bcae17a80aca47dc5fcaf1641622590b08fecd3f38749467e7c595d5b49672145df00f480e99e3270e8bb4d98a21053d9eaeed0f0950956e3026ae -EBUILD hydrus-474.ebuild 4103 BLAKE2B 30df6e6ffc773581481785c1515c42a2b93a3cb40238a2a72ce5a8a7b6b4a2d6de0816a81df801f1a7b9939a61a0611704d8eccc65be73b9c9f513f5f8b1bffe SHA512 1687bc474795a96137c8883237cf59157f00edc9d9e2c131d84b7f510d95d60ae1f63bcde1727f810f0f4f4d55faf5c813f07849815f194f47637fc3564a66b6 -EBUILD hydrus-476.ebuild 4426 BLAKE2B 9ab0625fa36a19dfbf75292f80c59905f79c7cbe79e5ca0349f44030e9ac90f08c87d7a4685ff6fcc29c46dd8ed2e3e7537cc013d556ef77f5c5598e4181f4a2 SHA512 55f3d3b3459947003c5914342ab18381a4cc2268ee659a8c610385f84db42b9ef6f5f50af1747e9735f208993782522ea64f90cc1e20ec2e2517416a1df8ac04 +DIST hydrus-481.tar.gz 40174593 BLAKE2B 8a5745803e0e461af550d2fa5bc430acc18e9d54bc2534d9b47ad237b41110cc4b2960dc06176c52b462f91a156d8e8bf2fe8dd15b62d58bb1ea4c0f02587ac7 SHA512 e96fae770003fe6128043a0ddff3c0c7fd5eae457970de3af6d3c4f4da207502cfd78cc6ea96c3284543ba509625376e19ca386db3933c07c2346321f81bfe10 +DIST hydrus-482.tar.gz 40181613 BLAKE2B bdb98ae88efb9e83bda28d01dcdb624ce884682893e84087bfc99420e82ff12c1543f89a5015ac997596188a3b32fec9e5776f1c89fe1864f55d73ae52ca19d7 SHA512 c99a0ea60c0b3a565b57b4f4201eb6ff732ea2fb9f419d8b9e8170476bb230bdf0e474e5f82f909b4aca0a442fe89e47d4d0f58b0e722b3f309940d98664ac51 EBUILD hydrus-478.ebuild 4463 BLAKE2B b510bb557193669bc1d09a11ab66902f1f474878d8b740f9dff8746508264f225ad781f6e0058b0ef6d7fa2377da151734ff1cbae608e7587c46114b6c81bca5 SHA512 791eaac87779f9abe34fca92baad624b7c87dfa43fd1507cce6acad47c53e1acabe2f38e3e5cfba658ca5b3a013696db166fe66d332cb1ed63e69f3bd778cabd EBUILD hydrus-479.ebuild 4463 BLAKE2B b510bb557193669bc1d09a11ab66902f1f474878d8b740f9dff8746508264f225ad781f6e0058b0ef6d7fa2377da151734ff1cbae608e7587c46114b6c81bca5 SHA512 791eaac87779f9abe34fca92baad624b7c87dfa43fd1507cce6acad47c53e1acabe2f38e3e5cfba658ca5b3a013696db166fe66d332cb1ed63e69f3bd778cabd +EBUILD hydrus-481.ebuild 4463 BLAKE2B b510bb557193669bc1d09a11ab66902f1f474878d8b740f9dff8746508264f225ad781f6e0058b0ef6d7fa2377da151734ff1cbae608e7587c46114b6c81bca5 SHA512 791eaac87779f9abe34fca92baad624b7c87dfa43fd1507cce6acad47c53e1acabe2f38e3e5cfba658ca5b3a013696db166fe66d332cb1ed63e69f3bd778cabd +EBUILD hydrus-482.ebuild 4463 BLAKE2B b510bb557193669bc1d09a11ab66902f1f474878d8b740f9dff8746508264f225ad781f6e0058b0ef6d7fa2377da151734ff1cbae608e7587c46114b6c81bca5 SHA512 791eaac87779f9abe34fca92baad624b7c87dfa43fd1507cce6acad47c53e1acabe2f38e3e5cfba658ca5b3a013696db166fe66d332cb1ed63e69f3bd778cabd EBUILD hydrus-9999.ebuild 4463 BLAKE2B b510bb557193669bc1d09a11ab66902f1f474878d8b740f9dff8746508264f225ad781f6e0058b0ef6d7fa2377da151734ff1cbae608e7587c46114b6c81bca5 SHA512 791eaac87779f9abe34fca92baad624b7c87dfa43fd1507cce6acad47c53e1acabe2f38e3e5cfba658ca5b3a013696db166fe66d332cb1ed63e69f3bd778cabd MISC metadata.xml 751 BLAKE2B 05dfcd30440ca7bc1375206469123c5bb93ff7fbb7612191faabee7abe87334bfb4f25db3291cd3a989264516c315eeb489eaac2c83c95b2436446966ba27880 SHA512 f2e7c839e4567355bb6ff1cdbf1355ab7a2fbf166a3f87ac7a8af92fc80efa7833010376317a38e2594a203be66bfcb3e0df9dc7346ac3d37d8466bb0368b50e diff --git a/media-gfx/hydrus/hydrus-474.ebuild b/media-gfx/hydrus/hydrus-474.ebuild deleted file mode 100644 index f45dbc3ac8ef..000000000000 --- a/media-gfx/hydrus/hydrus-474.ebuild +++ /dev/null @@ -1,139 +0,0 @@ -# Copyright 1999-2022 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="test" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RESTRICT="!test? ( test )" - -# RDEPEND is sorted as such: -# - No specific requirements -# - Specific version or slot -RDEPEND=" - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/chardet[${PYTHON_USEDEP}] - dev-python/cloudscraper[${PYTHON_USEDEP}] - dev-python/html5lib[${PYTHON_USEDEP}] - dev-python/lxml[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/pillow[${PYTHON_USEDEP},lcms] - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/pyopenssl[${PYTHON_USEDEP}] - dev-python/pyside2[widgets,gui,${PYTHON_USEDEP}] - dev-python/python-mpv[${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}] - media-video/ffmpeg - media-video/mpv[libmpv,${PYTHON_USEDEP}] - - >=dev-python/QtPy-1.9.0-r4[pyside2,${PYTHON_USEDEP}] - dev-python/beautifulsoup4[${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" /opt/hydrus/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 "automatic port forwarding support" "net-libs/miniupnpc" - optfeature "bandwidth charts support" "dev-python/pyside2[charts]" - optfeature "memory compression in the client" "dev-python/lz4" - optfeature "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/PySocks" -} diff --git a/media-gfx/hydrus/hydrus-476.ebuild b/media-gfx/hydrus/hydrus-476.ebuild deleted file mode 100644 index 74762f9de40f..000000000000 --- a/media-gfx/hydrus/hydrus-476.ebuild +++ /dev/null @@ -1,146 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{8..9} ) -PYTHON_REQ_USE="sqlite" - -DOCS_BUILDER=mkdocs -DOCS_DEPEND="dev-python/mkdocs-material" - -inherit python-single-r1 desktop docs 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="test" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RESTRICT="!test? ( test )" - -# RDEPEND is sorted as such: -# - No specific requirements -# - Specific version or slot -RDEPEND=" - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/chardet[${PYTHON_USEDEP}] - dev-python/cloudscraper[${PYTHON_USEDEP}] - dev-python/html5lib[${PYTHON_USEDEP}] - dev-python/lxml[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/pillow[${PYTHON_USEDEP},lcms] - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/pyopenssl[${PYTHON_USEDEP}] - dev-python/pyside2[widgets,gui,${PYTHON_USEDEP}] - dev-python/python-mpv[${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}] - media-video/ffmpeg - media-video/mpv[libmpv,${PYTHON_USEDEP}] - - >=dev-python/QtPy-1.9.0-r4[pyside2,${PYTHON_USEDEP}] - dev-python/beautifulsoup4[${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 - # Python requirements files, not needed - rm requirements_*.txt || die -} - -src_compile() { - python_optimize "${S}" - docs_compile -} - -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 help_my_client_will_not_boot.txt db/) - einstalldocs - - # Files only needed for testing - rm test.py hydrus/hydrus_test.py || die - rm -r hydrus/test/ static/testing/ || die - - # ${DOCS[@]} files are copied into doc - # ${S}/docs/ is the markdown source code for documentation - # .gitignore/.github files aren't needed for the program to work, same with mkdocs files - rm -r "${DOCS[@]}" "${S}/docs/" .gitignore .github/ mkdocs.yml mkdocs-gh-pages.yml || die - if use doc; then - # ${S}/_build = ${DOCS_OUTDIR}/.. , these have already been copied, remove before installation - rm -r "${S}/_build" || die - # The program expects to find documentation here, so add a symlink to doc - dosym "${doc}/html" /opt/hydrus/help - fi - - 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 "automatic port forwarding support" "net-libs/miniupnpc" - optfeature "bandwidth charts support" "dev-python/pyside2[charts]" - optfeature "memory compression in the client" "dev-python/lz4" - optfeature "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/PySocks" -} diff --git a/media-gfx/hydrus/hydrus-481.ebuild b/media-gfx/hydrus/hydrus-481.ebuild new file mode 100644 index 000000000000..eeb2fa504f8a --- /dev/null +++ b/media-gfx/hydrus/hydrus-481.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..9} ) +PYTHON_REQ_USE="sqlite" + +DOCS_BUILDER=mkdocs +DOCS_DEPEND="dev-python/mkdocs-material" + +inherit python-single-r1 desktop docs 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="test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RESTRICT="!test? ( test )" + +# RDEPEND is sorted as such: +# - No specific requirements +# - Specific version or slot +RDEPEND=" + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/cbor2[${PYTHON_USEDEP}] + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/cloudscraper[${PYTHON_USEDEP}] + dev-python/html5lib[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP},lcms] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/pyside2[widgets,gui,${PYTHON_USEDEP}] + dev-python/python-mpv[${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}] + media-video/ffmpeg + media-video/mpv[libmpv,${PYTHON_USEDEP}] + + >=dev-python/QtPy-1.9.0-r4[pyside2,${PYTHON_USEDEP}] + dev-python/beautifulsoup4[${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 + # Python requirements files, not needed + rm requirements_*.txt || die +} + +src_compile() { + python_optimize "${S}" + docs_compile +} + +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 help_my_client_will_not_boot.txt db/) + einstalldocs + + # Files only needed for testing + rm test.py hydrus/hydrus_test.py || die + rm -r hydrus/test/ static/testing/ || die + + # ${DOCS[@]} files are copied into doc + # ${S}/docs/ is the markdown source code for documentation + # .gitignore/.github files aren't needed for the program to work, same with mkdocs files + rm -r "${DOCS[@]}" "${S}/docs/" .gitignore .github/ mkdocs.yml mkdocs-gh-pages.yml || die + if use doc; then + # ${S}/_build = ${DOCS_OUTDIR}/.. , these have already been copied, remove before installation + rm -r "${S}/_build" || die + # The program expects to find documentation here, so add a symlink to doc + dosym "${doc}/html" /opt/hydrus/help + fi + + 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 "automatic port forwarding support" "net-libs/miniupnpc" + optfeature "bandwidth charts support" "dev-python/pyside2[charts]" + optfeature "memory compression in the client" "dev-python/lz4" + optfeature "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/PySocks" +} diff --git a/media-gfx/hydrus/hydrus-482.ebuild b/media-gfx/hydrus/hydrus-482.ebuild new file mode 100644 index 000000000000..eeb2fa504f8a --- /dev/null +++ b/media-gfx/hydrus/hydrus-482.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..9} ) +PYTHON_REQ_USE="sqlite" + +DOCS_BUILDER=mkdocs +DOCS_DEPEND="dev-python/mkdocs-material" + +inherit python-single-r1 desktop docs 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="test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RESTRICT="!test? ( test )" + +# RDEPEND is sorted as such: +# - No specific requirements +# - Specific version or slot +RDEPEND=" + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/cbor2[${PYTHON_USEDEP}] + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/cloudscraper[${PYTHON_USEDEP}] + dev-python/html5lib[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP},lcms] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/pyside2[widgets,gui,${PYTHON_USEDEP}] + dev-python/python-mpv[${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}] + media-video/ffmpeg + media-video/mpv[libmpv,${PYTHON_USEDEP}] + + >=dev-python/QtPy-1.9.0-r4[pyside2,${PYTHON_USEDEP}] + dev-python/beautifulsoup4[${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 + # Python requirements files, not needed + rm requirements_*.txt || die +} + +src_compile() { + python_optimize "${S}" + docs_compile +} + +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 help_my_client_will_not_boot.txt db/) + einstalldocs + + # Files only needed for testing + rm test.py hydrus/hydrus_test.py || die + rm -r hydrus/test/ static/testing/ || die + + # ${DOCS[@]} files are copied into doc + # ${S}/docs/ is the markdown source code for documentation + # .gitignore/.github files aren't needed for the program to work, same with mkdocs files + rm -r "${DOCS[@]}" "${S}/docs/" .gitignore .github/ mkdocs.yml mkdocs-gh-pages.yml || die + if use doc; then + # ${S}/_build = ${DOCS_OUTDIR}/.. , these have already been copied, remove before installation + rm -r "${S}/_build" || die + # The program expects to find documentation here, so add a symlink to doc + dosym "${doc}/html" /opt/hydrus/help + fi + + 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 "automatic port forwarding support" "net-libs/miniupnpc" + optfeature "bandwidth charts support" "dev-python/pyside2[charts]" + optfeature "memory compression in the client" "dev-python/lz4" + optfeature "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/PySocks" +} -- cgit v1.2.3