From d637fc854b9847426778a509e0ae96b109877ccb Mon Sep 17 00:00:00 2001 From: Michal Vasilek Date: Thu, 9 Feb 2023 20:31:48 +0100 Subject: [PATCH] k3d: update to 5.4.7, fix build with go 1.20 --- srcpkgs/k3d/patches/go1.20.patch | 143 +++++++++++++++++++++++++++++++ srcpkgs/k3d/template | 4 +- 2 files changed, 145 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/k3d/patches/go1.20.patch diff --git a/srcpkgs/k3d/patches/go1.20.patch b/srcpkgs/k3d/patches/go1.20.patch new file mode 100644 index 000000000000..8f55e1134bda --- /dev/null +++ b/srcpkgs/k3d/patches/go1.20.patch @@ -0,0 +1,143 @@ +From e864603b2c60d15e6b4822d86abdbb6dcc9c275a Mon Sep 17 00:00:00 2001 +From: Michal Vasilek +Date: Thu, 9 Feb 2023 20:20:59 +0100 +Subject: [PATCH] Support go 1.20 + +go4.org/unsafe/assume-no-moving-gc has to be updated to a version that +explicitly defines go 1.20 as safe for this program to build with go 1.20 +--- + docgen/go.mod | 2 +- + docgen/go.sum | 3 ++- + go.mod | 2 +- + go.sum | 3 ++- + .../assume-no-moving-gc/assume-no-moving-gc.go | 14 +++++++++++++- + .../go4.org/unsafe/assume-no-moving-gc/untested.go | 6 +++--- + vendor/modules.txt | 2 +- + 7 files changed, 23 insertions(+), 9 deletions(-) + +diff --git a/docgen/go.mod b/docgen/go.mod +index 3670981c..5a3b53c4 100644 +--- a/docgen/go.mod ++++ b/docgen/go.mod +@@ -78,7 +78,7 @@ require ( + github.com/xeipuuv/gojsonschema v1.2.0 // indirect + go.opencensus.io v0.23.0 // indirect + go4.org/intern v0.0.0-20211027215823-ae77deb06f29 // indirect +- go4.org/unsafe/assume-no-moving-gc v0.0.0-20211027215541-db492cf91b37 // indirect ++ go4.org/unsafe/assume-no-moving-gc v0.0.0-20230209150437-ee73d164e760 // indirect + golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 // indirect + golang.org/x/net v0.0.0-20220822230855-b0a4917ee28c // indirect + golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 // indirect +diff --git a/docgen/go.sum b/docgen/go.sum +index 485f0d1b..92f949fb 100644 +--- a/docgen/go.sum ++++ b/docgen/go.sum +@@ -864,8 +864,9 @@ go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/ + go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= + go4.org/intern v0.0.0-20211027215823-ae77deb06f29 h1:UXLjNohABv4S58tHmeuIZDO6e3mHpW2Dx33gaNt03LE= + go4.org/intern v0.0.0-20211027215823-ae77deb06f29/go.mod h1:cS2ma+47FKrLPdXFpr7CuxiTW3eyJbWew4qx0qtQWDA= +-go4.org/unsafe/assume-no-moving-gc v0.0.0-20211027215541-db492cf91b37 h1:Tx9kY6yUkLge/pFG7IEMwDZy6CS2ajFc9TvQdPCW0uA= + go4.org/unsafe/assume-no-moving-gc v0.0.0-20211027215541-db492cf91b37/go.mod h1:FftLjUGFEDu5k8lt0ddY+HcrH/qU/0qk+H8j9/nTl3E= ++go4.org/unsafe/assume-no-moving-gc v0.0.0-20230209150437-ee73d164e760 h1:gH0IO5GDYAcawu+ThKrvAofVTgJjYaoOZ5rrC4pS2Xw= ++go4.org/unsafe/assume-no-moving-gc v0.0.0-20230209150437-ee73d164e760/go.mod h1:FftLjUGFEDu5k8lt0ddY+HcrH/qU/0qk+H8j9/nTl3E= + golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= + golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= + golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +diff --git a/go.mod b/go.mod +index 307dbd17..c70e3ae0 100644 +--- a/go.mod ++++ b/go.mod +@@ -88,7 +88,7 @@ require ( + github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect + go.opencensus.io v0.24.0 // indirect + go4.org/intern v0.0.0-20220617035311-6925f38cc365 // indirect +- go4.org/unsafe/assume-no-moving-gc v0.0.0-20220617031537-928513b29760 // indirect ++ go4.org/unsafe/assume-no-moving-gc v0.0.0-20230209150437-ee73d164e760 // indirect + golang.org/x/crypto v0.5.0 // indirect + golang.org/x/mod v0.7.0 // indirect + golang.org/x/net v0.5.0 // indirect +diff --git a/go.sum b/go.sum +index 12dc779f..43a787b6 100644 +--- a/go.sum ++++ b/go.sum +@@ -857,8 +857,9 @@ go4.org/intern v0.0.0-20211027215823-ae77deb06f29/go.mod h1:cS2ma+47FKrLPdXFpr7C + go4.org/intern v0.0.0-20220617035311-6925f38cc365 h1:t9hFvR102YlOqU0fQn1wgwhNvSbHGBbbJxX9JKfU3l0= + go4.org/intern v0.0.0-20220617035311-6925f38cc365/go.mod h1:WXRv3p7T6gzt0CcJm43AAKdKVZmcQbwwC7EwquU5BZU= + go4.org/unsafe/assume-no-moving-gc v0.0.0-20211027215541-db492cf91b37/go.mod h1:FftLjUGFEDu5k8lt0ddY+HcrH/qU/0qk+H8j9/nTl3E= +-go4.org/unsafe/assume-no-moving-gc v0.0.0-20220617031537-928513b29760 h1:FyBZqvoA/jbNzuAWLQE2kG820zMAkcilx6BMjGbL/E4= + go4.org/unsafe/assume-no-moving-gc v0.0.0-20220617031537-928513b29760/go.mod h1:FftLjUGFEDu5k8lt0ddY+HcrH/qU/0qk+H8j9/nTl3E= ++go4.org/unsafe/assume-no-moving-gc v0.0.0-20230209150437-ee73d164e760 h1:gH0IO5GDYAcawu+ThKrvAofVTgJjYaoOZ5rrC4pS2Xw= ++go4.org/unsafe/assume-no-moving-gc v0.0.0-20230209150437-ee73d164e760/go.mod h1:FftLjUGFEDu5k8lt0ddY+HcrH/qU/0qk+H8j9/nTl3E= + golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= + golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= + golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +diff --git a/vendor/go4.org/unsafe/assume-no-moving-gc/assume-no-moving-gc.go b/vendor/go4.org/unsafe/assume-no-moving-gc/assume-no-moving-gc.go +index 14a41e73..fb585807 100644 +--- a/vendor/go4.org/unsafe/assume-no-moving-gc/assume-no-moving-gc.go ++++ b/vendor/go4.org/unsafe/assume-no-moving-gc/assume-no-moving-gc.go +@@ -4,7 +4,11 @@ + + // Package go4.org/unsafe/assume-no-moving-gc exists so you can depend + // on it from unsafe code that wants to declare that it assumes that +-// the Go runtime does not using a moving garbage colllector. ++// the Go runtime does not using a moving garbage colllector. Specifically, ++// it asserts that the caller is playing stupid games with the addresses ++// of heap-allocated values. It says nothing about values that Go's escape ++// analysis keeps on the stack. Ensuring things aren't stack-allocated ++// is the caller's responsibility. + // + // This package is then updated for new Go versions when that + // is still the case and explodes at runtime with a failure +@@ -16,6 +20,14 @@ + // + // There is no API. + // ++// It is intentional that this package will break code that's not updated ++// regularly to double check its assumptions about the world and new Go ++// versions. If you play stupid games with unsafe pointers, the stupid prize ++// is this maintenance cost. (The alternative would be memory corruption if ++// some unmaintained, unsafe library were built with a future version of Go ++// that worked very differently than when the unsafe library was built.) ++// Ideally you shouldn't write unsafe code, though. ++// + // The GitHub repo is at https://github.com/go4org/unsafe-assume-no-moving-gc + package assume_no_moving_gc + +diff --git a/vendor/go4.org/unsafe/assume-no-moving-gc/untested.go b/vendor/go4.org/unsafe/assume-no-moving-gc/untested.go +index da4d943f..dbb16904 100644 +--- a/vendor/go4.org/unsafe/assume-no-moving-gc/untested.go ++++ b/vendor/go4.org/unsafe/assume-no-moving-gc/untested.go +@@ -2,8 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-//go:build go1.20 +-// +build go1.20 ++//go:build go1.21 ++// +build go1.21 + + package assume_no_moving_gc + +@@ -22,5 +22,5 @@ func init() { + if os.Getenv(env) == v { + return + } +- panic("Something in this program imports go4.org/unsafe/assume-no-moving-gc to declare that it assumes a non-moving garbage collector, but your version of go4.org/unsafe/assume-no-moving-gc hasn't been updated to assert that it's safe against the " + v + " runtime. If you want to risk it, run with environment variable " + env + "=" + v + " set. Notably, if " + v + " adds a moving garbage collector, this program is unsafe to use.") ++ panic("Something in this program imports go4.org/unsafe/assume-no-moving-gc to declare that it assumes a non-moving garbage collector, but your version of go4.org/unsafe/assume-no-moving-gc hasn't been updated to assert that it's safe against the " + v + " runtime. If you want to risk it, run with environment variable " + env + "=\"" + v + "\" set. Notably, if " + v + " adds a moving garbage collector, this program is unsafe to use.") + } +diff --git a/vendor/modules.txt b/vendor/modules.txt +index 7bebd41b..b96a120d 100644 +--- a/vendor/modules.txt ++++ b/vendor/modules.txt +@@ -360,7 +360,7 @@ go.opencensus.io/trace/tracestate + # go4.org/intern v0.0.0-20220617035311-6925f38cc365 + ## explicit; go 1.13 + go4.org/intern +-# go4.org/unsafe/assume-no-moving-gc v0.0.0-20220617031537-928513b29760 ++# go4.org/unsafe/assume-no-moving-gc v0.0.0-20230209150437-ee73d164e760 + ## explicit; go 1.11 + go4.org/unsafe/assume-no-moving-gc + # golang.org/x/crypto v0.5.0 +-- +2.39.1 + diff --git a/srcpkgs/k3d/template b/srcpkgs/k3d/template index d9514a819260..13682c292445 100644 --- a/srcpkgs/k3d/template +++ b/srcpkgs/k3d/template @@ -1,6 +1,6 @@ # Template file for 'k3d' pkgname=k3d -version=5.4.6 +version=5.4.7 revision=1 build_style=go build_helper=qemu @@ -13,7 +13,7 @@ license="MIT" homepage="https://k3d.io/" changelog="https://raw.githubusercontent.com/k3d-io/k3d/main/CHANGELOG.md" distfiles="https://github.com/k3d-io/k3d/archive/v${version}.tar.gz" -checksum=da23261c03715e351c1ff4cf0d4c905020929afe79005891c275fb6f8e180f1d +checksum=be5573bf155dc0dab12ada52653b2b210c7d088e7e2d4eb1b122256eca631402 _completions="bash zsh fish" post_build() {