[MacPorts] #60511: move to quartz as default backend

MacPorts noreply at macports.org
Sun Jun 7 05:45:05 UTC 2020


#60511: move to quartz as default backend
-------------------------------------------------+-------------------------
  Reporter:  ra1nb0w                             |      Owner:  dbevans
      Type:  enhancement                         |     Status:  assigned
  Priority:  Normal                              |  Milestone:
 Component:  ports                               |    Version:
Resolution:                                      |   Keywords:
      Port:  R Togl VLC VLC2 avahi cairo cairo-  |
  devel cairomm cherrytree clutter cogl          |
  gWakeOnLAN gconf gegl gegl-0.3 gegl-devel      |
  geoclue2 glade glib2 glib2-devel glibmm        |
  gnome-themes-extra gnubg gnucash-docs gtk-     |
  sharp2 gtk2 gtk3 gtkextra3 gtkimageview gtkmm  |
  gtkmm3 gtkspell2 inkscape inkscape-devel       |
  inkscape-gtk3-devel lablgtk2 libVLC libVLC2    |
  librsvg meld netgen opencolorio pan2 pango     |
  pango-devel pangomm pdfpc pidgin pspp pspp-    |
  devel py-cairo py-gobject py-pygtk reinteract  |
  tix tk tkdnd tkimg tktable ufraw webkit2-gtk   |
  webkit2-gtk-devel wxgtk-3.0                    |
-------------------------------------------------+-------------------------

Comment (by ryandesign):

 For all the libraries that can be built in either X11 or Quartz flavor but
 not both, we currently have variants. Moving that to subports does seem
 like it would help this transition because then it would be possible to
 have both X11 and Quartz versions installed at the same time and the ports
 for apps that use those libraries could transition from one to the other
 on their own timetable. This would be a lot of work, because each of those
 library ports would need to modify its build process to install to
 different locations, and each of the ports using each of those library
 ports would need to be modified to find those libraries in those new
 locations.

 The x11 variants of gtk2 and gtk3 do already depend on the needed X11
 libraries. They don't depend on xorg-server because they don't require it.
 They require ''an'' X11 server, but that could be from the xorg-server
 port, or a manually-installed Xquartz, or Apple's X11 app on old versions
 of Mac OS X, or even theoretically a server running on a different
 computer. There are many other ports that we handle in this way. For
 example phpmyadmin is used to administer a MySQL server, but it does not
 depend on a mysql*-server port because it does not require the MySQL
 server to be one provided by MacPorts or even one running on the same
 machine.

 There has been discussion elsewhere about wanting to make it easier for
 users to use software that needs an X11 server. That's a great goal but
 let's make sure we do it correctly and in a way that works for all ports,
 not just individual ones. One proposal was to add a dependency on xorg-
 server despite the fact that that's not strictly speaking required. If we
 do that, we need to decide what port to do it in. Just gtk2 and gtk3
 because they're central libraries? Does that cover all the bases? Or do we
 do it in the port of every end user app that ultimately displays an X11
 interface to the user? A different proposal is to add `notes` that tell
 the user to install an X11 server. Again the question would be where to
 add the notes. Whichever solution is used, we want to avoid telling the
 user to install an X11 server (or doing it for them) when they really
 don't need it, for example when they're using the quartz variant. If we're
 printing notes, we might also want to avoid telling them to install it if
 they've already installed it. And we want to avoid having to insert a lot
 of code into a lot of portfiles. If it ends up being a lot of code to get
 it right, maybe it should be in a portgroup that ports include.

-- 
Ticket URL: <https://trac.macports.org/ticket/60511#comment:18>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list