qhull: darwin compatibility

The hand-rolled iterator declaration is incompatible with libc++'s, and
clang > 3.5 is stricter about this.

See
<https://lists.freebsd.org/pipermail/freebsd-ports-bugs/2014-December/298242.html>
for another reference to this issue.

The errors that occur are of the form:
reference to 'random_access_iterator_tag' is ambiguous
This commit is contained in:
Anthony Cowley 2016-04-01 14:06:14 -04:00
parent 0660ff5625
commit c97ccd388c

View File

@ -12,6 +12,11 @@ stdenv.mkDerivation rec {
cmakeFlags = "-DMAN_INSTALL_DIR=share/man/man1 -DDOC_INSTALL_DIR=share/doc/qhull";
patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
sed -i 's/namespace std { struct bidirectional_iterator_tag; struct random_access_iterator_tag; }/#include <iterator>/' ./src/libqhullcpp/QhullIterator.h
sed -i 's/namespace std { struct bidirectional_iterator_tag; struct random_access_iterator_tag; }/#include <iterator>/' ./src/libqhullcpp/QhullLinkedList.h
'';
meta = {
homepage = http://www.qhull.org/;
description = "Computes the convex hull, Delaunay triangulation, Voronoi diagram and more";