[130382] trunk/dports/lang/libcxxabi

jeremyhu at macports.org jeremyhu at macports.org
Mon Dec 29 21:18:16 PST 2014


Revision: 130382
          https://trac.macports.org/changeset/130382
Author:   jeremyhu at macports.org
Date:     2014-12-29 21:18:16 -0800 (Mon, 29 Dec 2014)
Log Message:
-----------
libcxxabi: Build with clang-3.4

Modified Paths:
--------------
    trunk/dports/lang/libcxxabi/Portfile

Added Paths:
-----------
    trunk/dports/lang/libcxxabi/files/
    trunk/dports/lang/libcxxabi/files/0001-Propagate-the-removal-of-_LIBCPP_CANTTHROW-r189046-t.patch
    trunk/dports/lang/libcxxabi/files/0002-Change-the-two-last-remaining-_LIBCPP_CANTTHROW-to-_.patch

Modified: trunk/dports/lang/libcxxabi/Portfile
===================================================================
--- trunk/dports/lang/libcxxabi/Portfile	2014-12-30 05:16:45 UTC (rev 130381)
+++ trunk/dports/lang/libcxxabi/Portfile	2014-12-30 05:18:16 UTC (rev 130382)
@@ -1,6 +1,7 @@
 # $Id$
 
 PortSystem              1.0
+PortGroup               compiler_blacklist_versions 1.0
 
 name                    libcxxabi
 categories              lang
@@ -20,6 +21,11 @@
 worksrcdir              trunk
 svn.url                 http://llvm.org/svn/llvm-project/libcxxabi/trunk
 
+patch.pre_args          -p1
+patchfiles \
+    0001-Propagate-the-removal-of-_LIBCPP_CANTTHROW-r189046-t.patch \
+    0002-Change-the-two-last-remaining-_LIBCPP_CANTTHROW-to-_.patch
+
 set root_path ${prefix}/var/host/${name}-${version}-${revision}
 
 variant universal {}
@@ -38,9 +44,10 @@
         error "unsupported platform"
     }
 } else {
+    # 3.5 and 3.6 are blacklisted to prevent dependency cycles
+    compiler.blacklist *gcc* {clang < 100} macports-clang-3.5 macports-clang-3.6
+
     depends_build port:libunwind-headers
-
-    configure.compiler macports-clang-3.3
     # libunwind-headers' contents moved in r127042.
     configure.cppflags-append \
             -isystem ${prefix}/Developer/SDKs/Darwin${os.major}.sdk/usr/include

Added: trunk/dports/lang/libcxxabi/files/0001-Propagate-the-removal-of-_LIBCPP_CANTTHROW-r189046-t.patch
===================================================================
--- trunk/dports/lang/libcxxabi/files/0001-Propagate-the-removal-of-_LIBCPP_CANTTHROW-r189046-t.patch	                        (rev 0)
+++ trunk/dports/lang/libcxxabi/files/0001-Propagate-the-removal-of-_LIBCPP_CANTTHROW-r189046-t.patch	2014-12-30 05:18:16 UTC (rev 130382)
@@ -0,0 +1,50 @@
+From 8fd6dbd941a245013d970667851f6f96e00e690f Mon Sep 17 00:00:00 2001
+From: Howard Hinnant <hhinnant at apple.com>
+Date: Sun, 25 Aug 2013 17:00:57 +0000
+Subject: [PATCH 1/2] Propagate the removal of _LIBCPP_CANTTHROW (r189046) to
+ libcxxabi.  This fixes http://llvm.org/bugs/show_bug.cgi?id=16996.
+
+git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@189194 91177308-0d34-0410-b5e6-96231b3b80d8
+(cherry picked from commit cdf7d557bd6835f66fe707ca7b1a8f22010ffb66)
+---
+ src/stdexcept.cpp | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/stdexcept.cpp b/src/stdexcept.cpp
+index de859db..460ff8b 100644
+--- a/src/stdexcept.cpp
++++ b/src/stdexcept.cpp
+@@ -66,9 +66,9 @@ private:
+ 
+ public:
+     explicit __libcpp_nmstr(const char* msg);
+-    __libcpp_nmstr(const __libcpp_nmstr& s) _LIBCPP_CANTTHROW;
+-    __libcpp_nmstr& operator=(const __libcpp_nmstr& s) _LIBCPP_CANTTHROW;
+-    ~__libcpp_nmstr() _LIBCPP_CANTTHROW;
++    __libcpp_nmstr(const __libcpp_nmstr& s) _NOEXCEPT;
++    __libcpp_nmstr& operator=(const __libcpp_nmstr& s) _NOEXCEPT;
++    ~__libcpp_nmstr();
+     const char* c_str() const _NOEXCEPT {return str_;}
+ };
+ 
+@@ -84,7 +84,7 @@ __libcpp_nmstr::__libcpp_nmstr(const char* msg)
+ }
+ 
+ inline
+-__libcpp_nmstr::__libcpp_nmstr(const __libcpp_nmstr& s)
++__libcpp_nmstr::__libcpp_nmstr(const __libcpp_nmstr& s) _NOEXCEPT
+     : str_(s.str_)
+ {
+ #if __APPLE__
+@@ -94,7 +94,7 @@ __libcpp_nmstr::__libcpp_nmstr(const __libcpp_nmstr& s)
+ }
+ 
+ __libcpp_nmstr&
+-__libcpp_nmstr::operator=(const __libcpp_nmstr& s)
++__libcpp_nmstr::operator=(const __libcpp_nmstr& s) _NOEXCEPT
+ {
+     const char* p = str_;
+     str_ = s.str_;
+-- 
+2.2.1
+

Added: trunk/dports/lang/libcxxabi/files/0002-Change-the-two-last-remaining-_LIBCPP_CANTTHROW-to-_.patch
===================================================================
--- trunk/dports/lang/libcxxabi/files/0002-Change-the-two-last-remaining-_LIBCPP_CANTTHROW-to-_.patch	                        (rev 0)
+++ trunk/dports/lang/libcxxabi/files/0002-Change-the-two-last-remaining-_LIBCPP_CANTTHROW-to-_.patch	2014-12-30 05:18:16 UTC (rev 130382)
@@ -0,0 +1,37 @@
+From 8bd109b4bfd119bf025ee52a9c71e2b294a469a1 Mon Sep 17 00:00:00 2001
+From: Jean-Daniel Dupas <devlists at shadowlab.org>
+Date: Thu, 29 Aug 2013 19:19:27 +0000
+Subject: [PATCH 2/2] Change the two last remaining _LIBCPP_CANTTHROW to
+ _NOEXCEPT
+
+git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@189603 91177308-0d34-0410-b5e6-96231b3b80d8
+(cherry picked from commit 224f7acc3612358a427e80642fa1c78aab5d30da)
+---
+ src/stdexcept.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/stdexcept.cpp b/src/stdexcept.cpp
+index 460ff8b..9469fa8 100644
+--- a/src/stdexcept.cpp
++++ b/src/stdexcept.cpp
+@@ -47,7 +47,7 @@ private:
+ #if __APPLE__
+     static
+     const void*
+-    compute_gcc_empty_string_storage() _LIBCPP_CANTTHROW
++    compute_gcc_empty_string_storage() _NOEXCEPT
+     {
+         void* handle = dlopen("/usr/lib/libstdc++.6.dylib", RTLD_NOLOAD);
+         if (handle == 0)
+@@ -57,7 +57,7 @@ private:
+     
+     static
+     const void*
+-    get_gcc_empty_string_storage() _LIBCPP_CANTTHROW
++    get_gcc_empty_string_storage() _NOEXCEPT
+     {
+         static const void* p = compute_gcc_empty_string_storage();
+         return p;
+-- 
+2.2.1
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20141229/e47ba8e8/attachment-0001.html>


More information about the macports-changes mailing list