(define-module (rodion packages go) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) #:use-module (guix gexp) #:use-module (guix memoization) #:use-module ((guix build utils) #:select (alist-replace)) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) #:use-module (guix gexp) #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages base) #:use-module ((gnu packages bootstrap) #:select (glibc-dynamic-linker)) #:use-module (gnu packages check) #:use-module (gnu packages fonts) #:use-module (gnu packages gcc) #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) #:use-module (gnu packages golang-build) #:use-module (gnu packages golang-check) #:use-module (gnu packages golang-compression) #:use-module (gnu packages golang-crypto) #:use-module (gnu packages golang-web) #:use-module (gnu packages golang-xyz) #:use-module (gnu packages lua) #:use-module (gnu packages mail) #:use-module (gnu packages mp3) #:use-module (gnu packages password-utils) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages ruby) #:use-module (gnu packages syncthing) #:use-module (gnu packages terminals) #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages golang) #:use-module (ice-9 match) #:use-module (srfi srfi-1)) (define-public go-1.22 (package (inherit go-1.21) (name "go") (version "1.22.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/golang/go") (commit (string-append "go" version)))) (file-name (git-file-name name version)) (sha256 (base32 "01zz8n5c32vympr2l9jdg5pzn63d3z28p0d4q6wmd0pr2jd3l3wn")))) (arguments (substitute-keyword-arguments (package-arguments go-1.21) ((#:phases phases) #~(modify-phases #$phases (delete 'unpatch-perl-shebangs))))) (native-inputs ;; Go 1.22 requires Go 1.20 or later as the bootstrap toolchain. (alist-replace "go" (list go-1.21) (package-native-inputs go-1.21))))) (define-public go-std-1.22 (make-go-std go-1.22))