[MacPorts] #69601: Installing recent versions of yq or wget installs libnetpbm which has a full X11/UI list of dependencies
MacPorts
noreply at macports.org
Thu Nov 21 03:22:10 UTC 2024
#69601: Installing recent versions of yq or wget installs libnetpbm which has a
full X11/UI list of dependencies
----------------------------+------------------------
Reporter: tux-o-matic | Owner: ryandesign
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords:
Port: wget yq groff |
----------------------------+------------------------
Comment (by ryandesign):
Replying to [comment:13 lcvisser]:
> Aside from the X11 dependencies I also see `libusb`,
The first path to get to the libusb dependency from wget is that wget
depends on gpgme which depends on gnupg2 which depends on libusb-compat
which depends on libusb. I have not attempted to investigate whether all
of those dependencies are actually used for anything useful. There may be
more paths to a libusb dependency; `port rdeps` only shows the first one,
unless the `--full` flag is used, which I never do because in my opinion
it produces an unusably large volume of output.
> 6 versions of `docbook-xml`,
wget depends on libproxy which depends on vala which depends on docbook-
xml which depends on the several versions of docbook-xml. Possibly, vala
could be changed to depend on the specific version of docbook-xml that it
requires, but I don't think that will result in a large disk space or time
savings.
> a ton of Python and Perl packages (while wget is written in C).
Many of the perl dependencies come from git. wget -> libproxy -> vala ->
graphviz -> gd2 -> libheif -> aom -> git.
aom's git dependency is questioned in #66061.
git used to be written in perl and thus required various perl modules but
over time most of its functionality has been rewritten in C. You can opt
out of the remaining perl functionality of the git port by installing it
while deselecting the perl5_34 variant. I've started doing that on the
MacPorts buildbot worker machines as I too was annoyed by having to
install a bunch of perl modules, and then wrangle them when the default
version of perl in MacPorts changed. It's worth investigating, in a
separate ticket, if git's remaining perl functionality could be moved to a
separate port or subport.
Various ports in the dependency chain have dependencies on python modules.
For example, meson is a build system written in python. wget -> libproxy
-> vala -> glib2 -> meson.
vala is a programming language. libproxy depends on vala so that it can
provide language bindings that can be used to access libproxy from vala
programs. It's worth investigating, in another ticket, if those language
bindings could be in a separate port or subport.
> it would be nice if there was a way to "opt-out" of them, e.g. via a
variant.
You have to be careful with moving functionality to variants because ports
can't depend on variants of other ports (see #126) (other than by using
the active_variants 1.1 portgroup, which requires manual user intervention
and thus cannot work on the buildbot machines). Ports must therefore
include all functionality that any other port might depend on. Where
possible, optional functionality that only some users or other ports might
need should be moved to subports. However, some build systems make this
difficult or impossible.
> I'm in a non-standard situation (corporate machine, no administrator
rights, illegal group names with spaces, etc.) and build everything from
source, so a lot of the problems I'm seeing are not MacPorts fault. I'm
therefore hesitant to file a bug reports, unless I'm absolutely sure it's
not due to my edge case configuration.
Non-root MacPorts installations are supposed to be supported, though
because they're not the default problems do creep in from time to time,
which we do want to know about. Illegal group names with spaces are
annoying but we have made changes to MacPorts in the past to accommodate
them so I would not be opposed to seeing bug reports about such problems
so they can be fixed. And often, by building from source you might simply
be the first to run into a problem that others haven't seen yet because
they received a binary we built before some problem existed, so those
reports are valuable as well.
> I'm not trying to be a smart ass. I've been using macports since my
first Mac (Snow Leopard) and 99/100 times it works flawlessly. I'm aware
that I'm in an unusual configuration which makes my life a bit harder than
most users, but I'm hoping to see if I can contribute back for the few
others (e.g. #69650) that are facing similar problems.
No worries; we are happy to have bug reports and especially fixes.
#69650, as far as I could tell, is specific to that user's system; it is
not a general problem with non-root installations, for example, since I
couldn't reproduce the problem.
--
Ticket URL: <https://trac.macports.org/ticket/69601#comment:18>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list