diff options
author | Pacho Ramos <pacho@gentoo.org> | 2016-10-24 14:53:41 +0200 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2016-10-24 15:04:49 +0200 |
commit | e027c15375947136c0c6d1273b55b993a3d6d6fd (patch) | |
tree | aa87c232f9476b0093b0df4fefd70fd6ced1d50f /net-proxy | |
parent | dev-python/sqlalchemy: Removed old. (diff) | |
download | gentoo-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.ebuild | 106 | ||||
-rw-r--r-- | net-proxy/dante/files/dante-1.4.1-miniupnp14.patch | 14 | ||||
-rw-r--r-- | net-proxy/dante/files/dante-1.4.1-sigpwr-siginfo.patch | 26 |
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 */ |