diff options
author | Harmen Stoppels <me@harmenstoppels.nl> | 2023-10-17 20:12:09 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-17 11:12:09 -0700 |
commit | a4ad365de0ac6e8a8a9d1df54620d5accc427e34 (patch) | |
tree | 11615226b0a586e18a7f2eeaa9a0ca28eae83fd6 | |
parent | 8c257d55b49857179c10234d2b04782ce1f5c1ff (diff) | |
download | spack-a4ad365de0ac6e8a8a9d1df54620d5accc427e34.tar.gz spack-a4ad365de0ac6e8a8a9d1df54620d5accc427e34.tar.bz2 spack-a4ad365de0ac6e8a8a9d1df54620d5accc427e34.tar.xz spack-a4ad365de0ac6e8a8a9d1df54620d5accc427e34.zip |
patchelf: fix compilation with GCC 7 (#40581)
-rw-r--r-- | var/spack/repos/builtin/packages/patchelf/513.patch | 25 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/patchelf/package.py | 3 |
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( |