Control: severity -1 wishlist Control: retitle -1 libglfw3: build a split package for X11 and Wayland
Hi, On Sun, 2016-06-12 at 16:42 +0100, Emmanuel Gil Peyrot wrote: > Package: libglfw3 > Version: 3.2-1 > > The current version of GLFW supports both X11 and Wayland, but this > is a build-time choice. It would be very useful for people on > Wayland systems to be able to install something like `libglfw3- > wayland' which would provide `libglfw3', and rename the current > package to `libglfw3-x11'. I agree that supporting wayland is a good idea. I notice that in the other popular toolkits (at least GTK+, Qt and SDL) wayland is detected at runtime instead of being a build-time choice. From a distribution perspective this would be better, and it allows the wayland implementation to be included in the default build instead of forcing the user to install a different package. If the package split is done, one issue is that the glfw native functions are different in X11 and Wayland. To use the provides system, the libraries should offer identical ABIs so some (probably dummy) Wayland functions will need to be added to the X11 library and vice- versa. I would like to avoid renaming the current package because it would trigger a package transition. This is because any dependency on a virtual package with more than one candidate needs a default choice or APT will refuse to install it automatically (rdeps would need a dependency like 'libglfw3-x11 | libglfw3'). Keeping the X11 package as 'libglfw3' or possibly retaining libglfw3 as a dummy package would avoid the transition. > The dependencies of the Wayland backend are libwayland-client0, > libwayland-cursor0, libwayland-egl1 and libxkbcommon0, while the > build dependencies are extra-cmake-modules, wayland-protocols. Thanks. Just so you know, the runtime dependencies of most Debian packages are calculated automatically by parsing the installed ELF files. This means I won't have to list most of these dependencies manually (which is really convenient). James
signature.asc
Description: This is a digitally signed message part