commit:     37a413aba50f53e16c5acb82495b4a2604db3791
Author:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 18 00:12:19 2024 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Mon Nov 18 04:09:21 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37a413ab

net-proxy/dante: version bump

Closes: https://bugs.gentoo.org/908548
Closes: https://bugs.gentoo.org/900280
Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>

 net-proxy/dante/Manifest                           |   2 +
 net-proxy/dante/dante-1.4.3.ebuild                 | 116 +++++++++++++++++++++
 net-proxy/dante/files/dante-1.4.2-cflags.patch     |  32 ++++++
 net-proxy/dante/files/dante-1.4.3-gai-symbol.patch |  32 ++++++
 .../dante/files/dante-1.4.3-osdep-debug.patch      |  16 +++
 5 files changed, 198 insertions(+)

diff --git a/net-proxy/dante/Manifest b/net-proxy/dante/Manifest
index 3ea3f92b4dd9..8550b56047b6 100644
--- a/net-proxy/dante/Manifest
+++ b/net-proxy/dante/Manifest
@@ -1 +1,3 @@
 DIST dante-1.4.1.tar.gz 1284288 BLAKE2B 
34c78007245339088d79e0b969b8f55d20b0ee59d89c1bf19510b563799ac3c54c6b8b5f37bfb64410d60e893beb0e2d1d79893c0264b7481aeb4cdab2037e90
 SHA512 
1c8e2966ba68c8584fb99ff76ae1d9c8dfe669c7e5e61c7e6e7f87295d1280c3e7849491a6369ce27795040f951dcc11f4f2b3d7e46c54219594c89315d0487e
+DIST dante-1.4.3.tar.gz 1343935 BLAKE2B 
dc069fd99a0d4a606b1eb7ce5dabbb20be63a4b4b3b02ee5e7c6d9b5614ae89226559df9c0bdaa3bee803b04e452311ab016c9116d57f3f8f48205ec797c5475
 SHA512 
c19675b2dee931366caf4a0dd4f44045ae731cc2f986e5d2e4bf498925c7d93a92a32088234d4a9443424f6dfb0796a1fa3fdc7c47e5aa11612c29a101f47888
+DIST dante_1.4.3+dfsg-2.debian.tar.xz 42736 BLAKE2B 
3e385eb4dee0278edfe72720139b19d4900b828372e6dc5b8361dbcf2ba76f0a0a5b523680068aa0c61fcbabac25ce413f23c96ab56c368ddda1ef8dd1fee528
 SHA512 
0acbb82eba1e37af0b485ac5b43cb06f5d699e5cac427a8c678fe8633a08ce5697ff936d3f1dd747cb2cc3c7ac7c713193ae07c1913e794f35fd55278c8fec16

diff --git a/net-proxy/dante/dante-1.4.3.ebuild 
b/net-proxy/dante/dante-1.4.3.ebuild
new file mode 100644
index 000000000000..10bfc9b77559
--- /dev/null
+++ b/net-proxy/dante/dante-1.4.3.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit autotools systemd
+
+DESCRIPTION="A free socks4,5 and msproxy implementation"
+HOMEPAGE="https://www.inet.no/dante/";
+SRC_URI="https://www.inet.no/dante/files/${P}.tar.gz";
+
+PATCH_LEVEL="dfsg-2"
+[[ -n "${PATCH_LEVEL}" ]] && \
+       SRC_URI+=" 
mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${PV/_p*}+${PATCH_LEVEL}.debian.tar.xz"
+
+LICENSE="BSD GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86"
+IUSE="debug kerberos pam selinux static-libs tcpd upnp"
+
+CDEPEND="
+       sys-apps/shadow
+       virtual/libcrypt:=
+       kerberos? ( virtual/krb5 )
+       pam? ( sys-libs/pam )
+       tcpd? ( sys-apps/tcp-wrappers )
+       upnp? ( net-libs/miniupnpc:= )
+"
+DEPEND="${CDEPEND}
+       app-alternatives/yacc
+       app-alternatives/lex
+"
+RDEPEND="${CDEPEND}
+       acct-group/sockd
+       acct-user/sockd
+       selinux? ( sec-policy/selinux-dante )
+"
+
+DOCS="BUGS CREDITS NEWS README SUPPORT doc/README* doc/*.txt 
doc/SOCKS4.protocol"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.4.0-socksify.patch
+       "${FILESDIR}"/${PN}-1.4.0-osdep-format-macro.patch
+       "${FILESDIR}"/${PN}-1.4.2-cflags.patch
+       #"${FILESDIR}"/${PN}-1.4.0-HAVE_SENDBUF_IOCTL.patch # included in 
debian series
+       #${FILESDIR}"/${PN}-1.4.1-sigpwr-siginfo.patch #517528 # included in 
debian series
+       #"${FILESDIR}"/${PN}-1.4.1-miniupnp14.patch #564680 # upstreamed
+       "${FILESDIR}"/${PN}-1.4.3-osdep-debug.patch
+       "${FILESDIR}"/${PN}-1.4.3-gai-symbol.patch
+)
+
+src_prepare() {
+       DEB_PATCHES=${S}/../debian/patches
+       PATCHES+=(
+               $( sed "s,^,${DEB_PATCHES}/," < "${DEB_PATCHES}"/series )
+       )
+       default
+
+       # 780039
+       sed -e 's/-all-dynamic//' -i dlib/Makefile.am dlib64/Makefile.am || die
+
+       sed -i \
+               -e 's:/etc/socks\.conf:"${EPREFIX}"/etc/socks/socks.conf:' \
+               -e 's:/etc/sockd\.conf:"${EPREFIX}"/etc/socks/sockd.conf:' \
+               doc/{socksify.1,socks.conf.5,sockd.conf.5,sockd.8} \
+               || die
+
+       sed -i \
+               -e 's:AM_CONFIG_HEADER\>:AC_CONFIG_HEADERS:' \
+               configure.ac || die
+
+       eautoreconf
+}
+
+src_configure() {
+       # hardcoded the libc name otherwise the scan on a amd64 multilib system
+       # ends up finding /usr/lib32/libc.so.5. That cascades and causes the
+       # preload/libdsocks to not be built.
+       econf -C \
+               --with-socks-conf="${EPREFIX}"/etc/socks/socks.conf \
+               --with-sockd-conf="${EPREFIX}"/etc/socks/sockd.conf \
+               --enable-preload \
+               --enable-clientdl \
+               --enable-serverdl \
+               --enable-drt-fallback \
+               --with-libc=libc.so.6 \
+               $(use_enable debug) \
+               $(use_with kerberos gssapi) \
+               $(use_with pam) \
+               $(use_with upnp) \
+               $(use_enable static-libs static) \
+               $(use_with tcpd libwrap)
+}
+
+src_install() {
+       default
+
+       # default configuration files
+       insinto /etc/socks
+       doins "${FILESDIR}"/sock?.conf
+       pushd "${ED}"/etc/socks > /dev/null
+       use pam && eapply -p0 "${FILESDIR}"/sockd.conf-with-pam.patch
+       use tcpd && eapply -p0 "${FILESDIR}"/sockd.conf-with-libwrap.patch
+       popd > /dev/null
+
+       # init script
+       newinitd "${FILESDIR}"/${PN}-1.3.2-sockd-init dante-sockd
+       newconfd "${FILESDIR}"/dante-sockd-conf dante-sockd
+
+       systemd_dounit "${FILESDIR}"/dante-sockd.service
+
+       # example configuration files
+       docinto examples
+       dodoc example/*.conf
+
+       find "${ED}" -name '*.la' -delete || die
+}

diff --git a/net-proxy/dante/files/dante-1.4.2-cflags.patch 
b/net-proxy/dante/files/dante-1.4.2-cflags.patch
new file mode 100644
index 000000000000..84798de3a65f
--- /dev/null
+++ b/net-proxy/dante/files/dante-1.4.2-cflags.patch
@@ -0,0 +1,32 @@
+The upstream code tries to remove -g from CFLAGS, but the logic also matches
+the -g in the middle of flags, like:
+-frecord-gcc-switches => -frecordcc-switches
+-ggdb3 => ggdb3
+Both of which cause GCC to fail horribly!
+
+Fix the grep & sed to only match standalone instances.
+
+Signed-off-by: Robin H. Johnson <robb...@gentoo.org>
+
+diff -Nuar dante-1.4.2.orig/compiler.m4 dante-1.4.2/compiler.m4
+--- dante-1.4.2.orig/compiler.m4       2013-10-24 13:20:23.000000000 -0700
++++ dante-1.4.2/compiler.m4    2014-01-05 15:18:03.544336373 -0800
+@@ -375,14 +375,14 @@
+       gcc)
+           if test x"$aixldbug" != x; then
+               #disable debug info
+-              if echo $CFLAGS | grep -- "-g " >/dev/null; then
+-                  CFLAGS="`echo $CFLAGS | sed -e 's/-g //g'`"
++              if echo $CFLAGS | grep -w -- "-g" >/dev/null; then
++                  CFLAGS="`echo $CFLAGS | sed -e 's/\<-g\>//g'`"
+               fi
+               CFLAGS="$CFLAGS${CFLAGS:+ }-g0"
+           else
+               #use -ggdb also when not debugging
+-              if echo $CFLAGS | grep -- "-g " >/dev/null; then
+-                  CFLAGS="`echo $CFLAGS | sed -e 's/-g //g'`"
++              if echo $CFLAGS | grep -w -- "-g" >/dev/null; then
++                  CFLAGS="`echo $CFLAGS | sed -e 's/\<-g\>//g'`"
+               fi
+               CFLAGS="$CFLAGS${CFLAGS:+ }-ggdb"
+           fi

diff --git a/net-proxy/dante/files/dante-1.4.3-gai-symbol.patch 
b/net-proxy/dante/files/dante-1.4.3-gai-symbol.patch
new file mode 100644
index 000000000000..5f0b0303de5b
--- /dev/null
+++ b/net-proxy/dante/files/dante-1.4.3-gai-symbol.patch
@@ -0,0 +1,32 @@
+Dante's packaging design has some very pretty macro usage, but also fragile.
+
+The error & getaddrinfo error checking tries to expand a macro outside a
+string, leading to it expanding empty in some cases. Quoting the string makes
+it show up as expected.
+
+```
+checking getaddrinfo() error symbols... configure: error: in 
`/var/tmp/portage/net-proxy/dante-1.4.3/work/dante-1.4.3':
+configure: error: error: getaddrinfo() error value count too low
+See `config.log' for more details`
+```
+
+--- dante-1.4.3//acinclude.m4  2017-01-23 11:28:08.000000000 -0800
++++ dante-1.4.3//acinclude.m4  2024-11-17 19:51:39.398597593 -0800
+@@ -1110,7 +1114,7 @@
+        [AC_LANG_PROGRAM([[#include <errno.h>]],
+                         [[
+ #ifdef $3
+-errnoval: $3
++"errnoval: $3"
+ #else
+ #error "errno value $3 not defined"
+ #endif]])],
+@@ -1134,7 +1138,7 @@
+ #include <netdb.h>]],
+                         [[
+ #ifdef $3
+-gaierrval: $3
++"gaierrval: $3"
+ #else
+ #error "gai error value $3 not defined"
+ #endif]])],

diff --git a/net-proxy/dante/files/dante-1.4.3-osdep-debug.patch 
b/net-proxy/dante/files/dante-1.4.3-osdep-debug.patch
new file mode 100644
index 000000000000..f626f5b3ea9a
--- /dev/null
+++ b/net-proxy/dante/files/dante-1.4.3-osdep-debug.patch
@@ -0,0 +1,16 @@
+--- dante-1.4.3.orig/osdep.m4  2017-01-18 06:11:20.000000000 -0800
++++ dante-1.4.3/osdep.m4       2024-11-17 16:05:24.798720697 -0800
+@@ -957,11 +957,11 @@
+ if test -s $ERRVALFILE; then
+     UNIQUEVALS=`sort $ERRVALFILE | uniq | wc -l | awk '{ print $1 }'`
+     if test $UNIQUEVALS -le 1; then
+-        AC_MSG_FAILURE([error: getaddrinfo() error value count too low])
++        AC_MSG_FAILURE([error: getaddrinfo() error value count too low; got 
$UNIQUEVALS from $ERRVALFILE])
+     fi
+     UNIQUESYMBOLS=`cat $ERRVALFILE | wc -l | awk '{ print $1 }'`
+     if test $UNIQUESYMBOLS -le 1; then
+-        AC_MSG_FAILURE([error: getaddrinfo() error symbol count too low])
++        AC_MSG_FAILURE([error: getaddrinfo() error symbol count too low; got 
$UNIQUESYMBOLS from $ERRVALFILE])
+     fi
+ 
+     if test $ERRNOCNT -ne $UNIQUESYMBOLS; then

Reply via email to