Download raw body.
[UPDATE] devel/shfmt 3.6.0 -> 3.14.1
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
[UPDATE] devel/shfmt 3.6.0 -> 3.14.1