commit:     69d2fabf7f043096bb27614286c4ac70589edfaa
Author:     Joe Kappus <joe <AT> wt <DOT> gd>
AuthorDate: Fri Feb 21 19:33:52 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Mar 10 05:38:19 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69d2fabf

net-nntp/sabnzbd: add 4.4.1

Signed-off-by: Joe Kappus <joe <AT> wt.gd>
Closes: https://github.com/gentoo/gentoo/pull/40690
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-nntp/sabnzbd/Manifest             |   1 +
 net-nntp/sabnzbd/sabnzbd-4.4.1.ebuild | 180 ++++++++++++++++++++++++++++++++++
 2 files changed, 181 insertions(+)

diff --git a/net-nntp/sabnzbd/Manifest b/net-nntp/sabnzbd/Manifest
index 288af2d16f52..cffcc27f921e 100644
--- a/net-nntp/sabnzbd/Manifest
+++ b/net-nntp/sabnzbd/Manifest
@@ -1 +1,2 @@
 DIST SABnzbd-4.3.3-src.tar.gz 5108172 BLAKE2B 
668c2c13da3039f2ca34a2d67a1b06a6cb831a27b3bf997bdba674e1830a01837561b67a97d802a4ae2018085e7491489c87398801e0413e3006911620c4e324
 SHA512 
9b4bd35b1c44c9dc03a83319450b71043f4ffcf7c680e5d206ed51157d0fc69376065d0a5cec7dd144bfca9eaa1932bb7d2fc984dea5cacd8361c91ad701e8f2
+DIST SABnzbd-4.4.1-src.tar.gz 5114314 BLAKE2B 
2cd96635b35c23ca4a34534ac2133b33fe414ae5037ebaebd8d6cf57da38d04fd26ffcac52fe72f8893483328ffc229cdc3a98d293e5976453b33128eb743a70
 SHA512 
a0fa34bc6abafa0cd0aacf51ca4527c2fa2bf1a38e8e7fd03417a66621c54eae493cdcb03697bdd0e6c010f30f002290362b6aa0f62f4ef67693a80af5c39bbf

diff --git a/net-nntp/sabnzbd/sabnzbd-4.4.1.ebuild 
b/net-nntp/sabnzbd/sabnzbd-4.4.1.ebuild
new file mode 100644
index 000000000000..26f113c0fba0
--- /dev/null
+++ b/net-nntp/sabnzbd/sabnzbd-4.4.1.ebuild
@@ -0,0 +1,180 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+#dev-python/tavern needs py3.13 before incrementing
+PYTHON_COMPAT=( python3_{11..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/apprise-1.8.0[${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/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'
+               # 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::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'
+               # Bug https://bugs.gentoo.org/934331 fixed in 4.3.3.
+               'tests/test_sorting.py::TestSortingSorter'
+               # cryptography-43, https://bugs.gentoo.org/938453
+               
'tests/test_utils/test_cert_gen.py::TestCertGen::test_generate_key_custom[512-test_key.pem]'
+       )
+
+       # 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 '[email protected]'
+}
+
+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
+}

Reply via email to