Re: Help with complicated go port update (multimedia/navidrome)
- In reply to: Jesús_Daniel_Colmenares_Oviedo : "Re: Help with complicated go port update (multimedia/navidrome)"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 24 Aug 2025 20:51:49 UTC
It’s been educational watching this thread. Doing it the Uses/go.mk way is correct. modules2tuples is outdated and doesn’t produce working output in all cases. It either needs to be improved or to go away completely. I think we also need better instructions. The section in the PHB (https://docs.freebsd.org/en/books/porters-handbook/uses/#uses-go) has great info on the what, but not the how. If somebody wants to take a whack at improving it, it’d make a real difference. Also, we need an easy way to say “use this go.mod” (say in $FILESDIR) and have it DTRT. If somebody wants to look at that, that’d be a huge improvement for go.mk. — Adam Weinberger adamw@adamw.org https://www.adamw.org > On Aug 24, 2025, at 15:23, Jesús Daniel Colmenares Oviedo <dtxdf@freebsd.org> wrote: > > Hi Kevin, > > I have updated Navidrome in my personal tree. You can see the diff here [1], however, as you can see, there are things that may not make sense to you, such as MASTER_SITES and DISTFILES. This is how I prefer to generate assets [2] (so I don't use the Makefile to generate the assets either, which is why I've removed those parts), but you can change it according to your preferences. > > As you can see, GO_MODULE takes on most of the responsibility, which greatly simplifies porting. You only need to be aware of the go.mod file. Occasionally, you may encounter a project with an outdated go.mod file when proxy.golang.org is used. In such cases, you will need to retrieve it from the most up-to-date location, such as the upstream repository. See also net/dataplaneapi for an example. > > Just one last note: BROKEN_arm64 seems to be a typo, so I renamed it to BROKEN_aarch64 and portclippy no longer complains. However, reading the reason, perhaps generating the assets outside the ports framework on a compatible arch could help. This might make sense if the assets are just static files. > > > [1] https://people.freebsd.org/~dtxdf/patches/navidrome-0.58.0.diff > > [2] https://github.com/DtxdF/port-assets-makejails/blob/main/navidrome/Makejail#L13 >