#66833 closed defect (fixed)

ipfs @0.18.1: Build failed - no files matched glob pattern

Reported by: 5nefarious (Arvin Ignaci) Owned by: herbygillot (Herby Gillot)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc: sirn (Kridsada Thanabulpong), mascguy (Christopher Nielsen), catap (Kirill A. Korinsky)
Port: ipfs beets beets-devel

Description

I'm trying to install beets, which seems to have a dependency on ipfs. However, it looks like there's an incorrect glob pattern in the ipfs portfile.

Error: Failed to extract ipfs: no files matched glob pattern "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_ipfs/ipfs/work/kubo-*"
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_ipfs/ipfs/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there
is a bug.

Note: This is on an Apple Silicon machine, if that is relevant.

Change History (11)

comment:1 Changed 22 months ago by jmroot (Joshua Root)

Cc: sirn added
Owner: set to herbygillot
Status: newassigned

Looks like a bug in the golang portgroup.

comment:2 Changed 22 months ago by jmroot (Joshua Root)

Hm, or maybe partially a mismatch of expectations with what this port is doing. The distfile go-ipfs-source.tar.gz contains the source with no enclosing directory. Normally you'd set extract.mkdir to handle this, but the portgroup sets worksrcdir to gopath/src/${go.package} while also expecting the source to initially not be in there (extract.mkdir creates $worksrcdir for you and extracts the source inside it). The Portfile sets extract.dir ${workpath}/${go.author}-${go.project}-${version} presumably in an attempt to extract to a different directory, but that's not really what that does, it just controls what is the current working directory when the extract command is run. And then the github portgroup is used, which defaults to extract.rename yes, which renames the extracted directory to $distname. The portgroup expects to find either ${workpath}/${go.author}-${go.project}-*, ${workpath}/${go.project}, or ${workpath}/${go.project}-*.

Seems like the portgroup is being a bit too clever for its own good, and should just do nothing if the source is already in the correct place in $worksrcdir.

Last edited 22 months ago by jmroot (Joshua Root) (previous) (diff)

comment:3 Changed 19 months ago by mascguy (Christopher Nielsen)

Cc: mascguy catap added

comment:4 Changed 18 months ago by mascguy (Christopher Nielsen)

Port: beets beets-devel added

While this port only has two dependents at the moment, it still needs to be fixed: It's blocking Kirill's ports beets and beets-devel.

comment:5 Changed 18 months ago by Christopher Nielsen <mascguy@…>

In 85a3e8b3a23fe272c3e8173e0b50b14c5728544c/macports-ports (master):

ipfs: fix extract, via go.author/go.project
See: #66833

comment:6 in reply to:  2 Changed 18 months ago by mascguy (Christopher Nielsen)

Replying to jmroot:

Seems like the portgroup is being a bit too clever for its own good, and should just do nothing if the source is already in the correct place in $worksrcdir.

The extract was easily fixed, by declaring go.author and go.project. However, the port fails to build with the following, suggesting that perhaps the update might be premature? Or alternatively, something else needs to be declared/setup, to work around this:

# github.com/lucas-clemente/quic-go/internal/qtls/vendor/github.com/lucas-clemente/quic-go/internal/qtls/go120.go:5:13:
cannot use "The version of quic-go you're using can't be built on Go 1.20 yet. For more details, please see https://github.com/lucas-clemente/quic-go/wiki/quic-go-and-Go-versions."
(untyped string constant "The version of quic-go you're using can't be built on Go 1.20 yet. F...) as int value in variable declaration
make: *** [cmd/ipfs/ipfs] Error 1

Herby, can you either fix, or revert to the last known working version?

comment:7 Changed 18 months ago by herbygillot (Herby Gillot)

comment:8 Changed 18 months ago by catap (Kirill A. Korinsky)

Herby, that brokes ipfs port for everything below 10.12 :(

comment:9 in reply to:  8 Changed 18 months ago by mascguy (Christopher Nielsen)

Replying to catap:

Herby, that brokes ipfs port for everything below 10.12 :(

Given that this is only being used for beets/beets-devel, it might be better to simply have a consistent version across all releases. So simply reverting to the previous version across-the-board is fine too...

comment:10 Changed 18 months ago by catap (Kirill A. Korinsky)

From another hand I may drop such dependency in beets. It requires by ipfs plugin: https://docs.beets.io/en/stable/plugins/ipfs.html

comment:11 Changed 18 months ago by catap (Kirill A. Korinsky)

Resolution: fixed
Status: assignedclosed

In 6809630b59da3e70408738e40d355cb8ed77d2a6/macports-ports (master):

ipfs: pin version for macOS up to 10.12

Closes: #66833

Note: See TracTickets for help on using tickets.