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)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id E542015827B for ; Sat, 30 Aug 2025 01:26:55 +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) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id CCF32340D91 for ; Sat, 30 Aug 2025 01:26:55 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id DAD51110565; Sat, 30 Aug 2025 01:26:48 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id D1377110565 for ; Sat, 30 Aug 2025 01:26:48 +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) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 7D5C7340D1B for ; Sat, 30 Aug 2025 01:26:48 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 1F7613509 for ; Sat, 30 Aug 2025 01:26:47 +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: <1756517105.e744c3a80238f8e0d239f7058348aa41c372e75f.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.3.ebuild X-VCS-Directories: net-nntp/sabnzbd/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: e744c3a80238f8e0d239f7058348aa41c372e75f X-VCS-Branch: master Date: Sat, 30 Aug 2025 01:26:47 +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: cbaba416-6094-40e6-9277-bfa7d182ce04 X-Archives-Hash: 169adc525243a2946046e01748269b29 commit: e744c3a80238f8e0d239f7058348aa41c372e75f Author: Joe Kappus wt gd> AuthorDate: Wed Aug 27 21:39:22 2025 +0000 Commit: Sam James gentoo org> CommitDate: Sat Aug 30 01:25:05 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e744c3a8 net-nntp/sabnzbd: add 4.5.3 Signed-off-by: Joe Kappus wt.gd> Part-of: https://github.com/gentoo/gentoo/pull/43588 Closes: https://github.com/gentoo/gentoo/pull/43588 Signed-off-by: Sam James gentoo.org> net-nntp/sabnzbd/Manifest | 1 + net-nntp/sabnzbd/sabnzbd-4.5.3.ebuild | 177 ++++++++++++++++++++++++++++++++++ 2 files changed, 178 insertions(+) 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 " + 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 +}