Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/hydrus/
Date: Wed, 20 Oct 2021 02:42:39
Message-Id: 1634695799.f1ccfcd8e87d6eb02afb2cb4faf0cd1002b4a7c8.sam@gentoo
1 commit: f1ccfcd8e87d6eb02afb2cb4faf0cd1002b4a7c8
2 Author: Ekaterina Vaartis <vaartis <AT> kotobank <DOT> ch>
3 AuthorDate: Sun Oct 10 09:22:22 2021 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Wed Oct 20 02:09:59 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f1ccfcd8
7
8 media-gfx/hydrus: Add 457
9
10 Signed-off-by: Ekaterina Vaartis <vaartis <AT> kotobank.ch>
11 Signed-off-by: Sam James <sam <AT> gentoo.org>
12
13 media-gfx/hydrus/Manifest | 1 +
14 media-gfx/hydrus/hydrus-457.ebuild | 139 +++++++++++++++++++++++++++++++++++++
15 2 files changed, 140 insertions(+)
16
17 diff --git a/media-gfx/hydrus/Manifest b/media-gfx/hydrus/Manifest
18 index 7cb52849707..adfc45dc575 100644
19 --- a/media-gfx/hydrus/Manifest
20 +++ b/media-gfx/hydrus/Manifest
21 @@ -1,3 +1,4 @@
22 DIST hydrus-453.tar.gz 38880317 BLAKE2B 93b29d3c973aa583cb6dd32abf94df199aefa9c49137b8137e144a891fbdf9db1cdfb0ec4d378d35e0a07d488a94828bb261c26de3b61b5460d208921c56d194 SHA512 6da364c6f9de9f838d9b3dcc02107bd3d089fde420f4e04086f094e47246e6949c27791a816dc99659db77acad3ca8f7578dc16749eb8b13cfafd7b6c044f5a1
23 DIST hydrus-454.tar.gz 38886940 BLAKE2B 38fe5b3483c13dfbf82e636be1e743bb6af6f340a86d5ea69f0e71f7452cd3506b076cf4d6f460e0a1896f0839be7494028a0cbb5f567001af025cd436cf5c45 SHA512 87971c45bc11e7eaba2e08255ca23600406124bd73d6d8d4800ec67135a0d74b5ca7fc8a8a159dbdc89f70702760469c8d719de11f5bf943f7679978a790c456
24 DIST hydrus-456.tar.gz 38899003 BLAKE2B 03e575034f2b4234c7f9ed3d4da59a3f94e9e2871440548b192b0898fa7e5d73bf7ab07f91a380db6e884449d6d86df9aed313238f28e1b3c4d7ae4a8f7f00f4 SHA512 de16874aa714a7e3640a9673a1445049256a2a05122f57a8646fd375a295f229c8b262e8c7862bbc7257d8db84a9e4ddf03cf841af307bed30e174e8f159508a
25 +DIST hydrus-457.tar.gz 38915780 BLAKE2B 56506ba2098198f42593a061a79f7f6521597f057d87c07eb66b3a213111a46caaf1e167e9f49deaf3d3ffe6259105b6d19cca8fb8fbd0d1c708d796eea63394 SHA512 2a653f69928f4b65cdde332e7be52861527237a284a61ddd0536b6e1db40f91424e78953910dacf494d947a57086cbfbf9588fe638143f386910fb1d7ba1e484
26
27 diff --git a/media-gfx/hydrus/hydrus-457.ebuild b/media-gfx/hydrus/hydrus-457.ebuild
28 new file mode 100644
29 index 00000000000..0915a2ae543
30 --- /dev/null
31 +++ b/media-gfx/hydrus/hydrus-457.ebuild
32 @@ -0,0 +1,139 @@
33 +# Copyright 1999-2021 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=7
37 +
38 +PYTHON_COMPAT=( python3_{8..9} )
39 +PYTHON_REQ_USE="sqlite"
40 +
41 +inherit python-single-r1 desktop optfeature
42 +
43 +DESCRIPTION="A booru-like media organizer for the desktop"
44 +HOMEPAGE="https://hydrusnetwork.github.io/hydrus/ https://github.com/hydrusnetwork/hydrus"
45 +
46 +if [[ "${PV}" == "9999" ]]; then
47 + inherit git-r3
48 +
49 + EGIT_REPO_URI="https://github.com/hydrusnetwork/hydrus.git"
50 +else
51 + SRC_URI="https://github.com/hydrusnetwork/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
52 +
53 + KEYWORDS="~amd64"
54 +fi
55 +
56 +# hydrus itself is WTFPL
57 +# icons included are CC-BY-2.5
58 +LICENSE="WTFPL-2 CC-BY-2.5"
59 +SLOT="0"
60 +IUSE="test"
61 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
62 +
63 +RESTRICT="!test? ( test )"
64 +
65 +# RDEPEND is sorted as such:
66 +# - No specific requirements
67 +# - Specific version or slot
68 +RDEPEND="
69 + ${PYTHON_DEPS}
70 + $(python_gen_cond_dep '
71 + dev-python/chardet[${PYTHON_USEDEP}]
72 + dev-python/cloudscraper[${PYTHON_USEDEP}]
73 + dev-python/html5lib[${PYTHON_USEDEP}]
74 + dev-python/lxml[${PYTHON_USEDEP}]
75 + dev-python/numpy[${PYTHON_USEDEP}]
76 + dev-python/pillow[${PYTHON_USEDEP}]
77 + dev-python/psutil[${PYTHON_USEDEP}]
78 + dev-python/pyopenssl[${PYTHON_USEDEP}]
79 + dev-python/pyside2[widgets,gui,${PYTHON_USEDEP}]
80 + dev-python/python-mpv[${PYTHON_USEDEP}]
81 + dev-python/pyyaml[${PYTHON_USEDEP}]
82 + dev-python/requests[${PYTHON_USEDEP}]
83 + dev-python/send2trash[${PYTHON_USEDEP}]
84 + dev-python/service_identity[${PYTHON_USEDEP}]
85 + dev-python/six[${PYTHON_USEDEP}]
86 + dev-python/twisted[${PYTHON_USEDEP}]
87 + media-libs/opencv[python,png,jpeg,${PYTHON_USEDEP}]
88 + media-video/ffmpeg
89 + media-video/mpv[libmpv,${PYTHON_USEDEP}]
90 +
91 + >=dev-python/QtPy-1.9.0-r4[pyside2,${PYTHON_USEDEP}]
92 + dev-python/beautifulsoup4[${PYTHON_USEDEP}]
93 + ')
94 +"
95 +BDEPEND="
96 + ${RDEPEND}
97 + $(python_gen_cond_dep '
98 + test? (
99 + dev-python/httmock[${PYTHON_USEDEP}]
100 + dev-python/mock[${PYTHON_USEDEP}]
101 + dev-python/nose[${PYTHON_USEDEP}]
102 + )
103 + ')
104 +"
105 +
106 +PATCHES=(
107 + "${FILESDIR}/userpath-in-local-share.patch"
108 +)
109 +
110 +src_prepare() {
111 + default
112 +
113 + # Contains pre-built binaries for other systems and a broken swf renderer for linux
114 + rm -r bin/ || die
115 + # Build files used for CI, not actually needed
116 + rm -r static/build_files || die
117 + # Duplicate license file, not needed
118 + rm license.txt || die
119 + # Python requirements files, not needed
120 + rm requirements_*.txt || die
121 +}
122 +
123 +src_compile() {
124 + python_optimize "${S}"
125 +}
126 +
127 +src_test() {
128 + # The tests use unittest, but are run with a custom runner script.
129 + # QT_QPA_PLATFORM is required to make them run without X
130 + local -x QT_QPA_PLATFORM=offscreen
131 + "${EPYTHON}" "${S}/test.py" || die "Tests failed"
132 +}
133 +
134 +src_install() {
135 + local doc="${EPREFIX}/usr/share/doc/${PF}"
136 + elog "Hydrus includes an excellent manual, that can either be viewed at"
137 + elog "${doc}/html/help/index.html"
138 + elog "or accessed through the hydrus help menu."
139 +
140 + mv "help my client will not boot.txt" "help_my_client_will_not_boot.txt" || die
141 +
142 + local DOCS=(COPYING README.md Readme.txt help_my_client_will_not_boot.txt db/)
143 + local HTML_DOCS=("${S}"/help/)
144 + einstalldocs
145 +
146 + # Files only needed for testing
147 + rm test.py hydrus/hydrus_test.py || die
148 + rm -r hydrus/test/ static/testing/ || die
149 +
150 + # These files are copied into doc
151 + rm -r "${DOCS[@]}" "${HTML_DOCS[@]}" || die
152 + # The program expects to find documentation here, so add a symlink to doc
153 + dosym "${doc}/html/help" /opt/hydrus/help
154 +
155 + insinto /opt/hydrus
156 + doins -r "${S}"/.
157 +
158 + exeinto /usr/bin
159 + python_newexe - hydrus-server < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-server" || die)
160 + python_newexe - hydrus-client < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-client" || die)
161 +
162 + make_desktop_entry "hydrus-client" "Hydrus Client" "/opt/hydrus/static/hydrus_non-transparent.png" \
163 + "AudioVideo;FileTools;Graphics;Network;"
164 +}
165 +
166 +pkg_postinst() {
167 + optfeature "automatic port forwarding support" "net-libs/miniupnpc"
168 + optfeature "bandwidth charts support" "dev-python/pyside2[charts]"
169 + optfeature "memory compression in the client" "dev-python/lz4"
170 + optfeature "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/PySocks"
171 +}