summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2016-10-24 14:53:41 +0200
committerPacho Ramos <pacho@gentoo.org>2016-10-24 15:04:49 +0200
commite027c15375947136c0c6d1273b55b993a3d6d6fd (patch)
treeaa87c232f9476b0093b0df4fefd70fd6ced1d50f /net-proxy
parentdev-python/sqlalchemy: Removed old. (diff)
downloadgentoo-e027c15375947136c0c6d1273b55b993a3d6d6fd.tar.gz
gentoo-e027c15375947136c0c6d1273b55b993a3d6d6fd.tar.bz2
gentoo-e027c15375947136c0c6d1273b55b993a3d6d6fd.zip
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
Diffstat (limited to 'net-proxy')
-rw-r--r--net-proxy/dante/dante-1.4.1-r1.ebuild106
-rw-r--r--net-proxy/dante/files/dante-1.4.1-miniupnp14.patch14
-rw-r--r--net-proxy/dante/files/dante-1.4.1-sigpwr-siginfo.patch26
3 files changed, 146 insertions, 0 deletions
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 000000000000..2ef5813d7f2b
--- /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 000000000000..1e952ad18b7d
--- /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 000000000000..86d54d6a37cb
--- /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 <roam@ringlet.net>
+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 */