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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/5dccc228b10aff819500672c6f4203da53849dc3">https://github.com/macports/macports-ports/commit/5dccc228b10aff819500672c6f4203da53849dc3</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 5dccc228b10 diffutils-for-muniversal: v3.8 (#16642)
</span>5dccc228b10 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 5dccc228b10aff819500672c6f4203da53849dc3
</span>Author: Ken <21211439+kencu@users.noreply.github.com>
AuthorDate: Fri Nov 11 23:17:53 2022 -0800

<span style='display:block; white-space:pre;color:#404040;'>    diffutils-for-muniversal: v3.8 (#16642)
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    this commit adds a sequestered, isolated diff utility for use on Ventura (and above).
</span><span style='display:block; white-space:pre;color:#404040;'>    It also changes the muniversal PortGroups to use the new diff on Ventura+/
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    the new diff utility that comes with Ventura does not accept options that the muniversal PortGroup requires to properly function.
</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/66163
</span><span style='display:block; white-space:pre;color:#404040;'>    closes: https://trac.macports.org/ticket/66103
</span>---
 _resources/port1.0/group/muniversal-1.0.tcl | 17 +++++-
 _resources/port1.0/group/muniversal-1.1.tcl | 17 +++++-
 sysutils/diffutils-for-muniversal/Portfile  | 84 +++++++++++++++++++++++++++++
 3 files changed, 114 insertions(+), 4 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/muniversal-1.0.tcl b/_resources/port1.0/group/muniversal-1.0.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index bedac879ad1..e30ab4d5bb3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/_resources/port1.0/group/muniversal-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/muniversal-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -33,6 +33,19 @@ default merger_no_3_archs no
</span> default merger_arch_flag yes
 default merger_arch_compiler no
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.version} >= 22} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append port:diffutils-for-muniversal
</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;'>+proc muniversal_get_diff_to_use {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global prefix os.version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.version} >= 22} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      return "${prefix}/libexec/diffutils/bin/diff"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      return "/usr/bin/diff"
</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> proc muniversal_arch_flag_supported {args} {
     global configure.compiler
     return [regexp {^gcc-4|llvm|apple|clang} ${configure.compiler}]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -702,7 +715,7 @@ variant universal {
</span> 
                                     ui_debug "universal: merge: created ${prefixDir}/${fl} to include ${prefixDir}/${arch1}-${fl} ${prefixDir}/${arch1}-${fl}"
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                                    system "/usr/bin/diff -d ${diffFormat} \"${dir}/${arch1}-${fl}\" \"${dir}/${arch2}-${fl}\" > \"${dir}/${fl}\"; test \$? -le 1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                    system "[muniversal_get_diff_to_use] -d ${diffFormat} \"${dir}/${arch1}-${fl}\" \"${dir}/${arch2}-${fl}\" > \"${dir}/${fl}\"; test \$? -le 1"
</span> 
                                     copy -force ${dir1}/${fl} ${dir}/${arch1}-${fl}
                                     copy -force ${dir2}/${fl} ${dir}/${arch2}-${fl}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -806,7 +819,7 @@ variant universal {
</span>                                             if { ! [catch {system "test \"`head -c2 ${dir1}/${fl}`\" = '#!'"}] } {
                                                 # Shell script, hopefully striping out arch flags works...
                                                 mergeStripArchFlags ${dir1} ${dir2} ${dir} ${fl}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                                            } elseif { ! [catch {system "/usr/bin/diff -dw ${diffFormat} \"${dir1}/${fl}\" \"${dir2}/${fl}\" > \"${dir}/${fl}\"; test \$? -le 1"}] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                            } elseif { ! [catch {system "[muniversal_get_diff_to_use] -dw ${diffFormat} \"${dir1}/${fl}\" \"${dir2}/${fl}\" > \"${dir}/${fl}\"; test \$? -le 1"}] } {
</span>                                                 # diff worked
                                                 ui_debug "universal: merge: used diff to create ${prefixDir}/${fl}"
                                             } else {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/muniversal-1.1.tcl b/_resources/port1.0/group/muniversal-1.1.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 34e8dc974ec..b5fa5f486e0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/_resources/port1.0/group/muniversal-1.1.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/muniversal-1.1.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,6 +41,19 @@ default muniversal.dont_diff {}
</span> # utilites
 ##########################################################################################
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.version} >= 22} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append port:diffutils-for-muniversal
</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;'>+proc muniversal_get_diff_to_use {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global prefix os.version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.version} >= 22} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      return "${prefix}/libexec/diffutils/bin/diff"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      return "/usr/bin/diff"
</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> # allow `foreach arch ${muniversal.architectures} { ... }` to be used regardless of whether +universal set or not
 options muniversal.architectures
 default muniversal.architectures {[expr {[option universal_possible] && [variant_isset universal] ? ${configure.universal_archs} : ${configure.build_arch}}]}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -424,7 +437,7 @@ proc muniversal::merge {base1 base2 base prefixDir arch1 arch2 merger_dont_diff
</span> 
                             ui_debug "universal: merge: created ${prefixDir}/${fl} to include ${prefixDir}/${arch1}-${fl} ${prefixDir}/${arch1}-${fl}"
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                            system "/usr/bin/diff -d ${diffFormat} \"${dir}/${arch1}-${fl}\" \"${dir}/${arch2}-${fl}\" > \"${dir}/${fl}\"; test \$? -le 1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            system "[muniversal_get_diff_to_use] -d ${diffFormat} \"${dir}/${arch1}-${fl}\" \"${dir}/${arch2}-${fl}\" > \"${dir}/${fl}\"; test \$? -le 1"
</span> 
                             copy -force ${dir1}/${fl} ${dir}/${arch1}-${fl}
                             copy -force ${dir2}/${fl} ${dir}/${arch2}-${fl}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -531,7 +544,7 @@ proc muniversal::merge {base1 base2 base prefixDir arch1 arch2 merger_dont_diff
</span>                                     if { ! [catch {system "test \"`head -c2 ${dir1}/${fl}`\" = '#!'"}] } {
                                         # shell script, hopefully striping out arch flags works...
                                         muniversal::strip_arch_flags ${dir1} ${dir2} ${dir} ${fl}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                                    } elseif { ! [catch {system "/usr/bin/diff -dw ${diffFormat} \"${dir1}/${fl}\" \"${dir2}/${fl}\" > \"${dir}/${fl}\"; test \$? -le 1"}] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                    } elseif { ! [catch {system "[muniversal_get_diff_to_use] -dw ${diffFormat} \"${dir1}/${fl}\" \"${dir2}/${fl}\" > \"${dir}/${fl}\"; test \$? -le 1"}] } {
</span>                                         # diff worked
                                         ui_debug "universal: merge: used diff to create ${prefixDir}/${fl}"
                                     } else {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/diffutils-for-muniversal/Portfile b/sysutils/diffutils-for-muniversal/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..a1a88e829ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/diffutils-for-muniversal/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,84 @@
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                diffutils-for-muniversal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             3.8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms           {darwin >= 22}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# we will not use the use_xz mechanism, as we don't want to pull in MP xz port and deps
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+dist_subdir         diffutils
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname            diffutils-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+extract.suffix      .tar.xz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          sysutils
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             GPL-3+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         GNU diff utilities sequestered for muniversal PG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    diffutils contains the GNU diff, diff3, sdiff, and cmp utilities. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Sequestered for muniversal to use.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://www.gnu.org/software/diffutils/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        gnu:diffutils
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  30b1050d0a5334becdc6141dcd52a4b584f0dbc4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  a6bdd7d1b31266d11c4f4de6c1b748d4607ab0231af5188fc2533d0ae2438fec \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    1585120
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# boilerplate extract phase override
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach f ${distfiles} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set f [lindex [split ${f} :] 0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_debug "Extracting: ${f}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[string match "*bz2*" ${f}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system -W ${workpath} "/usr/bin/tar xjf ${distpath}/${f}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[string match "*gz*" ${f}]}  {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system -W ${workpath} "/usr/bin/tar xzf ${distpath}/${f}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[string match "*xz*" ${f}]}  {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system -W ${workpath} "/usr/bin/tar xJf ${distpath}/${f}"
</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;'>+# sterilize MacPorts build environment; we want nothing picked up from MP prefix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.library_path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cxx_stdlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cxxflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cppflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.optflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.ldflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.universal_cflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.universal_cxxflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.universal_cppflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.universal_ldflags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.universal_args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.ccache    no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.distcc    no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# sterilize PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.env-append    PATH=/usr/bin:/bin:/usr/sbin:/sbin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.env-append        PATH=/usr/bin:/bin:/usr/sbin:/sbin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+universal_variant       no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+installs_libs           no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.pre_args      --prefix=${prefix}/libexec/diffutils
</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;'>+test.run        yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.target     check
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.type  none
</span></pre><pre style='margin:0'>

</pre>