[Gentoo] Modularizing X, chapter III

Just finished up the fonts. I’m thinking of adding a post-dependency in all of them on alias, to make sure it gets merged last. Hope the package manager can handle it.

Now for the important part: the ebuild layout. Here’s the categories I’m looking at so far, which is mostly a mirror of how upstream breaks it down:

  • x11-apps: The various applications that come along.72 ebuilds.
  • x11-proto: The protocol headers. 30 ebuilds.
  • x11-libs: 41 ebuilds.
  • media-fonts: 35 ebuilds.
  • x11-drivers: Haven’t done this yet, but there are 72 directories upstream.
  • x11-base: The actual X server.
  • app-doc: Old-format docs that haven’t been broken into individual packages yet. Probably just a couple ebuilds.
  • x11-misc: The data module, which contains bitmaps and xkbdata. Also the util module, with imake, etc.

My plan is to have a series of “submetabuilds” that combine into a “supermetabuild,” which will be the actual xorg-x11 ebuild. There will be one submetabuild for each major component: apps, drivers, libraries, etc. This will allow me to split USE flags out a bit (so e.g., x11-fonts would have 100dpi, 75dpi, truetype as flags) as well as allow people who only want e.g. libraries for a headless server to get them cleanly.

I’d enjoy hearing thoughts on this.