commit:     a76610815a98fae3d6311884b1e3de6f409a93b2
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 28 19:38:19 2017 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Tue Nov 28 19:46:18 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a7661081

net-dialup/mgetty: Fix building with gcc7 (#639076 by Toralf Förster)

Package-Manager: Portage-2.3.14, Repoman-2.3.6

 net-dialup/mgetty/Manifest                       |   2 +-
 net-dialup/mgetty/files/mgetty-1.1.37-gcc7.patch | 102 +++++++++++++++++++++++
 net-dialup/mgetty/mgetty-1.1.37-r1.ebuild        |  33 ++++----
 3 files changed, 121 insertions(+), 16 deletions(-)

diff --git a/net-dialup/mgetty/Manifest b/net-dialup/mgetty/Manifest
index 6140bbf22a7..2f1f5770f19 100644
--- a/net-dialup/mgetty/Manifest
+++ b/net-dialup/mgetty/Manifest
@@ -1 +1 @@
-DIST mgetty1.1.37-Jun05.tar.gz 1057939 SHA256 
6ff8cbc4f8aacd3dd7f247ff96715141bc6173745ea916dd98b8381a85ecdf0e SHA512 
577d740c7d209b830bf8e783bf71edb666cb8bbfe8e7dceaa51dda6095d88724715394bcbd24eacfb1c377999f5779b547a7ec79cd9cdc13de6de18c4d857188
 WHIRLPOOL 
f00d22ab213cd00f392ead46804ad1c3b192ae816b7518f1a73b4d65c180ba78fb2f193ceacf1f5aa88aeca4431eecb87e0960f0b6196a7e00247690083e937e
+DIST mgetty1.1.37-Jun05.tar.gz 1057939 BLAKE2B 
de22751e72d72d19293794739c29ed115a6810cd7d57c07228526817120898ca597ba35afad36c324562c220ab67dd44655247ac46a2d6612c704557f3ec149d
 SHA512 
577d740c7d209b830bf8e783bf71edb666cb8bbfe8e7dceaa51dda6095d88724715394bcbd24eacfb1c377999f5779b547a7ec79cd9cdc13de6de18c4d857188

diff --git a/net-dialup/mgetty/files/mgetty-1.1.37-gcc7.patch 
b/net-dialup/mgetty/files/mgetty-1.1.37-gcc7.patch
new file mode 100644
index 00000000000..6a4fa87a90a
--- /dev/null
+++ b/net-dialup/mgetty/files/mgetty-1.1.37-gcc7.patch
@@ -0,0 +1,102 @@
+From 09227cacda77d7785e864c0fec3854c22b3273f7 Mon Sep 17 00:00:00 2001
+From: Michal Sekletar <msekl...@redhat.com>
+Date: Thu, 2 Mar 2017 09:25:45 +0100
+Subject: [PATCH] Fix build failure with gcc-7
+
+When function is declared inline but it is not static then compiler
+assumes it could be potentially called from other translation
+units. Hence it will inline the function within the translation unit and
+at the same time it will generate object code for function with external
+linkage. However both extern and inline variant *must* be the same and
+therefore such function can not use any variables with static storage
+duration. In our case functions in g3cat.c and pbm2g3.c are not called
+from other translation units hence it is fine to mark then explicitly as
+static and compiler won't generate other (problematic) extern variant.
+---
+ g3/g3cat.c  | 8 ++++----
+ g3/pbm2g3.c | 8 ++++----
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/g3/g3cat.c b/g3/g3cat.c
+index 8a4b708..1951210 100644
+--- a/g3/g3cat.c
++++ b/g3/g3cat.c
+@@ -44,7 +44,7 @@ static int b_written = 0;            /* bytes of a line 
already */
+                                       /* written */
+ 
+ #ifdef __GNUC__
+-inline
++static inline
+ #endif
+ void putcode _P2( (code, len), int code, int len )
+ {
+@@ -67,7 +67,7 @@ void putcode _P2( (code, len), int code, int len )
+ }
+ 
+ #ifdef __GNUC__
+-inline
++static inline
+ #endif
+ void putwhitespan _P1( (l), int l )
+ {
+@@ -98,7 +98,7 @@ void putwhitespan _P1( (l), int l )
+ }
+ 
+ #ifdef __GNUC__
+-inline
++static inline
+ #endif
+ void putblackspan _P1( (l), int l )
+ {
+@@ -129,7 +129,7 @@ void putblackspan _P1( (l), int l )
+ }
+ 
+ #ifdef __GNUC__
+-inline
++static inline
+ #endif
+ void puteol _P0( void )                       /* write byte-aligned EOL */
+ {
+diff --git a/g3/pbm2g3.c b/g3/pbm2g3.c
+index 283a728..57cb69a 100644
+--- a/g3/pbm2g3.c
++++ b/g3/pbm2g3.c
+@@ -40,7 +40,7 @@ static unsigned int out_hibit = 0;
+ static int out_byte_tab[ 256 ];                       /* for g3 byte reversal 
*/
+ 
+ #ifdef __GNUC__
+-inline
++static inline
+ #endif
+ void putcode _P2( (code, len), int code, int len )
+ {
+@@ -60,7 +60,7 @@ void putcode _P2( (code, len), int code, int len )
+ }
+ 
+ #ifdef __GNUC__
+-inline
++static inline
+ #endif
+ void puteol _P0( void )                       /* write byte-aligned EOL */
+ {
+@@ -69,7 +69,7 @@ void puteol _P0( void )                      /* write 
byte-aligned EOL */
+ }
+ 
+ #ifdef __GNUC__
+-inline
++static inline
+ #endif
+ void putwhitespan _P1( (l), int l )
+ {
+@@ -100,7 +100,7 @@ void putwhitespan _P1( (l), int l )
+ }
+ 
+ #ifdef __GNUC__
+-inline
++static inline
+ #endif
+ void putblackspan _P1( (l), int l )
+ {
+-- 
+2.9.3
+

diff --git a/net-dialup/mgetty/mgetty-1.1.37-r1.ebuild 
b/net-dialup/mgetty/mgetty-1.1.37-r1.ebuild
index f071ac4d388..a6305c0271c 100644
--- a/net-dialup/mgetty/mgetty-1.1.37-r1.ebuild
+++ b/net-dialup/mgetty/mgetty-1.1.37-r1.ebuild
@@ -1,14 +1,15 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=5
-inherit eutils flag-o-matic toolchain-funcs user
+EAPI=6
+inherit flag-o-matic toolchain-funcs user
 
 DESCRIPTION="fax and voice modem programs"
 
SRC_URI="ftp://mgetty.greenie.net/pub/mgetty/source/1.1/${PN}${PV}-Jun05.tar.gz";
 HOMEPAGE="http://mgetty.greenie.net/";
 
-DEPEND="doc? ( virtual/latex-base virtual/texi2dvi )
+DEPEND="
+       doc? ( virtual/latex-base virtual/texi2dvi )
        >=sys-apps/sed-4
        sys-apps/groff
        dev-lang/perl
@@ -17,9 +18,11 @@ DEPEND="doc? ( virtual/latex-base virtual/texi2dvi )
        fax? (
                !net-misc/efax
                !net-misc/hylafax
-       )"
+       )
+"
 RDEPEND="${DEPEND}
-       fax? ( media-libs/netpbm app-text/ghostscript-gpl )"
+       fax? ( media-libs/netpbm app-text/ghostscript-gpl )
+"
 
 SLOT="0"
 LICENSE="GPL-2"
@@ -32,12 +35,13 @@ pkg_setup() {
 }
 
 src_prepare() {
-       epatch "${FILESDIR}/${P}-gentoo.patch"
-       epatch "${FILESDIR}/${P}-qa-fixes.patch"
-       epatch "${FILESDIR}/${PN}-1.1.36-callback.patch" # add callback install 
to Makefile
-       epatch "${FILESDIR}/Lucent.c.patch" # Lucent modem CallerID patch - bug 
#80366
-       use fax || epatch "${FILESDIR}/${P}-nofax.patch" # don't install fax 
related files - bug #195467
-       epatch "${FILESDIR}/${PN}-1.1.36-tmpfile.patch" # fix security bug 
235806
+       eapply "${FILESDIR}/${P}-gentoo.patch"
+       eapply "${FILESDIR}/${P}-qa-fixes.patch"
+       eapply "${FILESDIR}/${PN}-1.1.36-callback.patch" # add callback install 
to Makefile
+       eapply "${FILESDIR}/Lucent.c.patch" # Lucent modem CallerID patch - bug 
#80366
+       use fax || eapply "${FILESDIR}/${P}-nofax.patch" # don't install fax 
related files - bug #195467
+       eapply "${FILESDIR}/${PN}-1.1.36-tmpfile.patch" # fix security bug 
235806
+       eapply "${FILESDIR}/${P}-gcc7.patch"
 
        sed -e 's:var/log/mgetty:var/log/mgetty/mgetty:' \
                -e 's:var/log/sendfax:var/log/mgetty/sendfax:' \
@@ -60,6 +64,8 @@ src_prepare() {
        # Support user's CFLAGS and LDFLAGS.
        sed -e "s/\$(CFLAGS) -o newslock/${CFLAGS} ${LDFLAGS} -Wall -o 
newslock/" \
                -e "s/\$(LDLAGS)/${LDFLAGS}/" -i {,fax/}Makefile || die
+
+       default
 }
 
 src_compile() {
@@ -157,7 +163,4 @@ pkg_postinst() {
        elog
        elog "If you want to grab voice messages from a remote location, you 
must save"
        elog "the password in /var/spool/voice/.code file"
-       echo
-       ewarn "/var/spool/voice/.code and /var/spool/voice/messages/Index"
-       ewarn "are not longer created by this automatically!"
 }

Reply via email to