[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Request for merging "go-team" branch
From: |
Brennan Vincent |
Subject: |
Re: Request for merging "go-team" branch |
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.
0001-gnu-go-1.23-Update-to-1.23.1.patch
Description: go1-22-7.patch
Sharlatan Hellseher <sharlatanus@gmail.com> 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 <montokapro@gmail.com>
>
> - <2023-04-21> Go importer doesn't know MODULE/vX.Y version tags
> https://issues.guix.gnu.org/63001 by Timo Wilken guix@twilken.net
>
> - <2023-05-22> [PATCH 0/2] Fix annoyance with "guix import go"
> https://issues.guix.gnu.org/63647 by Simon Tournier
> <zimon.toutoune@gmail.com>
>
> - <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 <poptsov.artyom@gmail.com>
> * Brennan Vincent <brennan@umanwizard.com>
> * Christina O'Donnell <cdo@mutix.org>
> * Efraim Flashner <efraim@flashner.co.il>
> * Sharlatan Hellseher <sharlatanus@gmail.com>
> * Troy Figiel <troy@troyfigiel.com>
>
> ---[ 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