summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-proxy/tsocks')
-rw-r--r--net-proxy/tsocks/Manifest3
-rw-r--r--net-proxy/tsocks/files/tsocks-1.8_beta5-bsd.patch22
-rw-r--r--net-proxy/tsocks/files/tsocks-1.8_beta5-flags.patch31
-rw-r--r--net-proxy/tsocks/files/tsocks-1.8_beta5-gentoo-r3.patch133
-rw-r--r--net-proxy/tsocks/files/tsocks-1.8_beta5-ld_preload.patch35
-rw-r--r--net-proxy/tsocks/files/tsocks-1.8_beta5-poll.patch16
-rw-r--r--net-proxy/tsocks/files/tsocks-1.8_beta5-rename.patch62
-rw-r--r--net-proxy/tsocks/metadata.xml19
-rw-r--r--net-proxy/tsocks/tsocks-1.8_beta5-r5.ebuild60
-rw-r--r--net-proxy/tsocks/tsocks-1.8_beta5-r8.ebuild79
10 files changed, 460 insertions, 0 deletions
diff --git a/net-proxy/tsocks/Manifest b/net-proxy/tsocks/Manifest
new file mode 100644
index 000000000000..40018b2c2b48
--- /dev/null
+++ b/net-proxy/tsocks/Manifest
@@ -0,0 +1,3 @@
+DIST tsocks-1.8b5-tordns1-gentoo-r1.patch.gz 20060 SHA256 d49f0eede6cf59a2e911ddf3ec14e880626369e94037c9ad853cf530ce5971dd
+DIST tsocks-1.8b5-tordns1-gentoo-r3.patch.xz 18468 SHA256 4b25f473ef08ce698bd12a92d65b3e6dffb706ec76289db8d5b75fac0bca16f8 SHA512 86cbc7a8733e9f9e19e0924d2a2b8481a66eb67a8d548b90c7bd02cc6ae42064a295ee6a002cf19a7b3d7d811388db2a34b641d9dbe239f4c0bc8a1f78c90682 WHIRLPOOL 5a4228be84b4797121b8deaf52c1030ea2d6716694f14602a473deca4919753abe5df9608e28056dcaecb8e57bbb0b5a290b7bcdacbda17fdc12df08a0f29fcb
+DIST tsocks-1.8beta5.tar.gz 83928 SHA256 849d7ef5af80d03e76cc05ed9fb8fa2bcc2b724b51ebfd1b6be11c7863f5b347 SHA512 b41636ea6b77abf0d1e3cda7bbca4e7ee96f3cdb1843f3a2c530650931e5567f67921de67b28ba9bab0f51df39770a3f7fb458cf7ac78aad7aa861923df2c4a9 WHIRLPOOL 9b50f66d63c870a37111450d76ea027fab79ecc4f62be8d6fab380f9fbfa6d1573f8bad5afe284571de3ee557460454826967449518d7665a80f563a2cfe5151
diff --git a/net-proxy/tsocks/files/tsocks-1.8_beta5-bsd.patch b/net-proxy/tsocks/files/tsocks-1.8_beta5-bsd.patch
new file mode 100644
index 000000000000..e003475da5a3
--- /dev/null
+++ b/net-proxy/tsocks/files/tsocks-1.8_beta5-bsd.patch
@@ -0,0 +1,22 @@
+Index: tsocks-1.8/configure.in
+===================================================================
+--- tsocks-1.8.orig/configure.in
++++ tsocks-1.8/configure.in
+@@ -122,7 +122,7 @@ LIBS=
+
+ dnl Checks for libraries.
+ dnl Replace `main' with a function in -ldl:
+-AC_CHECK_LIB(dl, dlsym,,AC_MSG_ERROR("libdl is required"))
++AC_CHECK_FUNC([dlsym], [], [AC_CHECK_LIB(dl, dlsym,,AC_MSG_ERROR("libdl is required"))])
+
+ dnl If we're using gcc here define _GNU_SOURCE
+ AC_MSG_CHECKING("for RTLD_NEXT from dlfcn.h")
+@@ -312,7 +312,7 @@ AC_DEFINE_UNQUOTED(CLOSE_SIGNATURE, [${P
+ dnl Find the correct poll prototype on this machine
+ AC_MSG_CHECKING(for correct poll prototype)
+ PROTO=
+-for testproto in 'struct pollfd *ufds, unsigned long nfds, int timeout'
++for testproto in 'struct pollfd *ufds, unsigned long nfds, int timeout' 'struct pollfd ufds[[]], nfds_t nfds, int timeout'
+ do
+ if test "${PROTO}" = ""; then
+ AC_TRY_COMPILE([
diff --git a/net-proxy/tsocks/files/tsocks-1.8_beta5-flags.patch b/net-proxy/tsocks/files/tsocks-1.8_beta5-flags.patch
new file mode 100644
index 000000000000..70d8786c196b
--- /dev/null
+++ b/net-proxy/tsocks/files/tsocks-1.8_beta5-flags.patch
@@ -0,0 +1,31 @@
+--- tsocks-1.8.orig/Makefile.in 2002-03-16 11:12:40.000000000 +0100
++++ tsocks-1.8/Makefile.in 2009-06-20 13:56:56.000000000 +0200
+@@ -28,6 +28,7 @@
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ CFLAGS = @CFLAGS@
++LDFLAGS = @LDFLAGS@
+ INCLUDES = -I.
+ LIBS = @LIBS@
+ SPECIALLIBS = @SPECIALLIBS@
+@@ -41,16 +42,16 @@
+ all: ${TARGETS}
+
+ ${VALIDATECONF}: ${VALIDATECONF}.c ${COMMON}.o ${PARSER}.o
+- ${SHCC} ${CFLAGS} ${INCLUDES} -o ${VALIDATECONF} ${VALIDATECONF}.c ${COMMON}.o ${PARSER}.o ${LIBS}
++ ${SHCC} ${CFLAGS} ${LDFLAGS} ${INCLUDES} -o ${VALIDATECONF} ${VALIDATECONF}.c ${COMMON}.o ${PARSER}.o ${LIBS}
+
+ ${INSPECT}: ${INSPECT}.c ${COMMON}.o
+- ${SHCC} ${CFLAGS} ${INCLUDES} -o ${INSPECT} ${INSPECT}.c ${COMMON}.o ${LIBS}
++ ${SHCC} ${CFLAGS} ${LDFLAGS} ${INCLUDES} -o ${INSPECT} ${INSPECT}.c ${COMMON}.o ${LIBS}
+
+ ${SAVE}: ${SAVE}.c
+- ${SHCC} ${CFLAGS} ${INCLUDES} -static -o ${SAVE} ${SAVE}.c
++ ${SHCC} ${CFLAGS} ${LDFLAGS} ${INCLUDES} -o ${SAVE} ${SAVE}.c
+
+ ${SHLIB}: ${OBJS} ${COMMON}.o ${PARSER}.o
+- ${SHCC} ${CFLAGS} ${INCLUDES} -nostdlib -shared -o ${SHLIB} ${OBJS} ${COMMON}.o ${PARSER}.o ${DYNLIB_FLAGS} ${SPECIALLIBS} ${LIBS}
++ ${SHCC} ${CFLAGS} ${LDFLAGS} ${INCLUDES} -nostdlib -shared -o ${SHLIB} ${OBJS} ${COMMON}.o ${PARSER}.o ${DYNLIB_FLAGS} ${SPECIALLIBS} ${LIBS}
+ ln -sf ${SHLIB} ${LIB_NAME}.so
+
+ %.so: %.c
diff --git a/net-proxy/tsocks/files/tsocks-1.8_beta5-gentoo-r3.patch b/net-proxy/tsocks/files/tsocks-1.8_beta5-gentoo-r3.patch
new file mode 100644
index 000000000000..1c9dd18cd59d
--- /dev/null
+++ b/net-proxy/tsocks/files/tsocks-1.8_beta5-gentoo-r3.patch
@@ -0,0 +1,133 @@
+diff -Nru tsocks-1.8.orig/Makefile.in tsocks-1.8/Makefile.in
+--- tsocks-1.8.orig/Makefile.in 2002-03-16 11:12:40.000000000 +0100
++++ tsocks-1.8/Makefile.in 2009-06-20 13:56:56.000000000 +0200
+@@ -28,6 +28,7 @@
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ CFLAGS = @CFLAGS@
++LDFLAGS = @LDFLAGS@
+ INCLUDES = -I.
+ LIBS = @LIBS@
+ SPECIALLIBS = @SPECIALLIBS@
+@@ -41,16 +42,16 @@
+ all: ${TARGETS}
+
+ ${VALIDATECONF}: ${VALIDATECONF}.c ${COMMON}.o ${PARSER}.o
+- ${SHCC} ${CFLAGS} ${INCLUDES} -o ${VALIDATECONF} ${VALIDATECONF}.c ${COMMON}.o ${PARSER}.o ${LIBS}
++ ${SHCC} ${LDFLAGS} ${INCLUDES} -o ${VALIDATECONF} ${VALIDATECONF}.c ${COMMON}.o ${PARSER}.o ${LIBS}
+
+ ${INSPECT}: ${INSPECT}.c ${COMMON}.o
+- ${SHCC} ${CFLAGS} ${INCLUDES} -o ${INSPECT} ${INSPECT}.c ${COMMON}.o ${LIBS}
++ ${SHCC} ${LDFLAGS} ${INCLUDES} -o ${INSPECT} ${INSPECT}.c ${COMMON}.o ${LIBS}
+
+ ${SAVE}: ${SAVE}.c
+- ${SHCC} ${CFLAGS} ${INCLUDES} -static -o ${SAVE} ${SAVE}.c
++ ${SHCC} ${LDFLAGS} ${INCLUDES} -o ${SAVE} ${SAVE}.c
+
+ ${SHLIB}: ${OBJS} ${COMMON}.o ${PARSER}.o
+- ${SHCC} ${CFLAGS} ${INCLUDES} -nostdlib -shared -o ${SHLIB} ${OBJS} ${COMMON}.o ${PARSER}.o ${DYNLIB_FLAGS} ${SPECIALLIBS} ${LIBS}
++ ${SHCC} ${LDFLAGS} ${INCLUDES} -nostdlib -shared -o ${SHLIB} ${OBJS} ${COMMON}.o ${PARSER}.o ${DYNLIB_FLAGS} ${SPECIALLIBS} ${LIBS}
+ ln -sf ${SHLIB} ${LIB_NAME}.so
+
+ %.so: %.c
+diff -Nru tsocks-1.8.orig/tsocks tsocks-1.8/tsocks
+--- tsocks-1.8.orig/tsocks 2002-03-16 11:27:18.000000000 +0100
++++ tsocks-1.8/tsocks 2009-06-20 13:56:38.000000000 +0200
+@@ -46,14 +46,14 @@
+ on)
+ if [ -z "$LD_PRELOAD" ]
+ then
+- export LD_PRELOAD="/usr/lib/libtsocks.so"
++ export LD_PRELOAD="/lib/libtsocks.so"
+ else
+- echo $LD_PRELOAD | grep -q "/usr/lib/libtsocks\.so" || \
+- export LD_PRELOAD="/usr/lib/libtsocks.so $LD_PRELOAD"
++ echo $LD_PRELOAD | grep -q "/lib/libtsocks\.so" || \
++ export LD_PRELOAD="/lib/libtsocks.so $LD_PRELOAD"
+ fi
+ ;;
+ off)
+- export LD_PRELOAD=`echo -n $LD_PRELOAD | sed 's/\/usr\/lib\/libtsocks.so \?//'`
++ export LD_PRELOAD=`echo -n $LD_PRELOAD | sed 's/\/lib\/libtsocks.so \?//'`
+ if [ -z "$LD_PRELOAD" ]
+ then
+ unset LD_PRELOAD
+@@ -68,10 +68,10 @@
+ *)
+ if [ -z "$LD_PRELOAD" ]
+ then
+- export LD_PRELOAD="/usr/lib/libtsocks.so"
++ export LD_PRELOAD="/lib/libtsocks.so"
+ else
+- echo $LD_PRELOAD | grep -q "/usr/lib/libtsocks\.so" || \
+- export LD_PRELOAD="/usr/lib/libtsocks.so $LD_PRELOAD"
++ echo $LD_PRELOAD | grep -q "/lib/libtsocks\.so" || \
++ export LD_PRELOAD="/lib/libtsocks.so $LD_PRELOAD"
+ fi
+
+ if [ $# = 0 ]
+diff -Nru tsocks-1.8.orig/tsocks.8 tsocks-1.8/tsocks.8
+--- tsocks-1.8.orig/tsocks.8 2002-03-16 11:20:51.000000000 +0100
++++ tsocks-1.8/tsocks.8 2009-06-20 13:56:38.000000000 +0200
+@@ -127,8 +127,8 @@
+ libtsocks in /etc/ld.so.preload. Please make sure you correctly enter the
+ full path to the library in this file if you do this. If you get it wrong,
+ you will be UNABLE TO DO ANYTHING with the machine and will have to boot
+-it with a rescue disk and remove the file (or try the saveme program, see
+-the INSTALL file for more info). THIS IS A ***WARNING***, please be
++it with a rescue disk and remove the file (or try the tsocks-saveme program,
++simply unlinks /etc/ld.so.preload ). THIS IS A ***WARNING***, please be
+ careful. Also be sure the library is in the root filesystem as all hell
+ will break loose if the directory it is in is not available at boot time.
+
+diff -Nru tsocks-1.8.orig/tsocks.conf.5 tsocks-1.8/tsocks.conf.5
+--- tsocks-1.8.orig/tsocks.conf.5 2002-05-18 04:13:08.000000000 +0200
++++ tsocks-1.8/tsocks.conf.5 2009-06-20 13:56:38.000000000 +0200
+@@ -139,21 +139,20 @@
+ the version that server supports.
+
+ .TP
+-validateconf
+-validateconf can be used to verify the configuration file. It checks the format
+-of the file and also the contents for errors. Having read the file it dumps
+-the configuration to the screen in a formatted, readable manner. This can be
+-extremely useful in debugging problems.
+-
+-validateconf can read a configuration file from a location other than the
+-location specified at compile time with the -f <filename> command line
+-option.
+-
+-Normally validateconf simply dumps the configuration read to the screen (in
+-a nicely readable format), however it also has a useful 'test' mode. When
+-passed a hostname/ip on the command line like -t <hostname/ip>, validateconf
+-determines which of the SOCKS servers specified in the configuration file
+-would be used by tsocks to access the specified host.
++tsocks-validateconf
++tsocks-validateconf can be used to verify the configuration file. It checks
++the format of the file and also the contents for errors. Having read the file
++it dumps the configuration to the screen in a formatted, readable manner.
++This can be extremely useful in debugging problems.
++
++tsocks-validateconf can read a configuration file from a location other than the
++location specified at compile time with the -f <filename> command line option.
++
++Normally tsocks-validateconf simply dumps the configuration read to the screen
++(in a nicely readable format), however it also has a useful 'test' mode. When
++passed a hostname/ip on the command line like -t <hostname/ip>,
++tsocks-validateconf determines which of the SOCKS servers specified in the
++configuration file would be used by tsocks to access the specified host.
+
+ .SH SEE ALSO
+ tsocks(8)
+diff -Nru tsocks-1.8.orig/validateconf.c tsocks-1.8/validateconf.c
+--- tsocks-1.8.orig/validateconf.c 2002-02-07 11:49:59.000000000 +0100
++++ tsocks-1.8/validateconf.c 2009-06-20 13:56:38.000000000 +0200
+@@ -23,7 +23,7 @@
+ */
+
+ /* Global configuration variables */
+-char *progname = "validateconf"; /* Name for error msgs */
++char *progname = "tsocks-validateconf"; /* Name for error msgs */
+
+ /* Header Files */
+ #include <config.h>
diff --git a/net-proxy/tsocks/files/tsocks-1.8_beta5-ld_preload.patch b/net-proxy/tsocks/files/tsocks-1.8_beta5-ld_preload.patch
new file mode 100644
index 000000000000..360e5b297fb6
--- /dev/null
+++ b/net-proxy/tsocks/files/tsocks-1.8_beta5-ld_preload.patch
@@ -0,0 +1,35 @@
+--- tsocks-1.8.orig/tsocks 2002-03-16 11:27:18.000000000 +0100
++++ tsocks-1.8/tsocks 2009-06-20 13:56:38.000000000 +0200
+@@ -46,14 +46,14 @@
+ on)
+ if [ -z "$LD_PRELOAD" ]
+ then
+- export LD_PRELOAD="/usr/lib/libtsocks.so"
++ export LD_PRELOAD="libtsocks.so"
+ else
+- echo $LD_PRELOAD | grep -q "/usr/lib/libtsocks\.so" || \
+- export LD_PRELOAD="/usr/lib/libtsocks.so $LD_PRELOAD"
++ echo $LD_PRELOAD | grep -q "libtsocks\.so" || \
++ export LD_PRELOAD="libtsocks.so $LD_PRELOAD"
+ fi
+ ;;
+ off)
+- export LD_PRELOAD=`echo -n $LD_PRELOAD | sed 's/\/usr\/lib\/libtsocks.so \?//'`
++ export LD_PRELOAD=`echo -n $LD_PRELOAD | sed 's/libtsocks.so \?//'`
+ if [ -z "$LD_PRELOAD" ]
+ then
+ unset LD_PRELOAD
+@@ -68,10 +68,10 @@
+ *)
+ if [ -z "$LD_PRELOAD" ]
+ then
+- export LD_PRELOAD="/usr/lib/libtsocks.so"
++ export LD_PRELOAD="libtsocks.so"
+ else
+- echo $LD_PRELOAD | grep -q "/usr/lib/libtsocks\.so" || \
+- export LD_PRELOAD="/usr/lib/libtsocks.so $LD_PRELOAD"
++ echo $LD_PRELOAD | grep -q "libtsocks\.so" || \
++ export LD_PRELOAD="libtsocks.so $LD_PRELOAD"
+ fi
+
+ if [ $# = 0 ]
diff --git a/net-proxy/tsocks/files/tsocks-1.8_beta5-poll.patch b/net-proxy/tsocks/files/tsocks-1.8_beta5-poll.patch
new file mode 100644
index 000000000000..233539564c61
--- /dev/null
+++ b/net-proxy/tsocks/files/tsocks-1.8_beta5-poll.patch
@@ -0,0 +1,16 @@
+--- a/tsocks.c
++++ b/tsocks.c
+@@ -659,10 +659,11 @@
+ * be ready for writing), otherwise we'll just let the select loop
+ * come around again (since we can't flag it for read, we don't know
+ * if there is any data to be read and can't be bothered checking) */
+- if (conn->selectevents & WRITE) {
+- setevents |= POLLOUT;
++ if (conn->selectevents & POLLOUT) {
++ ufds[i].revents |= POLLOUT;
+ nevents++;
+ }
++ ufds[i].events = conn->selectevents;
+ }
+ }
+ } while (nevents == 0);
diff --git a/net-proxy/tsocks/files/tsocks-1.8_beta5-rename.patch b/net-proxy/tsocks/files/tsocks-1.8_beta5-rename.patch
new file mode 100644
index 000000000000..4962aacd6801
--- /dev/null
+++ b/net-proxy/tsocks/files/tsocks-1.8_beta5-rename.patch
@@ -0,0 +1,62 @@
+--- tsocks-1.8.orig/validateconf.c 2002-02-07 11:49:59.000000000 +0100
++++ tsocks-1.8/validateconf.c 2009-06-20 13:56:38.000000000 +0200
+@@ -23,7 +23,7 @@
+ */
+
+ /* Global configuration variables */
+-char *progname = "validateconf"; /* Name for error msgs */
++char *progname = "tsocks-validateconf"; /* Name for error msgs */
+
+ /* Header Files */
+ #include <config.h>
+--- tsocks-1.8.orig/tsocks.8 2002-03-16 11:20:51.000000000 +0100
++++ tsocks-1.8/tsocks.8 2009-06-20 13:56:38.000000000 +0200
+@@ -127,8 +127,8 @@
+ libtsocks in /etc/ld.so.preload. Please make sure you correctly enter the
+ full path to the library in this file if you do this. If you get it wrong,
+ you will be UNABLE TO DO ANYTHING with the machine and will have to boot
+-it with a rescue disk and remove the file (or try the saveme program, see
+-the INSTALL file for more info). THIS IS A ***WARNING***, please be
++it with a rescue disk and remove the file (or try the tsocks-saveme program,
++simply unlinks /etc/ld.so.preload ). THIS IS A ***WARNING***, please be
+ careful. Also be sure the library is in the root filesystem as all hell
+ will break loose if the directory it is in is not available at boot time.
+
+--- tsocks-1.8.orig/tsocks.conf.5 2002-05-18 04:13:08.000000000 +0200
++++ tsocks-1.8/tsocks.conf.5 2009-06-20 13:56:38.000000000 +0200
+@@ -139,21 +139,20 @@
+ the version that server supports.
+
+ .TP
+-validateconf
+-validateconf can be used to verify the configuration file. It checks the format
+-of the file and also the contents for errors. Having read the file it dumps
+-the configuration to the screen in a formatted, readable manner. This can be
+-extremely useful in debugging problems.
+-
+-validateconf can read a configuration file from a location other than the
+-location specified at compile time with the -f <filename> command line
+-option.
+-
+-Normally validateconf simply dumps the configuration read to the screen (in
+-a nicely readable format), however it also has a useful 'test' mode. When
+-passed a hostname/ip on the command line like -t <hostname/ip>, validateconf
+-determines which of the SOCKS servers specified in the configuration file
+-would be used by tsocks to access the specified host.
++tsocks-validateconf
++tsocks-validateconf can be used to verify the configuration file. It checks
++the format of the file and also the contents for errors. Having read the file
++it dumps the configuration to the screen in a formatted, readable manner.
++This can be extremely useful in debugging problems.
++
++tsocks-validateconf can read a configuration file from a location other than the
++location specified at compile time with the -f <filename> command line option.
++
++Normally tsocks-validateconf simply dumps the configuration read to the screen
++(in a nicely readable format), however it also has a useful 'test' mode. When
++passed a hostname/ip on the command line like -t <hostname/ip>,
++tsocks-validateconf determines which of the SOCKS servers specified in the
++configuration file would be used by tsocks to access the specified host.
+
+ .SH SEE ALSO
+ tsocks(8)
diff --git a/net-proxy/tsocks/metadata.xml b/net-proxy/tsocks/metadata.xml
new file mode 100644
index 000000000000..9c37fc85760d
--- /dev/null
+++ b/net-proxy/tsocks/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>bircoph@gentoo.org</email>
+ </maintainer>
+ <longdescription>tsocks' role is to allow non SOCKS aware applications (e.g telnet, ssh, ftp etc) to use SOCKS
+without any modification. It does this by intercepting the calls that applications make to establish network connections
+and negotating them through a SOCKS server as necessary.</longdescription>
+ <use>
+ <flag name="dns">Force DNS queries to use SOCKS server via tcp</flag>
+ <flag name="envconf">Allow TSOCKS_CONF_FILE to specify configuration file</flag>
+ <flag name="server-lookups">Allow hostname resolution _for_ SOCKS servers</flag>
+ <flag name="tordns">Apply tordns patch which allows transparent TORification of the DNS queries</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">tsocks</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-proxy/tsocks/tsocks-1.8_beta5-r5.ebuild b/net-proxy/tsocks/tsocks-1.8_beta5-r5.ebuild
new file mode 100644
index 000000000000..99f72976b173
--- /dev/null
+++ b/net-proxy/tsocks/tsocks-1.8_beta5-r5.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit multilib eutils autotools toolchain-funcs
+
+DESCRIPTION="Transparent SOCKS v4 proxying library"
+HOMEPAGE="http://tsocks.sourceforge.net/"
+SRC_URI="mirror://sourceforge/tsocks/${PN}-${PV/_}.tar.gz
+ tordns? ( mirror://gentoo/${PN}-${PV/_beta/b}-tordns1-gentoo-r1.patch.gz )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="tordns"
+
+S="${WORKDIR}/${P%%_*}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-gentoo-r3.patch"
+ epatch "${FILESDIR}/${P}-bsd.patch"
+ use tordns && epatch "../${PN}-${PV/_beta/b}-tordns1-gentoo-r1.patch"
+ eautoreconf
+}
+
+src_configure() {
+ tc-export CC
+
+ # NOTE: the docs say to install it into /lib. If you put it into
+ # /usr/lib and add it to /etc/ld.so.preload on many systems /usr isn't
+ # mounted in time :-( (Ben Lutgens) <lamer@gentoo.org>
+ econf \
+ --with-conf=/etc/socks/tsocks.conf \
+ --libdir=/$(get_libdir)
+}
+
+src_compile() {
+ # Fix QA notice lack of SONAME
+ emake DYNLIB_FLAGS=-Wl,--soname,libtsocks.so.${PV/_beta*}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ newbin validateconf tsocks-validateconf
+ newbin saveme tsocks-saveme
+ dobin inspectsocks
+ insinto /etc/socks
+ doins tsocks.conf.*.example
+ dodoc FAQ
+ use tordns && dodoc README*
+}
+
+pkg_postinst() {
+ einfo "Make sure you create /etc/socks/tsocks.conf from one of the examples in that directory"
+ einfo "The following executables have been renamed:"
+ einfo " /usr/bin/saveme renamed to tsocks-saveme"
+ einfo " /usr/bin/validateconf renamed to tsocks-validateconf"
+}
diff --git a/net-proxy/tsocks/tsocks-1.8_beta5-r8.ebuild b/net-proxy/tsocks/tsocks-1.8_beta5-r8.ebuild
new file mode 100644
index 000000000000..3ca9b4f92f0b
--- /dev/null
+++ b/net-proxy/tsocks/tsocks-1.8_beta5-r8.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit autotools eutils multilib multilib-minimal toolchain-funcs
+
+DESCRIPTION="Transparent SOCKS v4 proxying library"
+HOMEPAGE="http://tsocks.sourceforge.net/"
+SRC_URI="mirror://sourceforge/tsocks/${PN}-${PV/_}.tar.gz
+ tordns? ( http://dev.gentoo.org/~bircoph/patches/${PN}-${PV/_beta/b}-tordns1-gentoo-r3.patch.xz )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="dns envconf tordns server-lookups"
+
+REQUIRED_USE="
+ dns? ( !tordns !server-lookups )
+ tordns? ( !dns !server-lookups )
+"
+
+S="${WORKDIR}/${P%%_*}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/${P}-flags.patch" \
+ "${FILESDIR}/${P}-ld_preload.patch" \
+ "${FILESDIR}/${P}-rename.patch" \
+ "${FILESDIR}/${P}-bsd.patch" \
+ "${FILESDIR}/${P}-poll.patch"
+ use tordns && epatch "../${PN}-${PV/_beta/b}-tordns1-gentoo-r3.patch"
+
+ sed -i 's/TSOCKS_CONFFILE/TSOCKS_CONF_FILE/' tsocks.8 || die "sed tsocks.8 failed"
+
+ mv configure.in configure.ac || die
+ eautoreconf
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ tc-export CC
+
+ # NOTE: the docs say to install it into /lib. If you put it into
+ # /usr/lib and add it to /etc/ld.so.preload on many systems /usr isn't
+ # mounted in time :-( (Ben Lutgens) <lamer@gentoo.org>
+ econf \
+ $(use_enable dns socksdns) \
+ $(use_enable envconf) \
+ $(use_enable server-lookups hostnames) \
+ --with-conf=/etc/socks/tsocks.conf \
+ --libdir=/$(get_libdir)
+}
+
+multilib_src_compile() {
+ # Fix QA notice lack of SONAME
+ emake DYNLIB_FLAGS=-Wl,--soname,libtsocks.so.${PV/_beta*}
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+ if multilib_is_native_abi; then
+ newbin validateconf tsocks-validateconf
+ newbin saveme tsocks-saveme
+ dobin inspectsocks
+ insinto /etc/socks
+ doins tsocks.conf.*.example
+ dodoc FAQ
+ use tordns && dodoc README*
+ fi
+}
+
+pkg_postinst() {
+ einfo "Make sure you create /etc/socks/tsocks.conf from one of the examples in that directory"
+ einfo "The following executables have been renamed:"
+ einfo " /usr/bin/saveme renamed to tsocks-saveme"
+ einfo " /usr/bin/validateconf renamed to tsocks-validateconf"
+}