Sharlatan Hellseher 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 > > - > [PATCH 1/3] build-system/go: Add subdir parameter to go-version->git-ref. > > - > [PATCH] gnu: go-1.23: Update to 1.23.1. > > - > [PATCH] gnu: go-1.20: Build with gccgo-12 on some systems. > > - > [PATCH] build/go: Replace symlinks with a copy of the file. > > - > [PATCH 0/5] Add some Golang libraries from the "awesome-go" list > > - > [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 > > - <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 > > > - <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 > * Brennan Vincent > * Christina O'Donnell > * Efraim Flashner > * Sharlatan Hellseher > * Troy Figiel > > ---[ 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