aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavide Pesavento <davidepesa@gmail.com>2012-08-12 02:25:46 -0700
committerDavide Pesavento <davidepesa@gmail.com>2012-08-12 02:25:46 -0700
commite6aae956daebf4a3ea7438469e68de5a2981b2e2 (patch)
tree9aa81e51533a28fbc280ae60bd04479ee98b4e04
parentPyQt4/sip: Automated version bump, remove old (diff)
downloadqt-e6aae956daebf4a3ea7438469e68de5a2981b2e2.tar.gz
qt-e6aae956daebf4a3ea7438469e68de5a2981b2e2.tar.bz2
qt-e6aae956daebf4a3ea7438469e68de5a2981b2e2.zip
[x11-libs/qt-gui:5] Implement several new USE flags, make fontconfig mandatory.
This should also fix bug 430290.
-rw-r--r--x11-libs/qt-gui/metadata.xml7
-rw-r--r--x11-libs/qt-gui/qt-gui-5.9999.ebuild52
2 files changed, 48 insertions, 11 deletions
diff --git a/x11-libs/qt-gui/metadata.xml b/x11-libs/qt-gui/metadata.xml
index 98454c70..d86d15d4 100644
--- a/x11-libs/qt-gui/metadata.xml
+++ b/x11-libs/qt-gui/metadata.xml
@@ -5,13 +5,16 @@
<use>
<flag name="c++0x">Build Qt using the C++11 standard</flag>
<flag name="c++11">Build Qt using the C++11 standard</flag>
- <flag name="egl">Use EGL instead of default GLX to manage OpenGL
- contexts on the desktop</flag>
+ <flag name="egl">Use EGL instead of default GLX to manage OpenGL contexts</flag>
+ <flag name="eglfs">Compile EGL Full Screen/Single Surface support</flag>
+ <flag name="evdev">Enable evdev input support</flag>
<flag name="exceptions">Add support for exceptions - like catching them
inside the event loop (recommended by Nokia)</flag>
+ <flag name="gles2">Use OpenGL ES 2.0 instead of desktop OpenGL</flag>
<flag name="glib">Enable <pkg>dev-libs/glib</pkg> eventloop support</flag>
<flag name="gtkstyle">Build a Qt style called GTK+ that mimics the active
GTK+ theme</flag>
+ <flag name="kms">Enable KMS-based QPA plugin</flag>
<flag name="qt3support">Enable the Qt3Support libraries for Qt4. Note that
this does not mean you can compile pure Qt3 programs with Qt4.</flag>
<flag name="trace">
diff --git a/x11-libs/qt-gui/qt-gui-5.9999.ebuild b/x11-libs/qt-gui/qt-gui-5.9999.ebuild
index 442804de..3ad5546e 100644
--- a/x11-libs/qt-gui/qt-gui-5.9999.ebuild
+++ b/x11-libs/qt-gui/qt-gui-5.9999.ebuild
@@ -14,19 +14,34 @@ else
KEYWORDS="~amd64"
fi
-# TODO: directfb, eglfs, kms, linuxfb, evdev, ibus
+# TODO: directfb, linuxfb, ibus
-IUSE="egl +fontconfig gif +glib jpeg opengl +png udev +xcb"
+IUSE="egl eglfs evdev gif gles2 +glib jpeg kms opengl +png udev +xcb"
+REQUIRED_USE="
+ egl? ( gles2 )
+ eglfs? ( egl evdev )
+ gles2? ( opengl )
+ kms? ( egl )
+"
RDEPEND="
+ media-libs/fontconfig
media-libs/freetype:2
sys-libs/zlib
~x11-libs/qt-core-${PV}[debug=,glib=]
egl? ( media-libs/mesa[egl] )
- fontconfig? ( media-libs/fontconfig )
gif? ( media-libs/giflib )
+ gles2? ( || (
+ media-libs/mesa[gles2]
+ media-libs/mesa[gles]
+ ) )
glib? ( dev-libs/glib:2 )
jpeg? ( virtual/jpeg )
+ kms? (
+ media-libs/mesa[gbm]
+ sys-fs/udev
+ x11-libs/libdrm
+ )
opengl? ( virtual/opengl )
png? ( media-libs/libpng:0 )
udev? ( sys-fs/udev )
@@ -41,6 +56,7 @@ RDEPEND="
)
"
DEPEND="${RDEPEND}
+ evdev? ( sys-kernel/linux-headers )
test? ( ~x11-libs/qt-network-${PV}[debug=] )
"
@@ -52,26 +68,44 @@ QT5_TARGET_SUBDIRS=(
)
pkg_setup() {
- QCONFIG_ADD="accessibility
- $(usev fontconfig)
- $(usev opengl)
- $(use udev && echo libudev)"
+ QCONFIG_ADD="
+ accessibility
+ $(usev egl)
+ $(usev eglfs)
+ $(usev evdev)
+ fontconfig
+ $(use gles2 && echo opengles2)
+ $(usev kms)
+ $(usev opengl)
+ $(use udev && echo libudev)
+ $(usev xcb)"
QCONFIG_DEFINE="$(use egl && echo QT_EGL)
+ $(use eglfs && echo QT_EGLFS)
$(use jpeg && echo QT_IMAGEFORMAT_JPEG)"
qt5-build_pkg_setup
}
src_configure() {
+ local opengl="-no-opengl"
+ if use gles2; then
+ opengl="-opengl es2"
+ elif use opengl; then
+ opengl="-opengl desktop"
+ fi
+
local myconf=(
-accessibility
$(qt_use egl)
- $(qt_use fontconfig)
+ $(qt_use eglfs)
+ $(qt_use evdev)
+ -fontconfig
$(use gif || echo -no-gif)
$(qt_use glib)
$(qt_use jpeg libjpeg system)
- $(qt_use opengl)
+ $(qt_use kms)
+ ${opengl}
$(qt_use png libpng system)
$(use udev || echo -no-libudev)
$(use xcb && echo -xcb -xrender)