commit:     4e5742588f96ac9bdfbf6416baa8b8f851f9ddf0
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 14 12:34:34 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Fri Oct 14 12:34:34 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e574258

sci-electronics/Stage: Add patch to build with gcc6, bug #596434, patch by 
Peter Levine

Package-Manager: portage-2.3.2

 sci-electronics/Stage/Stage-4.1.1.ebuild           |  3 +-
 sci-electronics/Stage/files/Stage-4.1.1-gcc6.patch | 95 ++++++++++++++++++++++
 2 files changed, 97 insertions(+), 1 deletion(-)

diff --git a/sci-electronics/Stage/Stage-4.1.1.ebuild 
b/sci-electronics/Stage/Stage-4.1.1.ebuild
index d9bd408..1034e5b 100644
--- a/sci-electronics/Stage/Stage-4.1.1.ebuild
+++ b/sci-electronics/Stage/Stage-4.1.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -36,3 +36,4 @@ RDEPEND="
 "
 DEPEND="${RDEPEND}
        virtual/pkgconfig"
+PATCHES=( "${FILESDIR}/${P}-gcc6.patch" )

diff --git a/sci-electronics/Stage/files/Stage-4.1.1-gcc6.patch 
b/sci-electronics/Stage/files/Stage-4.1.1-gcc6.patch
new file mode 100644
index 00000000..9124baa
--- /dev/null
+++ b/sci-electronics/Stage/files/Stage-4.1.1-gcc6.patch
@@ -0,0 +1,95 @@
+https://bugs.gentoo.org/show_bug.cgi?id=596434
+Author: Peter Levine
+
+--- Stage-4.1.1/libstage/stage.hh.old  2016-10-12 01:12:18.828436085 -0400
++++ Stage-4.1.1/libstage/stage.hh      2016-10-12 01:12:36.675465633 -0400
+@@ -622,46 +622,46 @@
+   { cont.erase( std::remove( cont.begin(), cont.end(), thing ), cont.end() ); 
}
+   
+   // Error macros - output goes to stderr
+-#define PRINT_ERR(m) fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", 
__FILE__, __FUNCTION__)
+-#define PRINT_ERR1(m,a) fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", 
a, __FILE__, __FUNCTION__)    
+-#define PRINT_ERR2(m,a,b) fprintf( stderr, "\033[41merr\033[0m: "m" (%s 
%s)\n", a, b, __FILE__, __FUNCTION__) 
+-#define PRINT_ERR3(m,a,b,c) fprintf( stderr, "\033[41merr\033[0m: "m" (%s 
%s)\n", a, b, c, __FILE__, __FUNCTION__)
+-#define PRINT_ERR4(m,a,b,c,d) fprintf( stderr, "\033[41merr\033[0m: "m" (%s 
%s)\n", a, b, c, d, __FILE__, __FUNCTION__)
+-#define PRINT_ERR5(m,a,b,c,d,e) fprintf( stderr, "\033[41merr\033[0m: "m" (%s 
%s)\n", a, b, c, d, e, __FILE__, __FUNCTION__)
++#define PRINT_ERR(m) fprintf( stderr, "\033[41merr\033[0m: " m " (%s %s)\n", 
__FILE__, __FUNCTION__)
++#define PRINT_ERR1(m,a) fprintf( stderr, "\033[41merr\033[0m: " m " (%s 
%s)\n", a, __FILE__, __FUNCTION__)    
++#define PRINT_ERR2(m,a,b) fprintf( stderr, "\033[41merr\033[0m: " m " (%s 
%s)\n", a, b, __FILE__, __FUNCTION__) 
++#define PRINT_ERR3(m,a,b,c) fprintf( stderr, "\033[41merr\033[0m: " m " (%s 
%s)\n", a, b, c, __FILE__, __FUNCTION__)
++#define PRINT_ERR4(m,a,b,c,d) fprintf( stderr, "\033[41merr\033[0m: " m " (%s 
%s)\n", a, b, c, d, __FILE__, __FUNCTION__)
++#define PRINT_ERR5(m,a,b,c,d,e) fprintf( stderr, "\033[41merr\033[0m: " m " 
(%s %s)\n", a, b, c, d, e, __FILE__, __FUNCTION__)
+ 
+   // Warning macros
+-#define PRINT_WARN(m) printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", __FILE__, 
__FUNCTION__)
+-#define PRINT_WARN1(m,a) printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", a, 
__FILE__, __FUNCTION__)    
+-#define PRINT_WARN2(m,a,b) printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", a, 
b, __FILE__, __FUNCTION__) 
+-#define PRINT_WARN3(m,a,b,c) printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", a, 
b, c, __FILE__, __FUNCTION__)
+-#define PRINT_WARN4(m,a,b,c,d) printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", 
a, b, c, d, __FILE__, __FUNCTION__)
+-#define PRINT_WARN5(m,a,b,c,d,e) printf( "\033[44mwarn\033[0m: "m" (%s 
%s)\n", a, b, c, d, e, __FILE__, __FUNCTION__)
++#define PRINT_WARN(m) printf( "\033[44mwarn\033[0m: " m " (%s %s)\n", 
__FILE__, __FUNCTION__)
++#define PRINT_WARN1(m,a) printf( "\033[44mwarn\033[0m: " m " (%s %s)\n", a, 
__FILE__, __FUNCTION__)    
++#define PRINT_WARN2(m,a,b) printf( "\033[44mwarn\033[0m: " m " (%s %s)\n", a, 
b, __FILE__, __FUNCTION__) 
++#define PRINT_WARN3(m,a,b,c) printf( "\033[44mwarn\033[0m: " m " (%s %s)\n", 
a, b, c, __FILE__, __FUNCTION__)
++#define PRINT_WARN4(m,a,b,c,d) printf( "\033[44mwarn\033[0m: " m " (%s 
%s)\n", a, b, c, d, __FILE__, __FUNCTION__)
++#define PRINT_WARN5(m,a,b,c,d,e) printf( "\033[44mwarn\033[0m: " m " (%s 
%s)\n", a, b, c, d, e, __FILE__, __FUNCTION__)
+ 
+   // Message macros
+ #ifdef DEBUG
+-#define PRINT_MSG(m) printf( "Stage: "m" (%s %s)\n", __FILE__, __FUNCTION__)
+-#define PRINT_MSG1(m,a) printf( "Stage: "m" (%s %s)\n", a, __FILE__, 
__FUNCTION__)    
+-#define PRINT_MSG2(m,a,b) printf( "Stage: "m" (%s %s)\n", a, b, __FILE__, 
__FUNCTION__) 
+-#define PRINT_MSG3(m,a,b,c) printf( "Stage: "m" (%s %s)\n", a, b, c, 
__FILE__, __FUNCTION__)
+-#define PRINT_MSG4(m,a,b,c,d) printf( "Stage: "m" (%s %s)\n", a, b, c, d, 
__FILE__, __FUNCTION__)
+-#define PRINT_MSG5(m,a,b,c,d,e) printf( "Stage: "m" (%s %s)\n", a, b, c, d, 
e,__FILE__, __FUNCTION__)
++#define PRINT_MSG(m) printf( "Stage: " m " (%s %s)\n", __FILE__, __FUNCTION__)
++#define PRINT_MSG1(m,a) printf( "Stage: " m " (%s %s)\n", a, __FILE__, 
__FUNCTION__)    
++#define PRINT_MSG2(m,a,b) printf( "Stage: " m " (%s %s)\n", a, b, __FILE__, 
__FUNCTION__) 
++#define PRINT_MSG3(m,a,b,c) printf( "Stage: " m " (%s %s)\n", a, b, c, 
__FILE__, __FUNCTION__)
++#define PRINT_MSG4(m,a,b,c,d) printf( "Stage: " m " (%s %s)\n", a, b, c, d, 
__FILE__, __FUNCTION__)
++#define PRINT_MSG5(m,a,b,c,d,e) printf( "Stage: " m " (%s %s)\n", a, b, c, d, 
e,__FILE__, __FUNCTION__)
+ #else
+-#define PRINT_MSG(m) printf( "Stage: "m"\n" )
+-#define PRINT_MSG1(m,a) printf( "Stage: "m"\n", a)
+-#define PRINT_MSG2(m,a,b) printf( "Stage: "m"\n,", a, b )
+-#define PRINT_MSG3(m,a,b,c) printf( "Stage: "m"\n", a, b, c )
+-#define PRINT_MSG4(m,a,b,c,d) printf( "Stage: "m"\n", a, b, c, d )
+-#define PRINT_MSG5(m,a,b,c,d,e) printf( "Stage: "m"\n", a, b, c, d, e )
++#define PRINT_MSG(m) printf( "Stage: " m "\n" )
++#define PRINT_MSG1(m,a) printf( "Stage: " m "\n", a)
++#define PRINT_MSG2(m,a,b) printf( "Stage: " m "\n,", a, b )
++#define PRINT_MSG3(m,a,b,c) printf( "Stage: " m "\n", a, b, c )
++#define PRINT_MSG4(m,a,b,c,d) printf( "Stage: " m "\n", a, b, c, d )
++#define PRINT_MSG5(m,a,b,c,d,e) printf( "Stage: " m "\n", a, b, c, d, e )
+ #endif
+ 
+   // DEBUG macros
+ #ifdef DEBUG
+-#define PRINT_DEBUG(m) printf( "debug: "m" (%s %s)\n", __FILE__, __FUNCTION__)
+-#define PRINT_DEBUG1(m,a) printf( "debug: "m" (%s %s)\n", a, __FILE__, 
__FUNCTION__)    
+-#define PRINT_DEBUG2(m,a,b) printf( "debug: "m" (%s %s)\n", a, b, __FILE__, 
__FUNCTION__) 
+-#define PRINT_DEBUG3(m,a,b,c) printf( "debug: "m" (%s %s)\n", a, b, c, 
__FILE__, __FUNCTION__)
+-#define PRINT_DEBUG4(m,a,b,c,d) printf( "debug: "m" (%s %s)\n", a, b, c ,d, 
__FILE__, __FUNCTION__)
+-#define PRINT_DEBUG5(m,a,b,c,d,e) printf( "debug: "m" (%s %s)\n", a, b, c ,d, 
e, __FILE__, __FUNCTION__)
++#define PRINT_DEBUG(m) printf( "debug: " m " (%s %s)\n", __FILE__, 
__FUNCTION__)
++#define PRINT_DEBUG1(m,a) printf( "debug: " m " (%s %s)\n", a, __FILE__, 
__FUNCTION__)    
++#define PRINT_DEBUG2(m,a,b) printf( "debug: " m " (%s %s)\n", a, b, __FILE__, 
__FUNCTION__) 
++#define PRINT_DEBUG3(m,a,b,c) printf( "debug: " m " (%s %s)\n", a, b, c, 
__FILE__, __FUNCTION__)
++#define PRINT_DEBUG4(m,a,b,c,d) printf( "debug: " m " (%s %s)\n", a, b, c ,d, 
__FILE__, __FUNCTION__)
++#define PRINT_DEBUG5(m,a,b,c,d,e) printf( "debug: " m " (%s %s)\n", a, b, c 
,d, e, __FILE__, __FUNCTION__)
+ #else
+ #define PRINT_DEBUG(m)
+ #define PRINT_DEBUG1(m,a)
+--- Stage-4.1.1/libstage/world.cc.old  2016-10-12 01:17:16.689055842 -0400
++++ Stage-4.1.1/libstage/world.cc      2016-10-12 01:17:22.039117546 -0400
+@@ -803,8 +803,8 @@
+   // Graphics Gems IV  
+   const int32_t sx(sgn(dx));  
+   const int32_t sy(sgn(dy));  
+-  const int32_t ax(abs(dx)); 
+-  const int32_t ay(abs(dy));  
++  const int32_t ax(std::abs(dx)); 
++  const int32_t ay(std::abs(dy));  
+   const int32_t bx(2*ax);     
+   const int32_t by(2*ay);     
+   int32_t exy(ay-ax); // difference between x and y distances

Reply via email to