[MacPorts] #72645: R-ellipsis @0.3.2: configure failure due to wrong github.tarball_from (was: R-ellipsis configure failure)
MacPorts
noreply at macports.org
Sun Jul 13 01:13:09 UTC 2025
#72645: R-ellipsis @0.3.2: configure failure due to wrong github.tarball_from
-------------------------+--------------------------
Reporter: marcbn | Owner: barracuda156
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords:
Port: R-ellipsis |
-------------------------+--------------------------
Changes (by ryandesign):
* status: new => assigned
* owner: (none) => barracuda156
* cc: barracuda156 (removed)
* cc: jmroot (added)
Comment:
Replying to [ticket:72645 marcbn]:
> Looks like maybe the files are getting unzipped in the wrong directory:
r-lib-ellipsis-ec6b2f5 instead of ellipsis-0.3.2?
Yes, and there is a long explanation for why.
MacPorts used to automatically rename wrong extract directories. This
feature was found to cause more problems than it solved and was removed.
Ports that want this behavior must now opt in by setting `extract.rename
yes` if they cannot specify the correct extracted directory name in
`worksrcdir`.
The github portgroup automatically sets `extract.rename yes` when it is
used to get an automatically-generated tarball (`github.tarball_from` has
the value `tarball` or `archive`) because GitHub's automatically-generated
tarballs use unpredictable extracted directory names. Ports downloading
releases from GitHub (`github.tarball_from` has the value `releases`) do
not get `extract.rename yes` automatically since they usually don't need
it since release tarballs are named predictably when they are manually
created by the developers.
This port uses the github portgroup indirectly via the R portgroup.
Back when this port was last updated, the github portgroup defaulted to
`github.tarball_from tarball`. This value was deprecated but many portfile
authors did not realize this, so its use continued. This was recently
changed: all ports that use the github portgroup and that did not already
specify a value for `github.tarball_from` were changed to explicitly
specify `github.tarball_from tarball` and then the default in the
portgroup was changed: ports that fetch from a tag now default to
`github.tarball_from releases` and those that fetch from a commit default
to `github.tarball_from archive`. As ports are updated, ports that specify
`github.tarball_from tarball` should switch to one of the other two
values, whichever is correct for that project.
When this change was made, I assume that only ports that include the
github portgroup were fixed. Since this port does not directly include the
github portgroup, it was not fixed, and so it now fetches from the wrong
upstream location:
{{{
% sudo port clean --all R-ellipsis
---> Cleaning R-ellipsis
% sudo port fetch --no-mirrors R-ellipsis
---> Fetching distfiles for R-ellipsis
---> Attempting to fetch ellipsis-0.3.2.tar.gz from
https://github.com/r-lib/ellipsis/releases/download/v0.3.2
Error: Failed to fetch R-ellipsis: The requested URL returned error: 404
}}}
This project doesn't offer release downloads so trying to fetch from
releases is wrong.
When this fails, MacPorts tries to get the file from our mirrors, where it
finds a copy of the automatically-generated tarball we had originally
mirrored. However MacPorts thinks it has received a release download, one
for which the extract directory does not need to be renamed.
This needs to be corrected in this port and all other ports that use the
github portgroup indirectly that don't already specify
`github.tarball_from` by adding these lines to them:
{{{
# Change github.tarball_from to 'releases' or 'archive' next update
github.tarball_from tarball
}}}
Looks like this was already [ticket:72232 noticed with another R module,
R-magrittr], but only that port was fixed. Let's fix all of the remaining
ports this time.
--
Ticket URL: <https://trac.macports.org/ticket/72645#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list