guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Some concerns on the current situation on Go packaging


From: Gabriel Arazas
Subject: Some concerns on the current situation on Go packaging
Date: Tue, 27 Sep 2022 23:51:42 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2

Hello! I'm a bit concerned about the current situation of packaging of Go applications in Guix.

Go modules also use semantic versioning [1] similarly to Rust packages. In Guix, some of the Rust packages are packaged with different versions [2]. This is nice (and tedious) as applications are more likely to work as intended.

However, there doesn't seem to be documented practice of packaging different versions for Go applications. The lack of such section from the manual also gives an additional impression unlike Rust packaging [2]. I don't know much examples that can be found committed in Guix repo but this makes adding Go applications to be more of a pain. I mean packaging Rust apps is also a pain as much as packaging Go apps (at least in my experience) but at least there are some explicit guidelines you can follow which is also present when exploring the code.

For example, I'm about to package gum [3] and it needs a different version of termenv (some commit after 0.11.0) compared to the packaged version in Guix (0.8.1). I'm very tempted to add a different package for it with a different version (which is thankfully easy to add).

In the long term, I'm more concerned about adding and maintaining of these applications. I thought I should point them out and hopefully get the community to reach to a consensus for Go packaging. Or is there already some initiatives (or a consensus or even some discussions) that I missed?

[1]: https://go.dev/doc/modules/version-numbers
[2]: https://guix.gnu.org/manual/devel/en/html_node/Rust-Crates.html#Rust-Crates
[3]: https://github.com/charmbracelet/gum



reply via email to

[Prev in Thread] Current Thread [Next in Thread]