diff options
author | Dr. Christian Tacke <58549698+ChristianTackeGSI@users.noreply.github.com> | 2020-04-13 05:26:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-12 22:26:57 -0500 |
commit | ab0101ec693a3942192f1d66585d545a34280b78 (patch) | |
tree | d53aad35364c0dd8efbb500b9013dbb1ae00a27f | |
parent | 9a0dd631d5e4bfe2478a6932522f56760d9f9e7f (diff) | |
download | spack-ab0101ec693a3942192f1d66585d545a34280b78.tar.gz spack-ab0101ec693a3942192f1d66585d545a34280b78.tar.bz2 spack-ab0101ec693a3942192f1d66585d545a34280b78.tar.xz spack-ab0101ec693a3942192f1d66585d545a34280b78.zip |
boost: Fix for Version Comparison on Newer Clang on Darwin (#16014)
Applying to boost @1.56.0:1.72.0 as that's the version
range, where this patch can be cleanly applied. I was not
able to test this myself, but got positive feedback.
See: https://github.com/boostorg/build/issues/440
See: https://github.com/macports/macports-ports/pull/6726
-rw-r--r-- | var/spack/repos/builtin/packages/boost/darwin_clang_version.patch | 31 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/boost/package.py | 6 |
2 files changed, 37 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/boost/darwin_clang_version.patch b/var/spack/repos/builtin/packages/boost/darwin_clang_version.patch new file mode 100644 index 0000000000..4ae5ad1e8d --- /dev/null +++ b/var/spack/repos/builtin/packages/boost/darwin_clang_version.patch @@ -0,0 +1,31 @@ +From 40960b23338da0a359d6aa83585ace09ad8804d2 Mon Sep 17 00:00:00 2001 +From: Bo Anderson <mail@boanderson.me> +Date: Sun, 29 Mar 2020 14:55:08 +0100 +Subject: [PATCH] Fix compiler version check on macOS + +Fixes #440. +--- + src/tools/darwin.jam | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/tools/darwin.jam b/src/tools/darwin.jam +index 8d477410b0..97e7ecb851 100644 +--- tools/build/src/tools/darwin.jam ++++ tools/build/src/tools/darwin.jam +@@ -137,13 +137,14 @@ rule init ( version ? : command * : options * : requirement * ) + # - Set the toolset generic common options. + common.handle-options darwin : $(condition) : $(command) : $(options) ; + ++ real-version = [ regex.split $(real-version) \\. ] ; + # - GCC 4.0 and higher in Darwin does not have -fcoalesce-templates. +- if $(real-version) < "4.0.0" ++ if [ version.version-less $(real-version) : 4 0 ] + { + flags darwin.compile.c++ OPTIONS $(condition) : -fcoalesce-templates ; + } + # - GCC 4.2 and higher in Darwin does not have -Wno-long-double. +- if $(real-version) < "4.2.0" ++ if [ version.version-less $(real-version) : 4 2 ] + { + flags darwin.compile OPTIONS $(condition) : -Wno-long-double ; + } diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py index c0998e23d0..0f4c8394cf 100644 --- a/var/spack/repos/builtin/packages/boost/package.py +++ b/var/spack/repos/builtin/packages/boost/package.py @@ -203,6 +203,12 @@ class Boost(Package): patch('boost_1.63.0_pgi.patch', when='@1.63.0%pgi') patch('boost_1.63.0_pgi_17.4_workaround.patch', when='@1.63.0%pgi@17.4') + # Fix for version comparison on newer Clang on darwin + # See: https://github.com/boostorg/build/issues/440 + # See: https://github.com/macports/macports-ports/pull/6726 + patch('darwin_clang_version.patch', level=0, + when='@1.56.0:1.72.0 platform=darwin') + # Fix the bootstrap/bjam build for Cray patch('bootstrap-path.patch', when='@1.39.0: platform=cray') |