summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorDr. Christian Tacke <58549698+ChristianTackeGSI@users.noreply.github.com>2020-04-13 05:26:57 +0200
committerGitHub <noreply@github.com>2020-04-12 22:26:57 -0500
commitab0101ec693a3942192f1d66585d545a34280b78 (patch)
treed53aad35364c0dd8efbb500b9013dbb1ae00a27f /var
parent9a0dd631d5e4bfe2478a6932522f56760d9f9e7f (diff)
downloadspack-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
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/boost/darwin_clang_version.patch31
-rw-r--r--var/spack/repos/builtin/packages/boost/package.py6
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')