<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/e7ac16fcb9e82297c69b9d6cde34699a7f5a95d9">https://github.com/macports/macports-ports/commit/e7ac16fcb9e82297c69b9d6cde34699a7f5a95d9</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 e7ac16fcb9e py-igraph: add external_igraph variant
</span>e7ac16fcb9e is described below

<span style='display:block; white-space:pre;color:#808000;'>commit e7ac16fcb9e82297c69b9d6cde34699a7f5a95d9
</span>Author: Szabolcs Horvát <szhorvat@gmail.com>
AuthorDate: Tue Jun 1 17:32:41 2021 +0200

<span style='display:block; white-space:pre;color:#404040;'>    py-igraph: add external_igraph variant
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>     * add external_igraph variant
</span><span style='display:block; white-space:pre;color:#404040;'>     * fix linking to both libc++ and libstdc++
</span>---
 python/py-igraph/Portfile                          | 79 ++++++++++++++--------
 .../files/patch-use-correct-cpp-stdlib.diff        | 46 +++++++++++++
 2 files changed, 98 insertions(+), 27 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-igraph/Portfile b/python/py-igraph/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 69bb2a96db1..246d3d8b693 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-igraph/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-igraph/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -6,7 +6,7 @@ PortGroup           python 1.0
</span> name                py-igraph
 python.rootname     python-igraph
 version             0.9.4
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> categories-append   math science
 platforms           darwin
 license             GPL-2+
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,19 +27,57 @@ checksums           rmd160  f15a1da7e4163285b15de7a413a0f0727925926c \
</span>                     sha256  b1e4e3b8ea438f85e17874d0b0836107b437ebe68ae0b3be13d2ad399f45405d \
                     size    3611998
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+variant external_igraph description {Use external igraph library} { }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> if {${name} ne ${subport}} {
     compiler.c_standard     1999
     compiler.cxx_standard   2011
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append      port:py${python.version}-texttable \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            port:arpack \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            port:glpk \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            port:gmp \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            port:libxml2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            port:SuiteSparse_CXSparse
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_build-append    port:py${python.version}-setuptools \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                            path:bin/cmake:cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append      port:py${python.version}-texttable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append    port:py${python.version}-setuptools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset external_igraph]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Build with external igraph library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-append      port:igraph
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-append    path:bin/pkg-config:pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # To avoid building the vendored igraph, --use-pkg-config must be passed not only
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # to setup.py build, but also to setup.py install. When updating post-0.9.4,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # check if this is still necessary.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        build.args-append       --use-pkg-config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        destroot.args-append    --use-pkg-config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Build with vendored igraph library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-append      port:arpack \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                port:glpk \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                port:gmp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                port:libxml2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                port:SuiteSparse_CXSparse
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-append    path:bin/cmake:cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set extra_cmake_args {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            -DUSE_CCACHE=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            -DBUILD_SHARED_LIBS=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            -DIGRAPH_ENABLE_LTO=AUTO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            -DIGRAPH_GLPK_SUPPORT=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            -DIGRAPH_GRAPHML_SUPPORT=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            -DIGRAPH_USE_INTERNAL_ARPACK=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            -DIGRAPH_USE_INTERNAL_BLAS=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            -DIGRAPH_USE_INTERNAL_CXSPARSE=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            -DIGRAPH_USE_INTERNAL_GLPK=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            -DIGRAPH_USE_INTERNAL_GMP=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            -DIGRAPH_USE_INTERNAL_LAPACK=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            -DIGRAPH_OPENMP_SUPPORT=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            -DBLA_VENDOR=Apple
</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;'>+        build.env-append        IGRAPH_CMAKE_EXTRA_ARGS=[join $extra_cmake_args]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> 
     # python-igraph optionally makes use of these, and some tests depend on them.
     # If they are not installed, the corresponding tests will simply be skipped.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -48,23 +86,10 @@ if {${name} ne ${subport}} {
</span>                             port:py${python.version}-pandas \
                             port:py${python.version}-scipy
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set extra_cmake_args {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DUSE_CCACHE=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DBUILD_SHARED_LIBS=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DIGRAPH_ENABLE_LTO=AUTO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DIGRAPH_GLPK_SUPPORT=ON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DIGRAPH_GRAPHML_SUPPORT=ON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DIGRAPH_USE_INTERNAL_ARPACK=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DIGRAPH_USE_INTERNAL_BLAS=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DIGRAPH_USE_INTERNAL_CXSPARSE=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DIGRAPH_USE_INTERNAL_GLPK=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DIGRAPH_USE_INTERNAL_GMP=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DIGRAPH_USE_INTERNAL_LAPACK=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DBLA_VENDOR=Apple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DIGRAPH_OPENMP_SUPPORT=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.env-append        IGRAPH_CMAKE_EXTRA_ARGS=[join $extra_cmake_args]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Patch added for 0.9.4 to prevent linking both to libc++ and libstdc++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # See https://github.com/igraph/python-igraph/commit/2ccf9e9b88c37fc277dbd8eb8e0bce0a73e33cae
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Safe to remove from future versions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles              patch-use-correct-cpp-stdlib.diff
</span> 
     pre-test {
         test.env    PYTHONPATH=[glob -nocomplain ${worksrcpath}/build/lib*]
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-igraph/files/patch-use-correct-cpp-stdlib.diff b/python/py-igraph/files/patch-use-correct-cpp-stdlib.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8f63527d171
</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-igraph/files/patch-use-correct-cpp-stdlib.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,46 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/setup.py b/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5f2e4a5..9163cab 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -420,6 +420,11 @@ class BuildConfiguration(object):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     extra_libraries = os.environ["IGRAPH_EXTRA_DYNAMIC_LIBRARIES"].split(',')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     buildcfg.libraries.extend(extra_libraries)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                # Remove C++ standard library as we will use the C++ linker
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                for lib in ("c++", "stdc++"):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    if lib in buildcfg.libraries:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        buildcfg.libraries.remove(lib)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 # Prints basic build information
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 buildcfg.print_build_info()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -664,11 +669,6 @@ class BuildConfiguration(object):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def replace_static_libraries(self, only=None, exclusions=None):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         """Replaces references to libraries with full paths to their static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         versions if the static version is to be found on the library path."""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        building_on_windows = building_on_windows_msvc()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        if not building_on_windows and "stdc++" not in self.libraries:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            self.libraries.append("stdc++")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if exclusions is None:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             exclusions = []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -757,6 +757,7 @@ buildcfg.process_args_from_command_line()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Define the extension
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sources = glob.glob(os.path.join("src", "_igraph", "*.c"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++sources.append(os.path.join("src", "_igraph", "force_cpp_linker.cpp"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ igraph_extension = Extension("igraph._igraph", sources)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ description = """Python interface to the igraph high performance graph
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/src/_igraph/force_cpp_linker.cpp b/src/_igraph/force_cpp_linker.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+new file mode 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0000000..d78b8f3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/_igraph/force_cpp_linker.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* The purpose of this file is to make Python use the C++ linker instead of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * the standard C linker because igraph's core static library needs the C++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * standard library */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span></pre><pre style='margin:0'>

</pre>