summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorHarmen Stoppels <me@harmenstoppels.nl>2023-10-17 20:12:09 +0200
committerGitHub <noreply@github.com>2023-10-17 11:12:09 -0700
commita4ad365de0ac6e8a8a9d1df54620d5accc427e34 (patch)
tree11615226b0a586e18a7f2eeaa9a0ca28eae83fd6 /var
parent8c257d55b49857179c10234d2b04782ce1f5c1ff (diff)
downloadspack-a4ad365de0ac6e8a8a9d1df54620d5accc427e34.tar.gz
spack-a4ad365de0ac6e8a8a9d1df54620d5accc427e34.tar.bz2
spack-a4ad365de0ac6e8a8a9d1df54620d5accc427e34.tar.xz
spack-a4ad365de0ac6e8a8a9d1df54620d5accc427e34.zip
patchelf: fix compilation with GCC 7 (#40581)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/patchelf/513.patch25
-rw-r--r--var/spack/repos/builtin/packages/patchelf/package.py3
2 files changed, 28 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/patchelf/513.patch b/var/spack/repos/builtin/packages/patchelf/513.patch
new file mode 100644
index 0000000000..e5e8dd7174
--- /dev/null
+++ b/var/spack/repos/builtin/packages/patchelf/513.patch
@@ -0,0 +1,25 @@
+From 5fb5d82637c1b547b800b5994a1f5342b3224da4 Mon Sep 17 00:00:00 2001
+From: Rosen Penev <rosenp@gmail.com>
+Date: Sat, 12 Aug 2023 11:46:14 -0700
+Subject: [PATCH] fix compilation with GCC7
+
+CTAD is not working here.
+
+Signed-off-by: Rosen Penev <rosenp@gmail.com>
+---
+ src/patchelf.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/patchelf.cc b/src/patchelf.cc
+index 82b4b46c..d6000160 100644
+--- a/src/patchelf.cc
++++ b/src/patchelf.cc
+@@ -2069,7 +2069,7 @@ void ElfFile<ElfFileParamNames>::rebuildGnuHashTable(span<char> strTab, span<Elf
+ // all tables that refer to symbols through indexes in the symbol table
+ auto reorderSpan = [] (auto dst, auto& old2new)
+ {
+- std::vector tmp(dst.begin(), dst.end());
++ std::vector<std::remove_reference_t<decltype(dst[0])>> tmp(dst.begin(), dst.end());
+ for (size_t i = 0; i < tmp.size(); ++i)
+ dst[old2new[i]] = tmp[i];
+ };
diff --git a/var/spack/repos/builtin/packages/patchelf/package.py b/var/spack/repos/builtin/packages/patchelf/package.py
index d5992b8e64..2630085d4e 100644
--- a/var/spack/repos/builtin/packages/patchelf/package.py
+++ b/var/spack/repos/builtin/packages/patchelf/package.py
@@ -39,6 +39,9 @@ class Patchelf(AutotoolsPackage):
conflicts("%gcc@:6", when="@0.14:", msg="Requires C++17 support")
conflicts("%clang@:3", when="@0.14:", msg="Requires C++17 support")
+ # GCC 7.5 doesn't have __cpp_deduction_guides >= 201606
+ patch("513.patch", when="@0.18: %gcc@:7")
+
def url_for_version(self, version):
if version < Version("0.12"):
return "https://nixos.org/releases/patchelf/patchelf-{0}/patchelf-{1}.tar.gz".format(