Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#51462 closed defect (fixed)

gtk3 variant quartz does not need mesa -> results in X install (PATCH)

Reported by: fredowski Owned by: jeremyhu (Jeremy Huddleston Sequoia)
Priority: Normal Milestone:
Component: ports Version: 2.3.4
Keywords: Cc: su-v, dbevans (David B. Evans)
Port: gtk3

Description

The gtk3 package depends on the mesa package which depends on X

For the quartz variant, the mesa package should not be listed as dependency as the quartz variant will not use X and does not depend on mesa. This will avoid to install the complete X system into the installation.

I attached a patch for the gtk3 portfile that move the mesa port dependency to the x11 variant section.

Attachments (1)

Portfile.diff (730 bytes) - added by fredowski 8 years ago.

Download all attachments as: .zip

Change History (5)

Changed 8 years ago by fredowski

Attachment: Portfile.diff added

comment:1 Changed 8 years ago by su-v

Cc: suv-sf@… added

Cc Me!

comment:2 Changed 8 years ago by mf2k (Frank Schima)

Cc: devans removed
Keywords: gtk3 quartz mesa removed
Owner: changed from macports-tickets@… to devans@…

Trac requires complete email addresses.

comment:3 Changed 8 years ago by dbevans (David B. Evans)

Cc: devans@… added
Owner: changed from devans@… to jeremyhu@…

I'm going fishing for the next month so I'm going to refer this one to jeremyhu who is backing me up in the interim.

comment:4 Changed 8 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: newclosed

Well, I'm still here so I'll handle this anyway. Fixed in r149002. The mesa dependency here was introduced due to libepoxy which is required by gtk3 for both +quartz and +x11 builds. libepoxy uses mesa at build time to establish its glx dispatch table but does not explicitly link with mesa. This means that, as you say, mesa only needs to be installed for glx to work on the +x11 build. I tested this this morning to be sure.

BTW, this also means that if you are building from scratch (libepoxy is not installed yet), mesa and its X11 dependencies will be installed as build dependencies of libepoxy but you can remove them after libepoxy is installed if using strictly +quartz.

Other dependencies of gtk3 (cairo, pango) build with +quartz +x11 by default (and without conflict) so if you really want an X11 free environment then you need to use +quartz -x11 as your default variants. The old +no_x11 that is mentioned in some outdated documentation is not necessary in any circumstance as it is no longer used in MacPorts having been entirely replaced by -x11.

Thanks for your ticket and patch.

Last edited 8 years ago by dbevans (David B. Evans) (previous) (diff)
Note: See TracTickets for help on using tickets.