summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Andrews <candrews@gentoo.org>2020-02-12 15:22:39 -0500
committerCraig Andrews <candrews@gentoo.org>2020-02-12 15:23:02 -0500
commitfb5c1f37eaf25007d39f8bb30d4fde8db9564af1 (patch)
tree3f824e443c8b3dda90350039edcbb29117f7b623
parentmedia-plugins/vdr-mailbox: delet media-plugins/vdr-mailbox from tree (diff)
downloadgentoo-fb5c1f37eaf25007d39f8bb30d4fde8db9564af1.tar.gz
gentoo-fb5c1f37eaf25007d39f8bb30d4fde8db9564af1.tar.bz2
gentoo-fb5c1f37eaf25007d39f8bb30d4fde8db9564af1.zip
net-misc/proxytunnel: Fix building with -fno-common or gcc-10
Closes: https://bugs.gentoo.org/709404 Package-Manager: Portage-2.3.88, Repoman-2.3.20 Signed-off-by: Craig Andrews <candrews@gentoo.org>
-rw-r--r--net-misc/proxytunnel/files/proxytunnel-1.9.1-gcc-10.patch128
-rw-r--r--net-misc/proxytunnel/proxytunnel-1.9.1-r2.ebuild3
2 files changed, 130 insertions, 1 deletions
diff --git a/net-misc/proxytunnel/files/proxytunnel-1.9.1-gcc-10.patch b/net-misc/proxytunnel/files/proxytunnel-1.9.1-gcc-10.patch
new file mode 100644
index 00000000000..a42b8424cca
--- /dev/null
+++ b/net-misc/proxytunnel/files/proxytunnel-1.9.1-gcc-10.patch
@@ -0,0 +1,128 @@
+https://github.com/proxytunnel/proxytunnel/pull/43
+
+From 517650724dc478dd35ac7c7953b4eb700ccb7273 Mon Sep 17 00:00:00 2001
+From: Paul Howarth <paul@city-fan.org>
+Date: Wed, 22 Jan 2020 21:44:01 +0000
+Subject: [PATCH] Fix global variable declarations/definitions for GCC 10
+ compatibility
+
+This boils down to declaring global variables as "extern" in header files
+and defining them in just one place.
+
+See https://www.gnu.org/software/gcc/gcc-10/porting_to.html
+---
+ Makefile | 1 +
+ globals.c | 41 +++++++++++++++++++++++++++++++++++++++++
+ ntlm.h | 4 ++--
+ proxytunnel.h | 16 ++++++++--------
+ 4 files changed, 52 insertions(+), 10 deletions(-)
+ create mode 100644 globals.c
+
+diff --git a/Makefile b/Makefile
+index 57328e8..ecdaa5f 100644
+--- a/Makefile
++++ b/Makefile
+@@ -63,6 +63,7 @@ OBJ = proxytunnel.o \
+ readpassphrase.o \
+ messages.o \
+ cmdline.o \
++ globals.o \
+ ntlm.o \
+ ptstream.o
+
+diff --git a/globals.c b/globals.c
+new file mode 100644
+index 0000000..fe19db4
+--- /dev/null
++++ b/globals.c
+@@ -0,0 +1,41 @@
++/* Proxytunnel - (C) 2001-2008 Jos Visser / Mark Janssen */
++/* Contact: josv@osp.nl / maniac@maniac.nl */
++
++/*
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ */
++
++/* globals.c */
++
++#include "proxytunnel.h"
++
++/* Globals */
++char *program_name; /* Guess what? */
++int i_am_daemon; /* Also... */
++
++PTSTREAM *stunnel; /* stream representing the socket from us to proxy */
++PTSTREAM *std; /* stream representing stdin/stdout */
++
++/*
++ * All the command line options
++ */
++struct gengetopt_args_info args_info;
++
++char buf[SIZE]; /* Data transfer buffer */
++
++char ntlm_type1_buf[160];
++char ntlm_type3_buf[4096];
++
++// vim:noexpandtab:ts=4
+diff --git a/ntlm.h b/ntlm.h
+index f919368..01a6434 100644
+--- a/ntlm.h
++++ b/ntlm.h
+@@ -26,8 +26,8 @@ void build_ntlm2_response();
+
+ extern int ntlm_challenge;
+
+-char ntlm_type1_buf[160];
+-char ntlm_type3_buf[4096];
++extern char ntlm_type1_buf[160];
++extern char ntlm_type3_buf[4096];
+
+
+ // Below are the flag definitions.
+diff --git a/proxytunnel.h b/proxytunnel.h
+index 593cd7e..aa09a4b 100644
+--- a/proxytunnel.h
++++ b/proxytunnel.h
+@@ -46,21 +46,21 @@ char * readpassphrase(const char *, char *, size_t, int);
+ char * getpass_x(const char *format, ...);
+
+ /* Globals */
+-int read_fd; /* The file descriptor to read from */
+-int write_fd; /* The file destriptor to write to */
+-char *program_name; /* Guess what? */
+-int i_am_daemon; /* Also... */
++extern int read_fd; /* The file descriptor to read from */
++extern int write_fd; /* The file descriptor to write to */
++extern char *program_name; /* Guess what? */
++extern int i_am_daemon; /* Also... */
+
+-PTSTREAM *stunnel; /* stream representing the socket from us to proxy */
+-PTSTREAM *std; /* stream representing stdin/stdout */
++extern PTSTREAM *stunnel; /* stream representing the socket from us to proxy */
++extern PTSTREAM *std; /* stream representing stdin/stdout */
+
+ /*
+ * All the command line options
+ */
+-struct gengetopt_args_info args_info;
++extern struct gengetopt_args_info args_info;
+
+ #define SIZE 65536
+-char buf[SIZE]; /* Data transfer buffer */
++extern char buf[SIZE]; /* Data transfer buffer */
+
+ /*
+ * Small MAX macro
diff --git a/net-misc/proxytunnel/proxytunnel-1.9.1-r2.ebuild b/net-misc/proxytunnel/proxytunnel-1.9.1-r2.ebuild
index eaf7123e2b0..a8815f6b96e 100644
--- a/net-misc/proxytunnel/proxytunnel-1.9.1-r2.ebuild
+++ b/net-misc/proxytunnel/proxytunnel-1.9.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -22,6 +22,7 @@ BDEPEND="virtual/pkgconfig"
DOCS=( CHANGES CREDITS INSTALL KNOWN_ISSUES LICENSE.txt README RELNOTES TODO )
PATCHES=(
"${FILESDIR}"/${PN}-allowTLS.patch
+ "${FILESDIR}"/${P}-gcc-10.patch
)
if [[ ${PV} == *9999 ]] ; then