<pre style='margin:0'>
Eric A. Borisch (eborisch) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/885596f36cf2d5fa569b7e2e2335db6907770c02">https://github.com/macports/macports-ports/commit/885596f36cf2d5fa569b7e2e2335db6907770c02</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 885596f  py-clang: python bindings to libclang
</span>885596f is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 885596f36cf2d5fa569b7e2e2335db6907770c02
</span>Author: Eric A. Borisch <eborisch@macports.org>
AuthorDate: Sat Apr 7 12:05:27 2018 -0500

<span style='display:block; white-space:pre;color:#404040;'>    py-clang: python bindings to libclang
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes https://trac.macports.org/ticket/39551
</span>---
 python/py-clang/Portfile       | 114 +++++++++++++++++++++++++++++++++++++++++
 python/py-clang/files/setup.py |  31 +++++++++++
 2 files changed, 145 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-clang/Portfile b/python/py-clang/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..d893bcf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-clang/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,114 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem              1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup               python 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Actual versions defined by variants below
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version                 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                    py-clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.versions         27 34 35 36
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.default_version  27
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms               darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license                 NCSA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers             eborisch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description             Python bindings for clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description        ${description}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    https://github.com/llvm-mirror/clang/tree/master/bindings/python
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+supported_archs         noarch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${name} ne ${subport}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    master_sites            http://llvm.org/releases/${version}       
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Share llvm's downloads
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    dist_subdir             llvm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.url           http://llvm.org/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     cfe-3.7.1.src.tar.xz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      rmd160  Ae9383a4608d42781fa47fa3cdefc1f7adfebd98 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      sha256  56e2164c7c2a1772d5ed2a3e57485ff73ff06c97dff12edbeea1acc4412b0674 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     cfe-3.8.1.src.tar.xz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      rmd160  a280504a3ba3aa59274120305f68fc8f8b3aca9c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      sha256  4cd3836dfb4b88b597e075341cae86d61c63ce3963e45c7fe6a8bf59bb382cdf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     cfe-3.9.1.src.tar.xz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      rmd160  51930c2d55eacd44df28b49a84565771c94f418e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      sha256  e6c4cebb96dee827fa0470af313dff265af391cb6da8d429842ef208c8f25e63 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     cfe-4.0.1.src.tar.xz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      rmd160  4f30f077c6c39489720ec43a748d04dab0fbff79 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      sha256  61738a735852c23c3bdbe52d035488cdb2083013f384d67c1ba36fabebd8769b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     cfe-5.0.1.src.tar.xz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      rmd160  205adf6bdc9252b7b891157904befa28f40c9e9a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      sha256  135f6c9b0cd2da1aff2250e065946258eb699777888df39ca5a5b4fe5e23d0ff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     cfe-6.0.0.src.tar.xz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      rmd160  5e9383a4608d42781fa47fa3cdefc1f7adfebd98 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      sha256  e07d6dd8d9ef196cfc8e8bb131cbd6a2ed0b1caf1715f9d05b0f0eeaddb6df32 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set clanglist       {37    38    39    40    50    60}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set clangvlist      {3.7.1 3.8.1 3.9.1 4.0.1 5.0.1 6.0.0}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach cvnum $clanglist {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Explictly use (and depend on) the libclang we select during install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set cvidx [lsearch $clanglist $cvnum]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set clang_version [lindex $clangvlist $cvidx]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set cflist {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach v [lreplace $clanglist $cvidx $cvidx] {lappend cflist clang$v}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set cvstr [string index $cvnum 0].[string index $cvnum 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set substr \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          "library_path = '${prefix}/libexec/llvm-${cvstr}/lib'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        eval [subst {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                variant clang${cvnum} description {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       Use clang${cvnum}'s libclang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                } conflicts $cflist {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    version             ${clang_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    depends_lib-append  port:clang-${cvstr}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    distfiles           cfe-${clang_version}.src.tar.xz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    worksrcdir          cfe-${clang_version}.src/bindings/python
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    post-patch {reinplace {s^library_path = None^$substr^} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                          clang/cindex.py}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    # Yes, I didn't bother escaping the '.'s
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    livecheck.regex \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        " ([string range $clang_version 0 2].\\\[0-9\\\]+): "
</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;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![variant_isset clang37] && 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ![variant_isset clang38] && 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ![variant_isset clang39] && 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ![variant_isset clang40] && 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ![variant_isset clang50] && 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ![variant_isset clang60]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        default_variants +clang37
</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;'>+    pre-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Will never hit this when installing from packages, which is OK, as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # they will have the default variant set above.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {![variant_isset clang37] && 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ![variant_isset clang38] && 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ![variant_isset clang39] && 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ![variant_isset clang40] && 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ![variant_isset clang50] && 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ![variant_isset clang60]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error "At least one of the clangNN variants must be active."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return -code error "Unsupported (no) variants selected."
</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;'>+    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${filespath}/setup.py ${worksrcpath}/
</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;'>+    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set DOCDIR ${destroot}${prefix}/share/doc/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -d ${DOCDIR}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${worksrcpath}/README.txt ${DOCDIR}
</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;'>+    notes {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        The path to the selected libclang variant has been recorded in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        installed package. It can be overridden with:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        cindex.set_library_(path|file)().
</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;color:#808080;'>diff --git a/python/py-clang/files/setup.py b/python/py-clang/files/setup.py
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..bf42cbb
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-clang/files/setup.py
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,31 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#!/usr/bin/env python
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8 -*-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Based on https://raw.githubusercontent.com/trolldbois/python-clang/master/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+from setuptools import setup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+setup(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    name="clang",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version="6.0",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description="libclang python bindings",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    long_description=open("README.txt").read(),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    url="http://clang.llvm.org/",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    download_url="http://llvm.org/releases/download.html",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    license="License :: OSI Approved :: University of Illinois/NCSA Open Source License",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    classifiers=[
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "Intended Audience :: Developers",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "License :: OSI Approved :: University of Illinois/NCSA Open Source License",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "Development Status :: 5 - Production/Stable",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "Topic :: Software Development :: Compilers",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "Programming Language :: Python :: 2.7",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "Programming Language :: Python :: 3"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    keywords=["llvm", "clang", "libclang"],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    author="LLVM team",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    zip_safe=False,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    packages=["clang"],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # if use nose.collector, many plugins not is avaliable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # see: http://nose.readthedocs.org/en/latest/setuptools_integration.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    test_suite="nose.collector",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    tests_require=['nose']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+)
</span></pre><pre style='margin:0'>

</pre>