summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAiden Grossman <39388941+boomanaiden154@users.noreply.github.com>2023-07-18 23:29:24 -0700
committerGitHub <noreply@github.com>2023-07-19 08:29:24 +0200
commit032fd38af02bf19a079d0880b78eeabc66da322a (patch)
tree4d175a955d3f1bfd0396523bb41b66f283f367d6
parentb04b3aed9e9fcd4364e5ece81605f5184e69f061 (diff)
downloadspack-032fd38af02bf19a079d0880b78eeabc66da322a.tar.gz
spack-032fd38af02bf19a079d0880b78eeabc66da322a.tar.bz2
spack-032fd38af02bf19a079d0880b78eeabc66da322a.tar.xz
spack-032fd38af02bf19a079d0880b78eeabc66da322a.zip
mesa-glu: Patch register long to long (#38833)
mesa-glu still has a couple instances of the register keyword which causes build failures with clang on my platform. This patch removes the register keyword which doesn't have any impact on correctness.
-rw-r--r--var/spack/repos/builtin/packages/mesa-glu/package.py4
-rw-r--r--var/spack/repos/builtin/packages/mesa-glu/register-long.patch28
2 files changed, 32 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/mesa-glu/package.py b/var/spack/repos/builtin/packages/mesa-glu/package.py
index 8fdbb0bf7e..bd88884dd0 100644
--- a/var/spack/repos/builtin/packages/mesa-glu/package.py
+++ b/var/spack/repos/builtin/packages/mesa-glu/package.py
@@ -36,6 +36,10 @@ class MesaGlu(AutotoolsPackage):
provides("glu@1.3")
+ # When using -std=c++17, using register long will throw an error. This
+ # patch switches all instances of register long to long to fix this.
+ patch("register-long.patch")
+
def configure_args(self):
args = ["--disable-libglvnd"]
diff --git a/var/spack/repos/builtin/packages/mesa-glu/register-long.patch b/var/spack/repos/builtin/packages/mesa-glu/register-long.patch
new file mode 100644
index 0000000000..720aaba1aa
--- /dev/null
+++ b/var/spack/repos/builtin/packages/mesa-glu/register-long.patch
@@ -0,0 +1,28 @@
+From e5b42317078a1dbbf7ef9f1431ef6dcb711c7026 Mon Sep 17 00:00:00 2001
+From: Aiden Grossman <agrossman154@yahoo.com>
+Date: Mon, 10 Jul 2023 17:59:18 -0700
+Subject: [PATCH] Change register long to long to fix compile error
+
+When using -std=c++17, using register long will throw an error. This
+patch switches all instances of register long to long to fix this.
+---
+ src/libnurbs/internals/varray.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/libnurbs/internals/varray.cc b/src/libnurbs/internals/varray.cc
+index 1cb2354..41b3b18 100644
+--- a/src/libnurbs/internals/varray.cc
++++ b/src/libnurbs/internals/varray.cc
+@@ -73,8 +73,8 @@ Varray::~Varray( void )
+ inline void
+ Varray::update( Arc_ptr arc, long dir[2], REAL val )
+ {
+- register long ds = sgn(arc->tail()[0] - arc->prev->tail()[0]);
+- register long dt = sgn(arc->tail()[1] - arc->prev->tail()[1]);
++ long ds = sgn(arc->tail()[0] - arc->prev->tail()[0]);
++ long dt = sgn(arc->tail()[1] - arc->prev->tail()[1]);
+
+ if( dir[0] != ds || dir[1] != dt ) {
+ dir[0] = ds;
+--
+2.29.1 \ No newline at end of file