Request for merging "go-team" branch

  • Open
  • quality assurance status badge
Details
2 participants
  • Brennan Vincent
  • Sharlatan Hellseher
Owner
unassigned
Submitted by
Sharlatan Hellseher
Severity
normal
S
S
Sharlatan Hellseher wrote 7 days ago
(address . guix-patches@gnu.org)
878qvenms6.fsf@gmail.com
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 <montokapro@gmail.com>

- <2023-04-21> Go importer doesn't know MODULE/vX.Y version tags
https://issues.guix.gnu.org/63001by Timo Wilken guix@twilken.net

- <2023-05-22> [PATCH 0/2] Fix annoyance with "guix import go"
<zimon.toutoune@gmail.com>

- <2023-06-12> [PATH] fix a bug on importing go packages.

* 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

Toggle snippet (24 lines)
---[ 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

* Script

Toggle snippet (59 lines)
#!/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 "$@"

--
Oleg
-----BEGIN PGP SIGNATURE-----

iQIyBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmb1zekACgkQdtcnv/Ys
0rU+4A/xAUF3NUFZ3UgU6Tb+7eEKsV3ZhZB3oZsmU2eRX4Oh5ygkk3ou0FOC3McY
1AN3atOsqqUfRvDQnxtdSp9oLAKRQELKokyqcC6yorbKOQJ2hG5D+Clhb2/B/R/j
bvR3R7vgKkbK+tMpwNo2YrL96XigDxMTOJGXZ73InlKcgBd4gB4VNRbfrwMDQ6eQ
UNiCONV//WyvCfIRE+TfaoYhZZcbwBo7RqqZvQxfahGn2ydkBCK7Xjq5hfJHvVH6
CtAot9QpcgBQ+Um04Ywz/0Uw3b9qTcSCoTNSdVuzrSQ0WlirZExh2ZaitFixG+gk
2YZAPNSVl14Ss36NbGWi36B54HCb35f0S7UdsQV3aUdYVimr6R/1yXsUFRHkXjkw
tgPCuxVq1stHq+Nc/qFAd6BZYbdu5Q1w9GuGoak6WgblfQcJBB3R7g04F2IREuvo
+eHK5WmtHap9z80VrmHVigfyXEnJkLL0Mz87sgVXNdhXtsLALvUEuLl/ORVECEeS
FTCI9eGFUACb0922K0ZkttDaOpCITyDyf7WMXePe4K+p0LPvPI9wYnnWGjEak7qQ
Kxps9EvE9sgep66bXING1G2WBProRykOQZVnajT0SKYwJan+iCsLBwvz8FBnXw9G
jWWb5Cg/h+dSsmnKjEE6ZUkp9Ss63UXd1SfUsRFl4N6MzzNXWg==
=2zis
-----END PGP SIGNATURE-----

B
B
Brennan Vincent wrote 4 days ago
87setiguv0.fsf@denver.mail-host-address-is-not-set
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: <8d9d65dc7c8dab7c1328b0c2f5d8321c1b8e976e.1727635302.git.brennan@umanwizard.com>
From: Brennan Vincent <brennan@umanwizard.com>
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(-)

Toggle diff (42 lines)
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 <sharlatanus@gmail.com> writes:

Toggle quote (156 lines)
> 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
S
S
Sharlatan Hellseher wrote 4 days ago
Request for merging "go-team" branch
(address . 73502@debbugs.gnu.org)(name . Brennan Vincent)(address . brennan@umanwizard.com)
87cykmgtdn.fsf@gmail.com
Hi Brennan,

May you check which version you were intended to update by that patch,
please, it's a little confusing: the header mentions go-1.23, but changes
are applied for go-1.22.

The latest upstream:

--
Oleg
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmb5qEQACgkQdtcnv/Ys
0rXEBw//Zr9tMwxH0hFowLbBFA3gd26dLpegTTQlw6RDpzQr5CtEwGGtMAoIeTIc
801++jMMZ3KKxSoAavj0Q8L2weOBbXMjCIGJSA9inxzkgyq6chzXZtVPoAfhpnvW
9mgWWK8Fnnjnv/JuB8UwRV1IgX8nP3BmjPnrOK16ABdRuIim2mv9BKU5VG6kYgr6
e+UU/nLFXRqZmUMIWzF+yFQ4tnhsY/XWKv8ck3+2dkizOLAAja/kDivFEuOrv5be
R0vERbj3mwkj3j8MNsXyjiqRQqMi4KQvndJl7yakz49kQW89DAZKhkFmFFMJo3fy
tvqvELiSELKbuFv9WzohRB5B30A/I84/woXDKFOHwj12SnCqdXmsTWnPRdERZbG4
upVmB0L51SUyAiyhPryfX3UD0IcJa+I9Rru0WV5SUa3di99TuXVSjYokL7HQccoy
vz6rsZ9WoVVteFwA4mOPY9ErKxWV7GtNXHpqwcWk7WFffyWbb67i8voHCQa7bYoI
W6ORYBjn14qxX+hw1IUG10g2oNfA86cANVhT0FG/pHmRO4FdUU57dlbNGNn4uHDX
HGegeqz5/8zCsErt74T4Qv4V8Lylw6joN/JyVnanUGhqsPpWG07vFylXswS4NYnC
L/9k66LC/b+kd1K5gNTyarlHJmL9gxDH10WjW29A77iC4Sv2iqw=
=+hbG
-----END PGP SIGNATURE-----

B
B
Brennan Vincent wrote 4 days ago
(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)(address . 73502@debbugs.gnu.org)
971043F9-DF22-4454-92CD-0C22F45681D3@umanwizard.com
It’s 1.22.7

I just made a mistake in the commit message.

Toggle quote (16 lines)
> On Sep 29, 2024, at 15:19, Sharlatan Hellseher <sharlatanus@gmail.com> wrote:
>
> ?
> Hi Brennan,
>
> May you check which version you were intended to update by that patch,
> please, it's a little confusing: the header mentions go-1.23, but changes
> are applied for go-1.22.
>
> The latest upstream:
> - go-1.22 - https://github.com/golang/go/tree/go1.22.7
> - go-1.23 - https://github.com/golang/go/tree/go1.23.1
>
> --
> Oleg
> <signature.asc>
S
S
Sharlatan Hellseher wrote 4 days ago
Request for merging "go-team" branch
(address . 73502@debbugs.gnu.org)
877caugpoo.fsf@gmail.com
Hi,

Pushed, with modified message:
Toggle snippet (36 lines)
go-team 58dd7778bcdf5fc45725b59ea81e9a218c223286
Author: Brennan Vincent <brennan@umanwizard.com>
AuthorDate: Sun Sep 29 14:41:05 2024 -0400
Commit: Sharlatan Hellseher <sharlatanus@gmail.com>
CommitDate: Sun Sep 29 21:25:49 2024 +0100

gnu: go-1.22: Update to 1.22.7.

* gnu/packages/golang.scm (go-1.22): Update to 1.22.7.

Change-Id: I67fbb1c630a08cfb29f2230a600bf3a24e2c8486
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>

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

modified gnu/packages/golang.scm
@@ -954,7 +954,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)
@@ -963,7 +963,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)
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmb5uvcACgkQdtcnv/Ys
0rVpXQ/+NJgcj55n54zIyn3h9nPFpccBbUVDOEHcVxDec+QSObfAOaEXvzX6RaSc
Hyyt4BDshRi0eulcUvHYOp9Sta9wvEdLbQ7ti8l1fu2qR4x08pjNXBlBM8QVdPUE
b29PHv/XRZ56Z1+a4BwzRU859dbdX7FbjBW/oyxHsc/VsAahPDoGBDrPEVyni2G2
SVfmK5wEVOk+mPWxgVfYePN+djNI5WALuMamiWFMzDjTPR3rtRq6HIRrchgdHkFP
970eAGjrL88YoHSrf8WaEmjQpRnJ9Nnj3HM3GkLJA+AfU+5+ONhb1UjTcRMoV/3d
lIaWHt8wSrvWqbwaQWR/NVeQEliAgvEAOP3w93FkoojFk7WwTQURj/GaaIgqfapk
FljDlCqXxH4z59JiGjdfFVuIws4Ky64V2b6C3679gefKVbgcRNdF1GaUHizQAzkp
gyiZtgBRYcvxnrQNxzgX2BE+1n5/2+vj5UlNtU3YyTQ6PXR/BZw2v06XBY6ZOXiO
SgRWdnx50Q8yNJXPp09/C8cWps+gRgE1svTW5Wd74JRdxf80ZybLxDZbZJNjvIA/
Byrpe48jEx3OBtDE4mA14PVz+9HHfXTWJxIQ1NvhST9X/ZPqplwM+p49ctf/bCdv
yRRMv7wkpCxAXLbaqalFFLA5SzKiWenpvO82ywoy16W6r4KkVkM=
=CKXy
-----END PGP SIGNATURE-----

?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 73502@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 73502
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch