<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/5561f2d3e5729c4c19ff63a4fc7a2212cf25adc4">https://github.com/macports/macports-ports/commit/5561f2d3e5729c4c19ff63a4fc7a2212cf25adc4</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 5561f2d3e5729c4c19ff63a4fc7a2212cf25adc4
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Sat Nov 2 04:49:36 2019 -0500
<span style='display:block; white-space:pre;color:#404040;'> giza-pp: Allow building using libc++
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Fixes build on newer systems that have removed the libstdc++ headers.
</span>---
textproc/giza-pp/Portfile | 9 +++--
textproc/giza-pp/files/tr1.patch | 81 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 87 insertions(+), 3 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/textproc/giza-pp/Portfile b/textproc/giza-pp/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f644f15..5739b4c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/textproc/giza-pp/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/textproc/giza-pp/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,6 +5,7 @@ PortGroup github 1.0
</span>
epoch 1
github.setup moses-smt giza-pp 1.0.7 v
<span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 1
</span> categories textproc
maintainers nomaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -32,6 +33,8 @@ worksrcdir ${name}
</span>
depends_build bin:iconv:libiconv
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles tr1.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> post-patch {
system -W ${worksrcpath} "iconv -f ISO-8859-1 -t UTF-8 mkcls-v2/mkcls.cpp > x"
move -force ${worksrcpath}/x ${worksrcpath}/mkcls-v2/mkcls.cpp
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,9 +44,9 @@ use_configure no
</span>
variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# tr1 namespacing
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# This is a standalone app that just uses the STL, so just use libstdc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cxx_stdlib libstdc++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match *clang* ${configure.cxx}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxxflags-append -stdlib=${configure.cxx_stdlib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span>
build.args CXX=${configure.cxx} CFLAGS="${configure.cxxflags} [get_canonical_archflags cxx]"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/textproc/giza-pp/files/tr1.patch b/textproc/giza-pp/files/tr1.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..a891629
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/textproc/giza-pp/files/tr1.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,81 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+When using C++11 or later, or when using libc++ with any C++ standard,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+don't use the tr1 namespace.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Inspired by:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/moses-smt/giza-pp/issues/1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+http://catherinegasnier.blogspot.com/2014/04/install-giza-107-on-mac-osx-1092.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- GIZA++-v2/mystl.h.orig 2012-04-01 23:15:50.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ GIZA++-v2/mystl.h 2019-11-02 04:10:21.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,9 +25,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <ext/hash_map>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ using __gnu_cxx::hash_map;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __cplusplus < 201103L && !defined(_LIBCPP_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <tr1/unordered_map>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define hash_map unordered_map
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ using namespace std::tr1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <unordered_map>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define hash_map unordered_map
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <vector>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mkcls-v2/myleda.h.orig 2012-04-01 23:22:35.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mkcls-v2/myleda.h 2019-11-02 04:09:40.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -27,7 +27,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define myleda_HEADER_defined
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <map>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <set>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __cplusplus < 201103L && !defined(_LIBCPP_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <tr1/unordered_map>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <unordered_map>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "myassert.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "FixedArray.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ using namespace std;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -110,7 +114,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ inline int Hash(int value) { return value; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __cplusplus < 201103L && !defined(_LIBCPP_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define MY_HASH_BASE std::tr1::unordered_map<A,B>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define MY_HASH_BASE unordered_map<A,B>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template<class A,class B>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ class leda_h_array : public MY_HASH_BASE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mkcls-v2/mystl.h.orig 2012-04-01 23:44:54.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mkcls-v2/mystl.h 2019-11-02 04:09:19.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -27,13 +27,19 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define MY_STL_H_DEFINED
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <utility>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __cplusplus < 201103L && !defined(_LIBCPP_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <tr1/unordered_map>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <unordered_map>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <cmath>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ using namespace std;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace std {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __cplusplus < 201103L && !defined(_LIBCPP_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace tr1 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template <typename T, typename V>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct hash<pair<T, V> > {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static inline void hash_combine(std::size_t & seed, const T & v) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -48,7 +54,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return h;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __cplusplus < 201103L && !defined(_LIBCPP_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define over_string(a,i) for(unsigned int i=0;i<a.length();i++)
</span></pre><pre style='margin:0'>
</pre>