gnu: go: Add CPU tuning targets.

* gnu/packages/golang.scm (go-1.17)[properties]: New field.
(%go-1.17-arm-micro-architectures,
%go-1.17-powerpc64le-micro-architectures,
%go-1.18-x86_64-micro-architectures): New variables.
(go-1.18)[properties]: New field.
This commit is contained in:
Efraim Flashner 2023-06-19 16:39:12 +03:00
parent 1701b1244d
commit b90310cf85
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -628,6 +628,13 @@ (define-public go-1.16
`(("go-fix-script-tests.patch" ,(search-patch "go-fix-script-tests.patch"))
,@(package-native-inputs go-1.14)))))
;; https://github.com/golang/go/wiki/MinimumRequirements#microarchitecture-support
(define %go-1.17-arm-micro-architectures
(list "armv5" "armv6" "armv7"))
(define %go-1.17-powerpc64le-micro-architectures
(list "power8" "power9"))
(define-public go-1.17
(package
(inherit go-1.16)
@ -844,7 +851,14 @@ (define-public go-1.17
"README.md" "SECURITY.md"))))))))
(inputs (if (not (or (target-arm?) (target-ppc64le?)))
(alist-delete "gcc:lib" (package-inputs go-1.16))
(package-inputs go-1.16)))))
(package-inputs go-1.16)))
(properties
`((compiler-cpu-architectures
("armhf" ,@%go-1.17-arm-micro-architectures)
("powerpc64le" ,@%go-1.17-powerpc64le-micro-architectures))))))
(define %go-1.18-x86_64-micro-architectures
(list "x86_64-v1" "x86_64-v2" "x86_64-v3" "x86_64-v4"))
(define-public go-1.18
(package
@ -887,7 +901,12 @@ (define-public go-1.18
"ldflags, err := setextld(ldflags, compiler)\n"
"ldflags = append(ldflags, \"-r\")\n"
"ldflags = append(ldflags, \"" gcclib "\")\n")))))))
'())))))))
'())))))
(properties
`((compiler-cpu-architectures
("armhf" ,@%go-1.17-arm-micro-architectures)
("powerpc64le" ,@%go-1.17-powerpc64le-micro-architectures)
("x86_64" ,@%go-1.18-x86_64-micro-architectures))))))
(define-public go-1.19
(package