net-ftp/frox: fix building with -fno-common (default for GCC 10)
authorMarek Behún <kabel@blackhole.sk>
Sat, 7 Mar 2020 08:37:44 +0000 (09:37 +0100)
committerJoonas Niilola <juippis@gentoo.org>
Sat, 14 Mar 2020 09:55:11 +0000 (11:55 +0200)
Fix some definitions so that the package builds for GCC 10, where
-fno-common is default.

Bug: https://bugs.gentoo.org/707618
Signed-off-by: Marek Behún <kabel@blackhole.sk>
Package-Manager: Portage-2.3.89, Repoman-2.3.20
Closes: https://github.com/gentoo/gentoo/pull/14518
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
net-ftp/frox/files/frox-0.7.18-no-common.patch [new file with mode: 0644]
net-ftp/frox/frox-0.7.18-r6.ebuild

diff --git a/net-ftp/frox/files/frox-0.7.18-no-common.patch b/net-ftp/frox/files/frox-0.7.18-no-common.patch
new file mode 100644 (file)
index 0000000..ef2e728
--- /dev/null
@@ -0,0 +1,63 @@
+Fix compilation with -fno-common (default for GCC 10)
+
+Signed-off-by: Marek Behún kabel@blackhole.sk>
+---
+diff --git a/lib/sstrlib/sstr_private.h b/lib/sstrlib/sstr_private.h
+--- a/lib/sstrlib/sstr_private.h
++++ b/lib/sstrlib/sstr_private.h
+@@ -32,6 +32,6 @@ struct _sstr {
+ };
+ int sstr_alloc_space(sstr * p, int len);
+-void (*on_error) (void);
++extern void (*on_error) (void);
+ #endif /*SSTR_PRIVATE_H */
+diff --git a/src/common.h b/src/common.h
+--- a/src/common.h
++++ b/src/common.h
+@@ -184,7 +184,7 @@ typedef struct _session_info {
+ /*******************
+ **Global Variables**
+ ********************/
+-session_info *info;
++extern session_info *info;
+ extern pid_t cmgrpid, tdatapid;
+ #endif /* COMMON_H */
+diff --git a/src/ftp-cmds.c b/src/ftp-cmds.c
+--- a/src/ftp-cmds.c
++++ b/src/ftp-cmds.c
+@@ -38,6 +38,8 @@ void xfer_command(sstr * cmd, sstr * arg
+ void cwd_command(sstr * cmd, sstr * arg);
+ void pasv_reply(sstr * msg);
++struct cmd_struct *ftp_cmds;
++
+ void ftpcmds_init()
+ {
+       static struct cmd_struct list[] = {     /*Pinched in part SUSE */
+diff --git a/src/ftp-cmds.h b/src/ftp-cmds.h
+--- a/src/ftp-cmds.h
++++ b/src/ftp-cmds.h
+@@ -33,7 +33,7 @@ struct cmd_struct {
+       void (*cmd) (sstr * cmd, sstr * arg);
+ };
+-struct cmd_struct *ftp_cmds;
++extern struct cmd_struct *ftp_cmds;
+ void user_munge(sstr * cmd, sstr * arg);
+diff --git a/src/main.c b/src/main.c
+--- a/src/main.c
++++ b/src/main.c
+@@ -62,6 +62,8 @@ static struct client_info {
+ void add_client(pid_t, struct sockaddr_in client);
+ void rm_client(pid_t pid);
++session_info *info;
++
+ #ifdef ENABLE_CHANGEPROC
+ int main(int argc, char *argv[], char *envp[])
+ #else
index 943286654f7b9685e77dd61563f61ceb2c9b22d7..0f3521729e3283400a21a6677936b17414a37fb6 100644 (file)
@@ -45,6 +45,7 @@ src_prepare() {
        eapply "${FILESDIR}/${PV}-respect-CFLAGS.patch"
        eapply "${FILESDIR}/${PV}-netfilter-includes.patch"
        eapply "${FILESDIR}/${P}-config.patch"
+       eapply "${FILESDIR}/${P}-no-common.patch"
 
        if use clamav ; then
                sed -i -e "s:^# VirusScanner.*:# VirusScanner '\"/usr/bin/clamscan\" \"%s\"':" \