Subject: Re: Request for merging "go-team" branch

From: "Brennan Vincent" <[email-masked]>
Date: Sun, 29 Sep 2024 14:47:31 -0400

Hi Sharlatan,

Could we please Go 1.22 to the latest minor version before merging?
Patch is attached.

>From 8d9d65dc7c8dab7c1328b0c2f5d8321c1b8e976e Mon Sep 17 00:00:00 2001
Message-ID: <[email-masked]>
From: Brennan Vincent <[email-masked]>
Date: Sun, 29 Sep 2024 14:41:05 -0400
Subject: [PATCH] gnu: go-1.23: Update to 1.23.1.

* gnu/packages/golang.scm (go-1.23): Update to 1.23.1.

Change-Id: I67fbb1c630a08cfb29f2230a600bf3a24e2c8486
---
 gnu/packages/golang.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 95fa3b8420..4d37dc9bab 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -951,7 +951,7 @@ (define-public go-1.22
   (package
     (inherit go-1.21)
     (name "go")
-    (version "1.22.6")
+    (version "1.22.7")
     (source
      (origin
        (method git-fetch)
@@ -960,7 +960,7 @@ (define-public go-1.22
              (commit (string-append "go" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1rjplx7wa6p2c19grx6hhkhn16mmbib5cwmhz9k8ywymlbmhhsyd"))))
+        (base32 "0m1idhhifhpjf6n56pca4wg6cyripdzmyl0jswdiy0kiqvs3whqb"))))
     (arguments
      (substitute-keyword-arguments (package-arguments go-1.21)
        ((#:phases phases)

base-commit: 3ac69c1a757430d6dfdd37eb948ba1d6967967cc
prerequisite-patch-id: 190cf537d5350c96a329fe3baf0742cf187308bf
prerequisite-patch-id: 5450d7b82e5c1160c9663f21bad4644b51f3ca69
prerequisite-patch-id: c8abc68123e4f2c8fcfa1f2552de097f310b149c
prerequisite-patch-id: 47c71d891341ebe65d323b0ecee5e83e99aeb160
prerequisite-patch-id: e7892ac4a66728ede854ff4cd181795012780236
prerequisite-patch-id: 876cfbf9ae3cfda17809f8deb5f86aba523b0015
prerequisite-patch-id: ade24719ac6b2d1f6aab3b6559cdcc76986455cc
prerequisite-patch-id: cc25e930146f5169b2a455cafe00a2098b881cca
prerequisite-patch-id: de4804fdcb797484990fcb9028884b74d9e81906
prerequisite-patch-id: e3a8892e61c618e1d3920cf988d88554092dd8a8
prerequisite-patch-id: 0cbf33cadd71520efa7cf74cdf2a652a1d480276
prerequisite-patch-id: 82c2dd4e1bd68c72a187b05b7c6364abfd626cdf
prerequisite-patch-id: 149f45f15824dfa9984c8294b8baebef349fa58d
prerequisite-patch-id: 48ce03bfba28768acd87c048d966cd9d1050260f
prerequisite-patch-id: f3fe01a9a135cfa2751df764a052e408e3f45cc5
prerequisite-patch-id: dd095809ae04cdf1ccdff4189501aefc53cba4d3
-- 
2.46.0

Sharlatan Hellseher <[email-masked]> writes:

> Hi Guix!
>
> After a few weeks of working on go-team it's ready for the final review
> and merge to master.
>
> My target was to update and move packages from (gnu packages golang) to
> logical submodules and prepare bare minimal refreshed amount to complete
> Prometheus packaging.
>
> * Covered issues
>
> - <https://issues.guix.gnu.org/69827>
>   [PATCH 1/3] build-system/go: Add subdir parameter to go-version->git-ref.
>
> - <https://issues.guix.gnu.org/73171>
>   [PATCH] gnu: go-1.23: Update to 1.23.1.
>
> - <https://issues.guix.gnu.org/73176>
>   [PATCH] gnu: go-1.20: Build with gccgo-12 on some systems.
>
> - <https://issues.guix.gnu.org/73299>
>   [PATCH] build/go: Replace symlinks with a copy of the file.
>
> - <https://issues.guix.gnu.org/73184>
> [PATCH 0/5] Add some Golang libraries from the "awesome-go" list
>
> - <https://issues.guix.gnu.org/69376>
> [PATCH go-team] build-system/go: Allow providing additional test flags.
>
> #69827 may cover/resolve few more:
> - <2021-12-07> guix import go error https://issues.guix.gnu.org/52362
>   by Stephen Webber <[email-masked]>
>
> - <2023-04-21> Go importer doesn't know MODULE/vX.Y version tags
>   https://issues.guix.gnu.org/63001 by Timo Wilken  [email-masked]
>
> - <2023-05-22> [PATCH 0/2] Fix annoyance with "guix import go"
>   https://issues.guix.gnu.org/63647 by Simon Tournier
>   <[email-masked]>
>
> - <2023-06-12> [PATH] fix a bug on importing go packages.
>   https://issues.guix.gnu.org/64035,
>   https://issues.guix.gnu.org/64036 by Elbek
>
> * Findings and potential refresh blockers
>
> During refresh I've faced with go packages which still include vendor
> directory and due to a large packaging efforts requiring to unbundle
> them all might need some efforts distribution among volunteers.
>
> Me and Artyom unbundling Kubo in our leisure time but the final step
> (boxo) requires at least 300+ new packages.
>
> - bitmask                       : 0.21.11->0.24.8 requires go-github-com-xtaci-kcp-go
> - chezmoi                       : 1.8.10->2.52.2, 34+ new packages
> - go-github-com-google-cadvisor : 0.0.0-0.2ed7198->0.50.0 216+ new packages
> - go-github-com-ipfs-boxo       : to unbundle from Kubo, 218+ new packages
> - go-github-com-spf13-afero     : 1.2.2->1.11.0, 194+ new packages
> - go-github-com-spf13-viper     : 1.7.0->1.19.0, 225+ new packages
> - go-github-com-xtaci-kcp-go    : to update bitmask, 200+ new packages
> - rclone                        : 1.52.3->1.68.0, 348+ new packages
> - restic                        : 0.9.6->0.17.1, 221+ new packages
>
> Some of them may intersect.
>
> * Branch stats
>
> --8<---------------cut here---------------start------------->8---
> ---[ Commits stats ]---
> * from-to: caa9b4cbcb..ad39aa19
> * count: 169
>
> ---[ Packages stats ]---
> * added: 44
> * fixed: 25
> * adjusted: 2
> * realocated: 21
> * removed: 7
> * updated: 44
>
> ---[ Contributors ]---
> * Artyom V. Poptsov <[email-masked]>
> * Brennan Vincent <[email-masked]>
> * Christina O'Donnell <[email-masked]>
> * Efraim Flashner <[email-masked]>
> * Sharlatan Hellseher <[email-masked]>
> * Troy Figiel <[email-masked]>
>
> ---[ Refresh inpact ]---
> Building the following 764 packages would ensure 1686 dependent packages are rebuilt
> --8<---------------cut here---------------end--------------->8---
>
> * Script
>
> --8<---------------cut here---------------start------------->8---
> #!/usr/bin/env bash
>
> REQUIRE=(
>     git
>     grep
>     awk
> )
>
> get_refreshed_pkg()
> {
>     local start="$1"
>     local end="$2"
>     local pkgs=$(mktemp -t packages.XXXXXX)
>
>     git log "$start".."$end" --oneline |
>         awk -F: '/gnu:.*:.*\./{print $2}' |
>         sed -e 's/.*\/.*//' |
>         sort -u |
>         while read -r pkg
>         do
>             if ./pre-inst-env guix show "$pkg" &>/dev/null
>             then
>                 printf "%s " "$pkg" >> "$pkgs"
>             fi
>         done
>
>     ./pre-inst-env guix refresh --list-dependent $(cat "$pkgs") |
>         awk -F: '{print $1}'
>
>     rm "$pkgs"
> }
>
> main()
> {
>    local start="$1"
>    local end="$2"
>
>    printf -- "---[ Commits stats ]---\n"
>    printf "* from-to: %s..%s\n" "$start" "$end"
>    printf "* count: %s\n" $(git log "$start".."$end" --oneline | wc -l)
>
>    printf -- "\n---[ Packages stats ]---\n"
>    printf "* added: %s\n" $(git log "$start".."$end" --oneline | grep "gnu: Add" -c)
>    printf "* fixed: %s\n" $(git log "$start".."$end" --oneline | grep "gnu:.*Fix" -c)
>    printf "* adjusted: %s\n" $(git log "$start".."$end" --oneline | grep "gnu:.*Adjust\|gnu:.*Improve" -c)
>    printf "* realocated: %s\n" $(git log "$start".."$end" --oneline | grep "gnu:.*Move to" -c)
>    printf "* removed: %s\n" $(git log "$start".."$end" --oneline | grep "gnu: Remove" -c)
>    printf "* updated: %s\n" $(git log "$start".."$end" --oneline | grep "gnu:.*Update" -c)
>
>    printf "\n---[ Contributors ]---\n"
>    git log "$start".."$end" --graph --pretty=format:'%an <%ae>' | sort -u
>
>    printf -- "\n---[ Refresh inpact ]---\n"
>    get_refreshed_pkg "$start" "$end"
> }
>
> main "$@"
> --8<---------------cut here---------------end--------------->8---
>
> --
> Oleg