From f6680a0051a586844386f0df57db8d6b9b11c3d3 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Fri, 15 Jan 2016 16:02:35 -0500 Subject: [PATCH] qhull: apply patch to work with libc++'s standard library Only seen on OS X with clang right now. --- var/spack/packages/qhull/package.py | 3 ++ var/spack/packages/qhull/qhull-iterator.patch | 45 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 var/spack/packages/qhull/qhull-iterator.patch diff --git a/var/spack/packages/qhull/package.py b/var/spack/packages/qhull/package.py index 9da4078a70..f6712ced38 100644 --- a/var/spack/packages/qhull/package.py +++ b/var/spack/packages/qhull/package.py @@ -20,6 +20,9 @@ class Qhull(Package): version('1.0', 'd0f978c0d8dfb2e919caefa56ea2953c', url="http://www.qhull.org/download/qhull-2012.1-src.tgz") + # https://github.com/qhull/qhull/pull/5 + patch('qhull-iterator.patch') + def install(self, spec, prefix): with working_dir('spack-build', create=True): cmake('..', *std_cmake_args) diff --git a/var/spack/packages/qhull/qhull-iterator.patch b/var/spack/packages/qhull/qhull-iterator.patch new file mode 100644 index 0000000000..88e931d84f --- /dev/null +++ b/var/spack/packages/qhull/qhull-iterator.patch @@ -0,0 +1,45 @@ +From 93f4b306c54bb5be7724dcc19c6e747b62ac76dd Mon Sep 17 00:00:00 2001 +From: Ben Boeckel +Date: Thu, 28 May 2015 11:12:25 -0400 +Subject: [PATCH] iterator: use the header + +Standard libraries are doing funky things with inline namespaces which +make these declarations impossible to get right. Just include the +header. +--- + src/libqhullcpp/QhullIterator.h | 3 +-- + src/libqhullcpp/QhullLinkedList.h | 5 +---- + 2 files changed, 2 insertions(+), 6 deletions(-) + +diff --git a/src/libqhullcpp/QhullIterator.h b/src/libqhullcpp/QhullIterator.h +index 9dde894..49f3a3b 100644 +--- a/src/libqhullcpp/QhullIterator.h ++++ b/src/libqhullcpp/QhullIterator.h +@@ -14,10 +14,9 @@ extern "C" { + } + + #include ++#include + #include + #include +-//! Avoid dependence on +-namespace std { struct bidirectional_iterator_tag; struct random_access_iterator_tag; } + + namespace orgQhull { + +diff --git a/src/libqhullcpp/QhullLinkedList.h b/src/libqhullcpp/QhullLinkedList.h +index d828ac6..00b9008 100644 +--- a/src/libqhullcpp/QhullLinkedList.h ++++ b/src/libqhullcpp/QhullLinkedList.h +@@ -9,10 +9,7 @@ + #ifndef QHULLLINKEDLIST_H + #define QHULLLINKEDLIST_H + +-namespace std { +- struct bidirectional_iterator_tag; +- struct random_access_iterator_tag; +-}//std ++#include + + #include "QhullError.h" + extern "C" {