summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorBen Boeckel <ben.boeckel@kitware.com>2016-01-15 16:02:35 -0500
committerBen Boeckel <ben.boeckel@kitware.com>2016-01-15 16:02:35 -0500
commitf6680a0051a586844386f0df57db8d6b9b11c3d3 (patch)
tree71903e84b8ca1dd525f38072a42bdda520c5e048 /var
parent1268b415709356d369dfdd69a5eef6e1b775e851 (diff)
downloadspack-f6680a0051a586844386f0df57db8d6b9b11c3d3.tar.gz
spack-f6680a0051a586844386f0df57db8d6b9b11c3d3.tar.bz2
spack-f6680a0051a586844386f0df57db8d6b9b11c3d3.tar.xz
spack-f6680a0051a586844386f0df57db8d6b9b11c3d3.zip
qhull: apply patch to work with libc++'s standard library
Only seen on OS X with clang right now.
Diffstat (limited to 'var')
-rw-r--r--var/spack/packages/qhull/package.py3
-rw-r--r--var/spack/packages/qhull/qhull-iterator.patch45
2 files changed, 48 insertions, 0 deletions
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 <mathstuf@gmail.com>
+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 <assert.h>
++#include <iterator>
+ #include <string>
+ #include <vector>
+-//! Avoid dependence on <iterator>
+-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 <iterator>
+
+ #include "QhullError.h"
+ extern "C" {