#39782: Add keyword to list compatible graphical environments (X11, Quartz, Wayland)? --------------------------+-------------------------------- Reporter: c.herbig@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: base | Version: Resolution: | Keywords: Port: | --------------------------+-------------------------------- Comment (by c.herbig@…): Let's back up a bit. Here is the problem (though a small one) the way I see it, with gnumeric as an example: {{{ port info gnumeric gnumeric @1.10.17, Revision 4 (gnome, math) Variants: python25, python26, [+]python27, universal Description: A spreadsheet with GNOME support. Homepage: http://projects.gnome.org/gnumeric/ Extract Dependencies: xz Build Dependencies: gnome-doc-utils, intltool, pkgconfig Library Dependencies: desktop-file-utils, rarian, goffice08, libglade2, libpng, py27-gobject Runtime Dependencies: yelp Platforms: darwin License: GPL-2 Maintainers: nomaintainer@macports.org }}} There is no indication at all that gnumeric is compatible with a +quartz environment, unless you already happened to know that it is. This is because the gtk dependency is what handles all of the +quartz stuff. However, some sort of keyword, such as graphics_env, could be appended to the portfile to proclaim this to the user, so that port info would give this: {{{ gnumeric @1.10.17, Revision 4 (gnome, math) Variants: python25, python26, [+]python27, universal Graphics_env: X11, Quartz Description: A spreadsheet with GNOME support. Homepage: http://projects.gnome.org/gnumeric/ Extract Dependencies: xz Build Dependencies: gnome-doc-utils, intltool, pkgconfig Library Dependencies: desktop-file-utils, rarian, goffice08, libglade2, libpng, py27-gobject Runtime Dependencies: yelp Platforms: darwin License: GPL-2 Maintainers: nomaintainer@macports.org }}} Thus the user would know that it is in fact an option to use port install gnumeric +quartz. In the future, once Wayland is more common, it could also be proclaimed in the portfile. Currently though, the only way to display a port's compatibility with +quartz is to either add it to the long_description or to create a variant that does nothing, which as mentioned above is rather silly. Now, a solution that won't work: recursively append the variants of dependentcies to the list of variants on the port file. That is to say, it is not ok to look at gtk and see that it has a +quartz and then simply append it to the description of gnumeric. Why? There are some ports, gnome-chemistry-utils for example, that compile fine with X11, yet will fail with +quartz, even though gtk was compiled +quartz. This is because some ports have direct X11 calls and includes in them, <gdk/gdkx.h> seems to be a common culprit. So, you can't just assume that because the deps work with +quartz that the final program will. This can be a rude surprise to someone who has been waiting hours for their requested ports to compile, and is suddenly left without. The reason I am so interested in this is because I feel very strongly that +quartz is a great feature for the end user, and is a great feature that sets MacPorts apart from Fink (unless they have added this in the last year) and Homebrew. So, I'm not saying that my solution is the only way to do it and that it has to be implemented by next tuesday, but that I would like to encourage thought and discussion to be given in how to improve the visibility of the +quartz option. -- Ticket URL: <https://trac.macports.org/ticket/39782#comment:6> MacPorts <http://www.macports.org/> Ports system for OS X