talos-extensions/nvidia-gpu/nvidia-container-toolkit/nvidia-container-cli/lts/patches/0001-Fix-building-with-Go-1.24.patch
Dmitry Sharshakov 8591d3c8ba
fix: update NVIDIA runtime and make its CLI build with current Go
Go 1.24 update in Wolfi made this not build due to deprecation of older language features apparently.

Before the fix is upstreamed keep it in-tree, remove when it lands in a tagged release.

Signed-off-by: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
2025-02-13 10:49:02 +01:00

50 lines
1.6 KiB
Diff

From 1c680195fdc85948d635286b72a6ad9f823b5987 Mon Sep 17 00:00:00 2001
From: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
Date: Thu, 13 Feb 2025 10:18:59 +0100
Subject: [PATCH] Fix building with Go 1.24
Go 1.24 does not allow defining methods on C types anymore, so make convert a function, not a method.
Fixes the following error when building with Go 1.24:
`./main.go:35:10: cannot define new methods on non-local type CDeviceRule`
Signed-off-by: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
---
src/nvcgo/main.go | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/nvcgo/main.go b/src/nvcgo/main.go
index 1523a06d..ed43be8e 100644
--- a/src/nvcgo/main.go
+++ b/src/nvcgo/main.go
@@ -32,7 +32,7 @@ func main() {}
type CDeviceRule = C.struct_device_rule
// Convert a C-based DeviceRule to a Go-based cgroup.DeviceRule
-func (r *CDeviceRule) convert() cgroup.DeviceRule {
+func convert(r *CDeviceRule) cgroup.DeviceRule {
return cgroup.DeviceRule{
Allow: bool(r.allow),
Type: C.GoString(r._type),
@@ -67,7 +67,7 @@ func GetDeviceCGroupMountPath(version C.int, procRootPath *C.char, pid C.pid_t,
return -1
}
*cgroupMountPath = C.CString(p)
- *cgroupRootPrefix= C.CString(r)
+ *cgroupRootPrefix = C.CString(r)
return 0
}
@@ -100,7 +100,7 @@ func AddDeviceRules(version C.int, cgroupPath *C.char, crules []CDeviceRule, rer
rules := make([]cgroup.DeviceRule, len(crules))
for i, cr := range crules {
- rules[i] = cr.convert()
+ rules[i] = convert(&cr)
}
err = api.AddDeviceRules(C.GoString(cgroupPath), rules)
--
2.48.1