URI: 
       tnet-misc/soca: Add 1.7.3.1 wih musl support. - parlay - yet another gentoo overlay
  HTML git clone https://git.parazyd.org/parlay
   DIR Log
   DIR Files
   DIR Refs
   DIR README
       ---
   DIR commit 6fdfbffd912c5887cfe0deca236ab85123a1e59d
   DIR parent 1d6159e20e823f91b1ee3da584a431c6a22305f4
  HTML Author: parazyd <parazyd@dyne.org>
       Date:   Mon, 24 Oct 2016 23:09:58 +0200
       
       net-misc/soca: Add 1.7.3.1 wih musl support.
       
       Diffstat:
         A net-misc/socat/Manifest             |       1 +
         A net-misc/socat/files/socat-1.7.3.0… |      30 ++++++++++++++++++++++++++++++
         A net-misc/socat/files/socat-1.7.3.1… |     277 +++++++++++++++++++++++++++++++
         A net-misc/socat/files/socat-1.7.3.1… |      13 +++++++++++++
         A net-misc/socat/files/socat-1.7.3.1… |      38 +++++++++++++++++++++++++++++++
         A net-misc/socat/files/socat-1.7.3.1… |      11 +++++++++++
         A net-misc/socat/socat-1.7.3.1-r99.e… |      75 +++++++++++++++++++++++++++++++
       
       7 files changed, 445 insertions(+), 0 deletions(-)
       ---
   DIR diff --git a/net-misc/socat/Manifest b/net-misc/socat/Manifest
       t@@ -0,0 +1 @@
       +DIST socat-1.7.3.1.tar.bz2 488467 SHA256 d2da659540c38139f388e9437bfaae16bb458d174d056cb3228432a8f489fbaa SHA512 463340f578d4d1d54458b8ef9573ad3eff51dbcc736205e1b62e9a4782770d4bb76e6a07506350fd35405b130660559aaa79dfa2664c53ea268d7d64231f9b32 WHIRLPOOL 09f0fc537eaad194cac97cce73971c9f69047c648f03788fa69ac3444673ff73f143b2657d0ed28d082e2cfc36829304ed7bf0ff79c7ed75e96c991292f94dd4
   DIR diff --git a/net-misc/socat/files/socat-1.7.3.0-filan-build.patch b/net-misc/socat/files/socat-1.7.3.0-filan-build.patch
       t@@ -0,0 +1,30 @@
       +From aae2ea107b543fa908956f2fdcdf6db684e4a2e6 Mon Sep 17 00:00:00 2001
       +From: Mike Frysinger <vapier@chromium.org>
       +Date: Fri, 24 Apr 2015 23:06:37 -0400
       +Subject: [PATCH] filan: fix depend list
       +
       +The link line contains more objects than the depend line; sync them like
       +procan does.  Otherwise, parallel builds randomly fail.
       +---
       + Makefile.in | 5 +++--
       + 1 file changed, 3 insertions(+), 2 deletions(-)
       +
       +diff --git a/Makefile.in b/Makefile.in
       +index f2a6edb..0c00459 100644
       +--- a/Makefile.in
       ++++ b/Makefile.in
       +@@ -118,8 +118,9 @@ PROCAN_OBJS=procan_main.o procan.o procan-cdefs.o hostan.o error.o sycls.o sysut
       + procan: $(PROCAN_OBJS)
       +         $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(PROCAN_OBJS) $(CLIBS)
       + 
       +-filan: filan_main.o filan.o fdname.o error.o sycls.o sysutils.o utils.o
       +-        $(CC) $(CFLAGS) $(LDFLAGS) -o $@ filan_main.o filan.o fdname.o error.o sycls.o sysutils.o utils.o vsnprintf_r.o snprinterr.o $(CLIBS)
       ++FILAN_OBJS=filan_main.o filan.o fdname.o error.o sycls.o sysutils.o utils.o vsnprintf_r.o snprinterr.o
       ++filan: $(FILAN_OBJS)
       ++        $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(FILAN_OBJS) $(CLIBS)
       + 
       + libxio.a: $(XIOOBJS) $(UTLOBJS)
       +         $(AR) r $@ $(XIOOBJS) $(UTLOBJS)
       +-- 
       +2.3.5
       +
   DIR diff --git a/net-misc/socat/files/socat-1.7.3.1-libressl.patch b/net-misc/socat/files/socat-1.7.3.1-libressl.patch
       t@@ -0,0 +1,277 @@
       +From 1106527e9ca2be33af03d99393aa43069918df1a Mon Sep 17 00:00:00 2001
       +From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@blackhole.sk>
       +Date: Mon, 6 Jun 2016 18:43:56 +0200
       +Subject: [PATCH] Support compiling with LibreSSL 2.4.0
       +
       +This patch checks for macros OPENSSL_NO_COMP, OPENSSL_NO_EGD, and
       +if disables those features if they are.
       +
       +Also add ifdef for HAVE_SSLv3_{client/server}_method in sslcls.c,
       +since these were removed from LibreSSL 2.4.0.
       +---
       + sslcls.c      |  8 +++++++-
       + sslcls.h      |  6 +++++-
       + xio-openssl.c | 24 ++++++++++++++++++------
       + xio-openssl.h |  4 +++-
       + xioopts.c     |  8 ++++++--
       + xioopts.h     |  4 +++-
       + 6 files changed, 42 insertions(+), 12 deletions(-)
       +
       +diff --git a/sslcls.c b/sslcls.c
       +index 6ddc077..a4de26b 100644
       +--- a/sslcls.c
       ++++ b/sslcls.c
       +@@ -55,6 +55,7 @@ const SSL_METHOD *sycSSLv2_server_method(void) {
       + }
       + #endif
       + 
       ++#if HAVE_SSLv3_client_method
       + const SSL_METHOD *sycSSLv3_client_method(void) {
       +    const SSL_METHOD *result;
       +    Debug("SSLv3_client_method()");
       +@@ -62,7 +63,9 @@ const SSL_METHOD *sycSSLv3_client_method(void) {
       +    Debug1("SSLv3_client_method() -> %p", result);
       +    return result;
       + }
       ++#endif
       + 
       ++#if HAVE_SSLv3_server_method
       + const SSL_METHOD *sycSSLv3_server_method(void) {
       +    const SSL_METHOD *result;
       +    Debug("SSLv3_server_method()");
       +@@ -70,6 +73,7 @@ const SSL_METHOD *sycSSLv3_server_method(void) {
       +    Debug1("SSLv3_server_method() -> %p", result);
       +    return result;
       + }
       ++#endif
       + 
       + const SSL_METHOD *sycSSLv23_client_method(void) {
       +    const SSL_METHOD *result;
       +@@ -331,6 +335,7 @@ void sycSSL_free(SSL *ssl) {
       +    return;
       + }
       + 
       ++#ifndef OPENSSL_NO_EGD
       + int sycRAND_egd(const char *path) {
       +    int result;
       +    Debug1("RAND_egd(\"%s\")", path);
       +@@ -338,6 +343,7 @@ int sycRAND_egd(const char *path) {
       +    Debug1("RAND_egd() -> %d", result);
       +    return result;
       + }
       ++#endif
       + 
       + DH *sycPEM_read_bio_DHparams(BIO *bp, DH **x, pem_password_cb *cb, void *u) {
       +    DH *result;
       +@@ -375,7 +381,7 @@ int sycFIPS_mode_set(int onoff) {
       + }
       + #endif /* WITH_FIPS */
       + 
       +-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
       ++#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
       + const COMP_METHOD *sycSSL_get_current_compression(SSL *ssl) {
       +    const COMP_METHOD *result;
       +    Debug1("SSL_get_current_compression(%p)", ssl);
       +diff --git a/sslcls.h b/sslcls.h
       +index aece28a..5a4f8b1 100644
       +--- a/sslcls.h
       ++++ b/sslcls.h
       +@@ -47,7 +47,9 @@ X509 *sycSSL_get_peer_certificate(SSL *ssl);
       + int sycSSL_shutdown(SSL *ssl);
       + void sycSSL_CTX_free(SSL_CTX *ctx);
       + void sycSSL_free(SSL *ssl);
       ++#ifndef OPENSSL_NO_EGD
       + int sycRAND_egd(const char *path);
       ++#endif
       + 
       + DH *sycPEM_read_bio_DHparams(BIO *bp, DH **x, pem_password_cb *cb, void *u);
       + 
       +@@ -55,7 +57,7 @@ BIO *sycBIO_new_file(const char *filename, const char *mode);
       + 
       + int sycFIPS_mode_set(int onoff);
       + 
       +-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
       ++#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
       + const COMP_METHOD *sycSSL_get_current_compression(SSL *ssl);
       + const COMP_METHOD *sycSSL_get_current_expansion(SSL *ssl);
       + const char *sycSSL_COMP_get_name(const COMP_METHOD *comp);
       +@@ -98,7 +100,9 @@ const char *sycSSL_COMP_get_name(const COMP_METHOD *comp);
       + #define sycSSL_shutdown(s) SSL_shutdown(s)
       + #define sycSSL_CTX_free(c) SSL_CTX_free(c)
       + #define sycSSL_free(s) SSL_free(s)
       ++#ifndef OPENSSL_NO_EGD
       + #define sycRAND_egd(p) RAND_egd(p)
       ++#endif
       + 
       + #define sycPEM_read_bio_DHparams(b,x,p,u) PEM_read_bio_DHparams(b,x,p,u)
       + 
       +diff --git a/xio-openssl.c b/xio-openssl.c
       +index b7e95c1..03cc9ff 100644
       +--- a/xio-openssl.c
       ++++ b/xio-openssl.c
       +@@ -108,9 +108,11 @@ const struct optdesc opt_openssl_key         = { "openssl-key",         "key",
       + const struct optdesc opt_openssl_dhparam     = { "openssl-dhparam",     "dh",    OPT_OPENSSL_DHPARAM,     GROUP_OPENSSL, PH_SPEC, TYPE_FILENAME, OFUNC_SPEC };
       + const struct optdesc opt_openssl_cafile      = { "openssl-cafile",     "cafile", OPT_OPENSSL_CAFILE,      GROUP_OPENSSL, PH_SPEC, TYPE_FILENAME, OFUNC_SPEC };
       + const struct optdesc opt_openssl_capath      = { "openssl-capath",     "capath", OPT_OPENSSL_CAPATH,      GROUP_OPENSSL, PH_SPEC, TYPE_FILENAME, OFUNC_SPEC };
       ++#ifndef OPENSSL_NO_EGD
       + const struct optdesc opt_openssl_egd         = { "openssl-egd",        "egd",    OPT_OPENSSL_EGD,         GROUP_OPENSSL, PH_SPEC, TYPE_FILENAME, OFUNC_SPEC };
       ++#endif
       + const struct optdesc opt_openssl_pseudo      = { "openssl-pseudo",     "pseudo", OPT_OPENSSL_PSEUDO,      GROUP_OPENSSL, PH_SPEC, TYPE_BOOL,     OFUNC_SPEC };
       +-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
       ++#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
       + const struct optdesc opt_openssl_compress    = { "openssl-compress",   "compress", OPT_OPENSSL_COMPRESS,  GROUP_OPENSSL, PH_SPEC, TYPE_STRING,   OFUNC_SPEC };
       + #endif
       + #if WITH_FIPS
       +@@ -147,7 +149,7 @@ int xio_reset_fips_mode(void) {
       + static void openssl_conn_loginfo(SSL *ssl) {
       +    Notice1("SSL connection using %s", SSL_get_cipher(ssl));
       + 
       +-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
       ++#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
       +    {
       +       const COMP_METHOD *comp, *expansion;
       + 
       +@@ -651,7 +653,7 @@ int _xioopen_openssl_listen(struct single *xfd,
       + #endif /* WITH_LISTEN */
       + 
       + 
       +-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
       ++#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
       + /* In OpenSSL 0.9.7 compression methods could be added using
       +  * SSL_COMP_add_compression_method(3), but the implemntation is not compatible
       +  * with the standard (RFC3749).
       +@@ -722,8 +724,10 @@ int
       +    char *opt_dhparam = NULL;        /* file name of DH params */
       +    char *opt_cafile = NULL;        /* certificate authority file */
       +    char *opt_capath = NULL;        /* certificate authority directory */
       ++#ifndef OPENSSL_NO_EGD
       +    char *opt_egd = NULL;        /* entropy gathering daemon socket path */
       +-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
       ++#endif
       ++#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
       +    char *opt_compress = NULL;        /* compression method */
       + #endif
       +    bool opt_pseudo = false;        /* use pseudo entropy if nothing else */
       +@@ -741,9 +745,11 @@ int
       +    retropt_string(opts, OPT_OPENSSL_CAPATH, &opt_capath);
       +    retropt_string(opts, OPT_OPENSSL_KEY, &opt_key);
       +    retropt_string(opts, OPT_OPENSSL_DHPARAM, &opt_dhparam);
       ++#ifndef OPENSSL_NO_EGD
       +    retropt_string(opts, OPT_OPENSSL_EGD, &opt_egd);
       ++#endif
       +    retropt_bool(opts,OPT_OPENSSL_PSEUDO, &opt_pseudo);
       +-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
       ++#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
       +    retropt_string(opts, OPT_OPENSSL_COMPRESS, &opt_compress);
       + #endif
       + #if WITH_FIPS
       +@@ -877,9 +883,11 @@ int
       +       }
       +    }
       + 
       ++#ifndef OPENSSL_NO_EGD
       +    if (opt_egd) {
       +       sycRAND_egd(opt_egd);
       +    }
       ++#endif
       + 
       +    if (opt_pseudo) {
       +       long int randdata;
       +@@ -991,7 +999,7 @@ int
       +    }
       + #endif /* !defined(EC_KEY) */
       + 
       +-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
       ++#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
       +    if (opt_compress) {
       +       int result;
       +       result = openssl_setup_compression(*ctx, opt_compress);
       +@@ -1105,7 +1113,11 @@ static int openssl_SSL_ERROR_SSL(int level, const char *funcname) {
       +       if (e == ((ERR_LIB_RAND<<24)|
       +                 (RAND_F_SSLEAY_RAND_BYTES<<12)|
       +                 (RAND_R_PRNG_NOT_SEEDED)) /*0x24064064*/) {
       ++#ifdef OPENSSL_NO_EGD
       ++         Error("too few entropy; use option \"pseudo\"");
       ++#else
       +          Error("too few entropy; use options \"egd\" or \"pseudo\"");
       ++#endif
       +          stat = STAT_NORETRY;
       +       } else {
       +          Msg2(level, "%s(): %s", funcname, ERR_error_string(e, buf));
       +diff --git a/xio-openssl.h b/xio-openssl.h
       +index 9cad8f4..bfe69ee 100644
       +--- a/xio-openssl.h
       ++++ b/xio-openssl.h
       +@@ -21,9 +21,11 @@ extern const struct optdesc opt_openssl_key;
       + extern const struct optdesc opt_openssl_dhparam;
       + extern const struct optdesc opt_openssl_cafile;
       + extern const struct optdesc opt_openssl_capath;
       ++#ifndef OPENSSL_NO_EGD
       + extern const struct optdesc opt_openssl_egd;
       ++#endif
       + extern const struct optdesc opt_openssl_pseudo;
       +-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
       ++#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
       + extern const struct optdesc opt_openssl_compress;
       + #endif
       + #if WITH_FIPS
       +diff --git a/xioopts.c b/xioopts.c
       +index 3b0f300..e50c26c 100644
       +--- a/xioopts.c
       ++++ b/xioopts.c
       +@@ -296,7 +296,7 @@ const struct optname optionnames[] = {
       + #if WITH_EXT2 && defined(EXT2_COMPR_FL)
       +         IF_ANY    ("compr",        &opt_ext2_compr)
       + #endif
       +-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
       ++#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
       +         IF_OPENSSL("compress",        &opt_openssl_compress)
       + #endif
       + #ifdef TCP_CONN_ABORT_THRESHOLD  /* HP_UX */
       +@@ -412,7 +412,9 @@ const struct optname optionnames[] = {
       + #ifdef ECHOPRT
       +         IF_TERMIOS("echoprt",        &opt_echoprt)
       + #endif
       ++#ifndef OPENSSL_NO_EGD
       +         IF_OPENSSL("egd",        &opt_openssl_egd)
       ++#endif
       +         IF_ANY    ("end-close",        &opt_end_close)
       +         IF_TERMIOS("eof",        &opt_veof)
       +         IF_TERMIOS("eol",        &opt_veol)
       +@@ -1098,11 +1100,13 @@ const struct optname optionnames[] = {
       +         IF_OPENSSL("openssl-certificate",        &opt_openssl_certificate)
       +         IF_OPENSSL("openssl-cipherlist",        &opt_openssl_cipherlist)
       +         IF_OPENSSL("openssl-commonname",        &opt_openssl_commonname)
       +-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
       ++#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
       +         IF_OPENSSL("openssl-compress",        &opt_openssl_compress)
       + #endif
       +         IF_OPENSSL("openssl-dhparam",        &opt_openssl_dhparam)
       ++#ifndef OPENSSL_NO_EGD
       +         IF_OPENSSL("openssl-egd",        &opt_openssl_egd)
       ++#endif
       + #if WITH_FIPS
       +         IF_OPENSSL("openssl-fips",        &opt_openssl_fips)
       + #endif
       +diff --git a/xioopts.h b/xioopts.h
       +index ebcf315..305e018 100644
       +--- a/xioopts.h
       ++++ b/xioopts.h
       +@@ -474,11 +474,13 @@ enum e_optcode {
       +    OPT_OPENSSL_CERTIFICATE,
       +    OPT_OPENSSL_CIPHERLIST,
       +    OPT_OPENSSL_COMMONNAME,
       +-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
       ++#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
       +    OPT_OPENSSL_COMPRESS,
       + #endif
       +    OPT_OPENSSL_DHPARAM,
       ++#ifndef OPENSSL_NO_EGD
       +    OPT_OPENSSL_EGD,
       ++#endif
       +    OPT_OPENSSL_FIPS,
       +    OPT_OPENSSL_KEY,
       +    OPT_OPENSSL_METHOD,
       +-- 
       +2.7.3
       +
   DIR diff --git a/net-misc/socat/files/socat-1.7.3.1-netdb-internal.patch b/net-misc/socat/files/socat-1.7.3.1-netdb-internal.patch
       t@@ -0,0 +1,13 @@
       +--- socat-1.7.2.4.orig/compat.h
       ++++ socat-1.7.2.4/compat.h
       +@@ -656,6 +656,10 @@
       + #  define NETDB_INTERNAL h_NETDB_INTERNAL
       + #endif
       + 
       ++#if !defined(NETDB_INTERNAL)
       ++#  define NETDB_INTERNAL (-1)
       ++#endif
       ++
       + #ifndef INET_ADDRSTRLEN
       + #  define INET_ADDRSTRLEN sizeof(struct sockaddr_in)
       + #endif
   DIR diff --git a/net-misc/socat/files/socat-1.7.3.1-stddef_h.patch b/net-misc/socat/files/socat-1.7.3.1-stddef_h.patch
       t@@ -0,0 +1,38 @@
       +When disabling OpenSSL support, nestlex.c still needs stddef.h which is
       +magically included through the OpenSSL headers otherwise.
       +
       +--- a/configure.in
       ++++ b/configure.in
       +@@ -61,7 +61,7 @@
       + AC_CHECK_HEADERS(inttypes.h)
       + AC_HEADER_SYS_WAIT
       + AC_CHECK_HEADERS(fcntl.h limits.h strings.h sys/param.h sys/ioctl.h sys/time.h syslog.h unistd.h)
       +-AC_CHECK_HEADERS(pwd.h grp.h stdint.h sys/types.h poll.h sys/poll.h sys/socket.h sys/uio.h sys/stat.h netdb.h sys/un.h)
       ++AC_CHECK_HEADERS(pwd.h grp.h stddef.h stdint.h sys/types.h poll.h sys/poll.h sys/socket.h sys/uio.h sys/stat.h netdb.h sys/un.h)
       + AC_CHECK_HEADERS(pty.h)
       + AC_CHECK_HEADERS(netinet/in.h netinet/in_systm.h)
       + AC_CHECK_HEADERS(netinet/ip.h, [], [], [AC_INCLUDES_DEFAULT
       +--- a/config.h.in
       ++++ b/config.h.in
       +@@ -189,6 +189,9 @@
       + /* Define if you have the <grp.h> header file.  */
       + #undef HAVE_GRP_H
       + 
       ++/* Define if you have the <stddef.h> header file.  */
       ++#undef HAVE_STDDEF_H
       ++
       + /* Define if you have the <stdint.h> header file.  */
       + #undef HAVE_STDINT_H
       + 
       +--- a/sysincludes.h
       ++++ b/sysincludes.h
       +@@ -51,6 +51,9 @@
       + #if HAVE_SYS_TIME_H
       + #include <sys/time.h>        /* select(); OpenBSD: struct timespec */
       + #endif
       ++#if HAVE_STDDEF_H
       ++#include <stddef.h>
       ++#endif
       + #if HAVE_STDINT_H
       + #include <stdint.h>        /* uint8_t */
       + #endif
   DIR diff --git a/net-misc/socat/files/socat-1.7.3.1-use-linux-headers.patch b/net-misc/socat/files/socat-1.7.3.1-use-linux-headers.patch
       t@@ -0,0 +1,11 @@
       +--- socat-1.7.2.4.orig/sysincludes.h
       ++++ socat-1.7.2.4/sysincludes.h
       +@@ -134,7 +134,7 @@
       + #include <netpacket/packet.h>
       + #endif
       + #if HAVE_NETINET_IF_ETHER_H
       +-#include <netinet/if_ether.h>
       ++#include <linux/if_ether.h>
       + #endif
       + #if HAVE_LINUX_IF_TUN_H
       + #include <linux/if_tun.h>
   DIR diff --git a/net-misc/socat/socat-1.7.3.1-r99.ebuild b/net-misc/socat/socat-1.7.3.1-r99.ebuild
       t@@ -0,0 +1,75 @@
       +# Copyright 1999-2016 Gentoo Foundation
       +# Distributed under the terms of the GNU General Public License v2
       +# $Id$
       +
       +EAPI=6
       +
       +inherit autotools flag-o-matic toolchain-funcs
       +
       +DESCRIPTION="Multipurpose relay (SOcket CAT)"
       +HOMEPAGE="http://www.dest-unreach.org/socat/"
       +MY_P=${P/_beta/-b}
       +S="${WORKDIR}/${MY_P}"
       +SRC_URI="http://www.dest-unreach.org/socat/download/${MY_P}.tar.bz2"
       +
       +LICENSE="GPL-2"
       +SLOT="0"
       +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
       +IUSE="bindist libressl ssl readline ipv6 tcpd"
       +
       +DEPEND="
       +        ssl? (
       +                !libressl? ( dev-libs/openssl:0= )
       +                libressl? ( dev-libs/libressl:= )
       +        )
       +        readline? ( sys-libs/readline:= )
       +        tcpd? ( sys-apps/tcp-wrappers )
       +"
       +RDEPEND="${DEPEND}"
       +
       +RESTRICT="test
       +        ssl? ( readline? ( bindist ) )"
       +
       +DOCS=(
       +        BUGREPORTS CHANGES DEVELOPMENT EXAMPLES FAQ FILES PORTING README SECURITY
       +)
       +
       +PATCHES=(
       +        "${FILESDIR}"/${PN}-1.7.3.0-filan-build.patch
       +        "${FILESDIR}"/${PN}-1.7.3.1-stddef_h.patch
       +        "${FILESDIR}"/${PN}-1.7.3.1-libressl.patch
       +        "${FILESDIR}"/${PN}-1.7.3.1-netdb-internal.patch
       +        "${FILESDIR}"/${PN}-1.7.3.1-use-linux-headers.patch
       +)
       +
       +pkg_setup() {
       +        # bug #587740
       +        if use readline && use ssl; then
       +                elog "You are enabling both readline and openssl USE flags, the licenses"
       +                elog "for these packages conflict. You may not be able to legally"
       +                elog "redistribute the resulting binary."
       +        fi
       +}
       +
       +src_prepare() {
       +        default
       +
       +        eautoreconf
       +}
       +
       +src_configure() {
       +        filter-flags '-Wno-error*' #293324
       +        tc-export AR
       +        econf \
       +                $(use_enable ssl openssl) \
       +                $(use_enable readline) \
       +                $(use_enable ipv6 ip6) \
       +                $(use_enable tcpd libwrap)
       +}
       +
       +src_install() {
       +        default
       +
       +        docinto html
       +        dodoc doc/*.html doc/*.css
       +}