Opened 6 months ago

Last modified 6 days 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 (8)

comment:1 Changed 6 months 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 6 months 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 6 months 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 6 months ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:4 in reply to:  1 Changed 6 months 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 6 months 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 6 months 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 6 months ago by Dave-Allured (Dave Allured)

Cc: Dave-Allured added

comment:8 Changed 6 days ago by SaintBol

Same issue with wget2 found today (wget2 @2.1.0_1), wanting groff, wanting netpbm, and so on.

Note: See TracTickets for help on using tickets.