Opened 8 weeks ago

Last modified 7 weeks ago

#69601 assigned defect

Installing recent versions of yq or wget installs libnetpbm which has a full X11/UI list of dependencies

Reported by: tux-o-matic (Benjamin Merot) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: herbygillot (Herby Gillot), MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), Dave-Allured (Dave Allured)
Port: wget yq groff

Description

For some reason, trying to upgrade wget and yq which are both CLI tools, I see a full log of dependencies related to GUI libraries. Such as: (if I list them with "port reclaim"):

 ghostscript  @10.03.0_0+x11
 xorg-libXext  @1.3.6_0
 xorg-libXt  @1.3.0_0
 xorg-libX11  @1.8.8_0
 xorg-libxcb  @1.16.1_0+python312
 xorg-xcb-proto  @1.16.0_0+python311
 xorg-util-macros  @1.20.0_0
 xorg-xtrans  @1.5.0_0
 xorg-libXau  @1.0.11_0
 xorg-libsm  @1.2.4_0
 xorg-libice  @1.1.1_0
 xorg-xorgproto  @2023.2_0
 xorg-libXdmcp  @1.1.5_0

Change History (7)

comment:1 Changed 8 weeks ago by jmroot (Joshua Root)

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

For wget the dependency comes in via gpgme: gnupg2 -> openldap -> (build-time dependency only) groff -> netpbm

OTOH, yq has a build time dependency on pandoc, which depends on pretty much everything.

comment:2 Changed 8 weeks ago by herbygillot (Herby Gillot)

That was added in this PR here: https://github.com/macports/macports-ports/pull/22893

A lot of projects use pandoc to generate documentation, but it's definitely a very heavy dependency.

comment:3 Changed 8 weeks ago by ryandesign (Ryan Carsten Schmidt)

It is reasonable to have pandoc as a dependency of a -docs port that only installs documentation (assuming pre-generated documentation is not available) but I don't think it's reasonable to require it for a regular port.

yq should install a pre-generated manpage. The yq project publishes that at https://github.com/mikefarah/yq/releases/download/v4.43.1/yq_man_page_only.tar.gz

Last edited 8 weeks ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:4 in reply to:  1 Changed 8 weeks ago by ryandesign (Ryan Carsten Schmidt)

Cc: MarcusCalhoun-Lopez added
Port: groff added

Replying to jmroot:

For wget the dependency comes in via gpgme: gnupg2 -> openldap -> (build-time dependency only) groff -> netpbm

groff's netpbm dependency has been there for 13 years however the developer of groff says "With the distributed tarballs, there is *no* dependency on Netpbm!"

comment:5 Changed 8 weeks ago by tux-o-matic (Benjamin Merot)

Thanks for finding the root cause of this. The experience is even more painful on one of my x86 systems which fails on the compilation of netpbm. So not only all those build time dependencies for popular CLI tools feel unnecessary, but they introduce a higher risk of breaking the upgrade of other Ports.

comment:6 Changed 8 weeks ago by ryandesign (Ryan Carsten Schmidt)

If you're not sure of the cause of that netpbm build failure please file a separate ticket about it so I can take a look.

comment:7 Changed 7 weeks ago by Dave-Allured (Dave Allured)

Cc: Dave-Allured added
Note: See TracTickets for help on using tickets.