diff options
-rw-r--r-- | net-nntp/sabnzbd/Manifest | 1 | ||||
-rw-r--r-- | net-nntp/sabnzbd/sabnzbd-4.2.2.ebuild | 164 |
2 files changed, 165 insertions, 0 deletions
diff --git a/net-nntp/sabnzbd/Manifest b/net-nntp/sabnzbd/Manifest index 52eb1b3920ae..fbc3d461eed8 100644 --- a/net-nntp/sabnzbd/Manifest +++ b/net-nntp/sabnzbd/Manifest @@ -1,3 +1,4 @@ DIST SABnzbd-4.0.2-src.tar.gz 5081392 BLAKE2B 1740aad2a5b248b22dda42cb22b740c54d792e726bec27c832ffc8919d863f1cec26aaff4e789e0dd8ae3647332f9aa9b26ca5422ce7baf955f8c37ac8c22142 SHA512 2f0d2297449ecbf8ddbb7a571f6dfa6717c5b118389a67e46072f25daca16d2983827e8f17e1cf016fbf2985fa5594dbafc62cf13601607dc2b4d9849098982b DIST SABnzbd-4.0.3-src.tar.gz 5084243 BLAKE2B ad7787cb4dd0bd2fca6cb0a69f395ff0cdffcaaa09ae05a1ee44b809e26ba1879ae018fdb94b7d468aac433af41d57ea36443aa8b12145a792557c3be239ae15 SHA512 5b35575d5be0942a632ecd9226b80fdcf865f94350d756c5265ea9aad587a3b4f907cd5ba1a6f3366b6b0e9dd58221268647c14c8e41f58ebb9e8a3e3ac9031d DIST SABnzbd-4.2.1-src.tar.gz 5075716 BLAKE2B e4248a7eac3f97b1ba3ba69a56cef8f5e37c9797603f83a1ecd37f85b56f72b209b2caa3b00c5163c50dfb3de20ea5148f5a2f3c029d7f2aff8239aa9c2d35fe SHA512 08521d491f8995698dd92b972df9491c0d1821871322cba63812f7655d60fa71b9f1a6c6691635882fa3214d34d255c33c17d1bf0164a5f54856a5caa0a81dc5 +DIST SABnzbd-4.2.2-src.tar.gz 5096168 BLAKE2B 1768ebc6bd26a61724f3efefe83ea9c7e4245880b914b6da8fd27be15270cf9d2c9382693bbbcc8bb2c92588f815d8a6dbee14dbe70bb7ec4281ea056c5b9ed0 SHA512 4979b3e747c15f85b5c62edd2d3b6b7e01889c88d1a5645366ed6c058eb7f3bb31bcb532fb2b96c475fa4a769d6ad86a2052f275cdd71f3422d56e6af4386157 diff --git a/net-nntp/sabnzbd/sabnzbd-4.2.2.ebuild b/net-nntp/sabnzbd/sabnzbd-4.2.2.ebuild new file mode 100644 index 000000000000..a2e984203831 --- /dev/null +++ b/net-nntp/sabnzbd/sabnzbd-4.2.2.ebuild @@ -0,0 +1,164 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="sqlite" + +inherit optfeature python-single-r1 systemd + +MY_PV="${PV/_alpha/Alpha}" +MY_PV="${MY_PV/_beta/Beta}" +MY_PV="${MY_PV/_rc/RC}" + +MY_P="SABnzbd-${MY_PV}" + +DESCRIPTION="Binary newsgrabber with web-interface" +HOMEPAGE="https://sabnzbd.org/" +SRC_URI="https://github.com/sabnzbd/sabnzbd/releases/download/${MY_PV}/${MY_P}-src.tar.gz" +S="${WORKDIR}/${MY_P}" + +# Sabnzbd is GPL-2 but bundles software with the following licenses. +LICENSE="GPL-2 BSD LGPL-2 MIT BSD-1" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DEPEND=" + acct-user/sabnzbd + acct-group/sabnzbd + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/cheetah3[${PYTHON_USEDEP}] + dev-python/cherrypy[${PYTHON_USEDEP}] + dev-python/configobj[${PYTHON_USEDEP}] + dev-python/cryptography[${PYTHON_USEDEP}] + >=dev-python/feedparser-6.0.11[${PYTHON_USEDEP}] + >=dev-python/guessit-3.7.1[${PYTHON_USEDEP}] + dev-python/notify2[${PYTHON_USEDEP}] + dev-python/portend[${PYTHON_USEDEP}] + dev-python/puremagic[${PYTHON_USEDEP}] + ~dev-python/sabctools-8.1.0[${PYTHON_USEDEP}] + ') +" +RDEPEND=" + ${DEPEND} + || ( + >=app-arch/par2cmdline-0.8 + >=app-arch/par2cmdline-turbo-1.1.0 + ) + net-misc/wget +" +BDEPEND=" + test? ( + $(python_gen_cond_dep ' + dev-python/flaky[${PYTHON_USEDEP}] + >=dev-python/lxml-4.5.0[${PYTHON_USEDEP}] + dev-python/pyfakefs[${PYTHON_USEDEP}] + dev-python/pytest-httpbin[${PYTHON_USEDEP}] + dev-python/pytest-httpserver[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/selenium[${PYTHON_USEDEP}] + dev-python/tavalidate[${PYTHON_USEDEP}] + >=dev-python/tavern-2[${PYTHON_USEDEP}] + dev-python/werkzeug[${PYTHON_USEDEP}] + dev-python/xmltodict[${PYTHON_USEDEP}] + ') + app-arch/p7zip + app-arch/unrar + app-arch/unzip + www-apps/chromedriver-bin + ) +" + +src_test() { + local EPYTEST_IGNORE=( + # network sandbox + tests/test_getipaddress.py + tests/test_rss.py + tests/test_urlgrabber.py + tests/test_utils/test_happyeyeballs.py + tests/test_utils/test_internetspeed.py + ) + local EPYTEST_DESELECT=( + # network sandbox + 'tests/test_cfg.py::TestValidators::test_validate_host' + 'tests/test_consistency.py::TestWiki' + 'tests/test_newswrapper.py::TestNewsWrapper' + 'tests/test_happyeyeballs.py::TestHappyEyeballs' + 'tests/test_internetspeed.py::TestInternetSpeed' + # Doesn't work, complains mocker missing even when pytest-mock installed + 'tests/test_dirscanner.py::TestDirScanner' + # Just plain fails + 'tests/test_newsunpack.py::TestPar2Repair::test_basic' + # Chromedriver tests don't want to behave in portage + 'tests/test_functional_config.py::TestBasicPages::test_base_pages' + 'tests/test_functional_config.py::TestBasicPages::test_base_submit_pages' + 'tests/test_functional_config.py::TestConfigLogin::test_login' + 'tests/test_functional_config.py::TestConfigCategories::test_page' + 'tests/test_functional_config.py::TestConfigRSS::test_rss_basic_flow' + 'tests/test_functional_config.py::TestConfigServers::test_add_and_remove_server' + 'tests/test_functional_downloads.py::TestDownloadFlow::test_download_basic_rar5' + 'tests/test_functional_downloads.py::TestDownloadFlow::test_download_zip' + 'tests/test_functional_downloads.py::TestDownloadFlow::test_download_7zip' + 'tests/test_functional_downloads.py::TestDownloadFlow::test_download_passworded' + 'tests/test_functional_downloads.py::TestDownloadFlow::test_download_fully_obfuscated' + 'tests/test_functional_downloads.py::TestDownloadFlow::test_download_unicode_rar' + 'tests/test_functional_misc.py::TestShowLogging::test_showlog' + 'tests/test_functional_misc.py::TestQueueRepair::test_queue_repair' + 'tests/test_functional_misc.py::TestDaemonizing::test_daemonizing' + 'tests/test_functional_sorting.py::TestDownloadSorting' + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=tavern._core.pytest + epytest -s +} + +src_install() { + insinto /usr/share/${PN} + doins -r email icons interfaces locale po sabnzbd scripts tools + + exeinto /usr/share/${PN} + doexe SABnzbd.py + + python_fix_shebang "${ED}"/usr/share/${PN} + python_optimize "${ED}"/usr/share/${PN} + + newinitd "${FILESDIR}"/${PN}-r1.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + + diropts -o ${PN} -g ${PN} + dodir /etc/${PN} + keepdir /var/log/${PN} + + insinto "/etc/${PN}" + insopts -m 0600 -o "${PN}" -g "${PN}" + newins "${FILESDIR}"/${PN}-r1.ini ${PN}.ini + + dodoc ISSUES.txt README.mkd + + systemd_newunit "${FILESDIR}"/sabnzbd_at.service 'sabnzbd@.service' +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + # This is a new installation + einfo "Default directory: /var/lib/${PN}" + einfo + einfo "To add a user to the sabnzbd group so it can edit SABnzbd+ files, run:" + einfo + einfo " usermod -a -G sabnzbd <user>" + einfo + einfo "By default, SABnzbd will listen on TCP port 8080." + fi + + optfeature "7z archive support" app-arch/p7zip + optfeature "rar archive support" app-arch/unrar app-arch/rar + optfeature "zip archive support" app-arch/unzip +} |