net-analyzer/echoping: Fix CFLAGS=-fno-common
authorJeroen Roovers <jer@gentoo.org>
Fri, 31 Jan 2020 16:56:51 +0000 (17:56 +0100)
committerJeroen Roovers <jer@gentoo.org>
Fri, 31 Jan 2020 16:57:15 +0000 (17:57 +0100)
Package-Manager: Portage-2.3.86, Repoman-2.3.20
Closes: https://bugs.gentoo.org/show_bug.cgi?id=707400
Signed-off-by: Jeroen Roovers <jer@gentoo.org>
net-analyzer/echoping/echoping-6.0.2_p434-r4.ebuild [new file with mode: 0644]
net-analyzer/echoping/files/echoping-6.0.2_p434-fno-common.patch [new file with mode: 0644]

diff --git a/net-analyzer/echoping/echoping-6.0.2_p434-r4.ebuild b/net-analyzer/echoping/echoping-6.0.2_p434-r4.ebuild
new file mode 100644 (file)
index 0000000..17e0727
--- /dev/null
@@ -0,0 +1,65 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools
+
+DESCRIPTION="Small program to test performances of remote servers"
+HOMEPAGE="http://echoping.sourceforge.net/"
+SRC_URI="https://dev.gentoo.org/~jer/${P}.tar.gz"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="libressl gnutls http icp idn priority smtp ssl tos postgres ldap"
+RESTRICT="test"
+
+RDEPEND="
+       idn? ( net-dns/libidn )
+       ldap? ( net-nds/openldap )
+       postgres? ( dev-db/postgresql:* )
+       ssl? (
+               gnutls? ( >=net-libs/gnutls-3.3:= )
+               !gnutls? (
+                       !libressl? ( dev-libs/openssl:0= )
+                       libressl? ( dev-libs/libressl:0= )
+               )
+       )
+"
+DEPEND="
+       ${RDEPEND}
+       >=sys-devel/libtool-2
+"
+
+REQUIRED_USE="gnutls? ( ssl )"
+DOCS=( AUTHORS ChangeLog DETAILS NEWS README TODO )
+PATCHES=(
+       "${FILESDIR}"/${PN}-6.0.2_p434-fix_implicit_declarations.patch
+       "${FILESDIR}"/${PN}-6.0.2_p434-gnutls_certificate_type_set_priority.patch
+       "${FILESDIR}"/${PN}-6.0.2_p434-gnutls_session.patch
+       "${FILESDIR}"/${PN}-6.0.2_p434-fno-common.patch
+)
+
+src_prepare() {
+       default
+       eautoreconf
+}
+
+src_configure() {
+       econf \
+               $(use_enable http)  \
+               $(use_enable icp) \
+               $(use_enable priority) \
+               $(use_enable smtp) \
+               $(use_enable tos) \
+               $(use_with idn libidn) \
+               $(usex gnutls $(use_with gnutls) $(use_with ssl)) \
+               --config-cache \
+               --disable-static \
+               --disable-ttcp
+}
+
+src_install() {
+       default
+       find "${ED}" -name '*.la' -delete || die
+}
diff --git a/net-analyzer/echoping/files/echoping-6.0.2_p434-fno-common.patch b/net-analyzer/echoping/files/echoping-6.0.2_p434-fno-common.patch
new file mode 100644 (file)
index 0000000..5eafb8a
--- /dev/null
@@ -0,0 +1,111 @@
+--- a/echoping.c
++++ b/echoping.c
+@@ -38,6 +38,25 @@
+ struct timeval  good_results[MAX_ITERATIONS];
+ extern int      tvcmp();
++char           *server;
++#ifdef LIBIDN
++char           *locale_server, *ace_server, *utf8_server;
++#endif
++
++#ifndef IN_PLUGIN
++init_f          plugin_init;
++start_f         plugin_start;
++start_raw_f     plugin_raw_start;
++execute_f       plugin_execute;
++terminate_f     plugin_terminate;
++#endif
++
++struct timeval  null_timeval;
++struct timeval  max_timeval;
++
++boolean  timeout_flag;
++char     big_recvline[MAXTOREAD];
++
+ int
+ main(argc, argv)
+     int             argc;
+--- a/echoping.h
++++ b/echoping.h
+@@ -118,7 +118,6 @@
+     struct timeval  timevalue;
+ };
+-boolean         timeout_flag;
+ struct echoping_struct {
+     boolean         udp;        /* Use the UDP protocol (TCP is the default) */
+     boolean         ttcp;
+@@ -132,21 +131,21 @@
+ /* Initializes the plugin with its arguments. Returns the port name or number or NULL if the plugin wants to use the raw interface. */
+ typedef char   *(*init_f) (const int argc, const char **argv,
+                            const echoping_options global_options);
+-init_f          plugin_init;
++extern init_f          plugin_init;
+ typedef void    (*start_f) (struct addrinfo *);
+-start_f         plugin_start;
++extern start_f         plugin_start;
+ typedef void    (*start_raw_f) ();
+-start_raw_f     plugin_raw_start;
++extern start_raw_f     plugin_raw_start;
+ typedef int     (*execute_f) ();
+-execute_f       plugin_execute;
++extern execute_f       plugin_execute;
+ typedef void    (*terminate_f) ();
+-terminate_f     plugin_terminate;
++extern terminate_f     plugin_terminate;
+ #endif
+ #endif
+-struct timeval  null_timeval;
+-struct timeval  max_timeval;
++extern struct timeval  null_timeval;
++extern struct timeval  max_timeval;
+ #define       ECHO_TCP_PORT   "echo"
+ #define       DISCARD_TCP_PORT        "discard"
+@@ -169,9 +168,9 @@
+ #define CHARGENERATED " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefg";
+-char           *server;
++extern char           *server;
+ #ifdef LIBIDN
+-char           *locale_server, *ace_server, *utf8_server;
++extern char           *locale_server, *ace_server, *utf8_server;
+ #endif
+ /* My functions */
+@@ -230,6 +229,9 @@
+ extern boolean  timeout_flag;
++extern char     big_recvline[MAXTOREAD];
++
++
+ #include "compilation.h"
+ #ifndef HEADER_INCLUDED
+--- a/http.c
++++ b/http.c
+@@ -6,8 +6,6 @@
+ #include "HTParse.h"
+-char            big_recvline[MAXTOREAD];
+-
+ char           *
+ make_http_sendline(char *url, char *host, int port, int nocache)
+ {
+--- a/smtp.c
++++ b/smtp.c
+@@ -8,8 +8,6 @@
+ #ifdef SMTP
+-char            big_recvline[MAXTOREAD];
+-
+ int
+ smtp_read_response_from_server(FILE * fs)
+ {