public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: net-nntp/nzbget/files/, net-nntp/nzbget/
@ 2017-06-23 22:29 Sven Wegener
  0 siblings, 0 replies; 5+ messages in thread
From: Sven Wegener @ 2017-06-23 22:29 UTC (permalink / raw
  To: gentoo-commits

commit:     3e279c58bee61b557823357a52b23c101902807d
Author:     Louis Sautier <sautier.louis <AT> gmail <DOT> com>
AuthorDate: Fri Jun 23 21:32:22 2017 +0000
Commit:     Sven Wegener <swegener <AT> gentoo <DOT> org>
CommitDate: Fri Jun 23 22:29:28 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e279c58

net-nntp/nzbget: fix compilation of pre2021 with USE=-parcheck

Gentoo-Bug: 622532
Package-Manager: Portage-2.3.6, Repoman-2.3.2
Closes: https://github.com/gentoo/gentoo/pull/4977

 .../nzbget-19.0_pre2021-fix-no-parcheck.patch      | 46 ++++++++++++++++++++++
 net-nntp/nzbget/nzbget-19.0_pre2021.ebuild         |  2 +
 2 files changed, 48 insertions(+)

diff --git a/net-nntp/nzbget/files/nzbget-19.0_pre2021-fix-no-parcheck.patch b/net-nntp/nzbget/files/nzbget-19.0_pre2021-fix-no-parcheck.patch
new file mode 100644
index 00000000000..e87fb7ced1a
--- /dev/null
+++ b/net-nntp/nzbget/files/nzbget-19.0_pre2021-fix-no-parcheck.patch
@@ -0,0 +1,46 @@
+From 928e0a60061d33252de0b490c80477e77dde0627 Mon Sep 17 00:00:00 2001
+From: Andrey Prygunkov <hugbug@users.sourceforge.net>
+Date: Fri, 23 Jun 2017 23:22:49 +0200
+Subject: [PATCH] fixed #399: error when compiling without par-check
+
+---
+ daemon/queue/DirectRenamer.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/daemon/queue/DirectRenamer.cpp b/daemon/queue/DirectRenamer.cpp
+index 585ce941..2dd0f95b 100644
+--- a/daemon/queue/DirectRenamer.cpp
++++ b/daemon/queue/DirectRenamer.cpp
+@@ -51,6 +51,7 @@ class RenameContentAnalyzer : public ArticleContentAnalyzer
+ 	bool m_parFile = false;
+ };
+ 
++#ifndef DISABLE_PARCHECK
+ class DirectParRepairer : public Par2::Par2Repairer
+ {
+ public:
+@@ -161,7 +162,7 @@ void DirectParLoader::LoadParFile(const char* parFile)
+ 		m_parHashes.emplace_back(filename.c_str(), hash.c_str());
+ 	}
+ }
+-
++#endif
+ 
+ std::unique_ptr<ArticleContentAnalyzer> DirectRenamer::MakeArticleContentAnalyzer()
+ {
+@@ -219,6 +220,7 @@ void DirectRenamer::FileDownloaded(DownloadQueue* downloadQueue, FileInfo* fileI
+ 
+ void DirectRenamer::CheckState(DownloadQueue* downloadQueue, NzbInfo* nzbInfo)
+ {
++#ifndef DISABLE_PARCHECK
+ 	if (nzbInfo->GetDirectRenameStatus() > NzbInfo::tsRunning)
+ 	{
+ 		return;
+@@ -270,6 +272,7 @@ void DirectRenamer::CheckState(DownloadQueue* downloadQueue, NzbInfo* nzbInfo)
+ 			return;
+ 		}
+ 	}
++#endif
+ }
+ 
+ // Unpause smallest par-files from each par-set

diff --git a/net-nntp/nzbget/nzbget-19.0_pre2021.ebuild b/net-nntp/nzbget/nzbget-19.0_pre2021.ebuild
index c6d86f04383..6abcc452e54 100644
--- a/net-nntp/nzbget/nzbget-19.0_pre2021.ebuild
+++ b/net-nntp/nzbget/nzbget-19.0_pre2021.ebuild
@@ -33,6 +33,8 @@ DOCS=( ChangeLog README nzbget.conf )
 
 S=${WORKDIR}/${PN}-${PV/_pre*/-testing}
 
+PATCHES=( "${FILESDIR}/${P}-fix-no-parcheck.patch" )
+
 check_compiler() {
 	if [[ ${MERGE_TYPE} != binary ]] && ! test-flag-CXX -std=c++14; then
 		eerror "${P} requires a C++14-capable compiler. Your current compiler"


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-nntp/nzbget/files/, net-nntp/nzbget/
@ 2024-07-17  1:09 Louis Sautier
  0 siblings, 0 replies; 5+ messages in thread
From: Louis Sautier @ 2024-07-17  1:09 UTC (permalink / raw
  To: gentoo-commits

commit:     54e661770fa7c07f2e661accd98b71c4e73ad4fd
Author:     Louis Sautier <sbraz <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 14 14:33:45 2024 +0000
Commit:     Louis Sautier <sbraz <AT> gentoo <DOT> org>
CommitDate: Wed Jul 17 01:08:07 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=54e66177

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 <AT> gentoo.org>

 net-nntp/nzbget/Manifest                           |   1 +
 .../nzbget/files/nzbget-24.1-fix-allocah.patch     |  39 ++++++++
 net-nntp/nzbget/metadata.xml                       |   5 +-
 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
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-nntp/nzbget/files/, net-nntp/nzbget/
@ 2022-08-24 10:42 Louis Sautier
  0 siblings, 0 replies; 5+ messages in thread
From: Louis Sautier @ 2022-08-24 10:42 UTC (permalink / raw
  To: gentoo-commits

commit:     c1be114570a325d593fcc30c72e197e7fa015c52
Author:     Louis Sautier <sbraz <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 24 10:35:25 2022 +0000
Commit:     Louis Sautier <sbraz <AT> gentoo <DOT> org>
CommitDate: Wed Aug 24 10:39:32 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c1be1145

net-nntp/nzbget: fix build with OpenSSL 3, bump to EAPI 8

Closes: https://bugs.gentoo.org/805896
Signed-off-by: Louis Sautier <sbraz <AT> gentoo.org>

 net-nntp/nzbget/files/nzbget-21.1-openssl-3.patch |  28 +++++
 net-nntp/nzbget/nzbget-21.1-r2.ebuild             | 118 ++++++++++++++++++++++
 2 files changed, 146 insertions(+)

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
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-nntp/nzbget/files/, net-nntp/nzbget/
@ 2017-10-05 21:37 Sven Wegener
  0 siblings, 0 replies; 5+ messages in thread
From: Sven Wegener @ 2017-10-05 21:37 UTC (permalink / raw
  To: gentoo-commits

commit:     2b41864cd150b5dd1c5c45478c287ec87676f6e3
Author:     Louis Sautier <sautier.louis <AT> gmail <DOT> com>
AuthorDate: Wed Oct  4 10:11:42 2017 +0000
Commit:     Sven Wegener <swegener <AT> gentoo <DOT> org>
CommitDate: Thu Oct  5 21:35:44 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2b41864c

net-nntp/nzbget: improve init script to use a pid file, add depend

It seems that the older behaviour did not work with recent openrc
versions. The process could not be found when running the stop command.
We don't need to override LockFile in the configuration file any more
since we set it when we start the daemon.

Package-Manager: Portage-2.3.8, Repoman-2.3.3
[swegener: separate init script revision]

 net-nntp/nzbget/files/nzbget.initd-r1              | 28 ++++++++++++++++++++++
 ...re2108.ebuild => nzbget-20.0_pre2108-r1.ebuild} |  3 +--
 2 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/net-nntp/nzbget/files/nzbget.initd-r1 b/net-nntp/nzbget/files/nzbget.initd-r1
new file mode 100644
index 00000000000..2a9fae6c32b
--- /dev/null
+++ b/net-nntp/nzbget/files/nzbget.initd-r1
@@ -0,0 +1,28 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_started_commands="reload"
+
+description="A command-line based binary newsgrabber supporting .nzb files"
+pidfile=/run/nzbget/nzbget.pid
+command=/usr/bin/nzbget
+command_args="--configfile \"${NZBGET_CONFIGFILE}\" \
+  --daemon --option LockFile=${pidfile} \
+  ${NZBGET_OPTS}"
+start_stop_daemon_args="--user \"${NZBGET_USER}\" \
+  --group \"${NZBGET_GROUP}\""
+
+depend() {
+  need localmount net
+}
+
+start_pre() {
+  checkpath -d -m 0755 -o "${NZBGET_USER}":"${NZBGET_GROUP}" /run/nzbget
+}
+
+reload() {
+  ebegin "Reloading ${RC_SVCNAME}"
+  ${command} --configfile "${NZBGET_CONFIGFILE}" --reload >/dev/null
+  eend $?
+}

diff --git a/net-nntp/nzbget/nzbget-20.0_pre2108.ebuild b/net-nntp/nzbget/nzbget-20.0_pre2108-r1.ebuild
similarity index 96%
rename from net-nntp/nzbget/nzbget-20.0_pre2108.ebuild
rename to net-nntp/nzbget/nzbget-20.0_pre2108-r1.ebuild
index c6d86f04383..3e119a13d9e 100644
--- a/net-nntp/nzbget/nzbget-20.0_pre2108.ebuild
+++ b/net-nntp/nzbget/nzbget-20.0_pre2108-r1.ebuild
@@ -58,7 +58,6 @@ src_prepare() {
 
 	sed \
 		-e 's:^MainDir=.*:MainDir=/var/lib/nzbget:' \
-		-e 's:^LockFile=.*:LockFile=/run/nzbget/nzbget.pid:' \
 		-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:' \
@@ -91,7 +90,7 @@ src_install() {
 	keepdir /var/lib/nzbget/{dst,nzb,queue,tmp}
 	keepdir /var/log/nzbget
 
-	newinitd "${FILESDIR}"/nzbget.initd nzbget
+	newinitd "${FILESDIR}"/nzbget.initd-r1 nzbget
 	newconfd "${FILESDIR}"/nzbget.confd nzbget
 }
 


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-nntp/nzbget/files/, net-nntp/nzbget/
@ 2016-03-24 16:36 Sven Wegener
  0 siblings, 0 replies; 5+ messages in thread
From: Sven Wegener @ 2016-03-24 16:36 UTC (permalink / raw
  To: gentoo-commits

commit:     9a73152f596d1c7895c02436204386c755141cc0
Author:     Louis Sautier <sautier.louis <AT> gmail <DOT> com>
AuthorDate: Sun Mar 20 03:55:32 2016 +0000
Commit:     Sven Wegener <swegener <AT> gentoo <DOT> org>
CommitDate: Thu Mar 24 08:14:19 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9a73152f

net-nntp/nzbget: bump to 17.0_pre1660, EAPI=6

- add tests
- drop the dependency on libpar2 and libsigc++ as the package provides its
  own modified libpar2 (see
  https://github.com/nzbget/nzbget/commit/2e0ba0e3d10a63316670fad4dd1c052b7583afe9)
- this versions requires a C++14-compatible compiler, add a pkg_pretend check and a
  missing macro

Package-Manager: portage-2.2.28

 net-nntp/nzbget/Manifest                           |   1 +
 .../nzbget-17.0_pre1660-add-missing-macro.patch    | 583 +++++++++++++++++++++
 net-nntp/nzbget/nzbget-17.0_pre1660.ebuild         | 126 +++++
 3 files changed, 710 insertions(+)

diff --git a/net-nntp/nzbget/Manifest b/net-nntp/nzbget/Manifest
index b7988a4..8c584ac 100644
--- a/net-nntp/nzbget/Manifest
+++ b/net-nntp/nzbget/Manifest
@@ -2,3 +2,4 @@ DIST nzbget-14.1.tar.gz 1332334 SHA256 a16b816b61f7035cc373e9b77094ca474d5b7b7f7
 DIST nzbget-14.2.tar.gz 1332612 SHA256 bb24afb47dc01766c5e5c02d7565190082c6e13ffed565969a2ec52e21104677 SHA512 0e1e9c1307927f6ac4772d9138901893a9782fad137756ca40617ea7e8dd7946f2927f3f5303d676d09920de0a005cb1313292fda0c5d0288d73fc8e0f949516 WHIRLPOOL 7fb9c5c44515e1ed4a02213af6f8a13e41452a85a710ba9e59483c8c95b9d9bc1f2c475f81d0a75ab982292fccd5ce797f2396fe09ec7339d31ea551f3c36a4e
 DIST nzbget-15.0.tar.gz 1466814 SHA256 3ef13f3e5917e4cda19c4fc0cd37e79967a19b4e3448c239ff24e37712a6cc0a SHA512 7233bea56f99e541155eac3e1d31f2603a407aee7055492c2bf20efc9b40a58e9e5f3b7ee7dada9278cb4bdc8b30a0e62f377235e12ac43c88f9111864d3a706 WHIRLPOOL f8d53ef7637a09f1e98fe5866693bc99c96212f460b00072d5ac8164c59c9053ab8805262d97e136eccc14f6af9be220541b2ea22d01bd2ed191114cbfdcfac0
 DIST nzbget-16.4-src.tar.gz 1585908 SHA256 8e9e3ee75d2d08a8e438b2809f504a627a9334ed239579a540b75fa97bff4d0f SHA512 12ebde277abac5f719f374861013fa391f4698d850ac57c55787609fec54490fb09437c6a803fc0ca935c482ed5ccd16c525e17ba40a514f7a54316dc04ee874 WHIRLPOOL 2d1c21d45a74eaea7dcb1c99c9b409f506547189c832b432331ae2b64ee67050245acb8ff1cd522bd64460d9d7ac806b344fd0f3bbc21de4bfca12dcc815692d
+DIST nzbget-17.0_pre1660.tar.gz 1596763 SHA256 3f54ccf915572b7a1db5f5bd0188ef4eb631fe03a41efeec8b29572bbada7c5d SHA512 bd385713207166f3847ed3f50d250d809ca53ac4a267f22859c8bdb0b9be0235c94401db13fe721a16ff011b51bfaaee9b177078877b5faf8b8563633a40bd15 WHIRLPOOL bb7bddc8a7f597da01e33de8075d21bf3008cc9d08d02393e9e1719cded8ab903575997942bab389f71a4d95ccdc4602a1d099cb013d76c8c22bc8ef510835e2

diff --git a/net-nntp/nzbget/files/nzbget-17.0_pre1660-add-missing-macro.patch b/net-nntp/nzbget/files/nzbget-17.0_pre1660-add-missing-macro.patch
new file mode 100644
index 0000000..6b99fc1
--- /dev/null
+++ b/net-nntp/nzbget/files/nzbget-17.0_pre1660-add-missing-macro.patch
@@ -0,0 +1,583 @@
+diff --git a/configure.ac b/configure.ac
+index 96cb50b..aa15148 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -29,6 +29,7 @@ AC_CONFIG_SRCDIR([daemon/main/nzbget.cpp])
+ AC_CONFIG_HEADERS([config.h])
+ AM_MAINTAINER_MODE
+ 
++m4_include([posix/ax_cxx_compile_stdcxx.m4])
+ 
+ dnl
+ dnl Set default library path, if not specified in environment variable "LIBPREF".
+diff --git a/posix/ax_cxx_compile_stdcxx.m4 b/posix/ax_cxx_compile_stdcxx.m4
+new file mode 100644
+index 0000000..f387b87
+--- /dev/null
++++ b/posix/ax_cxx_compile_stdcxx.m4
+@@ -0,0 +1,565 @@
++# ===========================================================================
++#   http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional])
++#
++# DESCRIPTION
++#
++#   Check for baseline language coverage in the compiler for the specified
++#   version of the C++ standard.  If necessary, add switches to CXXFLAGS to
++#   enable support.  VERSION may be '11' (for the C++11 standard) or '14'
++#   (for the C++14 standard).
++#
++#   The second argument, if specified, indicates whether you insist on an
++#   extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
++#   -std=c++11).  If neither is specified, you get whatever works, with
++#   preference for an extended mode.
++#
++#   The third argument, if specified 'mandatory' or if left unspecified,
++#   indicates that baseline support for the specified C++ standard is
++#   required and that the macro should error out if no mode with that
++#   support is found.  If specified 'optional', then configuration proceeds
++#   regardless, after defining HAVE_CXX${VERSION} if and only if a
++#   supporting mode is found.
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
++#   Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
++#   Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
++#   Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
++#   Copyright (c) 2015 Paul Norman <penorman@mac.com>
++#   Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
++#
++#   Copying and distribution of this file, with or without modification, are
++#   permitted in any medium without royalty provided the copyright notice
++#   and this notice are preserved.  This file is offered as-is, without any
++#   warranty.
++
++#serial 1
++
++dnl  This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro
++dnl  (serial version number 13).
++
++AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
++  m4_if([$1], [11], [],
++        [$1], [14], [],
++        [$1], [17], [m4_fatal([support for C++17 not yet implemented in AX_CXX_COMPILE_STDCXX])],
++        [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl
++  m4_if([$2], [], [],
++        [$2], [ext], [],
++        [$2], [noext], [],
++        [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl
++  m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true],
++        [$3], [mandatory], [ax_cxx_compile_cxx$1_required=true],
++        [$3], [optional], [ax_cxx_compile_cxx$1_required=false],
++        [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])])
++  AC_LANG_PUSH([C++])dnl
++  ac_success=no
++  AC_CACHE_CHECK(whether $CXX supports C++$1 features by default,
++  ax_cv_cxx_compile_cxx$1,
++  [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
++    [ax_cv_cxx_compile_cxx$1=yes],
++    [ax_cv_cxx_compile_cxx$1=no])])
++  if test x$ax_cv_cxx_compile_cxx$1 = xyes; then
++    ac_success=yes
++  fi
++
++  m4_if([$2], [ext], [], [dnl
++  if test x$ac_success = xno; then
++    dnl HP's aCC needs +std=c++11 according to:
++    dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf
++    dnl Cray's crayCC needs "-h std=c++11"
++    for switch in -std=c++$1 -std=c++0x +std=c++$1 "-h std=c++$1"; do
++      cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
++      AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
++                     $cachevar,
++        [ac_save_CXXFLAGS="$CXXFLAGS"
++         CXXFLAGS="$CXXFLAGS $switch"
++         AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
++          [eval $cachevar=yes],
++          [eval $cachevar=no])
++         CXXFLAGS="$ac_save_CXXFLAGS"])
++      if eval test x\$$cachevar = xyes; then
++        CXXFLAGS="$CXXFLAGS $switch"
++        ac_success=yes
++        break
++      fi
++    done
++  fi])
++
++  m4_if([$2], [noext], [], [dnl
++  if test x$ac_success = xno; then
++    for switch in -std=gnu++$1 -std=gnu++0x; do
++      cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
++      AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
++                     $cachevar,
++        [ac_save_CXXFLAGS="$CXXFLAGS"
++         CXXFLAGS="$CXXFLAGS $switch"
++         AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
++          [eval $cachevar=yes],
++          [eval $cachevar=no])
++         CXXFLAGS="$ac_save_CXXFLAGS"])
++      if eval test x\$$cachevar = xyes; then
++        CXXFLAGS="$CXXFLAGS $switch"
++        ac_success=yes
++        break
++      fi
++    done
++  fi])
++
++  AC_LANG_POP([C++])
++  if test x$ax_cxx_compile_cxx$1_required = xtrue; then
++    if test x$ac_success = xno; then
++      AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.])
++    fi
++  else
++    if test x$ac_success = xno; then
++      HAVE_CXX$1=0
++      AC_MSG_NOTICE([No compiler with C++$1 support was found])
++    else
++      HAVE_CXX$1=1
++      AC_DEFINE(HAVE_CXX$1,1,
++                [define if the compiler supports basic C++$1 syntax])
++    fi
++
++    AC_SUBST(HAVE_CXX$1)
++  fi
++])
++
++
++dnl  Test body for checking C++11 support
++
++m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11],
++  _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
++)
++
++
++dnl  Test body for checking C++14 support
++
++m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14],
++  _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
++  _AX_CXX_COMPILE_STDCXX_testbody_new_in_14
++)
++
++
++dnl  Tests for new features in C++11
++
++m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[
++
++// If the compiler admits that it is not ready for C++11, why torture it?
++// Hopefully, this will speed up the test.
++
++#ifndef __cplusplus
++
++#error "This is not a C++ compiler"
++
++#elif __cplusplus < 201103L
++
++#error "This is not a C++11 compiler"
++
++#else
++
++namespace cxx11
++{
++
++  namespace test_static_assert
++  {
++
++    template <typename T>
++    struct check
++    {
++      static_assert(sizeof(int) <= sizeof(T), "not big enough");
++    };
++
++  }
++
++  namespace test_final_override
++  {
++
++    struct Base
++    {
++      virtual void f() {}
++    };
++
++    struct Derived : public Base
++    {
++      virtual void f() override {}
++    };
++
++  }
++
++  namespace test_double_right_angle_brackets
++  {
++
++    template < typename T >
++    struct check {};
++
++    typedef check<void> single_type;
++    typedef check<check<void>> double_type;
++    typedef check<check<check<void>>> triple_type;
++    typedef check<check<check<check<void>>>> quadruple_type;
++
++  }
++
++  namespace test_decltype
++  {
++
++    int
++    f()
++    {
++      int a = 1;
++      decltype(a) b = 2;
++      return a + b;
++    }
++
++  }
++
++  namespace test_type_deduction
++  {
++
++    template < typename T1, typename T2 >
++    struct is_same
++    {
++      static const bool value = false;
++    };
++
++    template < typename T >
++    struct is_same<T, T>
++    {
++      static const bool value = true;
++    };
++
++    template < typename T1, typename T2 >
++    auto
++    add(T1 a1, T2 a2) -> decltype(a1 + a2)
++    {
++      return a1 + a2;
++    }
++
++    int
++    test(const int c, volatile int v)
++    {
++      static_assert(is_same<int, decltype(0)>::value == true, "");
++      static_assert(is_same<int, decltype(c)>::value == false, "");
++      static_assert(is_same<int, decltype(v)>::value == false, "");
++      auto ac = c;
++      auto av = v;
++      auto sumi = ac + av + 'x';
++      auto sumf = ac + av + 1.0;
++      static_assert(is_same<int, decltype(ac)>::value == true, "");
++      static_assert(is_same<int, decltype(av)>::value == true, "");
++      static_assert(is_same<int, decltype(sumi)>::value == true, "");
++      static_assert(is_same<int, decltype(sumf)>::value == false, "");
++      static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
++      return (sumf > 0.0) ? sumi : add(c, v);
++    }
++
++  }
++
++  namespace test_noexcept
++  {
++
++    int f() { return 0; }
++    int g() noexcept { return 0; }
++
++    static_assert(noexcept(f()) == false, "");
++    static_assert(noexcept(g()) == true, "");
++
++  }
++
++  namespace test_constexpr
++  {
++
++    template < typename CharT >
++    unsigned long constexpr
++    strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
++    {
++      return *s ? strlen_c_r(s + 1, acc + 1) : acc;
++    }
++
++    template < typename CharT >
++    unsigned long constexpr
++    strlen_c(const CharT *const s) noexcept
++    {
++      return strlen_c_r(s, 0UL);
++    }
++
++    static_assert(strlen_c("") == 0UL, "");
++    static_assert(strlen_c("1") == 1UL, "");
++    static_assert(strlen_c("example") == 7UL, "");
++    static_assert(strlen_c("another\0example") == 7UL, "");
++
++  }
++
++  namespace test_rvalue_references
++  {
++
++    template < int N >
++    struct answer
++    {
++      static constexpr int value = N;
++    };
++
++    answer<1> f(int&)       { return answer<1>(); }
++    answer<2> f(const int&) { return answer<2>(); }
++    answer<3> f(int&&)      { return answer<3>(); }
++
++    void
++    test()
++    {
++      int i = 0;
++      const int c = 0;
++      static_assert(decltype(f(i))::value == 1, "");
++      static_assert(decltype(f(c))::value == 2, "");
++      static_assert(decltype(f(0))::value == 3, "");
++    }
++
++  }
++
++  namespace test_uniform_initialization
++  {
++
++    struct test
++    {
++      static const int zero {};
++      static const int one {1};
++    };
++
++    static_assert(test::zero == 0, "");
++    static_assert(test::one == 1, "");
++
++  }
++
++  namespace test_lambdas
++  {
++
++    void
++    test1()
++    {
++      auto lambda1 = [](){};
++      auto lambda2 = lambda1;
++      lambda1();
++      lambda2();
++    }
++
++    int
++    test2()
++    {
++      auto a = [](int i, int j){ return i + j; }(1, 2);
++      auto b = []() -> int { return '0'; }();
++      auto c = [=](){ return a + b; }();
++      auto d = [&](){ return c; }();
++      auto e = [a, &b](int x) mutable {
++        const auto identity = [](int y){ return y; };
++        for (auto i = 0; i < a; ++i)
++          a += b--;
++        return x + identity(a + b);
++      }(0);
++      return a + b + c + d + e;
++    }
++
++    int
++    test3()
++    {
++      const auto nullary = [](){ return 0; };
++      const auto unary = [](int x){ return x; };
++      using nullary_t = decltype(nullary);
++      using unary_t = decltype(unary);
++      const auto higher1st = [](nullary_t f){ return f(); };
++      const auto higher2nd = [unary](nullary_t f1){
++        return [unary, f1](unary_t f2){ return f2(unary(f1())); };
++      };
++      return higher1st(nullary) + higher2nd(nullary)(unary);
++    }
++
++  }
++
++  namespace test_variadic_templates
++  {
++
++    template <int...>
++    struct sum;
++
++    template <int N0, int... N1toN>
++    struct sum<N0, N1toN...>
++    {
++      static constexpr auto value = N0 + sum<N1toN...>::value;
++    };
++
++    template <>
++    struct sum<>
++    {
++      static constexpr auto value = 0;
++    };
++
++    static_assert(sum<>::value == 0, "");
++    static_assert(sum<1>::value == 1, "");
++    static_assert(sum<23>::value == 23, "");
++    static_assert(sum<1, 2>::value == 3, "");
++    static_assert(sum<5, 5, 11>::value == 21, "");
++    static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
++
++  }
++
++  // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
++  // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
++  // because of this.
++  namespace test_template_alias_sfinae
++  {
++
++    struct foo {};
++
++    template<typename T>
++    using member = typename T::member_type;
++
++    template<typename T>
++    void func(...) {}
++
++    template<typename T>
++    void func(member<T>*) {}
++
++    void test();
++
++    void test() { func<foo>(0); }
++
++  }
++
++}  // namespace cxx11
++
++#endif  // __cplusplus >= 201103L
++
++]])
++
++
++dnl  Tests for new features in C++14
++
++m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[
++
++// If the compiler admits that it is not ready for C++14, why torture it?
++// Hopefully, this will speed up the test.
++
++#ifndef __cplusplus
++
++#error "This is not a C++ compiler"
++
++//check for full C++14 support (disabed)
++//#elif __cplusplus < 201402L
++
++// check for partial C++14 support (accept gcc 4.9)
++#elif __cplusplus < 201300L
++
++#error "This is not a C++14 compiler"
++
++#else
++
++namespace cxx14
++{
++
++  namespace test_polymorphic_lambdas
++  {
++
++    int
++    test()
++    {
++      const auto lambda = [](auto&&... args){
++        const auto istiny = [](auto x){
++          return (sizeof(x) == 1UL) ? 1 : 0;
++        };
++        const int aretiny[] = { istiny(args)... };
++        return aretiny[0];
++      };
++      return lambda(1, 1L, 1.0f, '1');
++    }
++
++  }
++
++  namespace test_binary_literals
++  {
++
++    constexpr auto ivii = 0b0000000000101010;
++    static_assert(ivii == 42, "wrong value");
++
++  }
++
++/*
++  namespace test_generalized_constexpr
++  {
++
++    template < typename CharT >
++    constexpr unsigned long
++    strlen_c(const CharT *const s) noexcept
++    {
++      auto length = 0UL;
++      for (auto p = s; *p; ++p)
++        ++length;
++      return length;
++    }
++
++    static_assert(strlen_c("") == 0UL, "");
++    static_assert(strlen_c("x") == 1UL, "");
++    static_assert(strlen_c("test") == 4UL, "");
++    static_assert(strlen_c("another\0test") == 7UL, "");
++
++  }
++*/
++
++  namespace test_lambda_init_capture
++  {
++
++    int
++    test()
++    {
++      auto x = 0;
++      const auto lambda1 = [a = x](int b){ return a + b; };
++      const auto lambda2 = [a = lambda1(x)](){ return a; };
++      return lambda2();
++    }
++
++  }
++
++  namespace test_digit_seperators
++  {
++
++    constexpr auto ten_million = 100'000'000;
++    static_assert(ten_million == 100000000, "");
++
++  }
++
++  namespace test_return_type_deduction
++  {
++
++    auto f(int& x) { return x; }
++    decltype(auto) g(int& x) { return x; }
++
++    template < typename T1, typename T2 >
++    struct is_same
++    {
++      static constexpr auto value = false;
++    };
++
++    template < typename T >
++    struct is_same<T, T>
++    {
++      static constexpr auto value = true;
++    };
++
++    int
++    test()
++    {
++      auto x = 0;
++      static_assert(is_same<int, decltype(f(x))>::value, "");
++      static_assert(is_same<int&, decltype(g(x))>::value, "");
++      return x;
++    }
++
++  }
++
++}  // namespace cxx14
++
++#endif  // __cplusplus >= 201402L
++
++]])

diff --git a/net-nntp/nzbget/nzbget-17.0_pre1660.ebuild b/net-nntp/nzbget/nzbget-17.0_pre1660.ebuild
new file mode 100644
index 0000000..f184e35
--- /dev/null
+++ b/net-nntp/nzbget/nzbget-17.0_pre1660.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools eutils flag-o-matic user
+
+MY_PV=${PV/_pre/-r}
+MY_P=${PN}-${PV/_pre/-testing-r}
+
+DESCRIPTION="A command-line based binary newsgrapper supporting .nzb files"
+HOMEPAGE="http://nzbget.net/"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/${MY_P}-src.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~x86"
+IUSE="debug gnutls ncurses parcheck ssl test zlib"
+
+RDEPEND="dev-libs/libxml2
+	ncurses? ( sys-libs/ncurses:0 )
+	ssl? (
+		gnutls? ( net-libs/gnutls )
+		!gnutls? ( dev-libs/openssl:0= )
+	)
+	zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}
+	virtual/pkgconfig"
+DOCS=( ChangeLog README nzbget.conf )
+
+S=${WORKDIR}/${PN}-${PV/_pre*/-testing}
+
+# Fix linking for ncurses[tinfo]
+# https://github.com/nzbget/nzbget/issues/188
+# https://bugs.gentoo.org/527262
+
+# Add a missing autoconf macro
+# https://github.com/nzbget/nzbget/pull/189
+PATCHES=(
+	"${FILESDIR}/${PN}-14.0_pre1145-tinfo.patch"
+	"${FILESDIR}/${PN}-17.0_pre1660-add-missing-macro.patch"
+)
+
+pkg_pretend() {
+	if [[ ${MERGE_TYPE} != binary ]] && ! test-flag-CXX -std=c++14; then
+		eerror "${P} requires a C++14-capable compiler. Your current compiler"
+		eerror "does not seem to support the -std=c++14 option. Please"
+		eerror "upgrade to gcc-4.9 or an equivalent version supporting C++14."
+		die "The currently active compiler does not support -std=c++14"
+	fi
+}
+
+src_prepare() {
+	default
+	sed -i 's:^ScriptDir=.*:ScriptDir=/usr/share/nzbget/ppscripts:' nzbget.conf || die
+
+	sed \
+		-e 's:^MainDir=.*:MainDir=/var/lib/nzbget:' \
+		-e 's:^LockFile=.*:LockFile=/run/nzbget/nzbget.pid:' \
+		-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
+
+	# Don't install a duplicate README which causes make install to fail
+	# https://github.com/nzbget/nzbget/issues/135 
+	sed -i "\|^\tlib/par2/README|d" Makefile.am || die
+
+	eautoreconf
+}
+
+src_configure() {
+	econf \
+		$(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)
+}
+
+src_test() {
+	./nzbget --tests || die "Tests failed"
+}
+
+src_install() {
+	default
+
+	insinto /etc
+	doins nzbget.conf
+	doins nzbgetd.conf
+
+	keepdir /var/lib/nzbget/{dst,nzb,queue,tmp}
+	keepdir /var/log/nzbget
+
+	newinitd "${FILESDIR}"/nzbget.initd nzbget
+	newconfd "${FILESDIR}"/nzbget.confd nzbget
+}
+
+pkg_preinst() {
+	enewgroup nzbget
+	enewuser nzbget -1 -1 /var/lib/nzbget nzbget
+
+	fowners nzbget:nzbget /var/lib/nzbget/{dst,nzb,queue,tmp}
+	fperms 750 /var/lib/nzbget/{queue,tmp}
+	fperms 770 /var/lib/nzbget/{dst,nzb}
+
+	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
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-07-17  1:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-23 22:29 [gentoo-commits] repo/gentoo:master commit in: net-nntp/nzbget/files/, net-nntp/nzbget/ Sven Wegener
  -- strict thread matches above, loose matches on Subject: below --
2024-07-17  1:09 Louis Sautier
2022-08-24 10:42 Louis Sautier
2017-10-05 21:37 Sven Wegener
2016-03-24 16:36 Sven Wegener

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox