aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Retornaz <gentoo@retornaz.com>2021-01-17 21:02:41 +0100
committerQuentin Retornaz <gentoo@retornaz.com>2021-01-26 01:21:44 +0100
commitc06d275ba45627cd72e66247f2f08371158105f7 (patch)
treed994054bdd75c0451440fbbfb50451f88fbe4062 /net-misc
parentnet-misc/seafile-client: new package (diff)
downloadlibressl-c06d275ba45627cd72e66247f2f08371158105f7.tar.gz
libressl-c06d275ba45627cd72e66247f2f08371158105f7.tar.bz2
libressl-c06d275ba45627cd72e66247f2f08371158105f7.zip
net-misc/socat: new package
Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Quentin Retornaz <gentoo@retornaz.com>
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/socat/Manifest1
-rw-r--r--net-misc/socat/files/socat-1.7.3.0-filan-build.patch30
-rw-r--r--net-misc/socat/files/socat-1.7.3.1-stddef_h.patch38
-rw-r--r--net-misc/socat/files/socat-1.7.3.4-fno-common.patch24
-rw-r--r--net-misc/socat/files/socat-2.0.0_beta9-libressl.patch267
-rw-r--r--net-misc/socat/metadata.xml15
-rw-r--r--net-misc/socat/socat-2.0.0_beta9.ebuild78
7 files changed, 453 insertions, 0 deletions
diff --git a/net-misc/socat/Manifest b/net-misc/socat/Manifest
new file mode 100644
index 0000000..c4bcde4
--- /dev/null
+++ b/net-misc/socat/Manifest
@@ -0,0 +1 @@
+DIST socat-2.0.0-b9.tar.bz2 516673 BLAKE2B 808c8821b89ae2463074f87915dfae10f82b66ac6cd0b6ff56ab18f57c704e5a2a3ce76650152dccce41e4bd00e3a937948d4ade0a915b1f0e917c7543c6fc31 SHA512 f728bd634feeeacd2f0e4020c1c6aafdadaef3ba9da818d9ae1195e9f48fb693b2bea8dbbb208af8daddd8d6405217113d5ce31d05c2e9b27f5d2fba6b1cc834
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
new file mode 100644
index 0000000..861c673
--- /dev/null
+++ b/net-misc/socat/files/socat-1.7.3.0-filan-build.patch
@@ -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
+
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
new file mode 100644
index 0000000..c914a81
--- /dev/null
+++ b/net-misc/socat/files/socat-1.7.3.1-stddef_h.patch
@@ -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
diff --git a/net-misc/socat/files/socat-1.7.3.4-fno-common.patch b/net-misc/socat/files/socat-1.7.3.4-fno-common.patch
new file mode 100644
index 0000000..a7dcf71
--- /dev/null
+++ b/net-misc/socat/files/socat-1.7.3.4-fno-common.patch
@@ -0,0 +1,24 @@
+--- a/filan.c
++++ b/filan.c
+@@ -30,7 +30,9 @@
+
+ /* dirty workaround so we dont get an error on AIX when being linked with
+ libwrap */
++#if _AIX
+ int allow_severity, deny_severity;
++#endif
+
+ /* global variables for configuring filan */
+ bool filan_followsymlinks;
+--- a/procan.c
++++ b/procan.c
+@@ -21,7 +21,9 @@
+
+ /* dirty workaround so we dont get an error on AIX when getting linked with
+ libwrap */
++#if _AIX
+ int allow_severity, deny_severity;
++#endif
+
+
+ int procan(FILE *outfile) {
diff --git a/net-misc/socat/files/socat-2.0.0_beta9-libressl.patch b/net-misc/socat/files/socat-2.0.0_beta9-libressl.patch
new file mode 100644
index 0000000..535297c
--- /dev/null
+++ b/net-misc/socat/files/socat-2.0.0_beta9-libressl.patch
@@ -0,0 +1,267 @@
+From fbb0cc3b65a2ead522019fb461ae520371cc3ede Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@blackhole.sk>
+Date: Mon, 6 Jun 2016 18:41:30 +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 | 4 +++-
+ xio-openssl.c | 24 ++++++++++++++++++------
+ xio-openssl.h | 4 +++-
+ xioopts.c | 8 ++++++--
+ xioopts.h | 4 +++-
+ 6 files changed, 40 insertions(+), 12 deletions(-)
+
+diff --git a/sslcls.c b/sslcls.c
+index ea4c303..5011ef2 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;
+@@ -347,6 +351,7 @@ void sycSSL_free(SSL *ssl) {
+ return;
+ }
+
++#ifndef OPENSSL_NO_EGD
+ int sycRAND_egd(const char *path) {
+ int result;
+ Debug1("RAND_egd(\"%s\")", path);
+@@ -354,6 +359,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;
+@@ -391,7 +397,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 152fe5b..9fd8ef2 100644
+--- a/sslcls.h
++++ b/sslcls.h
+@@ -49,7 +49,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);
+
+@@ -57,7 +59,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);
+diff --git a/xio-openssl.c b/xio-openssl.c
+index c7f283c..38dc20d 100644
+--- a/xio-openssl.c
++++ b/xio-openssl.c
+@@ -181,9 +181,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
+@@ -220,7 +222,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;
+
+@@ -786,7 +788,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).
+@@ -857,8 +859,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 */
+@@ -875,9 +879,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
+@@ -1010,9 +1016,11 @@ int
+ }
+ }
+
++#ifndef OPENSSL_NO_EGD
+ if (opt_egd) {
+ sycRAND_egd(opt_egd);
+ }
++#endif
+
+ if (opt_pseudo) {
+ long int randdata;
+@@ -1124,7 +1132,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);
+@@ -1238,7 +1246,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 62586fc..f10ee0c 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 6c231f4..9a56298 100644
+--- a/xioopts.c
++++ b/xioopts.c
+@@ -303,7 +303,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 */
+@@ -419,7 +419,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)
+@@ -1062,11 +1064,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 2a165f5..37d6883 100644
+--- a/xioopts.h
++++ b/xioopts.h
+@@ -478,11 +478,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
+
diff --git a/net-misc/socat/metadata.xml b/net-misc/socat/metadata.xml
new file mode 100644
index 0000000..b367792
--- /dev/null
+++ b/net-misc/socat/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>netmon@gentoo.org</email>
+ <name>Gentoo network monitoring and analysis project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:dest-unreach:socat</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-misc/socat/socat-2.0.0_beta9.ebuild b/net-misc/socat/socat-2.0.0_beta9.ebuild
new file mode 100644
index 0000000..0f00e14
--- /dev/null
+++ b/net-misc/socat/socat-2.0.0_beta9.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic toolchain-funcs
+
+MY_P=${P/_beta/-b}
+DESCRIPTION="Multipurpose relay (SOcket CAT)"
+HOMEPAGE="http://www.dest-unreach.org/socat/ https://repo.or.cz/socat.git"
+SRC_URI="http://www.dest-unreach.org/socat/download/${MY_P}.tar.bz2"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="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}"
+
+# Tests are a large bash script
+# Hard to disable individual tests needing network or privileges
+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.4-fno-common.patch
+ "${FILESDIR}"/${PN}-2.0.0_beta9-libressl.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
+
+ touch doc/${PN}.1 || die
+
+ eautoreconf
+}
+
+src_configure() {
+ filter-flags -Wall '-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
+}