unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* 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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).