Opened 15 months ago

Closed 15 months ago

Last modified 15 months ago

#68051 closed defect (fixed)

git: depends on xorg?

Reported by: vareille Owned by: mascguy (Christopher Nielsen)
Priority: High Milestone:
Component: ports Version:
Keywords: Cc: herbygillot (Herby Gillot), dbevans (David B. Evans), kencu (Ken), ci42
Port: git

Description (last modified by ryandesign (Ryan Carsten Schmidt))

git is CLI tool, it shoudn't depend on GUI tools

--->  Computing dependencies for git
The following dependencies will be installed: 
 aom
 brotli
 bzip2
 cairo
 curl
 curl-ca-bundle
 dav1d
 db48
 expat
 fontconfig
 freetype
 gd2
 gdbm
 gdk-pixbuf2
 gettext
 gettext-runtime
 gettext-tools-libs
 giflib
 glib2
 gobject-introspection
 icu
 kerberos5
 legacy-support
 lerc
 libavif
 libcomerr
 libde265
 libdeflate
 libedit
 libffi
 libheif
 libiconv
 libidn
 libidn2
 libjpeg-turbo
 libpixman
 libpng
 libpsl
 libtextstyle
 libunistring
 libxml2
 libyuv
 lmdb
 lz4
 ncurses
 nghttp2
 openssl
 openssl3
 ossp-uuid
 p5.34-authen-sasl
 p5.34-business-isbn
 p5.34-business-isbn-data
 p5.34-cgi
 p5.34-clone
 p5.34-compress-raw-bzip2
 p5.34-compress-raw-zlib
 p5.34-digest-hmac
 p5.34-digest-sha1
 p5.34-encode
 p5.34-encode-locale
 p5.34-error
 p5.34-file-slurper
 p5.34-gd
 p5.34-gd-barcode
 p5.34-getopt-long
 p5.34-gssapi
 p5.34-html-parser
 p5.34-html-tagset
 p5.34-http-date
 p5.34-http-message
 p5.34-io-compress
 p5.34-io-compress-brotli
 p5.34-io-html
 p5.34-io-socket-ip
 p5.34-io-socket-ssl
 p5.34-lwp-mediatypes
 p5.34-math-complex
 p5.34-mojolicious
 p5.34-mozilla-ca
 p5.34-net-libidn
 p5.34-net-smtp-ssl
 p5.34-net-ssleay
 p5.34-regexp-ipv6
 p5.34-socket
 p5.34-term-readkey
 p5.34-time-hires
 p5.34-time-local
 p5.34-timedate
 p5.34-uri
 pcre2
 perl5.34
 pkgconfig
 popt
 py311-mako
 py311-markdown
 py311-markupsafe
 py311-setuptools
 python311
 python3_select
 python_select
 rav1e
 readline
 rsync
 shared-mime-info
 sqlite3
 svt-av1
 tiff
 webp
 x265
 xorg-libX11
 xorg-libXau
 xorg-libXdmcp
 xorg-libXext
 xorg-libXt
 xorg-libice
 xorg-libsm
 xorg-libxcb
 xorg-xcb-proto
 xorg-xcb-util
 xorg-xorgproto
 xpm
 xrender
 xxhashlib
 xz
 zlib
 zstd

Attachments (1)

p5.34-uri-test-10.15.log (12.0 KB) - added by mascguy (Christopher Nielsen) 15 months ago.

Download all attachments as: .zip

Change History (10)

comment:1 Changed 15 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: herbygillot added
Description: modified (diff)
Keywords: yosemite added
Owner: set to ci42
Status: newassigned
Summary: on Yosemite, git depends on xorg ?git: depends on xorg?

You can verify from the output of port deps git or by reading the git Portfile that it does not contain the string "xorg" so it does not directly depend on any xorg port. But one or more of the ports it does depend on do depend on xorg.

It looks like you can eliminate the xorg and perl dependencies by deselecting the perl5_34 variant:

sudo port clean git
sudo port install git -perl5_34

comment:2 Changed 15 months ago by jmroot (Joshua Root)

Cc: dbevans added
Keywords: yosemite removed

This is a recent change as a result of [8d8aacda7b094c9d234529201335729a0d1ac618/macports-ports]. The dependency chain now includes p5.34-uri -> p5.34-business-isbn -> p5.34-gd-barcode -> p5.34-gd -> gd2 and from there all manner of ports for the wide range of image and video formats that gd2 can work with.

comment:3 Changed 15 months ago by mascguy (Christopher Nielsen)

Cc: mascguy added

comment:4 Changed 15 months ago by mascguy (Christopher Nielsen)

Priority: NormalHigh

This is now a critical issue, given the dependency hell involved.

A great example is libyuv, which I just updated. Unfortunately it requires git at build time, which results in the following disaster:

--->  Dependencies to be installed: git p5.34-cgi p5.34-html-parser p5.34-http-message p5.34-uri p5.34-business-isbn p5.34-gd-barcode p5.34-gd gd2 libavif libyuv
Error: The following dependencies were not installed because all of them have unmet dependencies (likely due to a dependency cycle): git p5.34-cgi p5.34-html-parser p5.34-http-message p5.34-uri p5.34-business-isbn p5.34-gd-barcode p5.34-gd gd2 libavif libyuv

With p5-business-isbn, a boatload of things are pulled in, including gd2. The latter then depends on libavif, which depends on - drumroll, please - libyuv.

Changing the priority to high, as this is seriously problematic...

comment:5 Changed 15 months ago by mascguy (Christopher Nielsen)

Cc: kencu added

Of note, the collateral damage will continue to expand quite broadly: This mess pulls in rav1e, by way of libavif and libheif. And gd2 depends on both of those.

Shall we revert the update to p5-business-isbn, before we're inundated with tickets?

comment:6 Changed 15 months ago by mascguy (Christopher Nielsen)

Reviewing META.json for p5-uri, p5-business-isbn is suggested, rather than required:

      "runtime" : {
         "requires" : {
            "Carp" : "0",
            "Cwd" : "0",
            "Data::Dumper" : "0",
            "Encode" : "0",
            "Exporter" : "5.57",
            "MIME::Base64" : "2",
            "Net::Domain" : "0",
            "Scalar::Util" : "0",
            "constant" : "0",
            "integer" : "0",
            "overload" : "0",
            "parent" : "0",
            "perl" : "5.008001",
            "strict" : "0",
            "utf8" : "0",
            "warnings" : "0"
         },
         "suggests" : {
            "Business::ISBN" : "3.005",
            "Regexp::IPv6" : "0.03"
         }
      },

And indeed, after removing lib dep p5-business-isbn - and running tests in trace mode - they all pass. (Apart from one involving p5-business-isbn, which is correctly skipped.) See attached log; filename: p5.34-uri-test-10.15.log

So perhaps removing that dependency, along with a rev-bump, is the easy solution? (Though we probably want to remove that dependency from the meta files - and patch the tests too, if necessary - to prevent opportunistic use.)

Changed 15 months ago by mascguy (Christopher Nielsen)

Attachment: p5.34-uri-test-10.15.log added

comment:7 Changed 15 months ago by mascguy (Christopher Nielsen)

Cc: mascguy removed
Owner: changed from ci42 to mascguy

comment:8 Changed 15 months ago by Christopher Nielsen <mascguy@…>

Resolution: fixed
Status: assignedclosed

In e692ad749145ed4b4ccf4320c67a90a2144e8c3e/macports-ports (master):

p5-uri: drop optional dep p5-business-isbn

  • Said dep brings a boatload of backage, including graphic ports, impacting git and other ports.
  • More importantly, p5-business-isbn causes a dependency cycle, for some ports that depend on git.

Fixes: #68051
See: #68026

comment:9 Changed 15 months ago by mascguy (Christopher Nielsen)

Cc: ci42 added

Sorry, inadvertently dropped the original owner when reassigning this ticket. But for anyone that missed the previous update, this ticket has been fixed.

See: comment:8

Note: See TracTickets for help on using tickets.