The USE flag 'headless' of the package 'app-emulation/virtualbox' is misleading since VirtualBox itself provides a 'headless' feature (i.e. running VMs without any GUI output on the host), but the USE flag got nothing to do with it and instead toggles whether the VirtualBox GUI is built/installed or not. To clear this up, I would like to suggest removing the 'headless' USE flag and instead adding the USE flag 'gui' which should be enabled by default. Also see the related discussion on the Gentoo Wiki: https://wiki.gentoo.org/wiki/Talk:VirtualBox#headless_or_Qt..._why_not_both_.3F
Why introducing the "gui" USE flag when we already have the "qt4" (vbox-5.0.x) and "qt5" (vbox-5.1.x) USE flags?
True, but as far as understand it the 'qt5' USE flag only enables support for Qt5, i.e. with -qt5 the Qt4 GUI will be built - correct? Also, a USE flag 'gui' would be far more intuitive.
Never mind, I just noticed that starting with version 5.1 it's Qt5 only. But judging from the build !headless? ( media-libs/libsdl:0[X,video] x11-libs/libX11 x11-libs/libXcursor x11-libs/libXext x11-libs/libXmu x11-libs/libXt opengl? ( virtual/opengl media-libs/freeglut ) qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtprintsupport:5 dev-qt/qtwidgets:5 dev-qt/qtx11extras:5 opengl? ( dev-qt/qtopengl:5 ) x11-libs/libXinerama ) ) would it really be wise to use the qt5 USE flag as a replacement? What happens when emerging the package with '-headless -qt5'?
(In reply to Maxxim from comment #3) > Never mind, I just noticed that starting with version 5.1 it's Qt5 only. But > judging from the build > > !headless? ( > media-libs/libsdl:0[X,video] > x11-libs/libX11 > x11-libs/libXcursor > x11-libs/libXext > x11-libs/libXmu > x11-libs/libXt > opengl? ( virtual/opengl media-libs/freeglut ) > qt5? ( > dev-qt/qtcore:5 > dev-qt/qtgui:5 > dev-qt/qtprintsupport:5 > dev-qt/qtwidgets:5 > dev-qt/qtx11extras:5 > opengl? ( dev-qt/qtopengl:5 ) > x11-libs/libXinerama > ) > ) > > would it really be wise to use the qt5 USE flag as a replacement? What > happens when emerging the package with '-headless -qt5'? Adding to what Lars said building virtualbox's gui should depend only on qt4/qt5 useflag, like media-video/vlc does it. USE=headless is misleading and adding separate useflag that copies functionality of qt4/qt5 useflags is pointless. Building with qt4 (or qt5 for newer versions) should build a gui. Headless functionality remains unaffected. I think adding qt4/qt5 to IUSE where appropriate and dropping headless is the correct way. Some versions only support qt4 and some support only qt5. Maybe even replace version specific qt flag with just plain qt.
(In reply to Georgy Yakovlev from comment #4) > (In reply to Maxxim from comment #3) > > Never mind, I just noticed that starting with version 5.1 it's Qt5 only. But > > judging from the build > > > > !headless? ( > > media-libs/libsdl:0[X,video] > > x11-libs/libX11 > > x11-libs/libXcursor > > x11-libs/libXext > > x11-libs/libXmu > > x11-libs/libXt > > opengl? ( virtual/opengl media-libs/freeglut ) > > qt5? ( > > dev-qt/qtcore:5 > > dev-qt/qtgui:5 > > dev-qt/qtprintsupport:5 > > dev-qt/qtwidgets:5 > > dev-qt/qtx11extras:5 > > opengl? ( dev-qt/qtopengl:5 ) > > x11-libs/libXinerama > > ) > > ) > > > > would it really be wise to use the qt5 USE flag as a replacement? What > > happens when emerging the package with '-headless -qt5'? > > Adding to what Lars said building virtualbox's gui should depend only on > qt4/qt5 useflag, like media-video/vlc does it. > > USE=headless is misleading and adding separate useflag that copies > functionality of qt4/qt5 useflags is pointless. > > Building with qt4 (or qt5 for newer versions) should build a gui. Headless > functionality remains unaffected. > > > I think adding qt4/qt5 to IUSE where appropriate and dropping headless is > the correct way. > Some versions only support qt4 and some support only qt5. > Maybe even replace version specific qt flag with just plain qt. small update. qt useflag should be version-specific according to qt people. so it seems having just {qt4,qt5} is the way to go.
If you set USE="-headless -qt4 -qt5", you still get some X-related stuff, just not the configuration GUI, right?
This is the policy: https://wiki.gentoo.org/wiki/Project:Qt/Policies#Optional_support_for_a_single_Qt_version I will remove the `headless` flag and rename `qt5` to `gui`. There is a `sdl` flag that enables SDL support, but that is not a GUI, it's only used as a display for a running virtual machine. The current `headless` USE flag behaviour can be obtained by building with USE='-gui -sdl -opengl' (or with all flags disabled).
Nice to see my initial suggestion is now being considered. Took a while, though :)
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c12419a862f8b292a8d3f81ecb83ee9c47e8e45 commit 4c12419a862f8b292a8d3f81ecb83ee9c47e8e45 Author: Viorel Munteanu <ceamac@gentoo.org> AuthorDate: 2022-11-09 13:31:20 +0000 Commit: Viorel Munteanu <ceamac@gentoo.org> CommitDate: 2022-11-20 08:16:37 +0000 app-emulation/virtualbox: drop USE headless Also rename `qt5` to `gui`. To build a headless server simply disable all flags (-gui -sdl -opengl). Closes: https://bugs.gentoo.org/610344 Signed-off-by: Viorel Munteanu <ceamac@gentoo.org> app-emulation/virtualbox/virtualbox-7.0.4.ebuild | 129 ++++++++++++----------- 1 file changed, 68 insertions(+), 61 deletions(-)