diff options
author | Louis Sautier <sbraz@gentoo.org> | 2022-08-24 12:35:25 +0200 |
---|---|---|
committer | Louis Sautier <sbraz@gentoo.org> | 2022-08-24 12:39:32 +0200 |
commit | c1be114570a325d593fcc30c72e197e7fa015c52 (patch) | |
tree | 3885fc7b22d373fb96abc68ede7e9b3ebe3ec5b5 /net-nntp | |
parent | net-nntp/nzbget: drop 21.0-r2 (diff) | |
download | gentoo-c1be114570a325d593fcc30c72e197e7fa015c52.tar.gz gentoo-c1be114570a325d593fcc30c72e197e7fa015c52.tar.bz2 gentoo-c1be114570a325d593fcc30c72e197e7fa015c52.zip |
net-nntp/nzbget: fix build with OpenSSL 3, bump to EAPI 8
Closes: https://bugs.gentoo.org/805896
Signed-off-by: Louis Sautier <sbraz@gentoo.org>
Diffstat (limited to 'net-nntp')
-rw-r--r-- | net-nntp/nzbget/files/nzbget-21.1-openssl-3.patch | 28 | ||||
-rw-r--r-- | net-nntp/nzbget/nzbget-21.1-r2.ebuild | 118 |
2 files changed, 146 insertions, 0 deletions
diff --git a/net-nntp/nzbget/files/nzbget-21.1-openssl-3.patch b/net-nntp/nzbget/files/nzbget-21.1-openssl-3.patch new file mode 100644 index 000000000000..d1d89e9260c0 --- /dev/null +++ b/net-nntp/nzbget/files/nzbget-21.1-openssl-3.patch @@ -0,0 +1,28 @@ +From f76e8555504e3af4cf8dd4a8c8e374b3ca025099 Mon Sep 17 00:00:00 2001 +From: Simon Chopin <simon.chopin@canonical.com> +Date: Tue, 7 Dec 2021 13:23:21 +0100 +Subject: [PATCH] daemon:connect: don't use FIPS_mode_set with OpenSSL 3 + +This function has been removed in OpenSSL 3, replaced by +EVP_default_properties_enable_fips. See +https://www.openssl.org/docs/man3.0/man7/migration_guide.html +--- + daemon/connect/TlsSocket.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/daemon/connect/TlsSocket.cpp b/daemon/connect/TlsSocket.cpp +index 544bf6850..831da0dc0 100644 +--- a/daemon/connect/TlsSocket.cpp ++++ b/daemon/connect/TlsSocket.cpp +@@ -189,7 +189,11 @@ void TlsSocket::Final() + + #ifdef HAVE_OPENSSL + #ifndef LIBRESSL_VERSION_NUMBER ++#if OPENSSL_VERSION_NUMBER < 0x30000000L + FIPS_mode_set(0); ++#else ++ EVP_default_properties_enable_fips(NULL, 0); ++#endif + #endif + #ifdef NEED_CRYPTO_LOCKING + CRYPTO_set_locking_callback(nullptr); diff --git a/net-nntp/nzbget/nzbget-21.1-r2.ebuild b/net-nntp/nzbget/nzbget-21.1-r2.ebuild new file mode 100644 index 000000000000..a7d5afecaf9a --- /dev/null +++ b/net-nntp/nzbget/nzbget-21.1-r2.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools systemd + +MY_PV=${PV/_pre/-r} +MY_P=${PN}-${PV/_pre/-testing-r} + +DESCRIPTION="A command-line based binary newsgrabber supporting .nzb files" +HOMEPAGE="https://nzbget.net/" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/${MY_P}-src.tar.gz -> ${P}.tar.gz" +S=${WORKDIR}/${PN}-${PV/_pre*/-testing} + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~x86" +IUSE="debug gnutls ncurses +parcheck ssl test zlib" +RESTRICT="!test? ( test )" + +DEPEND=" + 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 README nzbget.conf ) + +PATCHES=( + # https://bugs.gentoo.org/805896 + # https://github.com/nzbget/nzbget/pull/793 + "${FILESDIR}/${P}-openssl-3.patch" +) + +src_prepare() { + default + eautoreconf + + 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 myconf=( + $(use_enable debug) + $(use_enable ncurses curses) + $(use_enable parcheck) + $(use_enable ssl tls) + $(use_enable zlib gzip) + $(use_enable test tests) + --with-tlslib=$(usex gnutls GnuTLS OpenSSL) + ) + econf "${myconf[@]}" +} + +src_test() { + ./nzbget --tests || die "Tests failed" +} + +src_install() { + default + + 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 +} |