# $Id$ PNAME="qt4" PVER="4.8.7" PBUILD="r6" PCAT="x11-libs" DESCRIPTION="Qt: Cross-Platform Rich Client Development Framework." HOMEPAGE="http://qt-project.org/" # build phonon or not (yes/no), disabled atm QT4_PHONON="no" SPECIAL_VARS="QT4_PHONON" # use kde-qt patches or not (yes/no), disabled atm KDE_QT_PATCHES="no" # snapshot id of the patches KDE_QT_SNAPSHOT_ID="8fa76375a2f030ecf8aa23c917f51f04333a1b2c" # load qt4 here to overide all depends # include kde4 to get the right KDEDIR for phonon! sminclude mtools qt4 kde4 xdg fdo-mime DEPEND_CORE=">= dev-libs/openssl-1.1 >= app-crypt/ca-certificates-2018 >= dev-libs/glib2-2.56 >= dev-libs/icu-62.1 >= sys-libs/zlib-1.2.8 >= sys-libs/libstdc++-6.3" DEPEND_GUI="${DEPEND_CORE} >= x11-libs/libICE-1 >= x11-libs/libSM-1.1 >= x11-libs/libXau-1 >= x11-libs/libxcb-1.10 >= x11-libs/libXdmcp-1 >= x11-libs/libX11-1.6 >= x11-libs/libXcursor-1.1 >= x11-libs/libXext-1.3 >= x11-libs/libXfont-1.4 >= x11-libs/libXfixes-5 >= x11-libs/libXft-2.2 >= x11-libs/libXi-1.7 >= x11-libs/libXinerama-1 >= x11-libs/libXrandr-1.3 >= x11-libs/libXrender-0.9 >= virtual/libjpeg >= media-libs/giflib-5.0 >= media-libs/libmng-2 >= media-libs/libpng-1.5 >= media-libs/libtiff-4 >= media-libs/freetype-2.6 >= media-libs/fontconfig-2.11 >= net-print/libcups-2.2 >= media-libs/nas-1.9" DEPEND_SQL=">= dev-db/sqlite-3.20 >= virtual/mysql-libs >= dev-db/unixodbc-2.3" DEPEND_DBUS=">= sys-apps/dbus-1.10" DEPEND_OPENGL=">= virtual/opengl" DEPEND_MULTIMEDIA=">= media-libs/alsa-lib-1.1" DEPEND_BEARER=">= net-misc/networkmanager-1.10" SDEPEND="${DEPEND_CORE} ${DEPEND_GUI} ${DEPEND_SQL} ${DEPEND_DBUS} ${DEPEND_OPENGL} ${DEPEND_MULTIMEDIA} ${DEPEND_BEARER} >= sys-dev/bison-2.5 >= virtual/xineramaproto >= virtual/xextproto >= virtual/inputproto >= dev-util/pkgconfig-0.25 >= dev-libs/expat-2 >= media-libs/lcms-1.19" if [[ ${QT4_PHONON} = yes ]] then DEPEND_PHONON="${DEPEND_DBUS} >= media-libs/gstreamer1.0-1.0 >= media-libs/gstreamer1.0-plugins-base-1.0 >= media-libs/gstreamer1.0-plugins-good-1.0" SDEPEND+=" ${DEPEND_PHONON}" fi SRCFILE="${PNAME/4/}-everywhere-opensource-src-${PVER}.tar.gz" SRCDIR="${BUILDDIR}/${PNAME/4/}-everywhere-opensource-src-${PVER}" SPLIT_PACKAGES="qt4-core qt4-dbus qt4-script qt4-gui qt4-svg qt4-sql qt4-xmlpatterns qt4-opengl qt4-qt3support qt4-webkit qt4-test qt4-multimedia qt4-help qt4-assistant qt4-declarative qt4-designer qt4-linguist qt4-pixeltool qt4-qdbusviewer qt4-bearer" if [[ ${QT4_PHONON} = yes ]] then SPLIT_PACKAGES+="qt4-phonon" fi SRC_URI=( http://download.qt-project.org/official_releases/qt/${PVER%.*}/${PVER}/${SRCFILE} mirror://${PNAME}/${SRCFILE} mirror://${PNAME}/qt-4.5.1-no-hardcoded_fonts.patch mirror://${PNAME}/qt-4.8.1-improve-cups-support.patch mirror://${PNAME}/qt-4.8.5-CVE-2013-4549.patch mirror://${PNAME}/qt-4.8.7-moc-boost-workaround.patch mirror://${PNAME}/qt-4.8.7-systemtrayicon.patch mirror://${PNAME}/qt-4.8.7-glib-honor-excludesocketnotifiers-flag.patch mirror://${PNAME}/qt-4.8.7-l-qclipboard_fix_recursive.patch mirror://${PNAME}/qt-4.8.7-l-qclipboard_delay.patch mirror://${PNAME}/qt-4.8.7-disable-sslv3.patch mirror://${PNAME}/qt-4.8.7-gcc6.patch mirror://${PNAME}/qt-4.8.7-glibc225.patch mirror://${PNAME}/qt-4.8.7-icu59.patch mirror://${PNAME}/qt-4.8.7-openssl-1.1.patch ) # add phonon patches if [[ ${QT4_PHONON} = yes ]] then SRC_URI+=( mirror://${PNAME}/qt-4.5.3-phonon-2.patch ) fi # use kde-qt? if [[ ${KDE_QT_PATCHES} = yes ]] then SRC_URI+=( mirror://${PNAME}/qt-${PVER}-kde-qt-${KDE_QT_SNAPSHOT_ID}.patch ) fi UP2DATE="updatecmd ${HOMEPAGE}/downloads | grep 4. | firsttarball gz" # ## global vars ## # # install prefix # get this one from qt4.sminc, QTDIR gets overridden later on export QT_PREFIX="${QTDIR}" # source location export QTDIR="${SRCDIR}" export LD_LIBRARY_PATH="${QTDIR}/lib" export PATH="${QTDIR}/bin:${PATH}" export PLATFORM="linux-g++" [[ ${ARCH} = x86_64 ]] && export PLATFORM="linux-g++-64" # etc dir export QT_SYSCONFDIR="/etc/${PNAME}" # envfile export QT_ENVFILE="/etc/env.d/45${PNAME}" # # do not export QMAKE from qt4.sminc unset QMAKE # do not run postinstall/remove from kde4 include unset -f postinstall unset -f postremove # fix build with gcc6 export CXXFLAGS+=" -std=gnu++98" split_info_qt4-core() { DESCRIPTION="Qt4: Cross-Platform Rich Client Development Framework." DEPEND="${DEPEND_CORE}" } split_info_qt4-gui() { DESCRIPTION="The GUI module for the Qt4 toolkit." DEPEND="== x11-libs/qt4-core-${PVER} == x11-libs/qt4-script-${PVER} == x11-libs/qt4-dbus-${PVER} ${DEPEND_GUI}" } split_info_qt4-svg() { DESCRIPTION="The SVG module for the Qt4 toolkit." DEPEND="== x11-libs/qt4-core-${PVER} == x11-libs/qt4-gui-${PVER}" } split_info_qt4-sql() { DESCRIPTION="The SQL module for the Qt4 toolkit." DEPEND="== x11-libs/qt4-core-${PVER} ${DEPEND_SQL}" } split_info_qt4-script() { DESCRIPTION="The ECMAScript module for the Qt4 toolkit." DEPEND="== x11-libs/qt4-core-${PVER}" } split_info_qt4-xmlpatterns() { DESCRIPTION="The patternist module for the Qt toolkit." DEPEND="== x11-libs/qt4-core-${PVER}" } split_info_qt4-dbus() { DESCRIPTION="The DBus module for the Qt4 toolkit." DEPEND="== x11-libs/qt4-core-${PVER} ${DEPEND_DBUS}" } split_info_qt4-opengl() { DESCRIPTION="The OpenGL module for the Qt4 toolkit." DEPEND="== x11-libs/qt4-core-${PVER} == x11-libs/qt4-gui-${PVER} ${DEPEND_OPENGL}" } if [[ ${QT4_PHONON} = yes ]] then split_info_qt4-phonon() { DESCRIPTION="The Phonon module for the Qt4 toolkit." DEPEND="== x11-libs/qt4-gui-${PVER} == x11-libs/qt4-dbus-${PVER} ${DEPEND_PHONON}" PROVIDE="virtual/phonon" } preinstall_qt4-phonon() { if [[ -n $(magequery -n phonon) ]] then die "please uninstall kde-base/phonon first!" fi } postinstall_qt4-phonon() { # breaks compilation if the old phonon symlink from kde-phonon exist if [[ -L ${MROOT}/opt/kde4/lib/libphonon.so ]] then rm ${MROOT}/opt/kde4/lib/libphonon.so fi } fi split_info_qt4-qt3support() { DESCRIPTION="The Qt3 support module for the Qt toolkit." DEPEND="== x11-libs/qt4-core-${PVER} == x11-libs/qt4-gui-${PVER} == x11-libs/qt4-sql-${PVER}" if [[ ${QT4_PHONON} = yes ]] then DEPEND+=" == x11-libs/qt4-phonon-${PVER}" fi } split_info_qt4-webkit() { DESCRIPTION="The Webkit module for the Qt4 toolkit." DEPEND="== x11-libs/qt4-core-${PVER} == x11-libs/qt4-dbus-${PVER} == x11-libs/qt4-gui-${PVER} == x11-libs/qt4-xmlpatterns-${PVER}" if [[ ${QT4_PHONON} = yes ]] then DEPEND+=" == x11-libs/qt4-phonon-${PVER}" fi } split_info_qt4-test() { DESCRIPTION="The testing framework module for the Qt4 toolkit." DEPEND="== x11-libs/qt4-core-${PVER}" } split_info_qt4-multimedia() { DESCRIPTION="The Multimedia module for the Qt4 toolkit." DEPEND="== x11-libs/qt4-core-${PVER} == x11-libs/qt4-gui-${PVER} ${DEPEND_MULTIMEDIA}" } split_info_qt4-help() { DESCRIPTION="The assistant help module for the Qt4 toolkit." DEPEND="x11-libs/qt4-core-${PVER} == x11-libs/qt4-gui-${PVER} == x11-libs/qt4-sql-${PVER}" } split_info_qt4-assistant() { DESCRIPTION="The assistant help module for the Qt4 toolkit." DEPEND="x11-libs/qt4-core-${PVER} == x11-libs/qt4-gui-${PVER} == x11-libs/qt4-help-${PVER} == x11-libs/qt4-sql-${PVER} == x11-libs/qt4-webkit-${PVER}" PCAT="x11-apps" } split_info_qt4-declarative() { DESCRIPTION="The Declarative module for the Qt4 toolkit." DEPEND="== x11-libs/qt4-core-${PVER} == x11-libs/qt4-gui-${PVER} == x11-libs/qt4-multimedia-${PVER} == x11-libs/qt4-opengl-${PVER} == x11-libs/qt4-script-${PVER} == x11-libs/qt4-sql-${PVER} == x11-libs/qt4-svg-${PVER} == x11-libs/qt4-webkit-${PVER} == x11-libs/qt4-qt3support-${PVER} == x11-libs/qt4-xmlpatterns-${PVER}" } split_info_qt4-designer() { DESCRIPTION="WYSIWYG tool for designing and building Qt-based GUIs." DEPEND="== x11-libs/qt4-core-${PVER} == x11-libs/qt4-gui-${PVER} == x11-libs/qt4-script-${PVER} == x11-libs/qt4-declarative-${PVER} == x11-libs/qt4-qt3support-${PVER} == x11-libs/qt4-webkit-${PVER}" if [[ ${QT4_PHONON} = yes ]] then DEPEND+=" == x11-libs/qt4-phonon-${PVER}" fi PCAT="x11-apps" } split_info_qt4-linguist() { DESCRIPTION="Graphical tool for translating Qt applications." DEPEND="== x11-libs/qt4-core-${PVER} == x11-libs/qt4-gui-${PVER} == x11-apps/qt4-designer-${PVER}" PCAT="x11-apps" } split_info_qt4-pixeltool() { DESCRIPTION="Qt screen magnifier." DEPEND="== x11-libs/qt4-core-${PVER} == x11-libs/qt4-gui-${PVER}" PCAT="x11-apps" } split_info_qt4-qdbusviewer() { DESCRIPTION="Graphical tool that lets you introspect D-Bus objects and messages." DEPEND="== x11-libs/qt4-core-${PVER} == x11-libs/qt4-gui-${PVER} == x11-libs/qt4-dbus-${PVER}" PCAT="x11-apps" } split_info_qt4-bearer() { DESCRIPTION="The network bearer plugins for the Qt toolkit." DEPEND="== x11-libs/qt4-core-${PVER} == x11-libs/qt4-dbus-${PVER} ${DEPEND_BEARER}" } install_qt_target() { local targets local i targets="$@" for i in ${targets} do mmake -C ${i} INSTALL_ROOT=${BINDIR} install || die "install of target '${i}' failed" done } src_prepare() { munpack ${SRCFILE} || die cd ${SRCDIR} # security fix mpatch qt-4.8.5-CVE-2013-4549.patch || die # no hardcoded font-aliases # see: https://cvs.fedoraproject.org/viewvc/rpms/qt4/F-8/qt-x11-opensource-src-4.3.4-no-hardcoded-font-aliases.patch?view=markup mpatch qt-4.5.1-no-hardcoded_fonts.patch || die # improve cups support mpatch qt-4.8.1-improve-cups-support.patch || die # fix BOOST_JOIN erros with moc (ex kdepim) # see: https://bugreports.qt.io/browse/QTBUG-22829 mpatch qt-4.8.7-moc-boost-workaround.patch || die # kubuntus systray icon fix # see: http://blog.martin-graesslin.com/blog/2014/06/where-are-my-systray-icons/ mpatch qt-4.8.7-systemtrayicon.patch || die # fix libreoffice issues # see: https://bugreports.qt.io/browse/QTBUG-37380 mpatch qt-4.8.7-glib-honor-excludesocketnotifiers-flag.patch || die # see: https://bugreports.qt.io/browse/QTBUG-34614 mpatch qt-4.8.7-l-qclipboard_fix_recursive.patch || die # see: https://bugreports.qt.io/browse/QTBUG-38585 mpatch qt-4.8.7-l-qclipboard_delay.patch || die # comply with openssl sslv3 policy mpatch qt-4.8.7-disable-sslv3.patch || die # fix several FTBFS mpatch qt-4.8.7-gcc6.patch || die mpatch qt-4.8.7-glibc225.patch || die mpatch qt-4.8.7-icu59.patch || die # Np1 required here, patchlevel depth will not be detected correctly mpatch -Np1 qt-4.8.7-openssl-1.1.patch || die if [[ ${QT4_PHONON} = yes ]] then # install service files needed by kde mpatch qt-4.5.3-phonon-2.patch || die # fix variable kdelocation from the patch sed -i "s:@@KDEDIR@@:${KDEDIR}:g" ${SRCDIR}/src/plugins/phonon/gstreamer/gstreamer.pro || die fi if [[ ${KDE_QT_PATCHES} = yes ]] then # kdeqt patches from http://gitorious.org/+kde-developers/qt/kde-qt mpatch qt-${PVER}-kde-qt-${KDE_QT_SNAPSHOT_ID}.patch || die fi # set our cflags and fix up our header and lib locations cd ${SRCDIR}/mkspecs/${PLATFORM} sed -i -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \ -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \ -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=${LDFLAGS}:" \ -e 's:$(QTDIR)/include:&/qt${PVER%%.*}:' \ -e "s:\$(QTDIR)/lib:\$(QTDIR)/$(mlibdir):" \ qmake.conf \ || die # fix libdir to lib64 on 64bit arches sed -i "s:/lib$:/$(mlibdir):" qmake.conf || die # disable rpath sed -i "s:QMAKE_RPATH.*=.*:QMAKE_RPATH=:" qmake.conf || die # get rid of /usr/X11R6 sed -i "s:X11R6/::" qmake.conf || die # same goes for the g++ definitions # they where moved to an extra file with qt4 cd ${SRCDIR}/mkspecs/common sed -i -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CPPFLAGS} ${CFLAGS} ${ASFLAGS}:" \ -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CPPFLAGS} ${CXXFLAGS} ${ASFLAGS}:" \ -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=${LDFLAGS}:" \ -e 's:$(QTDIR)/include:&/qt${PVER%%.*}:' \ -e "s:\$(QTDIR)/lib:\$(QTDIR)/$(mlibdir):" \ g++.conf \ || die # fix libdir to lib64 on 64bit arches sed -i "s:/lib$:/$(mlibdir):" g++.conf || die # disable rpath sed -i "s:QMAKE_RPATH.*=.*:QMAKE_RPATH=:" g++.conf || die # get rid of /usr/X11R6 sed -i "s:X11R6/::" linux.conf || die } src_compile() { cd ${SRCDIR} local myconf # add missing lib64 search path on 64bit arches [[ $(mlibdir) != lib ]] && myconf="-L/usr/$(mlibdir)" # enable this only for binutils >=2.18 [[ $(ld -v | sed 's/.*\ \([0-9].[0-9].*\)/\1/') > 2.17 ]] && myconf+=" -reduce-relocations" # enable static if requested mqueryfeature "static" && myconf+=" -static" # always build shared libs myconf+=" -shared" # disable openvg atm myconf+=" -no-openvg" if [[ ${QT4_PHONON} = yes ]] then myconf+=" -phonon" myconf+=" -phonon-backend" else myconf+=" -no-phonon" myconf+=" -no-phonon-backend" fi ./configure \ -prefix ${QT_PREFIX} \ -sysconfdir ${QT_SYSCONFDIR} \ -datadir ${QT_PREFIX}/share/qt${PVER%%.*} \ -docdir ${QT_PREFIX}/share/doc/qt${PVER%%.*}-${PVER} \ -headerdir ${QT_PREFIX}/include/qt${PVER%%.*} \ -plugindir ${QT_PREFIX}/$(mlibdir)/qt${PVER%%.*}/plugins \ -importdir ${QT_PREFIX}/$(mlibdir)/qt${PVER%%.*}/imports \ -libdir ${QT_PREFIX}/$(mlibdir) \ -datadir ${QT_PREFIX}/share/qt${PVER%%.*} \ -translationdir ${QT_PREFIX}/share/qt${PVER%%.*}/translations \ -confirm-license \ -opensource \ -platform ${PLATFORM} \ -xplatform ${PLATFORM} \ -verbose \ -silent \ -fast \ -release \ -no-separate-debug-info \ -optimized-qmake \ -system-libjpeg \ -system-libmng \ -system-libpng \ -system-libtiff \ -system-zlib \ -system-nas-sound \ -system-sqlite \ -nomake examples \ -nomake demos \ -nomake docs \ -no-rpath \ -no-pch \ -qt3support \ -stl \ -lpthread \ -largefile \ -sm \ -xrender \ -opengl \ -cups \ -dbus-linked \ -openssl \ -webkit \ -svg \ -icu \ -xmlpatterns \ -declarative \ -plugin-sql-sqlite \ -plugin-sql-mysql \ -plugin-sql-odbc \ -I/usr/include/mysql \ -L/usr/$(mlibdir)/mysql \ -graphicssystem raster \ ${myconf} \ || die mmake all || die } src_install_qt4-core() { cd ${SRCDIR} install_qt_target \ src/tools/bootstrap \ src/tools/moc \ src/tools/rcc \ src/tools/uic \ src/corelib \ src/xml \ src/network \ src/plugins/codecs \ tools/linguist/lrelease \ tools/linguist/lupdate \ tools/linguist/lconvert # install missing qmake mmake INSTALL_ROOT=${BINDIR} install_qmake || die mlink qmake ${QT_PREFIX}/bin/qmake${PVER%%.*} || die # install missing findtr minstallexec ${SRCDIR}/bin/findtr ${QT_PREFIX}/bin || die # install all spec files mmake INSTALL_ROOT=${BINDIR} install_mkspecs || die # remove unneeded specs echo "removing unneeded specs ..." install -d ${BUILDDIR}/keep mv ${BINDIR}/${QT_PREFIX}/share/qt${PVER%%.*}/mkspecs/default ${BUILDDIR}/keep || die mv ${BINDIR}/${QT_PREFIX}/share/qt${PVER%%.*}/mkspecs/common ${BUILDDIR}/keep || die mv ${BINDIR}/${QT_PREFIX}/share/qt${PVER%%.*}/mkspecs/features ${BUILDDIR}/keep || die mv ${BINDIR}/${QT_PREFIX}/share/qt${PVER%%.*}/mkspecs/qws ${BUILDDIR}/keep || die mv ${BINDIR}/${QT_PREFIX}/share/qt${PVER%%.*}/mkspecs/${PLATFORM} ${BUILDDIR}/keep || die if [[ ${ARCH} = x86_64 ]] then mv ${BINDIR}/${QT_PREFIX}/share/qt${PVER%%.*}/mkspecs/linux-g++ ${BUILDDIR}/keep || die fi mv ${BINDIR}/${QT_PREFIX}/share/qt${PVER%%.*}/mkspecs/qconfig.pri ${BUILDDIR}/keep || die rm -rf ${BINDIR}/${QT_PREFIX}/share/qt${PVER%%.*}/mkspecs/* || die mv ${BUILDDIR}/keep/* ${BINDIR}/${QT_PREFIX}/share/qt${PVER%%.*}/mkspecs || die # fix qmake cache file minstalldir ${QT_PREFIX}/share/qt${PVER%%.*} || die sed "s:${SRCDIR}:${QT_PREFIX}:g" ${SRCDIR}/.qmake.cache > ${BINDIR}/${QT_PREFIX}/share/qt${PVER%%.*}/.qmake.cache || die # # some needed symlinks # mlink libqt-mt.so ${QT_PREFIX}/$(mlibdir)/libqt.so || die # generate translations and install them # use freshly built libraries LD_LIBRARY_PATH=${SRCDIR}/lib ${SRCDIR}/bin/lrelease translations/*.ts || die minstalldir ${QT_PREFIX}/share/qt${PVER%%.*}/translations || die minstallfile translations/\*.qm ${QT_PREFIX}/share/qt${PVER%%.*}/translations || die # keep the qt4 sysdir mkeepdir ${QT_SYSCONFDIR} || die # environ vars minstalldir /etc/env.d || die MCONFIG=${QT_ENVFILE} mclearconfig || die maddconfig "QMAKESPEC=\"${PLATFORM}\"" || die maddconfig "QTDIR=\"${QT_PREFIX}\"" || die if [[ ${QT_PREFIX} != /usr ]] then # overwrite the env file here, there may be one in usr # and we want this as system-wide default mclearconfig || die maddconfig "PATH=\"${QT_PREFIX}/bin\"" || die maddconfig "ROOTPATH=\"${QT_PREFIX}/bin\"" || die maddconfig "LDPATH=\"${QT_PREFIX}/$(mlibdir)\"" || die maddconfig "MANPATH=\"${QT_PREFIX}/share/man\"" || die maddconfig "PKG_CONFIG_PATH=\"${QT_PREFIX}/$(mlibdir)/pkgconfig\"" || die fi minstalldocs GPL* changes-${PVER} LICENSE* OPENSOURCE* README* || die } src_install_qt4-gui() { cd ${SRCDIR} install_qt_target \ src/gui \ src/scripttools \ src/plugins/imageformats/gif \ src/plugins/imageformats/ico \ src/plugins/imageformats/jpeg \ src/plugins/imageformats/mng \ src/plugins/imageformats/tiff \ src/plugins/imageformats/tga \ src/plugins/inputmethods \ src/plugins/accessible/widgets \ src/plugins/graphicssystems/trace \ tools/qttracereplay \ tools/qtconfig # desktop icon minstallpixmap tools/qtconfig/images/appicon.png qtconfig.png || die minstall_desktop_icon \ --name "QT4 Config" \ --file "qt4-qtconfig" \ --comment "Configure Qt4 behavior, styles, fonts" \ --exec qtconfig \ --icon qtconfig \ --categories "Qt,Settings,DesktopSettings" \ || die } src_install_qt4-svg() { cd ${SRCDIR} install_qt_target \ src/svg \ src/plugins/imageformats/svg \ src/plugins/iconengines/svgiconengine } src_install_qt4-sql() { cd ${SRCDIR} install_qt_target src/sql src/plugins/sqldrivers } src_install_qt4-script() { cd ${SRCDIR} install_qt_target src/script } src_install_qt4-xmlpatterns() { cd ${SRCDIR} install_qt_target \ src/xmlpatterns \ tools/xmlpatterns \ tools/xmlpatternsvalidator } src_install_qt4-dbus() { cd ${SRCDIR} install_qt_target \ src/dbus \ tools/qdbus/qdbus \ tools/qdbus/qdbusxml2cpp \ tools/qdbus/qdbuscpp2xml } src_install_qt4-opengl() { cd ${SRCDIR} install_qt_target src/opengl src/plugins/graphicssystems/opengl } if [[ ${QT4_PHONON} = yes ]] then src_install_qt4-phonon() { cd ${SRCDIR} install_qt_target \ src/phonon \ src/plugins/phonon # needed symlink; kde-4.4 includes from Phonon/* if [[ ! -e ${BINDIR}/${QT_PREFIX}/include/qt/Phonon ]] then mlink phonon ${QT_PREFIX}/include/qt/Phonon || die fi } fi src_install_qt4-qt3support() { cd ${SRCDIR} install_qt_target \ src/qt3support \ src/tools/uic3 \ tools/porting } src_install_qt4-webkit() { cd ${SRCDIR} install_qt_target \ src/3rdparty/webkit/Source/JavaScriptCore \ src/3rdparty/webkit/Source/WebCore \ src/3rdparty/webkit/Source/WebKit/qt } src_install_qt4-test() { cd ${SRCDIR} install_qt_target src/testlib } src_install_qt4-multimedia() { cd ${SRCDIR} install_qt_target src/multimedia } src_install_qt4-help() { cd ${SRCDIR} install_qt_target \ tools/assistant/lib/fulltextsearch \ tools/assistant/lib \ tools/assistant/tools/qhelpgenerator \ tools/assistant/tools/qcollectiongenerator \ tools/assistant/tools/qhelpconverter \ tools/qdoc3 } src_install_qt4-assistant() { cd ${SRCDIR} install_qt_target tools/assistant/tools/assistant # desktop icon minstallpixmap tools/assistant/tools/assistant/images/assistant.png || die minstall_desktop_icon \ --name "QT4 Assistant" \ --file "qt4-assistant" \ --comment "Shows Qt4 documentation and examples" \ --exec assistant \ --icon assistant \ --categories "Qt,Development,Documentation" \ || die } src_install_qt4-declarative() { cd ${SRCDIR} install_qt_target \ src/declarative \ src/imports \ src/plugins/qmltooling \ tools/qml \ tools/qmlplugindump \ src/3rdparty/webkit/Source/WebKit/qt/declarative } src_install_qt4-designer() { cd ${SRCDIR} install_qt_target tools/designer # desktop icon minstallpixmap tools/designer/src/designer/images/designer.png || die minstall_desktop_icon \ --name "QT4 Designer" \ --file "qt4-designer" \ --comment "Design GUIs for Qt4 applications" \ --exec designer \ --icon designer \ --categories "Qt,Development,GUIDesigner" \ || die } src_install_qt4-linguist() { cd ${SRCDIR} install_qt_target tools/linguist/linguist # desktop icon minstallpixmap tools/linguist/linguist/images/icons/linguist-128-32.png linguist.png || die minstall_desktop_icon \ --name "QT4 Linguist" \ --file "qt4-linguist" \ --comment "Add translations to Qt4 applications" \ --exec linguist \ --icon linguist \ --categories "Qt,Development,Translation" \ || die } src_install_qt4-pixeltool() { cd ${SRCDIR} install_qt_target tools/pixeltool } src_install_qt4-qdbusviewer() { cd ${SRCDIR} install_qt_target tools/qdbus/qdbusviewer # desktop icon minstallpixmap tools/qdbus/qdbusviewer/images/qdbusviewer-128.png qdbusviewer.png || die minstall_desktop_icon \ --name "QT4 QDbusViewer" \ --file "qt4-qdbusviewer" \ --comment "Debug D-Bus applications" \ --exec qdbusviewer \ --icon qdbusviewer \ --categories "Qt,Development,Debugger" \ || die } src_install_qt4-bearer() { cd ${SRCDIR} install_qt_target \ src/plugins/bearer/generic \ src/plugins/bearer/networkmanager } postinstall_qt4-gui() { xdg_update_icon_resource fdo-mime_update_desktop_db } postinstall_qt4-designer() { xdg_update_icon_resource fdo-mime_update_desktop_db } postinstall_qt4-linguist() { xdg_update_icon_resource fdo-mime_update_desktop_db } postinstall_qt4-pixeltool() { xdg_update_icon_resource fdo-mime_update_desktop_db } postremove_qt4-gui() { xdg_update_icon_resource fdo-mime_update_desktop_db } postremove_qt4-designer() { xdg_update_icon_resource fdo-mime_update_desktop_db } postremove_qt4-linguist() { xdg_update_icon_resource fdo-mime_update_desktop_db } postremove_qt4-pixeltool() { xdg_update_icon_resource fdo-mime_update_desktop_db }