On 7/19/16, Antonio Rojas <arojas@archlinux.org> wrote:
In theory: +1
But splitting VLC properly is a non-trivial task.
I've had a very similar problem for several years with the Gnuradio package. It can either be run headless (which is usually how it is used in production) but it also has a graphical "flow language" IDE that is used during design. The IDE required around six optdeps. Some were required for the IDE to even start, some parts were optional-optional. Some were kind of confusing, since it could use either WX or QT. And like VLC, there was no upstream provision for actually splitting the headless and GUI parts. Gnuradio is about the same size project as VLC too. (The GUI optdeps would add about 600MB to a headless system. For "appliance" installs that run from an SD card, this is not a trivial waste.) The cleanest workaround was to make a fake kitchen sink package. It has no files but depends on all the optdeps. If I think the IDE needs a new depend, I add it to the kitchen sink and users get it automatically next update. If you want to make a streamlined install, you don't install the kitchen sink and just the optdeps you need. If the dangling packages are a bother for a nice clean dep tree, then it is easy (and doesn't require rebuilding anything) to make a custom fake pacakge to establish the dependency links. Pros get full control over the system by ignoring the fake package. Newbs get a zero maintainence just-works experience. I don't have to cut against upstream by trying to split the unsplitable. Pretty much everyone is happy and it has all but eliminated routine bugs/complaints/confusion. -Kyle