commit:     e027c15375947136c0c6d1273b55b993a3d6d6fd
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 24 12:53:41 2016 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Mon Oct 24 13:04:49 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e027c153

net-proxy/dante: Apply Debian patch to fix compilation on alpha and other 
arches (#517528 by Tobias Klausmann), apply opensuse patch to fix compilation 
with newer miniupnpc (#564680 by Rion), use proper configure option (#596198 by 
Xiami).

Package-Manager: portage-2.3.2
RepoMan-Options: --force

 net-proxy/dante/dante-1.4.1-r1.ebuild              | 106 +++++++++++++++++++++
 net-proxy/dante/files/dante-1.4.1-miniupnp14.patch |  14 +++
 .../dante/files/dante-1.4.1-sigpwr-siginfo.patch   |  26 +++++
 3 files changed, 146 insertions(+)

diff --git a/net-proxy/dante/dante-1.4.1-r1.ebuild 
b/net-proxy/dante/dante-1.4.1-r1.ebuild
new file mode 100644
index 00000000..2ef5813
--- /dev/null
+++ b/net-proxy/dante/dante-1.4.1-r1.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+inherit autotools eutils systemd user
+
+DESCRIPTION="A free socks4,5 and msproxy implementation"
+HOMEPAGE="http://www.inet.no/dante/";
+MY_P="${P/_/-}"
+SRC_URI="ftp://ftp.inet.no/pub/socks/${MY_P}.tar.gz";
+
+LICENSE="BSD GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh 
~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="debug kerberos pam selinux static-libs tcpd upnp"
+
+CDEPEND="
+       kerberos? ( virtual/krb5 )
+       pam? ( virtual/pam )
+       tcpd? ( sys-apps/tcp-wrappers )
+       upnp? ( net-libs/miniupnpc:= )
+       userland_GNU? ( virtual/shadow )
+"
+DEPEND="${CDEPEND}
+       sys-devel/bison
+       sys-devel/flex
+"
+RDEPEND="${CDEPEND}
+       selinux? ( sec-policy/selinux-dante )
+"
+
+DOCS="BUGS CREDITS NEWS README SUPPORT doc/README* doc/*.txt 
doc/SOCKS4.protocol"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.4.0-socksify.patch
+       "${FILESDIR}"/${PN}-1.4.0-osdep-format-macro.patch
+       "${FILESDIR}"/${PN}-1.4.0-cflags.patch
+       "${FILESDIR}"/${PN}-1.4.0-HAVE_SENDBUF_IOCTL.patch
+       "${FILESDIR}"/${PN}-1.4.1-sigpwr-siginfo.patch #517528
+       "${FILESDIR}"/${PN}-1.4.1-miniupnp14.patch #564680
+)
+
+src_prepare() {
+       default
+
+       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 \
+               --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 && epatch "${FILESDIR}"/sockd.conf-with-pam.patch
+       use tcpd && epatch "${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
+
+       prune_libtool_files
+}
+
+pkg_postinst() {
+       enewuser sockd -1 -1 /etc/socks daemon
+}

diff --git a/net-proxy/dante/files/dante-1.4.1-miniupnp14.patch 
b/net-proxy/dante/files/dante-1.4.1-miniupnp14.patch
new file mode 100644
index 00000000..1e952ad
--- /dev/null
+++ b/net-proxy/dante/files/dante-1.4.1-miniupnp14.patch
@@ -0,0 +1,14 @@
+Index: dante-1.4.1/lib/upnp.c
+===================================================================
+--- dante-1.4.1.orig/lib/upnp.c
++++ dante-1.4.1/lib/upnp.c
+@@ -156,6 +156,9 @@ socks_initupnp(gw, emsg, emsglen)
+                            0
+ #if HAVE_LIBMINIUPNP17
+                           ,0,
++#if MINIUPNPC_API_VERSION >= 14 /* adds ttl */
++                          2,
++#endif
+                           &rc
+ #endif /* HAVE_LIBMINIUPNP17 */
+                          );

diff --git a/net-proxy/dante/files/dante-1.4.1-sigpwr-siginfo.patch 
b/net-proxy/dante/files/dante-1.4.1-sigpwr-siginfo.patch
new file mode 100644
index 00000000..86d54d6
--- /dev/null
+++ b/net-proxy/dante/files/dante-1.4.1-sigpwr-siginfo.patch
@@ -0,0 +1,26 @@
+Description: Make sure SIGPWR is not the same as SIGINFO
+ Avoid a duplicate case value in a switch statement on e.g. Alpha.
+Forwarded: not-yet
+Author: Peter Pentchev <[email protected]>
+Last-Update: 2016-04-11
+
+--- a/lib/tostring.c
++++ b/lib/tostring.c
+@@ -1551,7 +1551,17 @@
+          return "SIGPROF";
+ #endif /* SIGPROF */
+ 
++#undef NEED_SIGPWR
++
+ #ifdef SIGPWR
++#ifndef SIGINFO
++#define NEED_SIGPWR
++#elif SIGINFO != SIGPWR
++#define NEED_SIGPWR
++#endif
++#endif
++
++#ifdef NEED_SIGPWR
+       case SIGPWR:
+          return "SIGPWR";
+ #endif /* SIGPWR */

Reply via email to