From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id BD4261584AD for ; Tue, 29 Apr 2025 21:42:14 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id A5F5834076D for ; Tue, 29 Apr 2025 21:42:14 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id A377F110328; Tue, 29 Apr 2025 21:42:13 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 9A622110328 for ; Tue, 29 Apr 2025 21:42:13 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 46C8C340C57 for ; Tue, 29 Apr 2025 21:42:13 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 9F9E9C3A for ; Tue, 29 Apr 2025 21:42:11 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1745962904.4da9d070934fd9cc13bd811597fec37e72e9b3e7.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: net-nntp/sabnzbd/ X-VCS-Repository: repo/gentoo X-VCS-Files: net-nntp/sabnzbd/Manifest net-nntp/sabnzbd/sabnzbd-4.5.1.ebuild X-VCS-Directories: net-nntp/sabnzbd/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 4da9d070934fd9cc13bd811597fec37e72e9b3e7 X-VCS-Branch: master Date: Tue, 29 Apr 2025 21:42:11 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: d09d721e-ca35-4b1e-9404-08b48cf06a8e X-Archives-Hash: c912e114b0e44393204e736f040a26a3 commit: 4da9d070934fd9cc13bd811597fec37e72e9b3e7 Author: Joe Kappus wt gd> AuthorDate: Tue Apr 1 05:00:21 2025 +0000 Commit: Sam James gentoo org> CommitDate: Tue Apr 29 21:41:44 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4da9d070 net-nntp/sabnzbd: add 4.5.1 Signed-off-by: Joe Kappus wt.gd> Part-of: https://github.com/gentoo/gentoo/pull/41412 Closes: https://github.com/gentoo/gentoo/pull/41412 Signed-off-by: Sam James gentoo.org> net-nntp/sabnzbd/Manifest | 1 + net-nntp/sabnzbd/sabnzbd-4.5.1.ebuild | 176 ++++++++++++++++++++++++++++++++++ 2 files changed, 177 insertions(+) diff --git a/net-nntp/sabnzbd/Manifest b/net-nntp/sabnzbd/Manifest index cffcc27f921e..e5a977350dd3 100644 --- a/net-nntp/sabnzbd/Manifest +++ b/net-nntp/sabnzbd/Manifest @@ -1,2 +1,3 @@ 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 +DIST SABnzbd-4.5.1-src.tar.gz 5180055 BLAKE2B 38fa354bc4f713596ed5304aa7110466d8be69f6576934e50600c686415fe20da20a04b2e043dabfd3ec354268ef7d15629dd0c41ca9c8cb36449889a762df69 SHA512 d9acd9632de34060c4679ed1ccecfac58c227ca8065e168131bed725ddccd60082aff384117ad43537b45957a48b641d1ad9bfed2f4c00a6a2aab9175e5ab3ae diff --git a/net-nntp/sabnzbd/sabnzbd-4.5.1.ebuild b/net-nntp/sabnzbd/sabnzbd-4.5.1.ebuild new file mode 100644 index 000000000000..b8908b3fe72b --- /dev/null +++ b/net-nntp/sabnzbd/sabnzbd-4.5.1.ebuild @@ -0,0 +1,176 @@ +# 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' + # 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 " + 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 +}