diff options
Diffstat (limited to 'x11-libs/qt-gui')
-rw-r--r-- | x11-libs/qt-gui/ChangeLog | 7 | ||||
-rw-r--r-- | x11-libs/qt-gui/qt-gui-4.8.4.ebuild | 252 |
2 files changed, 258 insertions, 1 deletions
diff --git a/x11-libs/qt-gui/ChangeLog b/x11-libs/qt-gui/ChangeLog index 804348821e34..f212a38580d4 100644 --- a/x11-libs/qt-gui/ChangeLog +++ b/x11-libs/qt-gui/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for x11-libs/qt-gui # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt-gui/ChangeLog,v 1.204 2012/11/14 10:17:49 pesa Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt-gui/ChangeLog,v 1.205 2012/12/05 03:20:44 yngwin Exp $ + +*qt-gui-4.8.4 (05 Dec 2012) + + 05 Dec 2012; Ben de Groot <yngwin@gentoo.org> +qt-gui-4.8.4.ebuild: + Qt 4.8.4 version bump 14 Nov 2012; Davide Pesavento <pesa@gentoo.org> qt-gui-4.8.3-r1.ebuild: Install desktop file for qtconfig (bug 441712); fix subcategory for linguist diff --git a/x11-libs/qt-gui/qt-gui-4.8.4.ebuild b/x11-libs/qt-gui/qt-gui-4.8.4.ebuild new file mode 100644 index 000000000000..7185549f58c0 --- /dev/null +++ b/x11-libs/qt-gui/qt-gui-4.8.4.ebuild @@ -0,0 +1,252 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt-gui/qt-gui-4.8.4.ebuild,v 1.1 2012/12/05 03:20:44 yngwin Exp $ + +EAPI=4 + +inherit eutils qt4-build + +DESCRIPTION="The GUI module for the Qt toolkit" +SLOT="4" +if [[ ${QT4_BUILD_TYPE} == live ]]; then + KEYWORDS="" +else + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +fi +IUSE="+accessibility cups dbus egl gif +glib gtkstyle mng nas nis qt3support tiff trace xinerama +xv" + +REQUIRED_USE=" + gtkstyle? ( glib ) +" + +RDEPEND=" + app-admin/eselect-qtgraphicssystem + media-libs/fontconfig + media-libs/freetype:2 + media-libs/libpng:0 + sys-libs/zlib + virtual/jpeg + ~x11-libs/qt-core-${PV}[aqua=,debug=,glib=,qt3support=] + ~x11-libs/qt-script-${PV}[aqua=,debug=] + !aqua? ( + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + xinerama? ( x11-libs/libXinerama ) + xv? ( x11-libs/libXv ) + ) + cups? ( net-print/cups ) + dbus? ( ~x11-libs/qt-dbus-${PV}[aqua=,debug=] ) + egl? ( media-libs/mesa[egl] ) + gtkstyle? ( x11-libs/gtk+:2[aqua=] ) + mng? ( >=media-libs/libmng-1.0.9 ) + nas? ( >=media-libs/nas-1.5 ) + tiff? ( media-libs/tiff:0 ) +" +DEPEND="${RDEPEND} + !aqua? ( + x11-proto/inputproto + x11-proto/xextproto + xinerama? ( x11-proto/xineramaproto ) + xv? ( x11-proto/videoproto ) + ) +" +PDEPEND="qt3support? ( ~x11-libs/qt-qt3support-${PV}[aqua=,debug=] )" + +PATCHES=( + "${FILESDIR}/${PN}-4.7.3-cups.patch" +) + +pkg_setup() { + # this belongs to pkg_pretend, we have to upgrade to EAPI 4 :) + # was planning to use a dep, but to reproduce this you have to + # clean-emerge qt-gui[gtkstyle] while having cairo[qt4] installed. + # no need to restrict normal first time users for that :) + if use gtkstyle && ! has_version x11-libs/qt-gui && has_version x11-libs/cairo[qt4]; then + echo + eerror "When building qt-gui[gtkstyle] from scratch with cairo present," + eerror "cairo must have the qt4 use flag disabled, otherwise the gtk" + eerror "style cannot be built." + ewarn + eerror "You have the following options:" + eerror " - rebuild cairo with -qt4 USE" + eerror " - build qt-gui with -gtkstyle USE" + ewarn + eerror "After you successfully install qt-gui, you'll be able to" + eerror "re-enable the disabled use flag and/or reinstall cairo." + ewarn + echo + die "can't build ${PN} with USE=gtkstyle if cairo has 'qt4' USE flag enabled" + fi + + QT4_TARGET_DIRECTORIES=" + src/gui + src/scripttools + tools/designer + tools/linguist/linguist + src/plugins/imageformats/gif + src/plugins/imageformats/ico + src/plugins/imageformats/jpeg + src/plugins/inputmethods" + + QT4_EXTRACT_DIRECTORIES=" + include + src + tools" + + use accessibility && QT4_TARGET_DIRECTORIES="${QT4_TARGET_DIRECTORIES} src/plugins/accessible/widgets" + use dbus && QT4_TARGET_DIRECTORIES="${QT4_TARGET_DIRECTORIES} tools/qdbus/qdbusviewer" + use mng && QT4_TARGET_DIRECTORIES="${QT4_TARGET_DIRECTORIES} src/plugins/imageformats/mng" + use tiff && QT4_TARGET_DIRECTORIES="${QT4_TARGET_DIRECTORIES} src/plugins/imageformats/tiff" + use trace && QT4_TARGET_DIRECTORIES="${QT4_TARGET_DIRECTORIES} src/plugins/graphicssystems/trace" + + # mac version does not contain qtconfig? + [[ ${CHOST} == *-darwin* ]] || QT4_TARGET_DIRECTORIES+=" tools/qtconfig" + + QT4_EXTRACT_DIRECTORIES="${QT4_TARGET_DIRECTORIES} ${QT4_EXTRACT_DIRECTORIES}" + + qt4-build_pkg_setup +} + +src_prepare() { + qt4-build_src_prepare + + # Add -xvideo to the list of accepted configure options + sed -i -e 's:|-xinerama|:&-xvideo|:' configure + + # Don't build plugins this go around, because they depend on qt3support lib + sed -i -e 's:CONFIG(shared:# &:g' tools/designer/src/src.pro +} + +src_configure() { + export PATH="${S}/bin:${PATH}" + export LD_LIBRARY_PATH="${S}/lib:${LD_LIBRARY_PATH}" + + myconf="$(qt_use accessibility) + $(qt_use cups) + $(use gif || echo -no-gif) + $(qt_use glib) + $(qt_use mng libmng system) + $(qt_use nas nas-sound system) + $(qt_use nis) + $(qt_use tiff libtiff system) + $(qt_use dbus qdbus) + $(qt_use dbus) + $(qt_use egl) + $(qt_use qt3support) + $(qt_use gtkstyle) + $(qt_use xinerama) + $(qt_use xv xvideo)" + + myconf+=" + -system-libpng -system-libjpeg + -no-sql-mysql -no-sql-psql -no-sql-ibase -no-sql-sqlite -no-sql-sqlite2 -no-sql-odbc + -sm -xshape -xsync -xcursor -xfixes -xrandr -xrender -mitshm -xinput -xkb + -fontconfig -no-svg -no-webkit -no-phonon -no-opengl" + + [[ ${CHOST} == *86*-apple-darwin* ]] && myconf+=" -no-ssse3" #367045 + + qt4-build_src_configure + + if use gtkstyle; then + einfo "patching the Makefile to fix qgtkstyle compilation" + sed "s:-I/usr/include/qt4 ::" -i src/gui/Makefile || + die "sed failed" + fi + sed -i -e "s:-I/usr/include/qt4/QtGui ::" src/gui/Makefile || die "sed failed" +} + +src_install() { + QCONFIG_ADD=" + mitshm x11sm xcursor xfixes xinput xkb xrandr xrender xshape xsync + fontconfig gif png system-png jpeg system-jpeg + $(usev accessibility) + $(usev cups) + $(use mng && echo system-mng) + $(usev nas) + $(usev nis) + $(use tiff && echo system-tiff) + $(usev xinerama) + $(use xv && echo xvideo)" + QCONFIG_REMOVE="no-gif no-jpeg no-png" + QCONFIG_DEFINE="$(use accessibility && echo QT_ACCESSIBILITY) + $(use cups && echo QT_CUPS) + $(use egl && echo QT_EGL) + QT_FONTCONFIG + $(use gtkstyle && echo QT_STYLE_GTK) + QT_IMAGEFORMAT_JPEG QT_IMAGEFORMAT_PNG + $(use mng && echo QT_IMAGEFORMAT_MNG) + $(use nas && echo QT_NAS) + $(use nis && echo QT_NIS) + $(use tiff && echo QT_IMAGEFORMAT_TIFF) + QT_SESSIONMANAGER QT_SHAPE QT_XCURSOR QT_XFIXES + $(use xinerama && echo QT_XINERAMA) + QT_XINPUT QT_XKB QT_XRANDR QT_XRENDER QT_XSYNC + $(use xv && echo QT_XVIDEO)" + + qt4-build_src_install + + # qt-creator + # some qt-creator headers are located + # under /usr/include/qt4/QtDesigner/private. + # those headers are just includes of the headers + # which are located under tools/designer/src/lib/* + # So instead of installing both, we create the private folder + # and drop tools/designer/src/lib/* headers in it. + if use aqua && [[ ${CHOST##*-darwin} -ge 9 ]]; then + insinto "${QTLIBDIR#${EPREFIX}}"/QtDesigner.framework/Headers/private/ + else + insinto "${QTHEADERDIR#${EPREFIX}}"/QtDesigner/private/ + fi + doins "${S}"/tools/designer/src/lib/shared/* + doins "${S}"/tools/designer/src/lib/sdk/* + + # install private headers + if use aqua && [[ ${CHOST##*-darwin} -ge 9 ]]; then + insinto "${QTLIBDIR#${EPREFIX}}"/QtGui.framework/Headers/private/ + else + insinto "${QTHEADERDIR#${EPREFIX}}"/QtGui/private + fi + find "${S}"/src/gui -type f -name '*_p.h' -exec doins {} + + + if use aqua && [[ ${CHOST##*-darwin} -ge 9 ]]; then + # rerun to get links to headers right + fix_includes + fi + + # touch the available graphics systems + dodir /usr/share/qt4/graphicssystems + echo "default" > "${ED}"/usr/share/qt4/graphicssystems/raster || die + touch "${ED}"/usr/share/qt4/graphicssystems/native || die + + doicon tools/designer/src/designer/images/designer.png + newicon tools/linguist/linguist/images/icons/linguist-128-32.png linguist.png + newicon tools/qtconfig/images/appicon.png qtconfig.png + use dbus && newicon tools/qdbus/qdbusviewer/images/qdbusviewer-128.png qdbusviewer.png + make_desktop_entry designer Designer designer 'Qt;Development;GUIDesigner' + make_desktop_entry linguist Linguist linguist 'Qt;Development;Translation' + make_desktop_entry qtconfig 'Qt Configuration Tool' qtconfig 'Qt;Settings;DesktopSettings' +} + +pkg_postinst() { + # raster is the default graphicssystems, set it on first install + eselect qtgraphicssystem set raster --use-old + + elog "Starting with Qt 4.8, you may choose the active Qt Graphics System" + elog "by using a new eselect module called qtgraphicssystem." + elog "Run \`eselect qtgraphicssystem\` for more information." + + if use gtkstyle; then + # see bug 388551 + elog + elog "For Qt's GTK style to work, you need to either export" + elog "the following variable into your environment:" + elog ' GTK2_RC_FILES="$HOME/.gtkrc-2.0"' + elog "or alternatively install gnome-base/libgnomeui" + fi +} |