Index | Thread | Search

From:
David Uhden Collado <daviduhden@gmail.com>
Subject:
Re: [UPDATE] devel/shfmt 3.6.0 -> 3.14.1
To:
ports@openbsd.org
Date:
Sat, 26 Sep 2026 08:54:00 +0000

Download raw body.

Thread
David Uhden Collado wrote:
> Hello,
> 
> Please find attached an updated version of the patch I sent previously.
> 
> Since shfmt 3.14.1 has now been released, I updated the port directly
> from 3.6.0 to 3.14.1. Please disregard the previous 3.14.0 patch.
> 
> The upstream release notes and full comparison are available at:
> 
> https://github.com/mvdan/sh/releases/tag/v3.14.1
> https://github.com/mvdan/sh/compare/v3.6.0...v3.14.1
> 
> The changes described in my previous email remain applicable. In short,
> the releases since 3.6.0 include substantial improvements to the parser,
> formatter, interpreter, shell expansion, script detection and
> EditorConfig support, as well as initial Zsh parser and formatter
> support.
> 
> Version 3.14.1 is primarily a bugfix release. It fixes several
> here-document formatting issues, including indentation inside command
> substitutions and preservation of literal tabs in <<- heredocs. It also
> fixes Zsh short parameter-expansion forms, escaped characters being
> incorrectly treated as glob metacharacters, and a panic caused by
> unclosed extended pattern groups. The interpreter also receives a fix
> for builds on 32-bit FreeBSD and NetBSD.
> 
> The main port-specific change in this revision is that I have enabled
> the complete upstream test suite.
> 
> The default Go module test target only tests the module root, which does
> not contain any Go files. I therefore added:
> 
> TEST_TARGET = ./...
> 
> so that "make test" runs all upstream package tests rather than
> effectively testing nothing.
> 
> For the port, MODGO_VERSION is now set to v3.14.1 and distinfo has been
> regenerated for the new source archive. The Go dependency set remains
> the same as in the previous 3.14.0 patch.
> 
> No local patches or package list changes are required.
> 
> This revised patch supersedes the 3.14.0 update I sent previously.
> 
> Thank you for your time and consideration.
> 
> Best regards,
> David.
ping
Index: devel/shfmt/Makefile
===================================================================
RCS file: /cvs/ports/devel/shfmt/Makefile,v
diff -u -p -u -p -r1.9 Makefile
--- devel/shfmt/Makefile	18 Jun 2023 10:14:22 -0000	1.9
+++ devel/shfmt/Makefile	19 Sep 2026 01:27:59 -0000
@@ -1,7 +1,7 @@
 COMMENT =	shell parser, formatter, and interpreter
 
 MODGO_MODNAME =	mvdan.cc/sh/v3
-MODGO_VERSION =	v3.6.0
+MODGO_VERSION =	v3.14.1
 
 DISTNAME =	shfmt-${MODGO_VERSION}
 
@@ -15,6 +15,10 @@ PERMIT_PACKAGE =	Yes
 WANTLIB += c pthread
 
 MODULES =		lang/go
+
+# The module default tests only the root package, which has no Go files;
+# run the whole upstream suite instead.
+TEST_TARGET =	./...
 
 BUILD_DEPENDS =	textproc/groff \
 		textproc/scdoc
Index: devel/shfmt/distinfo
===================================================================
RCS file: /cvs/ports/devel/shfmt/distinfo,v
diff -u -p -u -p -r1.5 distinfo
--- devel/shfmt/distinfo	18 Jun 2023 10:14:22 -0000	1.5
+++ devel/shfmt/distinfo	19 Sep 2026 01:27:59 -0000
@@ -1,52 +1,88 @@
-SHA256 (go_modules/github.com/creack/pty/@v/v1.1.18.mod) = BBOkGR3M1sdbDMdMtxrxVkBw8uy/zjq0ujzMnXAf2Cw=
-SHA256 (go_modules/github.com/creack/pty/@v/v1.1.18.zip) = fcrad4LgTw1LR9UNTvNfNvLID5CSMQGRSUgEKb2xduU=
+SHA256 (go_modules/github.com/creack/pty/@v/v1.1.24.mod) = o5ef0ywA810X6zuX0LPMb077BXv3gnE2H6dzUx5gFTE=
+SHA256 (go_modules/github.com/creack/pty/@v/v1.1.24.zip) = dU4lJT52pVg7gNV9Ot06/mj8TZ8qSQloqdHtqMj9iBU=
 SHA256 (go_modules/github.com/creack/pty/@v/v1.1.9.mod) = 6rBwW8ShjdMVwnpOPbqPIKnhIwZfogYzlmMytczPdzE=
-SHA256 (go_modules/github.com/frankban/quicktest/@v/v1.14.4.mod) = aLKthKInPSO6xKV0F3Wj+llKB9KnH4DoR6fWPFOlvZ8=
-SHA256 (go_modules/github.com/frankban/quicktest/@v/v1.14.4.zip) = 3uueG53Rg2Lt50i1+TfQguZ8Q/J5wmWnOxT1yDbvXWo=
-SHA256 (go_modules/github.com/google/go-cmp/@v/v0.5.9.mod) = 58dmnUod1Ym6PgJLon9D8pPbYR/gdc4g17iENw1j/r0=
-SHA256 (go_modules/github.com/google/go-cmp/@v/v0.5.9.zip) = MkUIdKx1bvXUf2uBkwUQUwS5gZBFoW4/EFKJt88lLFE=
-SHA256 (go_modules/github.com/google/renameio/v2/@v/v2.0.0.mod) = dqhi31Livy4fWN833CgRSk8HwOrf4uWGaUd1HY1/S0w=
-SHA256 (go_modules/github.com/google/renameio/v2/@v/v2.0.0.zip) = bis93O3Wu1/2abjilL78mjXAHt4w/QChg/xjfOfJ/Y4=
+SHA256 (go_modules/github.com/go-quicktest/qt/@v/v1.102.0.mod) = L5/jytzHuu7ucGhRCkrgJIa9OAeyIhE+hxHoGxSlrWU=
+SHA256 (go_modules/github.com/go-quicktest/qt/@v/v1.102.0.zip) = y81WfUgggfY3nYRManUTfyv5qJ3v0GBGZZlRygOkQTQ=
+SHA256 (go_modules/github.com/google/go-cmp/@v/v0.6.0.mod) = 58dmnUod1Ym6PgJLon9D8pPbYR/gdc4g17iENw1j/r0=
+SHA256 (go_modules/github.com/google/go-cmp/@v/v0.7.0.mod) = Mch0odKhjmKwVQ+CPOeldcjex/j9nU+hlZuxLX98DxQ=
+SHA256 (go_modules/github.com/google/go-cmp/@v/v0.7.0.zip) = ZKnOBG8sMg43g/ug0fShX4oY8LAJtnvyf3YwkZ2z9Tk=
+SHA256 (go_modules/github.com/google/renameio/v2/@v/v2.0.2.mod) = Jc2c5ds2RAvoazVyXTJRmcxWBjKcAq6R0GPTYnU6osA=
+SHA256 (go_modules/github.com/google/renameio/v2/@v/v2.0.2.zip) = TqH37JOMwiBoJ/Ep9A7Zomb03zAZj8/wjeB9pLcidss=
 SHA256 (go_modules/github.com/kr/pretty/@v/v0.3.1.mod) = hPPkCAOx69SoAuVXlLmZffCxc8SAnoVy/5BC7FWMobw=
 SHA256 (go_modules/github.com/kr/pretty/@v/v0.3.1.zip) = 7PWkrySCbDrXWM4GQQygji1Y5NlQU747nd4uFIUsDNw=
 SHA256 (go_modules/github.com/kr/text/@v/v0.2.0.mod) = 9jh5sgT2zolc6lNZS4FPWsCvCEhrM7HKecZXOE77xyY=
 SHA256 (go_modules/github.com/kr/text/@v/v0.2.0.zip) = No6zGPkaW2e+kFxHAyq1wxodSal4SLEBGg0KISKzC6Q=
 SHA256 (go_modules/github.com/pkg/diff/@v/v0.0.0-20210226163009-20ebb0f2a09e.mod) = XVuUVOLQIK8MdgNWjoaQS5m+/E1dZ8OoUF9hIVib0R8=
 SHA256 (go_modules/github.com/pkg/diff/@v/v0.0.0-20210226163009-20ebb0f2a09e.zip) = 81sj/dK5Ui3dRsxcAWG08HZcUUR11dTKKoasoxOIyL0=
+SHA256 (go_modules/github.com/rogpeppe/go-internal/@v/v1.12.0.mod) = e/5bA6stTZVNm3TqzbLMv2ve9jQgGwALl/mg0gIx3H4=
+SHA256 (go_modules/github.com/rogpeppe/go-internal/@v/v1.15.0.mod) = H/o/PB0q2dQFE69mEMIdUq4oOWKGeYVN9CEhL2op7Cc=
+SHA256 (go_modules/github.com/rogpeppe/go-internal/@v/v1.15.0.zip) = yE2VgYFhhAfmHw+DfAoiYBbMe7DebSbS2C/UduO/H3A=
 SHA256 (go_modules/github.com/rogpeppe/go-internal/@v/v1.9.0.mod) = kFmpfaKZDIGaCXZ6XpvYeEtFpXt6JeKQVbvRsKqhRP8=
-SHA256 (go_modules/github.com/rogpeppe/go-internal/@v/v1.9.0.zip) = fXd5CLnJGhaF8tcJVQ5rdHjhTpxGmd/9fwoVDjbbx+k=
-SHA256 (go_modules/golang.org/x/sync/@v/v0.1.0.mod) = Qh9hOWhtWJHz3FpWPQmVeA0yefZcrU0iXOpSaGeUFhw=
-SHA256 (go_modules/golang.org/x/sync/@v/v0.1.0.zip) = 9RC+xgCeGYgtGZU+cnMTfTTfhsZZSTRdcvEjolXC7NI=
-SHA256 (go_modules/golang.org/x/sys/@v/v0.3.0.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
-SHA256 (go_modules/golang.org/x/sys/@v/v0.3.0.zip) = y98Y476fIRypYmhKwZ1B1L4kBCiY7AzGZL+NHClV04Q=
-SHA256 (go_modules/golang.org/x/term/@v/v0.3.0.mod) = HlYfdBO3S00wyi1smHTM0Tu4yU2qDmwjd7rZ6c9tvlg=
-SHA256 (go_modules/golang.org/x/term/@v/v0.3.0.zip) = HNnVjqLYYpm4VphyOOY5KlDmiNBGnMs7SkaTSfJDlQc=
-SHA256 (go_modules/mvdan.cc/editorconfig/@v/v0.2.0.mod) = 9Zm959knns+MkZaERhjWNHJZ0j2u5YLTb+XzjOUfLIo=
-SHA256 (go_modules/mvdan.cc/editorconfig/@v/v0.2.0.zip) = qeQ61HQvJ/ey+yeCDTalFxxUD6Q/nsXZK5tm0KA7ctE=
-SHA256 (shfmt-v3.6.0.zip) = 9O0sWTiojonGHIm/fzUzgo8k/2LTdOdTohl++rmIJ5Y=
-SIZE (go_modules/github.com/creack/pty/@v/v1.1.18.mod) = 38
-SIZE (go_modules/github.com/creack/pty/@v/v1.1.18.zip) = 26597
+SHA256 (go_modules/github.com/yuin/goldmark/@v/v1.4.13.mod) = 7n/kRmIDoB06wZrcE0zeyZvG3nGZLCjz3Zp0SAv/BgM=
+SHA256 (go_modules/github.com/yuin/goldmark/@v/v1.4.13.zip) = u0GmArF0NF/aOSyK2D/MkyF8KFx2NplndjC+kP63peM=
+SHA256 (go_modules/golang.org/x/mod/@v/v0.21.0.mod) = 6+gZF0QRVCmfcyuKoJ8plSl1LfKYVcpNcCaUbRu+zYI=
+SHA256 (go_modules/golang.org/x/mod/@v/v0.29.0.mod) = JVIB9tCpC4BHCwKdVrR5GONXy9PkO0bHgKxWEqWmgAQ=
+SHA256 (go_modules/golang.org/x/mod/@v/v0.29.0.zip) = fHNmcscqpXG2XBEGu7KmTlh91CZaGPAFnJkPlcUReWI=
+SHA256 (go_modules/golang.org/x/net/@v/v0.46.0.mod) = emR2w8b4a8zBMPw6Vb6bXiULng3PVNjLndixT5LXVBE=
+SHA256 (go_modules/golang.org/x/net/@v/v0.46.0.zip) = qxdIsqUJqxf9ynoRAfrw4MGHnewO2Y4qcoMESTVtcNI=
+SHA256 (go_modules/golang.org/x/sync/@v/v0.17.0.mod) = 0zPFS3SviguOx0jTfFly0nudCIueRci/XDq1INIRMJA=
+SHA256 (go_modules/golang.org/x/sync/@v/v0.17.0.zip) = xdz9MuIj7cegA6UaFmqBdZpL7MuakeuFOFtNZ6HIIMY=
+SHA256 (go_modules/golang.org/x/sys/@v/v0.26.0.mod) = 0iezJfYh9OvijTm6dz6pm4cPOTt8CcNFksNlsW3VYN4=
+SHA256 (go_modules/golang.org/x/sys/@v/v0.37.0.mod) = 9BGBTYOpboZ4Gx3uQcEluVBNpUItujfMHWOwFq45z+I=
+SHA256 (go_modules/golang.org/x/sys/@v/v0.47.0.mod) = V/Q5PqGNVEahI2OzXCOmFthD+hZpxxIacKK8OpZ31mU=
+SHA256 (go_modules/golang.org/x/sys/@v/v0.47.0.zip) = zawBPdztAmKSbsKf/NpkXaOWcOYcflt2HlcraxgJuxs=
+SHA256 (go_modules/golang.org/x/telemetry/@v/v0.0.0-20251008203120-078029d740a8.mod) = CRcBZmyGkD4z/5OVCq72lOYEvvD15Egv9oag8V7RSPA=
+SHA256 (go_modules/golang.org/x/telemetry/@v/v0.0.0-20251008203120-078029d740a8.zip) = dljysAuB37X94CdwwuCW+gelxuO0XTn2zwrMzqaOL7M=
+SHA256 (go_modules/golang.org/x/term/@v/v0.45.0.mod) = YsP50aWuEiZKtI4siswIyfIBvalhneFxVE61cUt0rsU=
+SHA256 (go_modules/golang.org/x/term/@v/v0.45.0.zip) = s6OvaJcotDASrhshSCVxo1wDPFRemOAhYGvU/PH3kQg=
+SHA256 (go_modules/golang.org/x/tools/@v/v0.26.0.mod) = L/wCTGvxTRRqy+FH+5gQTfO8Zgz7Fqdd4chP5QyKNNA=
+SHA256 (go_modules/golang.org/x/tools/@v/v0.37.0.mod) = 29BOzSltTasnBnZq383S1SwnNFYT1jFoL4+kNxr1Su8=
+SHA256 (go_modules/golang.org/x/tools/@v/v0.38.0.mod) = qViO2A/jO7EIuMicDihsTlyC+UqYJWSWrqCy5T3+yRQ=
+SHA256 (go_modules/golang.org/x/tools/@v/v0.38.0.zip) = f1hwDaXDnY0ZWHIn0kIQEdTMoEB2wcE+u74Ui4UWd8Y=
+SHA256 (go_modules/mvdan.cc/editorconfig/@v/v0.3.0.mod) = 6hl29DmEYwNahO3PuerQWQ4aqP3tMefo/3oNyjEOIuY=
+SHA256 (go_modules/mvdan.cc/editorconfig/@v/v0.3.0.zip) = qlDEPnibAl8EvqlQ8QQxSUbS+qUDVEK/X3QV65eGD+E=
+SHA256 (shfmt-v3.14.1.zip) = dEtRiyjbSyVviJVLf1Rh/i0oIvb1gYsTeIe/lxMXXiU=
+SIZE (go_modules/github.com/creack/pty/@v/v1.1.24.mod) = 38
+SIZE (go_modules/github.com/creack/pty/@v/v1.1.24.zip) = 40880
 SIZE (go_modules/github.com/creack/pty/@v/v1.1.9.mod) = 39
-SIZE (go_modules/github.com/frankban/quicktest/@v/v1.14.4.mod) = 121
-SIZE (go_modules/github.com/frankban/quicktest/@v/v1.14.4.zip) = 55637
-SIZE (go_modules/github.com/google/go-cmp/@v/v0.5.9.mod) = 41
-SIZE (go_modules/github.com/google/go-cmp/@v/v0.5.9.zip) = 130220
-SIZE (go_modules/github.com/google/renameio/v2/@v/v2.0.0.mod) = 46
-SIZE (go_modules/github.com/google/renameio/v2/@v/v2.0.0.zip) = 22986
+SIZE (go_modules/github.com/go-quicktest/qt/@v/v1.102.0.mod) = 504
+SIZE (go_modules/github.com/go-quicktest/qt/@v/v1.102.0.zip) = 35901
+SIZE (go_modules/github.com/google/go-cmp/@v/v0.6.0.mod) = 41
+SIZE (go_modules/github.com/google/go-cmp/@v/v0.7.0.mod) = 41
+SIZE (go_modules/github.com/google/go-cmp/@v/v0.7.0.zip) = 130179
+SIZE (go_modules/github.com/google/renameio/v2/@v/v2.0.2.mod) = 46
+SIZE (go_modules/github.com/google/renameio/v2/@v/v2.0.2.zip) = 24151
 SIZE (go_modules/github.com/kr/pretty/@v/v0.3.1.mod) = 117
 SIZE (go_modules/github.com/kr/pretty/@v/v0.3.1.zip) = 13388
 SIZE (go_modules/github.com/kr/text/@v/v0.2.0.mod) = 68
 SIZE (go_modules/github.com/kr/text/@v/v0.2.0.zip) = 12607
 SIZE (go_modules/github.com/pkg/diff/@v/v0.0.0-20210226163009-20ebb0f2a09e.mod) = 36
 SIZE (go_modules/github.com/pkg/diff/@v/v0.0.0-20210226163009-20ebb0f2a09e.zip) = 219375
+SIZE (go_modules/github.com/rogpeppe/go-internal/@v/v1.12.0.mod) = 167
+SIZE (go_modules/github.com/rogpeppe/go-internal/@v/v1.15.0.mod) = 141
+SIZE (go_modules/github.com/rogpeppe/go-internal/@v/v1.15.0.zip) = 196760
 SIZE (go_modules/github.com/rogpeppe/go-internal/@v/v1.9.0.mod) = 112
-SIZE (go_modules/github.com/rogpeppe/go-internal/@v/v1.9.0.zip) = 210263
-SIZE (go_modules/golang.org/x/sync/@v/v0.1.0.mod) = 25
-SIZE (go_modules/golang.org/x/sync/@v/v0.1.0.zip) = 27781
-SIZE (go_modules/golang.org/x/sys/@v/v0.3.0.mod) = 33
-SIZE (go_modules/golang.org/x/sys/@v/v0.3.0.zip) = 1862151
-SIZE (go_modules/golang.org/x/term/@v/v0.3.0.mod) = 67
-SIZE (go_modules/golang.org/x/term/@v/v0.3.0.zip) = 19924
-SIZE (go_modules/mvdan.cc/editorconfig/@v/v0.2.0.mod) = 38
-SIZE (go_modules/mvdan.cc/editorconfig/@v/v0.2.0.zip) = 12867
-SIZE (shfmt-v3.6.0.zip) = 244864
+SIZE (go_modules/github.com/yuin/goldmark/@v/v1.4.13.mod) = 41
+SIZE (go_modules/github.com/yuin/goldmark/@v/v1.4.13.zip) = 229017
+SIZE (go_modules/golang.org/x/mod/@v/v0.21.0.mod) = 86
+SIZE (go_modules/golang.org/x/mod/@v/v0.29.0.mod) = 86
+SIZE (go_modules/golang.org/x/mod/@v/v0.29.0.zip) = 172650
+SIZE (go_modules/golang.org/x/net/@v/v0.46.0.mod) = 157
+SIZE (go_modules/golang.org/x/net/@v/v0.46.0.zip) = 1923996
+SIZE (go_modules/golang.org/x/sync/@v/v0.17.0.mod) = 36
+SIZE (go_modules/golang.org/x/sync/@v/v0.17.0.zip) = 25707
+SIZE (go_modules/golang.org/x/sys/@v/v0.26.0.mod) = 33
+SIZE (go_modules/golang.org/x/sys/@v/v0.37.0.mod) = 35
+SIZE (go_modules/golang.org/x/sys/@v/v0.47.0.mod) = 35
+SIZE (go_modules/golang.org/x/sys/@v/v0.47.0.zip) = 2022425
+SIZE (go_modules/golang.org/x/telemetry/@v/v0.0.0-20251008203120-078029d740a8.mod) = 133
+SIZE (go_modules/golang.org/x/telemetry/@v/v0.0.0-20251008203120-078029d740a8.zip) = 1017205
+SIZE (go_modules/golang.org/x/term/@v/v0.45.0.mod) = 70
+SIZE (go_modules/golang.org/x/term/@v/v0.45.0.zip) = 21694
+SIZE (go_modules/golang.org/x/tools/@v/v0.26.0.mod) = 341
+SIZE (go_modules/golang.org/x/tools/@v/v0.37.0.mod) = 301
+SIZE (go_modules/golang.org/x/tools/@v/v0.38.0.mod) = 301
+SIZE (go_modules/golang.org/x/tools/@v/v0.38.0.zip) = 2822153
+SIZE (go_modules/mvdan.cc/editorconfig/@v/v0.3.0.mod) = 38
+SIZE (go_modules/mvdan.cc/editorconfig/@v/v0.3.0.zip) = 13853
+SIZE (shfmt-v3.14.1.zip) = 347003
Index: devel/shfmt/modules.inc
===================================================================
RCS file: /cvs/ports/devel/shfmt/modules.inc,v
diff -u -p -u -p -r1.5 modules.inc
--- devel/shfmt/modules.inc	18 Jun 2023 10:14:22 -0000	1.5
+++ devel/shfmt/modules.inc	19 Sep 2026 01:27:59 -0000
@@ -1,17 +1,30 @@
 MODGO_MODULES =	\
-	github.com/creack/pty		 v1.1.18 \
-	github.com/frankban/quicktest	 v1.14.4 \
-	github.com/google/go-cmp	 v0.5.9 \
-	github.com/google/renameio/v2	 v2.0.0 \
+	github.com/creack/pty		 v1.1.24 \
+	github.com/go-quicktest/qt	 v1.102.0 \
+	github.com/google/go-cmp	 v0.7.0 \
+	github.com/google/renameio/v2	 v2.0.2 \
 	github.com/kr/pretty		 v0.3.1 \
 	github.com/kr/text		 v0.2.0 \
 	github.com/pkg/diff		 v0.0.0-20210226163009-20ebb0f2a09e \
-	github.com/rogpeppe/go-internal	 v1.9.0 \
-	golang.org/x/sync		 v0.1.0 \
-	golang.org/x/sys		 v0.3.0 \
-	golang.org/x/term		 v0.3.0 \
-	mvdan.cc/editorconfig		 v0.2.0
+	github.com/rogpeppe/go-internal	 v1.15.0 \
+	github.com/yuin/goldmark	 v1.4.13 \
+	golang.org/x/mod		 v0.29.0 \
+	golang.org/x/net		 v0.46.0 \
+	golang.org/x/sync		 v0.17.0 \
+	golang.org/x/sys		 v0.47.0 \
+	golang.org/x/telemetry		 v0.0.0-20251008203120-078029d740a8 \
+	golang.org/x/term		 v0.45.0 \
+	golang.org/x/tools		 v0.38.0 \
+	mvdan.cc/editorconfig		 v0.3.0
 
 MODGO_MODFILES =	\
-	github.com/creack/pty	 v1.1.9
+	github.com/creack/pty		 v1.1.9 \
+	github.com/google/go-cmp	 v0.6.0 \
+	github.com/rogpeppe/go-internal	 v1.12.0 \
+	github.com/rogpeppe/go-internal	 v1.9.0 \
+	golang.org/x/mod		 v0.21.0 \
+	golang.org/x/sys		 v0.26.0 \
+	golang.org/x/sys		 v0.37.0 \
+	golang.org/x/tools		 v0.26.0 \
+	golang.org/x/tools		 v0.37.0