[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
Wed Nov 20 09:33:03 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 lcvisser):

 Replying to [comment:12 ryandesign]:

 > I can't find any current MacPorts bug reports about py312-pluggy. Please
 file individual tickets for each port that fails to build so that it can
 be investigated and fixed.

 The problem is not in py312-pluggy itself but elsewhere; py312-pluggy just
 happened to be the first one to trip over it. I'm still trying to figure
 out what is going on exactly.

 > That's not an actionable suggestion. If you have specific knowledge of a
 dependency that is not needed somewhere, please file a bug report or pull
 request with appropriate evidence. It's certainly possible that a
 dependency used to be needed by some port but then it was updated to a new
 version that doesn't need it anymore and we didn't notice. Or a dependency
 could have been added erroneously. But for each dependency that you
 believe a port doesn't need, some investigation would have to happen by
 you or someone else to confirm it and take the appropriate action. For
 example, if a dependency is optional and we want to remove it, we
 additionally must ensure that it does not get used if it happens to be
 installed, otherwise builds are not [wiki:ReproducibleBuilds
 reproducible].

 Aside from the X11 dependencies I also see `libusb`, 6 versions of
 `docbook-xml`, a ton of Python and Perl packages (while wget is written in
 C). I suspect that a lot of these dependencies get pulled in for the build
 process, perhaps for documentation generation.  Perhaps "should not be
 there" is not the best wording from my side, but it would be nice if there
 was a way to "opt-out" of them, e.g. via a variant.

 > I'm sorry to hear that; that's obviously not the experience we want
 users to have. We can't fix problems we don't know about, so report each
 problem you find, presuming reports do not already exist for those
 problems.

 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.

 >
 > > I'd be very happy to spend that time in contributing to a solution
 (cutting down the dependency list) instead, but not sure where to start.
 Some pointers?
 >
 > Well Josh said:
 >
 > > Replying to [comment:1 jmroot]:
 > > > For wget the dependency comes in via gpgme: gnupg2 -> openldap ->
 (build-time dependency only) groff -> netpbm
 >
 > And I replied:
 >
 > Replying to [comment:4 ryandesign]:
 > > groff's netpbm dependency has been there
 [changeset:37fbab0efe1bd3435a92c643c77b690e7b1700e9/macports-ports for 13
 years] however
 [https://lists.gnu.org/archive/html/groff/2014-03/msg00125.html the
 developer of groff says] "With the distributed tarballs, there is *no*
 dependency on Netpbm!"
 >
 > I can remove the netpbm dependency, if it's truly not needed, however
 that still leaves ghostscript which also depend on X11 when its x11
 variant is selected, which it is by default.
 >
 > And I'm not convinced that netpbm is not needed. The groff Portfile says
 the reason the dependencies are there is because they are specified in
 groff's README, and indeed they are:
 >
 > > {{{
 > > Ghostscript is required for creation of PDF and (X)HTML output.
 > > Production of (X)HTML furthermore demands tools from the 'netpbm' and
 > > 'psutils' packages.
 > > }}}
 >
 > Perhaps a new discussion needs to be had with the developer of groff to
 get to the bottom of it. Is the README out of date? Or, if the README
 remains accurate, is it the case that we have no need for MacPorts groff
 to produce (X)HTML and we can therefore instruct it not to use netpbm or
 psutils? If you'd like to start that discussion with the developer, or if
 you find an existing discussion that answers the question, please provide
 a link to it here.


 Is it possible to use the `port` utility to systematically trace
 dependencies? I'd be interested to learn what the dependency tree looks
 like and if there are port variants that can cut down the tree a bit (seem
 like installing Ghostscript without the x11 variant would be a good
 start...)

 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.[https://trac.macports.org/ticket/69650]) that are facing similar
 problems.

-- 
Ticket URL: <https://trac.macports.org/ticket/69601#comment:13>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list