diff options
author | Greg Hogan <code@greghogan.com> | 2022-07-08 15:58:49 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-07-12 01:17:45 +0200 |
commit | 3485984a090edd5b1721a69a389a2e44077354e7 (patch) | |
tree | 73bd1c1545d574b6926cfef9d6b0562f00c2d980 /gnu/packages | |
parent | e5e352ae2a92d6653dbb906eeeeb63c072b7184c (diff) | |
download | guix-3485984a090edd5b1721a69a389a2e44077354e7.tar.gz |
gnu: llvm-3.7, llvm-3.8: Fix build with gcc.
* gnu/packages/patches/clang-runtime-3.7-fix-build-with-python3.patch, gnu/packages/patches/llvm-3.x.1-fix-build-with-gcc.patch: New files. * gnu/packages/llvm.scm (clang-runtime-3.7, llvm-3.7, llvm-3.8): Use patches. * gnu/local.mk: Register patches. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/llvm.scm | 9 | ||||
-rw-r--r-- | gnu/packages/patches/clang-runtime-3.7-fix-build-with-python3.patch | 16 | ||||
-rw-r--r-- | gnu/packages/patches/llvm-3.x.1-fix-build-with-gcc.patch | 15 |
3 files changed, 37 insertions, 3 deletions
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index f8320c4112..6b216ee78c 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -1036,7 +1036,8 @@ of programming tools as well as libraries with equivalent functionality.") (uri (llvm-uri "llvm" version)) (sha256 (base32 - "1ybmnid4pw2hxn12ax5qa5kl1ldfns0njg8533y3mzslvd5cx0kf")))))) + "1ybmnid4pw2hxn12ax5qa5kl1ldfns0njg8533y3mzslvd5cx0kf")) + (patches (search-patches "llvm-3.x.1-fix-build-with-gcc.patch")))))) (define-public clang-runtime-3.8 (clang-runtime-from-llvm @@ -1060,7 +1061,8 @@ of programming tools as well as libraries with equivalent functionality.") (uri (llvm-uri "llvm" version)) (sha256 (base32 - "1masakdp9g2dan1yrazg7md5am2vacbkb3nahb3dchpc1knr8xxy")))))) + "1masakdp9g2dan1yrazg7md5am2vacbkb3nahb3dchpc1knr8xxy")) + (patches (search-patches "llvm-3.x.1-fix-build-with-gcc.patch")))))) (define-public clang-runtime-3.7 (clang-runtime-from-llvm @@ -1068,7 +1070,8 @@ of programming tools as well as libraries with equivalent functionality.") "10c1mz2q4bdq9bqfgr3dirc6hz1h3sq8573srd5q5lr7m7j6jiwx" '("clang-runtime-asan-build-fixes.patch" "clang-runtime-3.8-libsanitizer-mode-field.patch" - "clang-3.5-libsanitizer-ustat-fix.patch"))) + "clang-3.5-libsanitizer-ustat-fix.patch" + "clang-runtime-3.7-fix-build-with-python3.patch"))) (define-public clang-3.7 (clang-from-llvm llvm-3.7 clang-runtime-3.7 diff --git a/gnu/packages/patches/clang-runtime-3.7-fix-build-with-python3.patch b/gnu/packages/patches/clang-runtime-3.7-fix-build-with-python3.patch new file mode 100644 index 0000000000..042f0e025a --- /dev/null +++ b/gnu/packages/patches/clang-runtime-3.7-fix-build-with-python3.patch @@ -0,0 +1,16 @@ +Patch based on changes from +https://github.com/llvm/llvm-project/commit/c1fde4fa943fd03a3d40bc5d32b9e0045fd29208 + +diff --git a/lib/sanitizer_common/scripts/gen_dynamic_list.py b/lib/sanitizer_common/scripts/gen_dynamic_list.py +index 5ea2ca1..d7bc287 100755 +--- a/lib/sanitizer_common/scripts/gen_dynamic_list.py ++++ b/lib/sanitizer_common/scripts/gen_dynamic_list.py +@@ -100,7 +100,7 @@ def main(argv): + print('global:') + result.sort() + for f in result: +- print(' ' + f.encode('utf-8') + ';') ++ print(u' %s;' % f) + if args.version_list: + print('local:') + print(' *;') diff --git a/gnu/packages/patches/llvm-3.x.1-fix-build-with-gcc.patch b/gnu/packages/patches/llvm-3.x.1-fix-build-with-gcc.patch new file mode 100644 index 0000000000..75236c4069 --- /dev/null +++ b/gnu/packages/patches/llvm-3.x.1-fix-build-with-gcc.patch @@ -0,0 +1,15 @@ +Patch from https://github.com/digego/extempore/issues/318 + +diff --git a/include/llvm/IR/ValueMap.h.orig b/include/llvm/IR/ValueMap.h +index ad518ac..d928f6a 100644 +--- a/include/llvm/IR/ValueMap.h ++++ b/include/llvm/IR/ValueMap.h +@@ -99,7 +99,7 @@ + explicit ValueMap(const ExtraData &Data, unsigned NumInitBuckets = 64) + : Map(NumInitBuckets), Data(Data) {} + +- bool hasMD() const { return MDMap; } ++ bool hasMD() const { return static_cast<bool>(MDMap); } + MDMapT &MD() { + if (!MDMap) + MDMap.reset(new MDMapT); |