forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Ekaterina Vaartis <[email protected]> Closes: gentoo#22751 Signed-off-by: Sam James <[email protected]>
- Loading branch information
1 parent
d56c5ae
commit 9954dbb
Showing
2 changed files
with
140 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
DIST hydrus-456.tar.gz 38899003 BLAKE2B 03e575034f2b4234c7f9ed3d4da59a3f94e9e2871440548b192b0898fa7e5d73bf7ab07f91a380db6e884449d6d86df9aed313238f28e1b3c4d7ae4a8f7f00f4 SHA512 de16874aa714a7e3640a9673a1445049256a2a05122f57a8646fd375a295f229c8b262e8c7862bbc7257d8db84a9e4ddf03cf841af307bed30e174e8f159508a | ||
DIST hydrus-457.tar.gz 38915780 BLAKE2B 56506ba2098198f42593a061a79f7f6521597f057d87c07eb66b3a213111a46caaf1e167e9f49deaf3d3ffe6259105b6d19cca8fb8fbd0d1c708d796eea63394 SHA512 2a653f69928f4b65cdde332e7be52861527237a284a61ddd0536b6e1db40f91424e78953910dacf494d947a57086cbfbf9588fe638143f386910fb1d7ba1e484 | ||
DIST hydrus-458.tar.gz 38922758 BLAKE2B 3339e44498a606664cd54357cf285f96eb4f146673d9991b9b0fb82bc961b31f4f47c9f27616251b610c4e28664a6b4753aa99713e50d93e79121270796b1408 SHA512 0f2c419012c683c163fd180662eb9d2eb5610a6d87c0cbd42be91dbdf6101e747ba0c6238d1574084a30d1da1c7546a79b0e648fe55420c510d47ab26fad28c3 | ||
DIST hydrus-459.3.tar.gz 38933609 BLAKE2B feb1888d63dc8b6df7f070115c541c2863442ba46d8cd47648ecb35c49cf8181879760197b200f2b968eca5d51a40522d7fdb8434c19b7c6e37d0ae08b0dce74 SHA512 45bcb9b6ad7ae529b980b6759ececaf4175750e775b9f01bae754eb25321d46e0dc4d7fd2723cd43a53aff2d37433a5fdde691f6f7c6e46fb35c8dd216f88157 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,139 @@ | ||
# Copyright 1999-2021 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
|
||
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}] | ||
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" | ||
} |