media-radio/ax25-apps: fix build with -fno-common
authorThomas Beierlein <tomjbe@gentoo.org>
Sat, 8 Feb 2020 12:14:41 +0000 (13:14 +0100)
committerThomas Beierlein <tomjbe@gentoo.org>
Sat, 8 Feb 2020 12:14:41 +0000 (13:14 +0100)
Closes: https://bugs.gentoo.org/707630
Package-Manager: Portage-2.3.87, Repoman-2.3.20
Signed-off-by: Thomas Beierlein <tomjbe@gentoo.org>
media-radio/ax25-apps/ax25-apps-0.0.8_rc4.ebuild
media-radio/ax25-apps/files/ax25-apps-0.0.8-fno-common.patch [new file with mode: 0644]

index 21b6d557a2c51041e54e0a27f8a66b7f58e1c7fc..2d61a7513cb46e7186c32aa62c484b51912ce80d 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=5
@@ -12,7 +12,7 @@ SRC_URI="http://www.linux-ax25.org/pub/${PN}/${MY_P}.tar.gz"
 
 LICENSE="GPL-2"
 SLOT="0"
-KEYWORDS="amd64 ppc x86"
+KEYWORDS="~amd64 ~ppc ~x86"
 IUSE=""
 
 RDEPEND=">=dev-libs/libax25-0.0.12_rc2
@@ -26,6 +26,7 @@ S=${WORKDIR}/${MY_P}
 
 src_prepare() {
        epatch "$FILESDIR"/$PN-0.8.4-tinfo.patch
+       epatch "$FILESDIR"/$PN-0.0.8-fno-common.patch
        eautoreconf
 }
 
diff --git a/media-radio/ax25-apps/files/ax25-apps-0.0.8-fno-common.patch b/media-radio/ax25-apps/files/ax25-apps-0.0.8-fno-common.patch
new file mode 100644 (file)
index 0000000..1ea5c77
--- /dev/null
@@ -0,0 +1,87 @@
+diff --git a/ax25ipd/ax25ipd.c b/ax25ipd/ax25ipd.c
+index 461147d..e85b44d 100644
+--- a/ax25ipd/ax25ipd.c
++++ b/ax25ipd/ax25ipd.c
+@@ -35,6 +35,25 @@ int opt_help = 0;
+ char opt_configfile[PATH_MAX];
+ char opt_ttydevice[PATH_MAX];
++struct stats_s stats;
++
++int udp_mode;
++int ip_mode;
++unsigned short my_udp;
++char ttydevice[PATH_MAX];
++int ttyspeed;
++signed char mycallsign[7];
++unsigned char mycallsign2[7];
++unsigned char myalias[7];
++unsigned char myalias2[7];
++char bc_text[128];
++int bc_interval;
++int bc_every;
++
++int digi;
++int loglevel;
++int dual_port;
++
+ struct option options[] = {
+       {"version", 0, NULL, 'v'},
+       {"loglevel", 1, NULL, 'l'},
+diff --git a/ax25ipd/ax25ipd.h b/ax25ipd/ax25ipd.h
+index b088247..367024b 100644
+--- a/ax25ipd/ax25ipd.h
++++ b/ax25ipd/ax25ipd.h
+@@ -72,24 +72,25 @@
+ #include      <sys/types.h>
+ #include      <netax25/daemon.h>
+-int udp_mode;                   /* true if we need a UDP socket */
+-int ip_mode;                    /* true if we need the raw IP socket */
+-unsigned short my_udp;          /* the UDP port to use (network byte order) */
+-char ttydevice[PATH_MAX];       /* the tty device for serial comms */
+-int ttyspeed;                   /* The baud rate on the tty device */
+-unsigned char mycallsign[7];    /* My callsign, shifted ASCII with SSID */
+-unsigned char mycallsign2[7];   /* My seconds port callsign, shifted ASCII with SSID */
+-unsigned char myalias[7];       /* An alias to use */
+-unsigned char myalias2[7];      /* An alias for second port */
+-char bc_text[128];              /* The text for beacon messages */
+-int bc_interval;                /* The interval, in seconds, between beacons */
+-int bc_every;                   /* true=every, false=after */
+-int digi;                       /* True if we are connected to a TNC */
+-int loglevel;                   /* Verbosity level */
++extern int udp_mode;            /* true if we need a UDP socket */
++extern int ip_mode;             /* true if we need the raw IP socket */
++extern unsigned short my_udp;   /* the UDP port to use (network byte order) */
++extern char ttydevice[PATH_MAX]; /* the tty device for serial comms */
++extern int ttyspeed;            /* The baud rate on the tty device */
++extern signed char mycallsign[7];    /* My callsign, shifted ASCII with SSID */
++extern unsigned char mycallsign2[7]; /* My seconds port callsign, shifted ASCII with SSID */
++extern unsigned char myalias[7];  /* An alias to use */
++extern unsigned char myalias2[7]; /* An alias for second port */
++extern char bc_text[128];       /* The text for beacon messages */
++extern int bc_interval;         /* The interval, in seconds, between beacons */
++extern int bc_every;            /* true=every, false=after */
++
++extern int digi;                /* True if we are connected to a TNC */
++extern int loglevel;            /* Verbosity level */
+ /* addition for dual port flag */
+-int dual_port;
++extern int dual_port;
+-struct {
++struct stats_s {
+       int kiss_in;            /* # packets received */
+       int kiss_toobig;        /* packet too large */
+       int kiss_badtype;       /* control byte non-zero */
+@@ -107,7 +108,9 @@ struct {
+       int ip_tooshort;        /* packet too short to be a valid frame */
+       int ip_not_for_me;      /* packet not for me (in digi mode) */
+       int ip_i_am_dest;       /* I am destination (in digi mode) */
+-} stats;
++};
++
++extern struct stats_s stats;
+ #define MAX_FRAME 2048