* Packaging Proton Bridge: cryptic compilation failure
@ 2024-11-30 16:26 Marek Paśnikowski
2024-11-30 17:29 ` Ian Eure
` (3 more replies)
0 siblings, 4 replies; 16+ messages in thread
From: Marek Paśnikowski @ 2024-11-30 16:26 UTC (permalink / raw)
To: Guix Help
[-- Attachment #1: Type: text/plain, Size: 2281 bytes --]
Hello Guix
I am towards the end of a first pass of packaging the Proton Bridge program to
access my Proton Mail with KMail.
I have worked through and learned about many peculiarities of Golang build
system. As long as I had an error message, I was able to at least work around
problems. However, the latest build failure is completely cryptic to me, as
its log contains zero error messages. It works fine until I get a "build
failed" summary:
[...]
/gnu/store/kw4dwavpd5638kxaxnyhchzbip2ihr7q-go-1.21.5/lib/go/pkg/tool/
linux_amd64/compile -o ./go-build882385907/b247/_pkg_.a -trimpath "/tmp/guix-
build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/golang.org/x/
text/encoding/ianaindex=>golang.org/x/text/encoding/ianaindex;$WORK/b247=>" -p
golang.org/x/text/encoding/ianaindex -complete -buildid oeeEgL1OtT44tPEiSSgm/
oeeEgL1OtT44tPEiSSgm -goversion go1.21.5 -nolocalimports -importcfg ./go-
build882385907/b247/importcfg -pack ./src/golang.org/x/text/encoding/
ianaindex/ascii.go ./src/golang.org/x/text/encoding/ianaindex/ianaindex.go ./
src/golang.org/x/text/encoding/ianaindex/tables.go
/gnu/store/kw4dwavpd5638kxaxnyhchzbip2ihr7q-go-1.21.5/lib/go/pkg/tool/
linux_amd64/buildid -w $WORK/b247/_pkg_.a # internal
cp $WORK/b247/_pkg_.a /tmp/guix-build-go-github-com-protonmail-go-proton-
api-0.4.0.drv-0/go-build/
59/59c52b9f8132289a5cc9772aa1edea166f986e6eb6d79cd07cbaac8bcbf28c75-d #
internal
Building 'github.com/ProtonMail/go-proton-api' failed.
[...]
The above is the result of this command:
$ guix build -v 3 -L ~/repositories/sovereign/ proton-bridge --cores=1
I have zero knowledge the Go language itself, which could explain why I have
trouble understanding this failure.
I would very much appreciate any help from the resident Go packagers, as I am
unable to make any further progress, and I desire to finally ditch the
Proton’s web interface.
The entire package code is on my personal channel, in "proton-bridge" branch.
There is one external dependency on the Efraim’s DFSG channel.
CGIT interface:
https://git.marekpasnikowski.pl/sovereign.git/tree/?h=proton-bridge
GIT clone URL:
https://git.marekpasnikowski.pl/sovereign.git
DFSG channel:
https://git.sr.ht/~efraim/my-guix
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Packaging Proton Bridge: cryptic compilation failure
2024-11-30 16:26 Packaging Proton Bridge: cryptic compilation failure Marek Paśnikowski
@ 2024-11-30 17:29 ` Ian Eure
2024-11-30 18:08 ` Cayetano Santos
` (2 subsequent siblings)
3 siblings, 0 replies; 16+ messages in thread
From: Ian Eure @ 2024-11-30 17:29 UTC (permalink / raw)
To: help-guix
Hi Marek,
On Sat, Nov 30, 2024, at 4:26 PM, Marek Paśnikowski wrote:
> Hello Guix
>
> I am towards the end of a first pass of packaging the Proton Bridge program to
> access my Proton Mail with KMail.
>
> I have worked through and learned about many peculiarities of Golang build
> system. As long as I had an error message, I was able to at least work around
> problems. However, the latest build failure is completely cryptic to me, as
> its log contains zero error messages. It works fine until I get a "build
> failed" summary:
>
> [snip]
>
> The entire package code is on my personal channel, in "proton-bridge" branch.
> There is one external dependency on the Efraim’s DFSG channel.
>
I'm not able to replicate your failure, because your channel has some other dependencies I'm missing:
$ guix build -v 3 -KL /tmp/sovereign/ proton-bridge --cores=1
guix build: warning: failed to load '(sovereign devices amd64)':
no code for module (dfsg main golang)
guix build: warning: failed to load '(sovereign packages bradenaw)':
no code for module (dfsg main golang)
guix build: warning: failed to load '(sovereign systems aisaka)':
no code for module (suweren commons sudoers)
guix build: warning: failed to load '(sovereign systems akashi)':
no code for module (machines thinkpad-x200)
guix build: warning: failed to load '(sovereign systems ayase)':
no code for module (suweren commons sudoers)
guix build: warning: failed to load '(sovereign systems mcdowell)':
no code for module (users id1000)
guix build: error: proton-bridge: unknown package
$
The Guix manual has a Debugging Build Failures[1] section, which has some good general advice for these kinds of problems. I also suggest opening the build log file (its path should be printed near the end of the build's stdout) and reading through there -- the build-system output makes things noisier in a way that can sometimes make it hard to see the true cause of the failure. For whatever reason, it's usually easier for me to spot the problem when I'm paging through the log file, rather than looking at the same output on the terminal.
-- Ian
[1]: https://guix.gnu.org/manual/devel/en/html_node/Debugging-Build-Failures.html
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Packaging Proton Bridge: cryptic compilation failure
2024-11-30 16:26 Packaging Proton Bridge: cryptic compilation failure Marek Paśnikowski
2024-11-30 17:29 ` Ian Eure
@ 2024-11-30 18:08 ` Cayetano Santos
2024-11-30 18:56 ` Marek Paśnikowski
2024-12-09 16:24 ` Packaging Proton Bridge: Progress Report #1 Marek Paśnikowski
2024-12-10 10:28 ` Packaging Proton Bridge: Progress Report #2 Marek Paśnikowski
3 siblings, 1 reply; 16+ messages in thread
From: Cayetano Santos @ 2024-11-30 18:08 UTC (permalink / raw)
To: Marek Paśnikowski; +Cc: Guix Help
>sam. 30 nov. 2024 at 17:26, Marek Paśnikowski <marek@marekpasnikowski.pl> wrote:
> Hello Guix
>
> I am towards the end of a first pass of packaging the Proton Bridge program to
> access my Proton Mail with KMail.
>
> I have worked through and learned about many peculiarities of Golang build
> system. As long as I had an error message, I was able to at least work around
> problems. However, the latest build failure is completely cryptic to me, as
> its log contains zero error messages. It works fine until I get a "build
> failed" summary:
The debug for dummies manual advices using the "--keep-failed" flag when
you build packages. Using a shell container helps to understand this kind
of cryptic messages too.
--
Cayetano Santos
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Packaging Proton Bridge: cryptic compilation failure
2024-11-30 18:08 ` Cayetano Santos
@ 2024-11-30 18:56 ` Marek Paśnikowski
2024-11-30 19:22 ` Ian Eure
0 siblings, 1 reply; 16+ messages in thread
From: Marek Paśnikowski @ 2024-11-30 18:56 UTC (permalink / raw)
To: Guix Help; +Cc: Cayetano Santos, Ian Eure
[-- Attachment #1: Type: text/plain, Size: 2615 bytes --]
On sobota, 30 listopada 2024 19:08:49 CET Cayetano Santos wrote:
> >sam. 30 nov. 2024 at 17:26, Marek Paśnikowski <marek@marekpasnikowski.pl>
wrote:
> > Hello Guix
> >
> > I am towards the end of a first pass of packaging the Proton Bridge
> > program to access my Proton Mail with KMail.
> >
> > I have worked through and learned about many peculiarities of Golang build
> > system. As long as I had an error message, I was able to at least work
> > around problems. However, the latest build failure is completely cryptic
> > to me, as its log contains zero error messages. It works fine until I
> > get a "build
> > failed" summary:
> The debug for dummies manual advices using the "--keep-failed" flag when
> you build packages. Using a shell container helps to understand this kind
> of cryptic messages too.
>
> --
> Cayetano Santos
Thank you Ian, Cayetano for swiftly reminding me to Read The Manual. I was so
tired with constant tweaking of package after package, that I forgot to go to
the basics.
I learned that I can source variables to emulate the build environment, in
which I issued the same command that go build system uses to build the
package. Here is the result, much cleaner with the interesting stuff right at
the end:
[...]
# github.com/ProtonMail/go-crypto/openpgp/packet
/tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
github.com/ProtonMail/go-crypto/openpgp/packet/packet_sequence.go:12:92:
undefined: errors.ErrMalformedMessage
/tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
github.com/ProtonMail/go-crypto/openpgp/packet/packet_sequence.go:13:16:
undefined: errors.ErrMalformedMessage
/tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
github.com/ProtonMail/go-crypto/openpgp/packet/packet_sequence.go:94:17:
undefined: errors.ErrMalformedMessage
/tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
github.com/ProtonMail/go-crypto/openpgp/packet/config_v5.go:6:2: undefined:
V5Disabled
/tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
github.com/ProtonMail/go-crypto/openpgp/packet/marker.go:27:33: undefined:
packetTypeMarker
/tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
github.com/ProtonMail/go-crypto/openpgp/packet/padding.go:20:33: undefined:
packetPadding
I remember faking a Proton’s fork with the upstream package because GitHub
failed to find it. It could be the one, or not. At least I have a thread to
follow now; and a new tool for deep inspection.
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Packaging Proton Bridge: cryptic compilation failure
2024-11-30 18:56 ` Marek Paśnikowski
@ 2024-11-30 19:22 ` Ian Eure
2024-12-05 16:37 ` sebastien
0 siblings, 1 reply; 16+ messages in thread
From: Ian Eure @ 2024-11-30 19:22 UTC (permalink / raw)
To: Marek Paśnikowski, Guix Help; +Cc: Cayetano Santos
Hi Marek,
On Sat, Nov 30, 2024, at 6:56 PM, Marek Paśnikowski wrote:
> On sobota, 30 listopada 2024 19:08:49 CET Cayetano Santos wrote:
>> >sam. 30 nov. 2024 at 17:26, Marek Paśnikowski <marek@marekpasnikowski.pl>
> wrote:
>> > Hello Guix
>> >
>> > I am towards the end of a first pass of packaging the Proton Bridge
>> > program to access my Proton Mail with KMail.
>> >
>> > I have worked through and learned about many peculiarities of Golang build
>> > system. As long as I had an error message, I was able to at least work
>> > around problems. However, the latest build failure is completely cryptic
>> > to me, as its log contains zero error messages. It works fine until I
>> > get a "build
>> > failed" summary:
>> The debug for dummies manual advices using the "--keep-failed" flag when
>> you build packages. Using a shell container helps to understand this kind
>> of cryptic messages too.
>>
>> --
>> Cayetano Santos
>
>
> Thank you Ian, Cayetano for swiftly reminding me to Read The Manual. I was so
> tired with constant tweaking of package after package, that I forgot to go to
> the basics.
>
> I learned that I can source variables to emulate the build environment, in
> which I issued the same command that go build system uses to build the
> package. Here is the result, much cleaner with the interesting stuff right at
> the end:
>
> [...]
> # github.com/ProtonMail/go-crypto/openpgp/packet
> /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> github.com/ProtonMail/go-crypto/openpgp/packet/packet_sequence.go:12:92:
> undefined: errors.ErrMalformedMessage
> /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> github.com/ProtonMail/go-crypto/openpgp/packet/packet_sequence.go:13:16:
> undefined: errors.ErrMalformedMessage
> /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> github.com/ProtonMail/go-crypto/openpgp/packet/packet_sequence.go:94:17:
> undefined: errors.ErrMalformedMessage
> /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> github.com/ProtonMail/go-crypto/openpgp/packet/config_v5.go:6:2: undefined:
> V5Disabled
> /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> github.com/ProtonMail/go-crypto/openpgp/packet/marker.go:27:33: undefined:
> packetTypeMarker
> /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> github.com/ProtonMail/go-crypto/openpgp/packet/padding.go:20:33: undefined:
> packetPadding
>
> I remember faking a Proton’s fork with the upstream package because GitHub
> failed to find it. It could be the one, or not. At least I have a thread to
> follow now; and a new tool for deep inspection.
>
It's been a while since I've worked in Go, but based on: https://github.com/ProtonMail/go-crypto/blob/main/openpgp/packet/packet_sequence.go#L9
...I suspect the go-crypto repository houses multiple Go packages, which all need to be packaged individually in Guix. It looks like your Guix packages aren't doing that, which may explain the error you're getting. This is just a hunch, it's been a few years since I wrote Go, and I never dealt with packaging beyond stuffing static binaries into Docker containers -- but it feels at least close to the root of the issue to me.
-- Ian
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Packaging Proton Bridge: cryptic compilation failure
2024-11-30 19:22 ` Ian Eure
@ 2024-12-05 16:37 ` sebastien
2024-12-06 13:34 ` woshilapin
2024-12-06 18:01 ` Marek Paśnikowski
0 siblings, 2 replies; 16+ messages in thread
From: sebastien @ 2024-12-05 16:37 UTC (permalink / raw)
To: Ian Eure; +Cc: Marek Paśnikowski, help-guix, Cayetano Santos
[-- Attachment #1.1: Type: text/plain, Size: 3963 bytes --]
Le samedi 30 novembre 2024 à 8:22 PM, Ian Eure <ian@retrospec.tv> a écrit :
>
>
> Hi Marek,
>
> On Sat, Nov 30, 2024, at 6:56 PM, Marek Paśnikowski wrote:
>
> > On sobota, 30 listopada 2024 19:08:49 CET Cayetano Santos wrote:
> >
> > > > sam. 30 nov. 2024 at 17:26, Marek Paśnikowski marek@marekpasnikowski.pl
> > > > wrote:
> > > > Hello Guix
> > > >
> > > > I am towards the end of a first pass of packaging the Proton Bridge
> > > > program to access my Proton Mail with KMail.
> > > >
> > > > I have worked through and learned about many peculiarities of Golang build
> > > > system. As long as I had an error message, I was able to at least work
> > > > around problems. However, the latest build failure is completely cryptic
> > > > to me, as its log contains zero error messages. It works fine until I
> > > > get a "build
> > > > failed" summary:
> > > > The debug for dummies manual advices using the "--keep-failed" flag when
> > > > you build packages. Using a shell container helps to understand this kind
> > > > of cryptic messages too.
> > >
> > > --
> > > Cayetano Santos
> >
> > Thank you Ian, Cayetano for swiftly reminding me to Read The Manual. I was so
> > tired with constant tweaking of package after package, that I forgot to go to
> > the basics.
> >
> > I learned that I can source variables to emulate the build environment, in
> > which I issued the same command that go build system uses to build the
> > package. Here is the result, much cleaner with the interesting stuff right at
> > the end:
> >
> > [...]
> > # github.com/ProtonMail/go-crypto/openpgp/packet
> > /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> > github.com/ProtonMail/go-crypto/openpgp/packet/packet_sequence.go:12:92:
> > undefined: errors.ErrMalformedMessage
> > /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> > github.com/ProtonMail/go-crypto/openpgp/packet/packet_sequence.go:13:16:
> > undefined: errors.ErrMalformedMessage
> > /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> > github.com/ProtonMail/go-crypto/openpgp/packet/packet_sequence.go:94:17:
> > undefined: errors.ErrMalformedMessage
> > /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> > github.com/ProtonMail/go-crypto/openpgp/packet/config_v5.go:6:2: undefined:
> > V5Disabled
> > /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> > github.com/ProtonMail/go-crypto/openpgp/packet/marker.go:27:33: undefined:
> > packetTypeMarker
> > /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> > github.com/ProtonMail/go-crypto/openpgp/packet/padding.go:20:33: undefined:
> > packetPadding
> >
> > I remember faking a Proton’s fork with the upstream package because GitHub
> > failed to find it. It could be the one, or not. At least I have a thread to
> > follow now; and a new tool for deep inspection.
>
>
> It's been a while since I've worked in Go, but based on: https://github.com/ProtonMail/go-crypto/blob/main/openpgp/packet/packet_sequence.go#L9
>
> ...I suspect the go-crypto repository houses multiple Go packages, which all need to be packaged individually in Guix. It looks like your Guix packages aren't doing that, which may explain the error you're getting. This is just a hunch, it's been a few years since I wrote Go, and I never dealt with packaging beyond stuffing static binaries into Docker containers -- but it feels at least close to the root of the issue to me.
>
> -- Ian
Hi,
As a everyday user of ProtonMail/guix for work i'm also interested to help you on this task. Perhaps could you provide a chan that contain only the dependencies and manifest to build proton-bridge ?
That help us to reproduce the build and try to package and push go package that miss.
Best regards,
SR
[-- Attachment #1.2: publickey - s.rey.coyrehourcq@proton.me - 0xC3237850.asc --]
[-- Type: application/pgp-keys, Size: 669 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 249 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Packaging Proton Bridge: cryptic compilation failure
2024-12-05 16:37 ` sebastien
@ 2024-12-06 13:34 ` woshilapin
2024-12-06 18:01 ` Marek Paśnikowski
1 sibling, 0 replies; 16+ messages in thread
From: woshilapin @ 2024-12-06 13:34 UTC (permalink / raw)
To: sebastien; +Cc: Ian Eure, Marek Paśnikowski, help-guix, Cayetano Santos
Hi,
> As a everyday user of ProtonMail/guix for work i'm also interested to help you on this task. Perhaps could you provide a chan that contain only the dependencies and manifest to build proton-bridge ?
>
Just chiming in, did you know there was also `hydroxide`[1], already packaged into `guix`, and that has worked perfectly well for me as a proton bridge?
[1] https://packages.guix.gnu.org/packages/hydroxide/0.2.29/
Hope this helps.
--
woshilapin aka Jean SIMARD
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Packaging Proton Bridge: cryptic compilation failure
2024-12-05 16:37 ` sebastien
2024-12-06 13:34 ` woshilapin
@ 2024-12-06 18:01 ` Marek Paśnikowski
1 sibling, 0 replies; 16+ messages in thread
From: Marek Paśnikowski @ 2024-12-06 18:01 UTC (permalink / raw)
To: sebastien, help-guix
[-- Attachment #1: Type: text/plain, Size: 7341 bytes --]
On czwartek, 5 grudnia 2024 17:37:05 CET you wrote:
> Le samedi 30 novembre 2024 à 8:22 PM, Ian Eure <ian@retrospec.tv> a écrit :
> > Hi Marek,
> >
> > On Sat, Nov 30, 2024, at 6:56 PM, Marek Paśnikowski wrote:
> > > On sobota, 30 listopada 2024 19:08:49 CET Cayetano Santos wrote:
> > > > > sam. 30 nov. 2024 at 17:26, Marek Paśnikowski
> > > > > marek@marekpasnikowski.pl
> > > > > wrote:
> > > > > Hello Guix
> > > > >
> > > > >
> > > > > I am towards the end of a first pass of packaging the Proton Bridge
> > > > > program to access my Proton Mail with KMail.
> > > > >
> > > > >
> > > > > I have worked through and learned about many peculiarities of Golang
> > > > > build
> > > > > system. As long as I had an error message, I was able to at least
> > > > > work
> > > > > around problems. However, the latest build failure is completely
> > > > > cryptic
> > > > > to me, as its log contains zero error messages. It works fine until
> > > > > I
> > > > > get a "build
> > > > > failed" summary:
> > > > > The debug for dummies manual advices using the "--keep-failed" flag
> > > > > when
> > > > > you build packages. Using a shell container helps to understand this
> > > > > kind
> > > > > of cryptic messages too.
> > > >
> > > > --
> > > > Cayetano Santos
> > >
> > > Thank you Ian, Cayetano for swiftly reminding me to Read The Manual. I
> > > was so tired with constant tweaking of package after package, that I
> > > forgot to go to the basics.
> > >
> > >
> > > I learned that I can source variables to emulate the build environment,
> > > in
> > > which I issued the same command that go build system uses to build the
> > > package. Here is the result, much cleaner with the interesting stuff
> > > right at the end:
> > >
> > >
> > > [...]
> > > # github.com/ProtonMail/go-crypto/openpgp/packet
> > > /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> > > github.com/ProtonMail/go-crypto/openpgp/packet/packet_sequence.go:12:92:
> > > undefined: errors.ErrMalformedMessage
> > > /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> > > github.com/ProtonMail/go-crypto/openpgp/packet/packet_sequence.go:13:16:
> > > undefined: errors.ErrMalformedMessage
> > > /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> > > github.com/ProtonMail/go-crypto/openpgp/packet/packet_sequence.go:94:17:
> > > undefined: errors.ErrMalformedMessage
> > > /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> > > github.com/ProtonMail/go-crypto/openpgp/packet/config_v5.go:6:2:
> > > undefined:
> > > V5Disabled
> > > /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> > > github.com/ProtonMail/go-crypto/openpgp/packet/marker.go:27:33:
> > > undefined:
> > > packetTypeMarker
> > > /tmp/guix-build-go-github-com-protonmail-go-proton-api-0.4.0.drv-0/src/
> > > github.com/ProtonMail/go-crypto/openpgp/packet/padding.go:20:33:
> > > undefined:
> > > packetPadding
> > >
> > >
> > > I remember faking a Proton’s fork with the upstream package because
> > > GitHub
> > > failed to find it. It could be the one, or not. At least I have a thread
> > > to
> > > follow now; and a new tool for deep inspection.
> >
> > It's been a while since I've worked in Go, but based on:
> > https://github.com/ProtonMail/go-crypto/blob/main/openpgp/packet/packet_s
> > equence.go#L9
> >
> >
> > ...I suspect the go-crypto repository houses multiple Go packages, which
> > all need to be packaged individually in Guix. It looks like your Guix
> > packages aren't doing that, which may explain the error you're getting.
> > This is just a hunch, it's been a few years since I wrote Go, and I never
> > dealt with packaging beyond stuffing static binaries into Docker
> > containers -- but it feels at least close to the root of the issue to me.
> >
> >
> > -- Ian
>
> Hi,
>
> As a everyday user of ProtonMail/guix for work i'm also interested to help
> you on this task. Perhaps could you provide a chan that contain only the
> dependencies and manifest to build proton-bridge ?
>
>
> That help us to reproduce the build and try to package and push go package
> that miss.
>
> Best regards,
> SR
Thank you for your offer. I accept it with gratitude.
During previous 3 days I was spinning in circles trying to pin down a correct
combination of dependency versions with the same function prototype. This
morning I found one such combination and was able to push through to the top
level, where the Go component of proton-bridge itself fails to build.
Unfortunately I still can see the same dreaded error of
" go build log
type func(a Address, b Address) int of
func(a, b Address) Int {…} does not match inferred type
func(a Address, b Address) bool
for func(a E, b E ) bool
"
I have prepared the "proton-bridge" bridge of my channel in a way preserving
the other module files, but hopefully isolating them from use by Guix:
" .guix-channel
(channel
(version 0)
(directory "proton-bridge") ; <--- channel-root/proton-bridge/sovereign/...
(dependencies
(channel
(introduction
(channel-introduction
(version 0)
(commit "61c9f87404fcb97e20477ec379b643099e45f1db")
(signer "A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351")))
(name efraim-dfsg)
(url "https://git.sr.ht/~efraim/my-guix"))
(channel
(introduction
(channel-introduction
(version 0)
(commit "7c67c3a9f299517bfc4ce8235628657898dd26b2")
(signer "CD2D 5EAA A98C CB37 DA91 D6B0 5F58 1664 7F8B E551")))
(name guixrus)
(url "https://git.sr.ht/~whereiseveryone/guixrus"))
(channel
(introduction
(channel-introduction
(version 0)
(commit "897c1a470da759236cc11798f4e0a5f7d4d59fbc")
(signer "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))
(name nonguix)
(url "https://gitlab.com/nonguix/nonguix"))
(channel
(introduction
(channel-introduction
(version 0)
(commit "c24ce7cb11e74da13d491f9de3c4b7040a069f43")
(signer "590E 500F E39D 26B3 E60B 743B 6D81 B120 7711 899F")))
(name deployment)
(url "https://git.marekpasnikowski.pl/git/deployment.git"))
(channel
(introduction
(channel-introduction
(version 0)
(commit "7d17bded11ef1239592e6e5abd40ceee1e99cbb8")
(signer "590E 500F E39D 26B3 E60B 743B 6D81 B120 7711 899F")))
(name distribution)
(url "https://git.marekpasnikowski.pl/git/distribution.git")))))
"
My intention is to preserve the define-module headers while keeping them
accurate. Do let me know if I misunderstood the (directory) field.
Please be understanding of the changing code style. Throghout the last two
weeks I have iterated through multiple styles with increasing focus on
efficiency of implementation. Towards the end I have developed an idea of
a universal origin function which constructs an origin object with data
supplied to it inside a given package definition.
At this point I am more concerned with getting to the finish line than keeping
the style consistent. I am planning to rewrite everything from scratch once a
working solution is found.
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Packaging Proton Bridge: Progress Report #1
2024-11-30 16:26 Packaging Proton Bridge: cryptic compilation failure Marek Paśnikowski
2024-11-30 17:29 ` Ian Eure
2024-11-30 18:08 ` Cayetano Santos
@ 2024-12-09 16:24 ` Marek Paśnikowski
2024-12-09 16:38 ` Ian Eure
2024-12-10 10:28 ` Packaging Proton Bridge: Progress Report #2 Marek Paśnikowski
3 siblings, 1 reply; 16+ messages in thread
From: Marek Paśnikowski @ 2024-12-09 16:24 UTC (permalink / raw)
To: help-guix
[-- Attachment #1: Type: text/plain, Size: 809 bytes --]
I managed to break through version incompatibilites thanks to discovery of the
guix:build-system:go:go-version->git-ref function, which allowed me to use the
specifications in go.mod files directly.
I am currently blocked on what seems to be an actual upstream coding bug, for
which I filed a report:
https://github.com/ProtonMail/proton-bridge/issues/511
It boils down to an undefined variable reference, which used to be defined two
years ago.
Build error:
src/github.com/ProtonMail/proton-bridge/v3/internal/frontend/cli/system.go:
48:43: undefined: bridge.Credits
Commit reference:
https://github.com/ProtonMail/proton-bridge/commit/
77cd2955f1413c96a1d987d0d7f9d8ecf6a8ad49
The removed code snippet in file internal/bridge/credits.go :
package bridge
const Credits = "string of go module paths"
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Packaging Proton Bridge: Progress Report #1
2024-12-09 16:24 ` Packaging Proton Bridge: Progress Report #1 Marek Paśnikowski
@ 2024-12-09 16:38 ` Ian Eure
2024-12-09 16:47 ` Marek Paśnikowski
0 siblings, 1 reply; 16+ messages in thread
From: Ian Eure @ 2024-12-09 16:38 UTC (permalink / raw)
To: help-guix
Hi Marek,
On Mon, Dec 9, 2024, at 4:24 PM, Marek Paśnikowski wrote:
> I managed to break through version incompatibilites thanks to discovery of the
> guix:build-system:go:go-version->git-ref function, which allowed me to use the
> specifications in go.mod files directly.
>
> I am currently blocked on what seems to be an actual upstream coding bug, for
> which I filed a report:
> https://github.com/ProtonMail/proton-bridge/issues/511
>
> It boils down to an undefined variable reference, which used to be defined two
> years ago.
>
> Build error:
> src/github.com/ProtonMail/proton-bridge/v3/internal/frontend/cli/system.go:
> 48:43: undefined: bridge.Credits
>
> Commit reference:
> https://github.com/ProtonMail/proton-bridge/commit/
> 77cd2955f1413c96a1d987d0d7f9d8ecf6a8ad49
>
> The removed code snippet in file internal/bridge/credits.go :
> package bridge
> const Credits = "string of go module paths"
>
This isn't an upstream bug, it's an error in your package. As the "(generated)" comment in .gitignore in your liked commit implies, this file is now codegenned as part of the build: https://github.com/ProtonMail/proton-bridge/blob/4f4a2c3fd8f7304a9b3ff81d3f42828b95296b7f/Makefile#L351-L353
Since you're not running the command that creates the file, the build fails.
-- Ian
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Packaging Proton Bridge: Progress Report #1
2024-12-09 16:38 ` Ian Eure
@ 2024-12-09 16:47 ` Marek Paśnikowski
2024-12-09 16:52 ` Ian Eure
0 siblings, 1 reply; 16+ messages in thread
From: Marek Paśnikowski @ 2024-12-09 16:47 UTC (permalink / raw)
To: help-guix, Ian Eure
[-- Attachment #1: Type: text/plain, Size: 1581 bytes --]
On poniedziałek, 9 grudnia 2024 17:38:20 CET Ian Eure wrote:
> Hi Marek,
>
> On Mon, Dec 9, 2024, at 4:24 PM, Marek Paśnikowski wrote:
> > I managed to break through version incompatibilites thanks to discovery of
> > the guix:build-system:go:go-version->git-ref function, which allowed me
> > to use the specifications in go.mod files directly.
> >
> > I am currently blocked on what seems to be an actual upstream coding bug,
> > for which I filed a report:
> > https://github.com/ProtonMail/proton-bridge/issues/511
> >
> > It boils down to an undefined variable reference, which used to be defined
> > two years ago.
> >
> > Build error:
> > src/github.com/ProtonMail/proton-bridge/v3/internal/frontend/cli/system.go
> > :
> > 48:43: undefined: bridge.Credits
> >
> > Commit reference:
> > https://github.com/ProtonMail/proton-bridge/commit/
> > 77cd2955f1413c96a1d987d0d7f9d8ecf6a8ad49
> >
> > The removed code snippet in file internal/bridge/credits.go :
> > package bridge
> > const Credits = "string of go module paths"
>
> This isn't an upstream bug, it's an error in your package. As the
> "(generated)" comment in .gitignore in your liked commit implies, this file
> is now codegenned as part of the build:
> https://github.com/ProtonMail/proton-bridge/blob/4f4a2c3fd8f7304a9b3ff81d3f
> 42828b95296b7f/Makefile#L351-L353
>
> Since you're not running the command that creates the file, the build fails.
>
> -- Ian
Thank you for your feedback.
Does this mean I will have to `make` the project before `building go`?
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Packaging Proton Bridge: Progress Report #1
2024-12-09 16:47 ` Marek Paśnikowski
@ 2024-12-09 16:52 ` Ian Eure
2024-12-09 19:15 ` Marek Paśnikowski
0 siblings, 1 reply; 16+ messages in thread
From: Ian Eure @ 2024-12-09 16:52 UTC (permalink / raw)
To: Marek Paśnikowski, help-guix
Hi Marek,
On Mon, Dec 9, 2024, at 4:47 PM, Marek Paśnikowski wrote:
>
> Does this mean I will have to `make` the project before `building go`?
>
I'm not sure how the go-build-system interacts with stuff like this, or what complexity the Makefile may bring. Probably the simplest thing is to add a build phase which executes the utility script at the corresponding point in your build, but this is ultimately your judgement call.
-- Ian
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Packaging Proton Bridge: Progress Report #1
2024-12-09 16:52 ` Ian Eure
@ 2024-12-09 19:15 ` Marek Paśnikowski
2024-12-09 19:33 ` Ian Eure
0 siblings, 1 reply; 16+ messages in thread
From: Marek Paśnikowski @ 2024-12-09 19:15 UTC (permalink / raw)
To: Ian Eure, help-guix
[-- Attachment #1: Type: text/plain, Size: 9001 bytes --]
On poniedziałek, 9 grudnia 2024 17:52:36 CET you wrote:
> Hi Marek,
>
> On Mon, Dec 9, 2024, at 4:47 PM, Marek Paśnikowski wrote:
> > Does this mean I will have to `make` the project before `building go`?
>
> I'm not sure how the go-build-system interacts with stuff like this, or what
> complexity the Makefile may bring. Probably the simplest thing is to add a
> build phase which executes the utility script at the corresponding point in
> your build, but this is ultimately your judgement call.
>
> -- Ian
I copied and extended the invocation of "make" from the gnu-build-system:
(arguments
(list
#:phases '(modify-phases
%standard-phases
(add-before
'build
'make-project
(lambda*
(#:key (make-flags (list "build-nogui"))
(parallel-build? #t)
#:allow-other-keys)
(invoke "find"
"."
"-name"
"Makefile")
(invoke "ls"
"-al"
"./src/github.com/ProtonMail/proton-bridge/v3")
(apply invoke
"make"
"-e"
"-C"
"./src/github.com/ProtonMail/proton-bridge/v3"
"--debug=basic"
`(,@(if parallel-build?
`("-j" ,(number->string (parallel-job-count)))
'())
,@make-flags)))))
#:embed-files '(list "children" "nodes" "text")
#:unpack-path "github.com/ProtonMail/proton-bridge/v3"
#:import-path "github.com/ProtonMail/proton-bridge/v3/cmd/Desktop-
Bridge"))
I am getting some kind of progress, pasted below. Before continuing, I would
appreciate confirmation whether I am on the right track. Some lines in the
output state that some files do not exist. Having no experience actually
working with make files, I am not sure if this is expected.
Should I not worry about the "file does not exist" message class?
Should I change anything in my invocation of "make"?
starting phase `make-project'
./src/github.com/flynn-archive/go-shlex/Makefile
./src/github.com/chzyer/logex/Makefile
./src/github.com/yuin/goldmark/Makefile
./src/github.com/yuin/goldmark/_benchmark/cmark/Makefile
./src/github.com/hashicorp/go-multierror/Makefile
./src/github.com/cpuguy83/go-md2man/Makefile
./src/github.com/vmihailenco/tagparser/v2/Makefile
./src/github.com/vmihailenco/msgpack/v5/Makefile
./src/github.com/getsentry/sentry-go/Makefile
./src/github.com/mattn/go-sqlite3/_example/mod_vtable/Makefile
./src/github.com/mattn/go-sqlite3/_example/custom_driver_name/Makefile
./src/github.com/mattn/go-sqlite3/_example/mod_regexp/Makefile
./src/github.com/prometheus/procfs/Makefile
./src/github.com/Masterminds/semver/v3/Makefile
./src/github.com/elastic/go-sysinfo/Makefile
./src/github.com/cloudflare/circl/Makefile
./src/github.com/pkg/errors/Makefile
./src/github.com/ProtonMail/proton-bridge/v3/Makefile
./src/google.golang.org/grpc/Makefile
./src/golang.org/x/text/collate/tools/colcmp/Makefile
total 368
drwxr-xr-x 12 nixbld nixbld 4096 Jan 1 1970 .
drwxr-xr-x 3 nixbld nixbld 4096 Dec 9 18:55 ..
-r--r--r-- 1 nixbld nixbld 26 Jan 1 1970 .gitattributes
drwxr-xr-x 3 nixbld nixbld 4096 Jan 1 1970 .github
-r--r--r-- 1 nixbld nixbld 576 Jan 1 1970 .gitignore
-r--r--r-- 1 nixbld nixbld 1469 Jan 1 1970 .gitlab-ci.yml
-r--r--r-- 1 nixbld nixbld 98 Jan 1 1970 .gitmodules
-r--r--r-- 1 nixbld nixbld 10074 Jan 1 1970 .golangci.yml
-r--r--r-- 1 nixbld nixbld 131 Jan 1 1970 .grype.yaml
-r--r--r-- 1 nixbld nixbld 3052 Jan 1 1970 BUILDS.md
-r--r--r-- 1 nixbld nixbld 498 Jan 1 1970 CONTRIBUTING.md
-r--r--r-- 1 nixbld nixbld 18002 Jan 1 1970 COPYING_NOTES.md
-r--r--r-- 1 nixbld nixbld 118347 Jan 1 1970 Changelog.md
-r--r--r-- 1 nixbld nixbld 32473 Jan 1 1970 LICENSE
-r--r--r-- 1 nixbld nixbld 16157 Jan 1 1970 Makefile
-r--r--r-- 1 nixbld nixbld 4695 Jan 1 1970 README.md
-r--r--r-- 1 nixbld nixbld 141 Jan 1 1970 TODO.md
drwxr-xr-x 2 nixbld nixbld 4096 Jan 1 1970 ci
drwxr-xr-x 4 nixbld nixbld 4096 Jan 1 1970 cmd
drwxr-xr-x 3 nixbld nixbld 4096 Jan 1 1970 dist
drwxr-xr-x 3 nixbld nixbld 4096 Jan 1 1970 extern
-r--r--r-- 1 nixbld nixbld 6641 Jan 1 1970 go.mod
-r--r--r-- 1 nixbld nixbld 74635 Jan 1 1970 go.sum
drwxr-xr-x 35 nixbld nixbld 4096 Jan 1 1970 internal
drwxr-xr-x 14 nixbld nixbld 4096 Jan 1 1970 pkg
drwxr-xr-x 2 nixbld nixbld 4096 Jan 1 1970 release-notes
drwxr-xr-x 7 nixbld nixbld 4096 Jan 1 1970 tests
drwxr-xr-x 14 nixbld nixbld 4096 Dec 9 18:55 utils
GNU Make 4.4.1
Built for x86_64-unknown-linux-gnu
Copyright (C) 1988-2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
make: Entering directory '/tmp/guix-build-go-github-com-protonmail-proton-
bridge-3.15.1.drv-0/src/github.com/ProtonMail/proton-bridge/v3'
Updating makefiles....
Updating goal targets....
File 'build-nogui' does not exist.
File 'proton-bridge' does not exist.
File 'gofiles' does not exist.
File 'internal/bridge/credits.go' does not exist.
Must remake target 'internal/bridge/credits.go'.
cd ./utils/ && ./credits.sh bridge
File 'build-launcher' does not exist.
Must remake target 'build-launcher'.
go build -tags='' -ldflags '-X github.com/ProtonMail/proton-bridge/v3/
internal/constants.Version=3.15.1+git -X github.com/ProtonMail/proton-bridge/
v3/internal/constants.Revision=NOGIT -X github.com/ProtonMail/proton-bridge/
v3/internal/constants.Tag=NOGIT -X github.com/ProtonMail/proton-bridge/v3/
internal/constants.BuildTime=2024-12-09T18:55:33+0000 -X "github.com/
ProtonMail/proton-bridge/v3/internal/constants.FullAppName=Proton Mail Bridge"
-X github.com/ProtonMail/proton-bridge/v3/internal/constants.BuildEnv=dev' -o
"proton-bridge" "/tmp/guix-build-go-github-com-protonmail-proton-
bridge-3.15.1.drv-0/src/github.com/ProtonMail/proton-bridge/v3/cmd/launcher/"
egrep: warning: egrep is obsolescent; using grep -E
egrep: warning: egrep is obsolescent; using grep -E
egrep: warning: egrep is obsolescent; using grep -E
File 'build-nogui' does not exist.
File 'proton-bridge' does not exist.
File 'gofiles' does not exist.
Must remake target 'gofiles'.
Successfully remade target file 'gofiles'.
Must remake target 'proton-bridge'.
go build -tags='' -ldflags '-X github.com/ProtonMail/proton-bridge/v3/
internal/constants.Version=3.15.1+git -X github.com/ProtonMail/proton-bridge/
v3/internal/constants.Revision=NOGIT -X github.com/ProtonMail/proton-bridge/
v3/internal/constants.Tag=NOGIT -X github.com/ProtonMail/proton-bridge/v3/
internal/constants.BuildTime=2024-12-09T18:55:33+0000 -X "github.com/
ProtonMail/proton-bridge/v3/internal/constants.FullAppName=Proton Mail Bridge"
-X github.com/ProtonMail/proton-bridge/v3/internal/constants.BuildEnv=dev' -o
"proton-bridge" "./cmd/Desktop-Bridge/"
File 'build-nogui' does not exist.
# github.com/ProtonMail/proton-bridge/v3/internal/app
internal/app/app.go:105:2: unknown field DisableDefaultText in struct literal
of type "github.com/urfave/cli/v2".BoolFlag
internal/app/app.go:113:2: unknown field DisableDefaultText in struct literal
of type "github.com/urfave/cli/v2".BoolFlag
internal/app/app.go:170:4: unknown field DisableDefaultText in struct literal
of type "github.com/urfave/cli/v2".BoolFlag
internal/app/app.go:176:4: unknown field DisableDefaultText in struct literal
of type "github.com/urfave/cli/v2".BoolFlag
internal/app/app.go:182:4: unknown field DisableDefaultText in struct literal
of type "github.com/urfave/cli/v2".BoolFlag
internal/app/app.go:212:3: unknown field DisableDefaultText in struct literal
of type "github.com/urfave/cli/v2".BoolFlag
make: *** [Makefile:111: proton-bridge] Error 1
make: Leaving directory '/tmp/guix-build-go-github-com-protonmail-proton-
bridge-3.15.1.drv-0/src/github.com/ProtonMail/proton-bridge/v3'
error: in phase 'make-project': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("-e" "-C" "./src/
github.com/ProtonMail/proton-bridge/v3" "--debug=basic" "-j" "4" "build-
nogui") exit-status: 2 term-signal: #f stop-signal: #f>
phase `make-project' failed after 74.2 seconds
command "make" "-e" "-C" "./src/github.com/ProtonMail/proton-bridge/v3" "--
debug=basic" "-j" "4" "build-nogui" failed with status 2
-- Marek Pasnikowski
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Packaging Proton Bridge: Progress Report #1
2024-12-09 19:15 ` Marek Paśnikowski
@ 2024-12-09 19:33 ` Ian Eure
0 siblings, 0 replies; 16+ messages in thread
From: Ian Eure @ 2024-12-09 19:33 UTC (permalink / raw)
To: Marek Paśnikowski; +Cc: help-guix
Hi Marek,
Marek Paśnikowski <marek@marekpasnikowski.pl> writes:
> I copied and extended the invocation of "make" from the
> gnu-build-system:
> (arguments
> (list
> #:phases '(modify-phases
> %standard-phases
> (add-before
> 'build
> 'make-project
> (lambda*
> (#:key (make-flags (list "build-nogui"))
> (parallel-build? #t)
> #:allow-other-keys)
> (invoke "find"
> "."
> "-name"
> "Makefile")
> (invoke "ls"
> "-al"
> "./src/github.com/ProtonMail/proton-bridge/v3")
>
> (apply invoke
> "make"
> "-e"
> "-C"
> "./src/github.com/ProtonMail/proton-bridge/v3"
> "--debug=basic"
> `(,@(if parallel-build?
> `("-j" ,(number->string
> (parallel-job-count)))
> '())
> ,@make-flags)))))
> #:embed-files '(list "children" "nodes" "text")
> #:unpack-path "github.com/ProtonMail/proton-bridge/v3"
> #:import-path
> "github.com/ProtonMail/proton-bridge/v3/cmd/Desktop-
> Bridge"))
>
> I am getting some kind of progress, pasted below. Before
> continuing, I would
> appreciate confirmation whether I am on the right track.
>
You don’t need to copy anything from gnu-build-system, so your
approach is unnecessarily complicated and duplicates work
go-build-system needs to do. Replace the lambda in that phase
with a (lambda _) which calls:
(invoke "make" "gofiles")
Or:
(with-directory-excursion "utils" (invoke "./credits.sh"
"bridge"))
...which is what the Makefile runs to generate the credits source.
-- Ian
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Packaging Proton Bridge: Progress Report #2
2024-11-30 16:26 Packaging Proton Bridge: cryptic compilation failure Marek Paśnikowski
` (2 preceding siblings ...)
2024-12-09 16:24 ` Packaging Proton Bridge: Progress Report #1 Marek Paśnikowski
@ 2024-12-10 10:28 ` Marek Paśnikowski
2024-12-10 14:08 ` Suhail Singh
3 siblings, 1 reply; 16+ messages in thread
From: Marek Paśnikowski @ 2024-12-10 10:28 UTC (permalink / raw)
To: help-guix
I successfully built target bridge-nogui .
The last step required implementation of a 'make' phase in the go build
process. I considered splitting out the go component into its own package, to
be an input of a qt package, but was not able to do it correctly.
Implementation of a go process in the gnu, or qt, build system is not even
worth considering. Thus I settled on invocation of "make" with some flags to
make it work in the go build system.
I also decided against any further optimization of the make invocation,
because I am planning to implement all the build targets defined by upstream,
if possible.
At this point, I need to rest a little. I will test the binary I built, see
if it even works. After that I am going to rewrite the module in a single
style. Only then I will work on the other targets.
I also need to properly learn the peculiarities of the Go build system. I
would not be able to go this far without using random elements found in other
Go packages. It is unfortunate, that the build system reference page is
missing some key concepts in the Go process.
https://guix.gnu.org/manual/en/html_node/Build-Systems.html
Marek Pasnikowski
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Packaging Proton Bridge: Progress Report #2
2024-12-10 10:28 ` Packaging Proton Bridge: Progress Report #2 Marek Paśnikowski
@ 2024-12-10 14:08 ` Suhail Singh
0 siblings, 0 replies; 16+ messages in thread
From: Suhail Singh @ 2024-12-10 14:08 UTC (permalink / raw)
To: Marek Paśnikowski; +Cc: help-guix
Marek Paśnikowski <marek@marekpasnikowski.pl> writes:
> I would not be able to go this far without using random elements found
> in other Go packages. It is unfortunate, that the build system
> reference page is missing some key concepts in the Go process.
> https://guix.gnu.org/manual/en/html_node/Build-Systems.html
Please note that the snapshot version of the manual is available at
<https://guix.gnu.org/manual/devel/en/html_node/Build-Systems.html>
instead. As well, please consider submitting a patch to improve our
existing documentation afterwards.
--
Suhail
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2024-12-10 14:34 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-30 16:26 Packaging Proton Bridge: cryptic compilation failure Marek Paśnikowski
2024-11-30 17:29 ` Ian Eure
2024-11-30 18:08 ` Cayetano Santos
2024-11-30 18:56 ` Marek Paśnikowski
2024-11-30 19:22 ` Ian Eure
2024-12-05 16:37 ` sebastien
2024-12-06 13:34 ` woshilapin
2024-12-06 18:01 ` Marek Paśnikowski
2024-12-09 16:24 ` Packaging Proton Bridge: Progress Report #1 Marek Paśnikowski
2024-12-09 16:38 ` Ian Eure
2024-12-09 16:47 ` Marek Paśnikowski
2024-12-09 16:52 ` Ian Eure
2024-12-09 19:15 ` Marek Paśnikowski
2024-12-09 19:33 ` Ian Eure
2024-12-10 10:28 ` Packaging Proton Bridge: Progress Report #2 Marek Paśnikowski
2024-12-10 14:08 ` Suhail Singh
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.