commit:     d849efc7539748cecb34c3d6e69ca30e0a58f5b4
Author:     Mario Haustein <mario.haustein <AT> hrz <DOT> tu-chemnitz <DOT> de>
AuthorDate: Sat May 29 17:35:48 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat May 29 17:45:46 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d849efc7

sci-geosciences/grass: fix build failure with GCC 11

Closes: https://bugs.gentoo.org/792801
Package-Manager: Portage-3.0.18, Repoman-3.0.2
Signed-off-by: Mario Haustein <mario.haustein <AT> hrz.tu-chemnitz.de>
Closes: https://github.com/gentoo/gentoo/pull/21039
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sci-geosciences/grass/files/grass-7.8.5-bool.patch | 164 +++++++++++++++++++++
 sci-geosciences/grass/grass-7.8.5.ebuild           |   4 +-
 2 files changed, 167 insertions(+), 1 deletion(-)

diff --git a/sci-geosciences/grass/files/grass-7.8.5-bool.patch 
b/sci-geosciences/grass/files/grass-7.8.5-bool.patch
new file mode 100644
index 00000000000..fddcb9f6df8
--- /dev/null
+++ b/sci-geosciences/grass/files/grass-7.8.5-bool.patch
@@ -0,0 +1,164 @@
+diff --git a/include/gis.h b/include/gis.h
+index 46bb06c52f..333651b938 100644
+--- a/include/gis.h
++++ b/include/gis.h
+@@ -23,6 +23,8 @@
+ /* System include files */
+ #include <stdio.h>
+ #include <stdarg.h>
++#include <stdbool.h>
++
+ 
+ /* Grass and local include files */
+ #include <grass/config.h>
+@@ -51,13 +53,14 @@ static const char *GRASS_copyright __attribute__ ((unused))
+ #define G_gisinit(pgm) G__gisinit(GIS_H_VERSION, (pgm))
+ #define G_no_gisinit() G__no_gisinit(GIS_H_VERSION)
+ 
+-/* Define TRUE and FALSE for boolean comparisons */
++/* For boolean values and comparisons use the C99 type 'bool' with values 
'true' */
++/* and 'false' For historical reasons 'TRUE' and 'FALSE' are still valid.     
   */
+ #ifndef TRUE
+-#define TRUE 1
++#define TRUE true
+ #endif
+ 
+ #ifndef FALSE
+-#define FALSE 0
++#define FALSE false
+ #endif
+ 
+ #if (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) || (__APPLE__ && 
__LP64__)
+diff --git a/lib/lidar/lidar.h b/lib/lidar/lidar.h
+index 89a25de3bf..978894ea74 100644
+--- a/lib/lidar/lidar.h
++++ b/lib/lidar/lidar.h
+@@ -62,9 +62,6 @@
+     /* INTERPOLATOR */
+ #define P_BILINEAR            1
+ #define P_BICUBIC             0
+-    /* Boolean definitions */
+-#define TRUE                  1
+-#define FALSE                         0
+ 
+ 
/*----------------------------------------------------------------------------------------------------------*/
+     /*STRUCTS DECLARATION */
+diff --git a/raster/r.param.scale/param.h b/raster/r.param.scale/param.h
+index 9c1dab4e81..2512fedaa2 100644
+--- a/raster/r.param.scale/param.h
++++ b/raster/r.param.scale/param.h
+@@ -18,8 +18,6 @@
+                               /* 'blank' edge around raster.          */
+ #define MAX_WSIZE 499         /* Maximum dimensions of window.        */
+                               /* Some useful labels.                  */
+-#define TRUE 1
+-#define FALSE 0
+ 
+ #define RAD2DEG M_R2D
+ #define DEG2RAD M_D2R
+diff --git a/raster/r.surf.idw/main.h b/raster/r.surf.idw/main.h
+index 33164f43cb..47028e7444 100644
+--- a/raster/r.surf.idw/main.h
++++ b/raster/r.surf.idw/main.h
+@@ -1,8 +1,6 @@
+ #include <grass/raster.h>
+ 
+ #define         SHORT           short
+-#define         TRUE    1
+-#define         FALSE   0
+ 
+ #define MELEMENT        struct Melement
+ MELEMENT {
+diff --git a/raster3d/r3.showdspf/Ball.c b/raster3d/r3.showdspf/Ball.c
+index fb3b79882f..ae3ec3933a 100644
+--- a/raster3d/r3.showdspf/Ball.c
++++ b/raster3d/r3.showdspf/Ball.c
+@@ -7,8 +7,6 @@
+ #include "Ball.h"
+ #include "BallMath.h"
+ #include <stdio.h>
+-#define TRUE 1
+-#define FALSE 0
+ 
+ HMatrix mId = { {1, 0, 0, 0}
+ , {0, 1, 0, 0}
+diff --git a/raster3d/r3.showdspf/togif.c b/raster3d/r3.showdspf/togif.c
+index 589f243a8d..b48236b33f 100644
+--- a/raster3d/r3.showdspf/togif.c
++++ b/raster3d/r3.showdspf/togif.c
+@@ -324,9 +324,6 @@ static int ditherrow(unsigned short *r, unsigned short *g, 
unsigned short *b,
+  *
+  
*****************************************************************************/
+ 
+-#define TRUE 1
+-#define FALSE 0
+-
+ 
+ /************************** BumpPixel() ********************************/
+ /*
+diff --git a/vector/v.hull/chull.c b/vector/v.hull/chull.c
+index 1ad97396fa..584af5d8ba 100644
+--- a/vector/v.hull/chull.c
++++ b/vector/v.hull/chull.c
+@@ -29,10 +29,6 @@
+ 
+ #include "globals.h"
+ 
+-/*Define Boolean type */
+-typedef enum
+-{ BFALSE, BTRUE } bool;
+-
+ /* Define vertex indices. */
+ #define X   0
+ #define Y   1
+@@ -76,10 +72,10 @@ struct tFaceStructure
+ };
+ 
+ /* Define flags */
+-#define ONHULL        BTRUE
+-#define REMOVED       BTRUE
+-#define VISIBLE       BTRUE
+-#define PROCESSED     BTRUE
++#define ONHULL        true
++#define REMOVED       true
++#define VISIBLE       true
++#define PROCESSED     true
+ 
+ /* Global variable definitions */
+ tVertex vertices = NULL;
+@@ -436,7 +432,7 @@ bool AddOne(tVertex p)
+     tFace f;
+     tEdge e, temp;
+     long int vol;
+-    bool vis = BFALSE;
++    bool vis = false;
+ 
+ 
+     /* Mark faces visible from p. */
+@@ -446,7 +442,7 @@ bool AddOne(tVertex p)
+ 
+       if (vol < 0) {
+           f->visible = VISIBLE;
+-          vis = BTRUE;
++          vis = true;
+       }
+       f = f->next;
+     } while (f != faces);
+@@ -454,7 +450,7 @@ bool AddOne(tVertex p)
+     /* If no faces are visible from p, then p is inside the hull. */
+     if (!vis) {
+       p->onhull = !ONHULL;
+-      return BFALSE;
++      return false;
+     }
+ 
+     /* Mark edges in interior of visible region for deletion.
+@@ -470,7 +466,7 @@ bool AddOne(tVertex p)
+           e->newface = MakeConeFace(e, p);
+       e = temp;
+     } while (e != edges);
+-    return BTRUE;
++    return true;
+ }
+ 
+ /*---------------------------------------------------------------------

diff --git a/sci-geosciences/grass/grass-7.8.5.ebuild 
b/sci-geosciences/grass/grass-7.8.5.ebuild
index eb00d1ab6a8..7b96039d1d7 100644
--- a/sci-geosciences/grass/grass-7.8.5.ebuild
+++ b/sci-geosciences/grass/grass-7.8.5.ebuild
@@ -20,7 +20,7 @@ 
SRC_URI="https://grass.osgeo.org/${MY_PM}/source/${MY_P}.tar.gz";
 
 LICENSE="GPL-2"
 SLOT="0/7.8.0"
-KEYWORDS="amd64 ~ppc x86"
+KEYWORDS="~amd64 ~ppc ~x86"
 IUSE="blas cxx fftw geos lapack liblas mysql netcdf nls odbc opencl opengl 
openmp png postgres readline sqlite threads tiff truetype X zstd"
 REQUIRED_USE="
        ${PYTHON_REQUIRED_USE}
@@ -82,6 +82,8 @@ S="${WORKDIR}/${MY_P}"
 PATCHES=(
        # bug 746590
        "${FILESDIR}/${PN}-7.8-flock.patch"
+       # bug 792801
+       "${FILESDIR}/${PN}-7.8.5-bool.patch"
 )
 
 pkg_setup() {

Reply via email to