summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Kappus <joe@wt.gd>2025-08-27 17:39:22 -0400
committerSam James <sam@gentoo.org>2025-08-30 02:25:05 +0100
commite744c3a80238f8e0d239f7058348aa41c372e75f (patch)
treeff3414f6fdf3b802bcda314d1f2eb82aefd28a42
parent1dfd571596d8d1a67300dede2c2b7d600cf1b606 (diff)
downloadgentoo-e744c3a80238f8e0d239f7058348aa41c372e75f.tar.gz
gentoo-e744c3a80238f8e0d239f7058348aa41c372e75f.tar.bz2
gentoo-e744c3a80238f8e0d239f7058348aa41c372e75f.zip
net-nntp/sabnzbd: add 4.5.3
Signed-off-by: Joe Kappus <joe@wt.gd> Part-of: https://github.com/gentoo/gentoo/pull/43588 Closes: https://github.com/gentoo/gentoo/pull/43588 Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--net-nntp/sabnzbd/Manifest1
-rw-r--r--net-nntp/sabnzbd/sabnzbd-4.5.3.ebuild177
2 files changed, 178 insertions, 0 deletions
diff --git a/net-nntp/sabnzbd/Manifest b/net-nntp/sabnzbd/Manifest
index 8b6be5f960bd..3e4e8dc893f9 100644
--- a/net-nntp/sabnzbd/Manifest
+++ b/net-nntp/sabnzbd/Manifest
@@ -1,2 +1,3 @@
DIST SABnzbd-4.5.1-src.tar.gz 5180055 BLAKE2B 38fa354bc4f713596ed5304aa7110466d8be69f6576934e50600c686415fe20da20a04b2e043dabfd3ec354268ef7d15629dd0c41ca9c8cb36449889a762df69 SHA512 d9acd9632de34060c4679ed1ccecfac58c227ca8065e168131bed725ddccd60082aff384117ad43537b45957a48b641d1ad9bfed2f4c00a6a2aab9175e5ab3ae
DIST SABnzbd-4.5.2-src.tar.gz 5231832 BLAKE2B 52eba6db0aed140c4d9b5f96ae93a0765f341080dc36e06fc30ddcfeb6fb7fe3ed4d764e9dba61d0e203cf1ae6e8081a45322acb690a57bb7d3fc0832251faa2 SHA512 76a30f0076e8713c6929727c2589b1e9aedf88fffd28c6b6d5b3ca84eb0274bfe8b64fe14c8ebef099515ffa7ffb44ab9df922ea03877e96e19551d11dd276b2
+DIST SABnzbd-4.5.3-src.tar.gz 5250826 BLAKE2B c88e79ec38c1b0a66f7edb546d7004463600bb42d2b0eef5cb525acd0963de4579ddff883cc9fc5e7e58e32b7c0acaf28a1d27f4f5fa01d7cf03c32b6dc4a084 SHA512 d8facf74a387b3cb79e690fbe28f61eebcdf13f9eeae9645a7d2e0b700e16d56e5a78d9ab75dd27626f903b6c7dc8343743850a0433fa6644cd45dcabfefb1dd
diff --git a/net-nntp/sabnzbd/sabnzbd-4.5.3.ebuild b/net-nntp/sabnzbd/sabnzbd-4.5.3.ebuild
new file mode 100644
index 000000000000..41dd48697e4c
--- /dev/null
+++ b/net-nntp/sabnzbd/sabnzbd-4.5.3.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+PYTHON_COMPAT=( python3_{11..13} )
+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/apprise-1.9.2[${PYTHON_USEDEP}]
+ dev-python/chardet[${PYTHON_USEDEP}]
+ >=dev-python/cheetah3-3.4.0[${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.8.0[${PYTHON_USEDEP}]
+ dev-python/notify2[${PYTHON_USEDEP}]
+ dev-python/portend[${PYTHON_USEDEP}]
+ dev-python/puremagic[${PYTHON_USEDEP}]
+ ~dev-python/sabctools-8.2.5[${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-5.6.0[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-httpbin[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${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/7zip
+ 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'
+ 'tests/test_get_addrinfo.py'
+ # Just plain fails
+ 'tests/test_newsunpack.py::TestPar2Repair::test_basic'
+ # Does not work with pytest-8.x
+ 'tests/test_functional_api.py'
+ # 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::TestExtractPot::test_extract_pot'
+ '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'
+ )
+
+ # The test suite is prone to being broken by random plugins that happen
+ # to be installed, so disable autoloading.
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # Use PYTEST_PLUGINS instead of args to 'epytest' because the test suite
+ # calls pytest itself and the args would get lost. To get the list of plugins,
+ # if stuck, comment out the AUTOLOAD line above, look at the list of loaded
+ # plugins at the top of the pytest output, then translate those into module names
+ # by e.g. checking equery f.
+ local -x PYTEST_PLUGINS=pytest_mock,tavern,tavern._core.pytest,pyfakefs.pytest_plugin,pytest_asyncio.plugin
+
+ 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/7zip
+ optfeature "rar archive support" app-arch/unrar app-arch/rar
+ optfeature "zip archive support" app-arch/unzip
+}