diff options
author | Louis Sautier <sbraz@gentoo.org> | 2024-07-14 16:33:45 +0200 |
---|---|---|
committer | Louis Sautier <sbraz@gentoo.org> | 2024-07-17 03:08:07 +0200 |
commit | 54e661770fa7c07f2e661accd98b71c4e73ad4fd (patch) | |
tree | e53b96b2750d2266c63d11df7ba65d15ae056fac /net-nntp | |
parent | dev-qt/qtbase: backport fix for CVE-2024-39936 (diff) | |
download | gentoo-54e661770fa7c07f2e661accd98b71c4e73ad4fd.tar.gz gentoo-54e661770fa7c07f2e661accd98b71c4e73ad4fd.tar.bz2 gentoo-54e661770fa7c07f2e661accd98b71c4e73ad4fd.zip |
net-nntp/nzbget: add 24.1 from new nzbget.com fork, #911617
https://github.com/nzbget/nzbget has been archived since 2022.
We initially thought of switching to https://github.com/nzbget-ng/nzbget
but https://github.com/nzbgetcom/nzbget seems more active.
Closes: https://bugs.gentoo.org/911617
Signed-off-by: Louis Sautier <sbraz@gentoo.org>
Diffstat (limited to 'net-nntp')
-rw-r--r-- | net-nntp/nzbget/Manifest | 1 | ||||
-rw-r--r-- | net-nntp/nzbget/files/nzbget-24.1-fix-allocah.patch | 39 | ||||
-rw-r--r-- | net-nntp/nzbget/metadata.xml | 5 | ||||
-rw-r--r-- | net-nntp/nzbget/nzbget-24.1.ebuild | 110 |
4 files changed, 152 insertions, 3 deletions
diff --git a/net-nntp/nzbget/Manifest b/net-nntp/nzbget/Manifest index c4912cd5ee43..059d1d38d04c 100644 --- a/net-nntp/nzbget/Manifest +++ b/net-nntp/nzbget/Manifest @@ -1 +1,2 @@ DIST nzbget-21.1.tar.gz 1988916 BLAKE2B 74298c5c7f3986831f36832a8ffe596543196b5b46500925de478bf11cab8e66fb36dee9458533a4194d82123765b29e37914463d72fd206e218b4875861001a SHA512 d8dc1ad324f675c5505e623049a14c022475267aa03dcd5d8fd6cf9ed3b776cc2776077b61d035e252937ea4b6bf8f90bd33e715cfd842d2e012615df3ffeafb +DIST nzbget-24.1.tar.gz 5365282 BLAKE2B 4fe260c361888d99eaf457a520b39560320b86d181cd12891b35962c9d4c6d773aeb389bf2254029fc58643bb5b04eb24917db9319f1a1068014feed08521dde SHA512 eb4a60cb3a529e2fb8242615e57758ceed615a573fabbe7170490e7af8c228edc90a096860ab7cf49ee85fc834cb8db30aa866c4f149679396139e54c166cf5c diff --git a/net-nntp/nzbget/files/nzbget-24.1-fix-allocah.patch b/net-nntp/nzbget/files/nzbget-24.1-fix-allocah.patch new file mode 100644 index 000000000000..335800118e31 --- /dev/null +++ b/net-nntp/nzbget/files/nzbget-24.1-fix-allocah.patch @@ -0,0 +1,39 @@ +https://github.com/nzbgetcom/nzbget/commit/412d9e5b732c1cf39aac266dcf97bf097f85bc58 + +From 412d9e5b732c1cf39aac266dcf97bf097f85bc58 Mon Sep 17 00:00:00 2001 +From: Louis Sautier <sautier.louis@gmail.com> +Date: Tue, 16 Jul 2024 05:41:47 +0200 +Subject: [PATCH] Fix: add missing HAVE_ALLOCA_H definition for regex (#308) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Without this, the build fails with: +``` +/var/tmp/portage/net-nntp/nzbget-24.1/work/nzbget-24.1/lib/regex/regex.c: In function ‘set_regs’: +/var/tmp/portage/net-nntp/nzbget-24.1/work/nzbget-24.1/lib/regex/regex.c:7701:39: error: implicit declaration of function ‘alloca’; did you mean ‘calloc’? [-Wimplicit-function-declaration] 7701 | prev_idx_match = (regmatch_t*)alloca(nmatch * sizeof(regmatch_t)); + | ^~~~~~ + | calloc +``` +--- a/cmake/config.h.in ++++ b/cmake/config.h.in +@@ -134,6 +134,9 @@ + /* Define to 1 if you have the <unistd.h> header file. */ + #cmakedefine HAVE_UNISTD_H @HAVE_UNISTD_H@ + ++/* Define to 1 if you have the <alloca.h> header file. */ ++#cmakedefine HAVE_ALLOCA_H @HAVE_ALLOCA_H@ ++ + /* Define to 1 if variadic macros are supported */ + #cmakedefine HAVE_VARIADIC_MACROS @HAVE_VARIADIC_MACROS@ + +--- a/cmake/posix.cmake ++++ b/cmake/posix.cmake +@@ -120,6 +120,7 @@ check_include_file(strings.h HAVE_STRINGS_H) + check_include_file(string.h HAVE_STRING_H) + check_include_file(sys/stat.h HAVE_SYS_STAT_H) + check_include_file(unistd.h HAVE_UNISTD_H) ++check_include_file(alloca.h HAVE_ALLOCA_H) + + check_library_exists(pthread pthread_create "" HAVE_PTHREAD_CREATE) + check_library_exists(socket socket "" HAVE_SOCKET) diff --git a/net-nntp/nzbget/metadata.xml b/net-nntp/nzbget/metadata.xml index 0a4610de225c..800bfff4a254 100644 --- a/net-nntp/nzbget/metadata.xml +++ b/net-nntp/nzbget/metadata.xml @@ -13,8 +13,7 @@ <flag name="parcheck">Enable support for checking PAR archives</flag> </use> <upstream> - <remote-id type="github">nzbget/nzbget</remote-id> - <bugs-to>https://github.com/nzbget/nzbget/issues</bugs-to> - <remote-id type="sourceforge">nzbget</remote-id> + <remote-id type="github">nzbgetcom/nzbget</remote-id> + <bugs-to>https://github.com/nzbgetcom/nzbget/issues</bugs-to> </upstream> </pkgmetadata> diff --git a/net-nntp/nzbget/nzbget-24.1.ebuild b/net-nntp/nzbget/nzbget-24.1.ebuild new file mode 100644 index 000000000000..a2fbf9d1ad90 --- /dev/null +++ b/net-nntp/nzbget/nzbget-24.1.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake systemd + +DESCRIPTION="A command-line based binary newsgrabber supporting .nzb files" +HOMEPAGE="https://nzbget.com/" +SRC_URI="https://github.com/nzbgetcom/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86" +IUSE="gnutls ncurses +parcheck ssl test zlib" +RESTRICT="!test? ( test )" + +DEPEND=" + dev-libs/boost:= + dev-libs/libxml2:= + ncurses? ( sys-libs/ncurses:0= ) + ssl? ( + gnutls? ( + net-libs/gnutls:= + dev-libs/nettle:= + ) + !gnutls? ( dev-libs/openssl:0=[-bindist(-)] ) + ) + zlib? ( sys-libs/zlib:= )" +RDEPEND=" + ${DEPEND} + acct-user/nzbget + acct-group/nzbget +" +BDEPEND=" + test? ( + || ( + app-arch/rar + app-arch/unrar + ) + ) + virtual/pkgconfig +" + +DOCS=( ChangeLog.md README.md nzbget.conf ) + +PATCHES=( + "${FILESDIR}/${P}-fix-allocah.patch" +) + +src_prepare() { + # Do not install a configuration file in /usr/etc + sed -i '\:install(FILES ${CMAKE_BINARY_DIR}/nzbget.conf DESTINATION ${CMAKE_INSTALL_PREFIX}/etc):d' cmake/install.cmake || die + cmake_src_prepare + + sed -i 's:^ScriptDir=.*:ScriptDir=/usr/share/nzbget/ppscripts:' nzbget.conf || die + + sed \ + -e 's:^MainDir=.*:MainDir=/var/lib/nzbget:' \ + -e 's:^LogFile=.*:LogFile=/var/log/nzbget/nzbget.log:' \ + -e 's:^WebDir=.*:WebDir=/usr/share/nzbget/webui:' \ + -e 's:^ConfigTemplate=.*:ConfigTemplate=/usr/share/nzbget/nzbget.conf:' \ + -e 's:^DaemonUsername=.*:DaemonUsername=nzbget:' \ + nzbget.conf > nzbgetd.conf || die +} + +src_configure() { + local mycmakeargs=( + -DDISABLE_CURSES=$(usex !ncurses) + -DDISABLE_PARCHECK=$(usex !parcheck) + -DDISABLE_TLS=$(usex !ssl) + -DDISABLE_GZIP=$(usex !zlib) + -DUSE_OPENSSL=$(usex !gnutls) + -DUSE_GNUTLS=$(usex gnutls) + -DENABLE_TESTS=$(usex test) + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + + insinto /etc + doins nzbget.conf + doins nzbgetd.conf + + keepdir /var/log/nzbget + + newinitd "${FILESDIR}"/nzbget.initd-r1 nzbget + newconfd "${FILESDIR}"/nzbget.confd nzbget + systemd_dounit "${FILESDIR}"/nzbget.service +} + +pkg_preinst() { + fowners nzbget:nzbget /var/log/nzbget + fperms 750 /var/log/nzbget + + fowners nzbget:nzbget /etc/nzbgetd.conf + fperms 640 /etc/nzbgetd.conf +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]] ; then + elog + elog "Please add users that you want to be able to use the system-wide" + elog "nzbget daemon to the nzbget group. To access the daemon, run nzbget" + elog "with the --configfile /etc/nzbgetd.conf option." + elog + fi +} |