<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/328eb9567872bb7011eb015f601aa7b5c29ab245">https://github.com/macports/macports-base/commit/328eb9567872bb7011eb015f601aa7b5c29ab245</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 328eb95  Add script to set cxx_stdlib_overridden on upgrade
</span>328eb95 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 328eb9567872bb7011eb015f601aa7b5c29ab245
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Mon May 7 09:16:15 2018 +1000

<span style='display:block; white-space:pre;color:#404040;'>    Add script to set cxx_stdlib_overridden on upgrade
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    You can't tell whether configure.cxx_stdlib was overridden by a port if
</span><span style='display:block; white-space:pre;color:#404040;'>    it was not recorded at install time. This creates a problem for users
</span><span style='display:block; white-space:pre;color:#404040;'>    upgrading from versions of MacPorts that did not record it: rev-upgrade
</span><span style='display:block; white-space:pre;color:#404040;'>    will think that ports that do override it are broken, because they do
</span><span style='display:block; white-space:pre;color:#404040;'>    not follow the global cxx_stdlib setting.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Therefore, to ease the transition, keep a list of ports that are known
</span><span style='display:block; white-space:pre;color:#404040;'>    to override the setting, and when upgrading base, set the flag in the
</span><span style='display:block; white-space:pre;color:#404040;'>    registry for those ports if it is currently null.
</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/56326
</span>---
 Makefile.in                      |  2 ++
 configure                        |  4 ++++
 configure.ac                     |  1 +
 portmgr/dmg/postflight.in        |  1 +
 src/Makefile.in                  |  2 +-
 src/cxx_stdlib_overridden.tcl.in | 50 ++++++++++++++++++++++++++++++++++++++++
 6 files changed, 59 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/Makefile.in b/Makefile.in
</span><span style='display:block; white-space:pre;color:#808080;'>index c973a92..6576870 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -95,6 +95,8 @@ ifeq ($(DESTDIR),)
</span> # Convert image directories (and direct mode installs) to image archives
        $(TCLSH) $(srcdir)/src/images_to_archives.tcl
        $(TCLSH) $(srcdir)/src/dedup_portfiles.tcl
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Set cxx_stdlib_overridden for known ports so they don't appear broken
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   $(TCLSH) $(srcdir)/src/cxx_stdlib_overridden.tcl
</span> endif
 ifndef SELFUPDATING
        @echo ""; echo "Congratulations, you have successfully installed the MacPorts system. To get the Portfiles and update the system, add ${prefix}/bin to your PATH and run:"; echo ""
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/configure b/configure
</span><span style='display:block; white-space:pre;color:#808080;'>index 0b224a3..469c8e2 100755
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/configure
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/configure
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9302,6 +9302,8 @@ ac_config_files="$ac_config_files Doxyfile Makefile Mk/macports.autoconf.mk doc/
</span> 
 ac_config_files="$ac_config_files vendor/tclsh"
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ac_config_files="$ac_config_files src/cxx_stdlib_overridden.tcl"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> ac_config_files="$ac_config_files src/dedup_portfiles.tcl"
 
 ac_config_files="$ac_config_files src/images_to_archives.tcl"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10039,6 +10041,7 @@ do
</span>     "tests/test/trace/test.tcl") CONFIG_FILES="$CONFIG_FILES tests/test/trace/test.tcl" ;;
     "vendor/Makefile") CONFIG_FILES="$CONFIG_FILES vendor/Makefile" ;;
     "vendor/tclsh") CONFIG_FILES="$CONFIG_FILES vendor/tclsh" ;;
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    "src/cxx_stdlib_overridden.tcl") CONFIG_FILES="$CONFIG_FILES src/cxx_stdlib_overridden.tcl" ;;
</span>     "src/dedup_portfiles.tcl") CONFIG_FILES="$CONFIG_FILES src/dedup_portfiles.tcl" ;;
     "src/images_to_archives.tcl") CONFIG_FILES="$CONFIG_FILES src/images_to_archives.tcl" ;;
     "src/pkg_mkindex.sh") CONFIG_FILES="$CONFIG_FILES src/pkg_mkindex.sh" ;;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10596,6 +10599,7 @@ $as_echo "$as_me: $ac_file is unchanged" >&6;}
</span> 
   case $ac_file$ac_mode in
     "vendor/tclsh":F) chmod +x vendor/tclsh ;;
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    "src/cxx_stdlib_overridden.tcl":F) chmod +x src/cxx_stdlib_overridden.tcl ;;
</span>     "src/dedup_portfiles.tcl":F) chmod +x src/dedup_portfiles.tcl ;;
     "src/images_to_archives.tcl":F) chmod +x src/images_to_archives.tcl ;;
     "src/pkg_mkindex.sh":F) chmod +x src/pkg_mkindex.sh ;;
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/configure.ac b/configure.ac
</span><span style='display:block; white-space:pre;color:#808080;'>index 846da85..077e2a4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/configure.ac
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/configure.ac
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -439,6 +439,7 @@ AC_CONFIG_FILES([
</span> ])
 
 AC_CONFIG_FILES([vendor/tclsh], [chmod +x vendor/tclsh])
<span style='display:block; white-space:pre;background:#e0ffe0;'>+AC_CONFIG_FILES([src/cxx_stdlib_overridden.tcl], [chmod +x src/cxx_stdlib_overridden.tcl])
</span> AC_CONFIG_FILES([src/dedup_portfiles.tcl], [chmod +x src/dedup_portfiles.tcl])
 AC_CONFIG_FILES([src/images_to_archives.tcl], [chmod +x src/images_to_archives.tcl])
 AC_CONFIG_FILES([src/pkg_mkindex.sh], [chmod +x src/pkg_mkindex.sh])
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/portmgr/dmg/postflight.in b/portmgr/dmg/postflight.in
</span><span style='display:block; white-space:pre;color:#808080;'>index 750553f..1427e9c 100755
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/portmgr/dmg/postflight.in
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/portmgr/dmg/postflight.in
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -77,6 +77,7 @@ function update_macports {
</span>     echo "Updating port image format..."
     "${TCLSH}" "${SCRIPT_DIR}/images_to_archives.tcl"
     "${TCLSH}" "${SCRIPT_DIR}/dedup_portfiles.tcl"
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    "${TCLSH}" "${SCRIPT_DIR}/cxx_stdlib_overridden.tcl"
</span> 
     echo "Synchronizing the MacPorts installation with the project's rsync server..."
     if ! "${BINPATH}/port" -v selfupdate; then 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/Makefile.in b/src/Makefile.in
</span><span style='display:block; white-space:pre;color:#808080;'>index 07fe261..a3085ab 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -21,7 +21,7 @@ distclean::
</span>   rm -f config.h
        rm -f Makefile
        rm -f pkg_mkindex.sh
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        rm -f dedup_portfiles.tcl images_to_archives.tcl upgrade_sources_conf_default.tcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   rm -f cxx_stdlib_overridden.tcl dedup_portfiles.tcl images_to_archives.tcl upgrade_sources_conf_default.tcl
</span> 
 test::
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/cxx_stdlib_overridden.tcl.in b/src/cxx_stdlib_overridden.tcl.in
</span>new file mode 100755
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..7c116ec
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/cxx_stdlib_overridden.tcl.in
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,50 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#!@TCLSH@
</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:filetype=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;'>+# Tell the registry about some ports that are known to override
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# configure.cxx_stdlib, so rev-upgrade won't consider them broken after
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# upgrading from < 2.5.0.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+package require macports 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+package require registry2 2.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mportinit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${macports::os_platform} ne "darwin"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    exit 0
</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 {[info exists macports::ui_options(progress_generic)]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    macports::revupgrade_update_binary yes $macports::ui_options(progress_generic)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    macports::revupgrade_update_binary no
</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;'>+set known_ports [list arm-elf-gcc capnproto clang-3.7 clang-3.8 clang-3.9 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+clang-4.0 clang-5.0 clang-6.0 clang-devel cmake cmake-devel dibbler duck \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+gcc5 gcc6 gcc7 gcc8 gcc43 gcc44 gcc45 gcc46 gcc47 gcc48 gcc49 geant4.10.2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+geant4.10.3 geant4.10.4 giza-pp gmp gromacs gromacs-plumed \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+i686-w64-mingw32-crt i686-w64-mingw32-winpthreads ld64-latest libgcc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libgcc-devel libgcc6 libgcc45 libxl lldb-4.0 lldb-5.0 lldb-6.0 lldb-devel \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+llvm-3.5 llvm-3.7 llvm-3.8 llvm-3.9 llvm-4.0 llvm-5.0 llvm-6.0 llvm-devel \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mongodb root6 textmate2 tripwire x86_64-w64-mingw32-crt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+x86_64-w64-mingw32-winpthreads xrootd]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach portname $known_ports {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set entries [registry::entry search name $portname state installed cxx_stdlib -null]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[llength $entries] > 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_msg "$macports::ui_prefix Setting C++ stdlib usage for $portname"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach entry $entries {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            registry::write {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set binary_files {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                foreach filehandle [registry::file search id [$entry id] binary 1] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    lappend binary_files [$filehandle actual_path]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                $entry cxx_stdlib [macports::get_actual_cxx_stdlib $binary_files]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                $entry cxx_stdlib_overridden 1
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+exit 0
</span></pre><pre style='margin:0'>

</pre>