From 9f4569a28161fc2d931863ab8e826d2dd2080e3f Mon Sep 17 00:00:00 2001 From: "Sam James (sam_c)" Date: Wed, 15 Apr 2020 19:33:15 +0000 Subject: net-irc/ngircd: Bump to 25, GLEP 81 Closes: https://bugs.gentoo.org/696572 Closes: https://bugs.gentoo.org/707634 Signed-off-by: Sam James (sam_c) Signed-off-by: Joonas Niilola --- net-irc/ngircd/Manifest | 1 + net-irc/ngircd/files/ngircd-25-fix-gcc-10.patch | 77 ++++++++++++++++ net-irc/ngircd/files/ngircd-25-make-env.patch | 75 ++++++++++++++++ net-irc/ngircd/metadata.xml | 2 + net-irc/ngircd/ngircd-25.ebuild | 111 ++++++++++++++++++++++++ 5 files changed, 266 insertions(+) create mode 100644 net-irc/ngircd/files/ngircd-25-fix-gcc-10.patch create mode 100644 net-irc/ngircd/files/ngircd-25-make-env.patch create mode 100644 net-irc/ngircd/ngircd-25.ebuild (limited to 'net-irc/ngircd') diff --git a/net-irc/ngircd/Manifest b/net-irc/ngircd/Manifest index 3f5358b844b7..a9321e747c20 100644 --- a/net-irc/ngircd/Manifest +++ b/net-irc/ngircd/Manifest @@ -1,2 +1,3 @@ DIST ngircd-23.tar.gz 517686 BLAKE2B 1e1d7386a95f22917e6f69ec43bc48a8031543c48d6141a16d81fd935dab47ae89d8bbc91d9d71a26b0a1d2fd2040feb478e773fcc2a3049061fc0b21c8bad18 SHA512 714fbb4af12335e62c615fa1e8de9c7366c4c6da6af9b334019ba900dce072067f7b08199de8c96aad5dd4b9b786b57d536ba9dc92c62b37d2ae11960dbd01b1 DIST ngircd-24.tar.gz 524968 BLAKE2B 8ec0518d54f43a4c42fbf9744d217eb2aae498fe4f0010bce6ad68164037c2e55dc2b9681babce8ca5f7e26bac60a91389c63dab397d349dd4bcbcce6c2e9839 SHA512 66d1b9576c03d0a70be17a235f2da50ee661646cd428d18a6c61975407671dd4a3a545069258536773b27d4fb63523527366bbbf4f35cb08111dc60842924395 +DIST ngircd-25.tar.gz 527886 BLAKE2B ab75c9a904fae8da4c89e07bd66bb000bc9b614e27269be3ac6f55254c77abeb2d6f7d0afc6d05630f7c548ea13d842d4c0376123035f9417eda55565a69dcec SHA512 0c96e97da312fe86c50007a72db03f85b9f79df053806f50badd07c7ca8e8bddd99adb478eab8be9630330707d7aa578b5d0bd3017b59bf4515319a64c29ea6c diff --git a/net-irc/ngircd/files/ngircd-25-fix-gcc-10.patch b/net-irc/ngircd/files/ngircd-25-fix-gcc-10.patch new file mode 100644 index 000000000000..33e0d444bd56 --- /dev/null +++ b/net-irc/ngircd/files/ngircd-25-fix-gcc-10.patch @@ -0,0 +1,77 @@ +From f27827d7937375b5348107ca7427abf74c9eff3d Mon Sep 17 00:00:00 2001 +From: michi +Date: Tue, 14 Apr 2020 16:53:02 +0200 +Subject: [PATCH] Unbreak GCC 10 (-fno-common) build + +--- + src/ngircd/conn.c | 1 + + src/ngircd/conn.h | 14 +++++++++++--- + src/ngircd/ngircd.c | 1 + + src/portab/portab.h | 4 ++++ + 4 files changed, 17 insertions(+), 3 deletions(-) + +diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c +index f62e9675..e14e6c08 100644 +--- a/src/ngircd/conn.c ++++ b/src/ngircd/conn.c +@@ -10,6 +10,7 @@ + */ + + #define CONN_MODULE ++#define CONN_MODULE_GLOBAL_INIT + + #include "portab.h" + +diff --git a/src/ngircd/conn.h b/src/ngircd/conn.h +index c642541f..869477f0 100644 +--- a/src/ngircd/conn.h ++++ b/src/ngircd/conn.h +@@ -105,9 +105,17 @@ typedef struct _Connection + #endif + } CONNECTION; + +-GLOBAL CONNECTION *My_Connections; +-GLOBAL CONN_ID Pool_Size; +-GLOBAL long WCounter; ++ ++#ifdef CONN_MODULE_GLOBAL_INIT ++CONNECTION *My_Connections; ++CONN_ID Pool_Size; ++long WCounter; ++#else ++extern CONNECTION *My_Connections; ++extern CONN_ID Pool_Size; ++extern long WCounter; ++#endif ++ + + #define CONNECTION2ID(x) (long)(x - My_Connections) + +diff --git a/src/ngircd/ngircd.c b/src/ngircd/ngircd.c +index 7166640b..41255ca0 100644 +--- a/src/ngircd/ngircd.c ++++ b/src/ngircd/ngircd.c +@@ -9,6 +9,7 @@ + * Please read the file COPYING, README and AUTHORS for more information. + */ + ++#define GLOBAL_INIT + #include "portab.h" + + /** +diff --git a/src/portab/portab.h b/src/portab/portab.h +index 70d5ed3e..43f2f907 100644 +--- a/src/portab/portab.h ++++ b/src/portab/portab.h +@@ -102,7 +102,11 @@ typedef unsigned char bool; + #endif + + #undef GLOBAL ++#ifdef GLOBAL_INIT + #define GLOBAL ++#else ++#define GLOBAL extern ++#endif + + /* SPLint */ + diff --git a/net-irc/ngircd/files/ngircd-25-make-env.patch b/net-irc/ngircd/files/ngircd-25-make-env.patch new file mode 100644 index 000000000000..e6494c720079 --- /dev/null +++ b/net-irc/ngircd/files/ngircd-25-make-env.patch @@ -0,0 +1,75 @@ +--- a/Makefile.am 2016-09-18 18:01:30.000000000 -0000 ++++ b/Makefile.am 2020-04-20 14:01:43.166312404 -0000 +@@ -25,13 +25,13 @@ + rm -f config.log debian + + testsuite: +- cd src/testsuite && make check ++ cd src/testsuite && ${MAKE} check + + lint: +- cd src/ngircd && make lint ++ cd src/ngircd && ${MAKE} lint + + srcdoc: +- cd doc && make srcdoc ++ cd doc && ${MAKE} srcdoc + + have-xcodebuild: + @xcodebuild -project contrib/MacOSX/ngIRCd.xcodeproj -list \ +@@ -66,7 +66,7 @@ + --out ../../$(distdir).mpkg + rm -f $(distdir).mpkg.zip + zip -ro9 $(distdir).mpkg.zip $(distdir).mpkg +- make osxpkg-clean ++ ${MAKE} osxpkg-clean + + osxpkg-clean: + [ ! -r ngircd.dest ] || sudo -n rm -rf ngircd.dest +@@ -74,12 +74,12 @@ + + osxpkg-dest: have-xcodebuild osxpkg-clean clean + ./configure --prefix=/opt/ngircd +- make xcode +- make -C contrib/MacOSX de.barton.ngircd.plist ++ ${MAKE} xcode ++ ${MAKE} -C contrib/MacOSX de.barton.ngircd.plist + mkdir -p ngircd.dest/opt/ngircd/sbin +- DESTDIR="$$PWD/ngircd.dest" make -C doc install +- DESTDIR="$$PWD/ngircd.dest" make -C contrib install +- DESTDIR="$$PWD/ngircd.dest" make -C man install ++ DESTDIR="$$PWD/ngircd.dest" ${MAKE} -C doc install ++ DESTDIR="$$PWD/ngircd.dest" ${MAKE} -C contrib install ++ DESTDIR="$$PWD/ngircd.dest" ${MAKE} -C man install + cp contrib/MacOSX/build/Default/ngIRCd \ + ngircd.dest/opt/ngircd/sbin/ngircd + rm ngircd.dest/opt/ngircd/etc/ngircd.conf +--- a/doc/Makefile.am 2016-01-16 13:23:40.000000000 -0000 ++++ b/doc/Makefile.am 2020-04-20 14:05:45.316912143 -0000 +@@ -55,7 +55,7 @@ + install-data-hook: $(static_docs) $(toplevel_docs) $(generated_docs) + $(MKDIR_P) -m 755 $(DESTDIR)$(sysconfdir) + @if [ ! -f $(DESTDIR)$(sysconfdir)/ngircd.conf ]; then \ +- make install-config; \ ++ ${MAKE} install-config; \ + fi + $(MKDIR_P) -m 755 $(DESTDIR)$(docdir) + for f in $(static_docs) $(toplevel_docs); do \ +@@ -75,7 +75,7 @@ + uninstall-hook: + rm -rf $(DESTDIR)$(docdir) + @if cmp --silent sample-ngircd.conf $(DESTDIR)$(sysconfdir)/ngircd.conf; then \ +- make uninstall-config; \ ++ ${MAKE} uninstall-config; \ + else \ + echo; \ + echo " ** NOTE: Not uninstalling changed configuration file:"; \ +@@ -87,7 +87,7 @@ + rm -f $(DESTDIR)$(sysconfdir)/ngircd.conf + + srcdoc: +- make -C src srcdoc ++ ${MAKE} -C src srcdoc + + .PHONY: install-config uninstall-config srcdoc + diff --git a/net-irc/ngircd/metadata.xml b/net-irc/ngircd/metadata.xml index fab3207f6164..fe32ef1d9ca8 100644 --- a/net-irc/ngircd/metadata.xml +++ b/net-irc/ngircd/metadata.xml @@ -11,5 +11,7 @@ Enables support for net-libs/libident + Enables support for the IRC+ protocol (needs virtual/libiconv) + Strict RFC compliance; may harm compatibility diff --git a/net-irc/ngircd/ngircd-25.ebuild b/net-irc/ngircd/ngircd-25.ebuild new file mode 100644 index 000000000000..a7310708bf6c --- /dev/null +++ b/net-irc/ngircd/ngircd-25.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# Bug: https://github.com/ngircd/ngircd/issues/261 +WANT_AUTOMAKE=1.11.6 +inherit autotools + +DESCRIPTION="An IRC server written from scratch" +HOMEPAGE="https://ngircd.barton.de/" +SRC_URI="https://arthur.barton.de/pub/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~x64-macos" +IUSE="debug gnutls ident irc-plus +ipv6 libressl pam +ssl strict-rfc tcpd test zlib" + +RESTRICT="!test? ( test )" + +RDEPEND=" + acct-user/ngircd + acct-group/ngircd + irc-plus? ( virtual/libiconv ) + ident? ( net-libs/libident ) + pam? ( sys-libs/pam ) + ssl? ( + gnutls? ( net-libs/gnutls:= ) + !gnutls? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + ) + tcpd? ( sys-apps/tcp-wrappers ) + zlib? ( sys-libs/zlib ) +" + +BDEPEND="sys-devel/automake:1.11" + +DEPEND=" + ${RDEPEND} + test? ( + dev-tcltk/expect + net-misc/netkit-telnetd + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-25-fix-gcc-10.patch" + "${FILESDIR}/${PN}-25-make-env.patch" +) + +# Flaky test needs investigation (bug 719256) +RESTRICT="test" + +src_prepare() { + default + + if ! use prefix; then + sed -i \ + -e "s:;ServerUID = 65534:ServerUID = ngircd:" \ + -e "s:;ServerGID = 65534:ServerGID = ngircd:" \ + doc/sample-ngircd.conf.tmpl || die + fi + + # Once https://github.com/ngircd/ngircd/pull/270 is in a release (ngircd 26), we can remove + # the eautomake/autotools machinery. + eautomake +} + +src_configure() { + local myconf=( + --sysconfdir="${EPREFIX}"/etc/"${PN}" + $(use_enable debug sniffer) + $(use_enable debug) + $(use_enable irc-plus ircplus) + $(use_enable ipv6) + $(use_enable strict-rfc) + $(use_with irc-plus iconv) + $(use_with ident) + $(use_with pam) + $(use_with tcpd tcp-wrappers) + $(use_with zlib) + ) + + if use ssl; then + if use gnutls; then + myconf+=( + $( use_with gnutls ) + ) + else + myconf+=( + $( use_with !gnutls openssl ) + ) + fi + fi + + econf "${myconf[@]}" +} + +src_install() { + default + newinitd "${FILESDIR}"/ngircd.init-r1.d ngircd +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]] && use pam; then + elog "ngircd will use PAMOnly by default, please change this option." + elog "You may not be able to login until you change this." + fi +} -- cgit v1.2.3-65-gdbad