diff options
author | Caleb Tennis <caleb@gentoo.org> | 2005-03-04 03:06:29 +0000 |
---|---|---|
committer | Caleb Tennis <caleb@gentoo.org> | 2005-03-04 03:06:29 +0000 |
commit | e606c4666bacae91390bdc8134fca2b4f062b6a2 (patch) | |
tree | 417ca00e7f56d5710ce87e2b4a3969971b971332 | |
parent | Make sure we use a custom PKGDIR so we dont overwrite the users normal toolch... (diff) | |
download | gentoo-2-e606c4666bacae91390bdc8134fca2b4f062b6a2.tar.gz gentoo-2-e606c4666bacae91390bdc8134fca2b4f062b6a2.tar.bz2 gentoo-2-e606c4666bacae91390bdc8134fca2b4f062b6a2.zip |
New version incorporating some KDE patches
(Portage version: 2.0.51.19)
-rw-r--r-- | x11-libs/qt/ChangeLog | 9 | ||||
-rw-r--r-- | x11-libs/qt/files/digest-qt-3.3.4-r3 | 2 | ||||
-rw-r--r-- | x11-libs/qt/files/qt-3.3.4-0047-fix-kmenu-widget.diff | 25 | ||||
-rw-r--r-- | x11-libs/qt/files/qt-3.3.4-0051-qtoolbar_77047.patch | 29 | ||||
-rw-r--r-- | x11-libs/qt/qt-3.3.4-r3.ebuild | 274 |
5 files changed, 338 insertions, 1 deletions
diff --git a/x11-libs/qt/ChangeLog b/x11-libs/qt/ChangeLog index 1083cc3b5f34..9de3e14a08c7 100644 --- a/x11-libs/qt/ChangeLog +++ b/x11-libs/qt/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for x11-libs/qt # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/ChangeLog,v 1.201 2005/03/03 17:18:29 caleb Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/ChangeLog,v 1.202 2005/03/04 03:06:28 caleb Exp $ + +*qt-3.3.4-r3 (03 Mar 2005) + + 03 Mar 2005; Caleb Tennis <caleb@gentoo.org> + +files/qt-3.3.4-0047-fix-kmenu-widget.diff, + +files/qt-3.3.4-0051-qtoolbar_77047.patch, +qt-3.3.4-r3.ebuild: + New version incorporating some KDE patches *qt-4.0.0_beta1-r4 (03 Mar 2005) diff --git a/x11-libs/qt/files/digest-qt-3.3.4-r3 b/x11-libs/qt/files/digest-qt-3.3.4-r3 new file mode 100644 index 000000000000..d12b1ee1a446 --- /dev/null +++ b/x11-libs/qt/files/digest-qt-3.3.4-r3 @@ -0,0 +1,2 @@ +MD5 027f4e82fbe592b39d2f160bfb3a73af qt-x11-free-3.3.4.tar.bz2 14439722 +MD5 85fdf8ac3264a8849ebae74aa9c37a9b qt-x11-immodule-unified-qt3.3.4-20041203.diff.bz2 113389 diff --git a/x11-libs/qt/files/qt-3.3.4-0047-fix-kmenu-widget.diff b/x11-libs/qt/files/qt-3.3.4-0047-fix-kmenu-widget.diff new file mode 100644 index 000000000000..fb0bb1678de2 --- /dev/null +++ b/x11-libs/qt/files/qt-3.3.4-0047-fix-kmenu-widget.diff @@ -0,0 +1,25 @@ +qt-bugs@ issue: N46882 +bugs.kde.org number: 77545 +applied: no +author: Stephan Binner <binner@kde.org> + +Fix wrong K menu width for the case of enabled side pixmap and a menu title +(like "Recently Used Applications") being longer than every other entry. + +Solution: Respect PanelKMenu::setMaximumSize() as up to Qt 3.2.3 + +Index: src/widgets/qpopupmenu.cpp +=================================================================== +RCS file: /home/kde/qt-copy/src/widgets/qpopupmenu.cpp,v +retrieving revision 1.60 +diff -u -3 -p -b -r1.60 qpopupmenu.cpp +--- src/widgets/qpopupmenu.cpp 29 Apr 2004 22:31:28 -0000 1.60 ++++ src/widgets/qpopupmenu.cpp 30 Apr 2004 01:11:59 -0000 +@@ -2531,7 +2531,7 @@ QSize QPopupMenu::sizeHint() const + + QPopupMenu* that = (QPopupMenu*) this; + //We do not need a resize here, just the sizeHint.. +- return that->updateSize(FALSE, FALSE).expandedTo( QApplication::globalStrut() ); ++ return that->updateSize(FALSE).expandedTo( QApplication::globalStrut() ); + } + diff --git a/x11-libs/qt/files/qt-3.3.4-0051-qtoolbar_77047.patch b/x11-libs/qt/files/qt-3.3.4-0051-qtoolbar_77047.patch new file mode 100644 index 000000000000..40fbfdca874e --- /dev/null +++ b/x11-libs/qt/files/qt-3.3.4-0051-qtoolbar_77047.patch @@ -0,0 +1,29 @@ +qt-bugs@ issue : 54405 +applied: no +author: Waldo Bastian <bastian@kde.org> + +KToolBarButton always uses a non-zero popup-delay because we would like +to draw the menu-indicator on the toolbar buttons ourselves. Unfortunately +that means that the menu-item in the toolbar-extension menu does not include +any sub-menu either. With this patch, KToolBarButton can use a popup-delay +of -1 so that we can still draw our own popup indicator _AND_ get the sub-menu +in the toolbar-extension menu. + +This fixes http://bugs.kde.org/show_bug.cgi?id=77047 + +Index: widgets/qtoolbar.cpp +=================================================================== +RCS file: /home/kde/qt-copy/src/widgets/qtoolbar.cpp,v +retrieving revision 1.56 +diff -u -p -r1.56 qtoolbar.cpp +--- src/widgets/qtoolbar.cpp 21 Dec 2003 00:48:21 -0000 1.56 ++++ src/widgets/qtoolbar.cpp 12 Aug 2004 11:42:21 -0000 +@@ -648,7 +648,7 @@ void QToolBar::createPopup() + QString s = b->textLabel(); + if ( s.isEmpty() ) + s = b->text(); +- if ( b->popup() && b->popupDelay() == 0 ) ++ if ( b->popup() && b->popupDelay() <= 0 ) + id = d->extensionPopup->insertItem( b->iconSet(), s, b->popup() ); + else + id = d->extensionPopup->insertItem( b->iconSet(), s, b, SLOT( emulateClick() ) ) ; diff --git a/x11-libs/qt/qt-3.3.4-r3.ebuild b/x11-libs/qt/qt-3.3.4-r3.ebuild new file mode 100644 index 000000000000..0de1ee6e6e71 --- /dev/null +++ b/x11-libs/qt/qt-3.3.4-r3.ebuild @@ -0,0 +1,274 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/qt-3.3.4-r3.ebuild,v 1.1 2005/03/04 03:06:28 caleb Exp $ + +inherit eutils flag-o-matic + +SRCTYPE="free" +DESCRIPTION="QT version ${PV}" +HOMEPAGE="http://www.trolltech.com/" + +IMMQT_P="qt-x11-immodule-unified-qt3.3.4-20041203" + +SRC_URI="ftp://ftp.trolltech.com/qt/source/qt-x11-${SRCTYPE}-${PV}.tar.bz2 + immqt? ( http://freedesktop.org/~daisuke/${IMMQT_P}.diff.bz2 ) + immqt-bc? ( http://freedesktop.org/~daisuke/${IMMQT_P}.diff.bz2 )" +# ppc-macos? ( http://dev.gentoo.org/~usata/distfiles/${P}-darwin-fink.patch.gz )" + +LICENSE="|| ( QPL-1.0 GPL-2 )" +SLOT="3" +KEYWORDS="~x86 ~amd64 ~hppa ~mips ~ppc64 ~sparc ~ia64 ~ppc ~alpha" +IUSE="cups debug doc firebird gif ipv6 mysql nas odbc opengl postgres sqlite xinerama zlib immqt immqt-bc" + +DEPEND="virtual/x11 virtual/xft + media-libs/libpng media-libs/jpeg media-libs/libmng + >=media-libs/freetype-2 + nas? ( >=media-libs/nas-1.5 ) + odbc? ( dev-db/unixODBC ) + mysql? ( dev-db/mysql ) + firebird? ( dev-db/firebird ) + opengl? ( virtual/opengl virtual/glu ) + postgres? ( dev-db/postgresql ) + cups? ( net-print/cups ) + zlib? ( sys-libs/zlib )" + +S=${WORKDIR}/qt-x11-${SRCTYPE}-${PV} + +QTBASE=/usr/qt/3 +export QTDIR=${S} + +pkg_setup() { + if use immqt ; then + ewarn + ewarn "You are going to compile binary imcompatible immodule for Qt. This means" + ewarn "you have to recompile everything depending on Qt after you install it." + ewarn "Be aware." + ewarn + fi + + if useq ppc-macos ; then + export PLATFORM=darwin-g++ + export DYLD_LIBRARY_PATH="${QTDIR}/lib:/usr/X11R6/lib:${DYLD_LIBRARY_PATH}" + export INSTALL_ROOT="" + else + export PLATFORM=linux-g++ + fi +} + +src_unpack() { + unpack ${A} + + export QTDIR=${S} + cd ${S} + + cp configure configure.orig + sed -e 's:read acceptance:acceptance=yes:' configure.orig > configure + + epatch ${FILESDIR}/qt-no-rpath-uic.patch + epatch ${FILESDIR}/qt-no-rpath.patch + + # fix freeze caused by bad interaction with kde klipper (kde bug 80072) + epatch ${FILESDIR}/${P}-qclipboard-hack.patch + + # performance patches (see http://robotics.dei.unipd.it/~koral/KDE/kflicker.html) + epatch ${FILESDIR}/${P}-flickerfree_qiconview_buffered.patch + epatch ${FILESDIR}/${P}-flickerfree_qscrollview_fixwindowactivate.patch + + # KDE related patches + epatch ${FILESDIR}/${P}-0051-qtoolbar_77047.patch + epatch ${FILESDIR}/${P}-0047-fix-kmenu-widget.diff + + if use immqt || use immqt-bc ; then + epatch ../${IMMQT_P}.diff + sh make-symlinks.sh || die "make symlinks failed" + fi + + if use ppc-macos ; then + gzcat ${FILESDIR}/${P}-darwin-fink.patch.gz | sed -e "s:@QTBASE@:${QTBASE}:g" > ${T}/${P}-darwin-fink.patch + epatch ${T}/${P}-darwin-fink.patch + fi + + cd mkspecs/${PLATFORM} + # set c/xxflags and ldflags + strip-flags + 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}:" \ + qmake.conf || die + cd ${S} +} + +src_compile() { + export QTDIR=${S} + export SYSCONF=${D}${QTBASE}/etc/settings + + # Let's just allow writing to these directories during Qt emerge + # as it makes Qt much happier. + addwrite "${QTBASE}/etc/settings" + addwrite "$HOME/.qt" + + use nas && myconf="${myconf} -system-nas-sound" + use gif && myconf="${myconf} -qt-gif" || myconf="${myconf} -no-gif" + use mysql && myconf="${myconf} -plugin-sql-mysql -I/usr/include/mysql -L/usr/lib/mysql" || myconf="${myconf} -no-sql-mysql" + use postgres && myconf="${myconf} -plugin-sql-psql -I/usr/include/postgresql/server -I/usr/include/postgresql/pgsql -I/usr/include/postgresql/pgsql/server" || myconf="${myconf} -no-sql-psql" + use firebird && myconf="${myconf} -plugin-sql-ibase" || myconf="${myconf} -no-sql-ibase" + use sqlite && myconf="${myconf} -plugin-sql-sqlite" || myconf="${myconf} -no-sql-sqlite" + use odbc && myconf="${myconf} -plugin-sql-odbc" || myconf="${myconf} -no-sql-odbc" + use cups && myconf="${myconf} -cups" || myconf="${myconf} -no-cups" + use opengl && myconf="${myconf} -enable-module=opengl" || myconf="${myconf} -disable-opengl" + use debug && myconf="${myconf} -debug" || myconf="${myconf} -release -no-g++-exceptions" + use xinerama && myconf="${myconf} -xinerama" || myconf="${myconf} -no-xinerama" + use zlib && myconf="${myconf} -system-zlib" || myconf="${myconf} -qt-zlib" + use ipv6 && myconf="${myconf} -ipv6" || myconf="${myconf} -no-ipv6" + use immqt-bc && myconf="${myconf} -inputmethod" + use immqt && myconf="${myconf} -inputmethod -inputmethod-ext" + + if use ppc-macos ; then + myconf="${myconf} -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql -no-cups -lresolv -shared" + myconf="${myconf} -I/usr/X11R6/include -L/usr/X11R6/lib" + myconf="${myconf} -L${S}/lib -I${S}/include" + sed -i -e "s,#define QT_AOUT_UNDERSCORE,," mkspecs/${PLATFORM}/qplatformdefs.h || die + fi + + export YACC='byacc -d' + + ./configure -sm -thread -stl -system-libjpeg -verbose -largefile \ + -qt-imgfmt-{jpeg,mng,png} -tablet -system-libmng \ + -system-libpng -lpthread -xft -platform ${PLATFORM} -xplatform \ + ${PLATFORM} -xrender -prefix ${QTBASE} -libdir ${QTBASE}/$(get_libdir) \ + -fast ${myconf} -dlopen-opengl || die + + export QTDIR=${S} + + emake src-qmake src-moc sub-src || die + DYLD_LIBRARY_PATH="${S}/lib:/usr/X11R6/lib:${DYLD_LIBRARY_PATH}" \ + LD_LIBRARY_PATH="${S}/lib:${LD_LIBRARY_PATH}" emake sub-tools || die +} + +src_install() { + export QTDIR=${S} + + # binaries + into $QTBASE + dobin bin/* + + # libraries + if use ppc-macos; then + # dolib is broken on BSD because of missing readlink(1) + dodir ${QTBASE}/$(get_libdir) + cp -fR lib/*.{dylib,la,a} ${D}/${QTBASE}/$(get_libdir) || die + + cd ${D}/${QTBASE}/$(get_libdir) + for lib in libqt-mt* ; do + ln -s ${lib} ${lib/-mt/} + done + else + dolib lib/lib{editor,qassistantclient,designercore}.a + dolib lib/libqt-mt.la + dolib lib/libqt-mt.so.3.3.4 lib/libqui.so.1.0.0 + cd ${D}/${QTBASE}/$(get_libdir) + + for x in libqui.so ; do + ln -s $x.1.0.0 $x.1.0 + ln -s $x.1.0 $x.1 + ln -s $x.1 $x + done + + # version symlinks - 3.3.4->3.3->3->.so + ln -s libqt-mt.so.3.3.4 libqt-mt.so.3.3 + ln -s libqt-mt.so.3.3 libqt-mt.so.3 + ln -s libqt-mt.so.3 libqt-mt.so + + # libqt -> libqt-mt symlinks + ln -s libqt-mt.so.3.3.4 libqt.so.3.3.4 + ln -s libqt-mt.so.3.3 libqt.so.3.3 + ln -s libqt-mt.so.3 libqt.so.3 + ln -s libqt-mt.so libqt.so + fi + + # plugins + cd ${S} + plugins=`find plugins -name "lib*.so" -print` + for x in $plugins; do + exeinto ${QTBASE}/`dirname $x` + doexe $x + done + + # Past this point just needs to be done once + is_final_abi || return 0 + + # includes + cd ${S} + dodir ${QTBASE}/include/private + cp include/* ${D}/${QTBASE}/include/ + cp include/private/* ${D}/${QTBASE}/include/private/ + + # misc + insinto /etc/env.d + doins ${FILESDIR}/{45qt3,50qtdir3} + + # List all the multilib libdirs + local libdirs + for libdir in $(get_all_libdirs); do + libdirs="${libdirs}:${QTBASE}/${libdir}" + done + dosed "s~^LDPATH=.*$~LDPATH=${libdirs:1}~" /etc/env.d/45qt3 + + if [ "${SYMLINK_LIB}" = "yes" ]; then + dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) ${QTBASE}/lib + fi + + dodir ${QTBASE}/tools/designer/templates + cd ${S} + cp tools/designer/templates/* ${D}/${QTBASE}/tools/designer/templates + + dodir ${QTBASE}/translations + cd ${S} + cp translations/* ${D}/${QTBASE}/translations + + dodir ${QTBASE}/etc + keepdir ${QTBASE}/etc/settings + + dodir ${QTBASE}/doc + + if use doc; then + cp -r ${S}/doc ${D}/${QTBASE} + + cd ${S}/examples + find . -name Makefile | while read MAKEFILE + do + cp ${MAKEFILE} ${MAKEFILE}.old + sed -e "s:${S}:${QTBASE}:g" ${MAKEFILE}.old > ${MAKEFILE} + rm -f ${MAKEFILE}.old + done + + cp -r ${S}/examples ${D}/${QTBASE} + + cd ${S}/tutorial + find . -name Makefile | while read MAKEFILE + do + cp ${MAKEFILE} ${MAKEFILE}.old + sed -e "s:${S}:${QTBASE}:g" ${MAKEFILE}.old > ${MAKEFILE} + rm -f ${MAKEFILE}.old + done + + cp -r ${S}/tutorial ${D}/${QTBASE} + fi + + if use immqt || use immqt-bc ; then + dodoc ${S}/README.immodule + fi + + # misc build reqs + dodir ${QTBASE}/mkspecs + cp -R ${S}/mkspecs/${PLATFORM} ${D}/${QTBASE}/mkspecs/ + + sed -e "s:${S}:${QTBASE}:g" \ + ${S}/.qmake.cache > ${D}${QTBASE}/.qmake.cache + + if use ppc-macos ; then + dosed "s:linux-g++:${PLATFORM}:" /etc/env.d/45qt3 \ + "s:\$(QTBASE):\$(QTDIR):g" ${QTBASE}/mkspecs/${PLATFORM}/qmake.conf \ + "s:${S}:${QTBASE}:g" ${QTBASE}/mkspecs/${PLATFORM}/qmake.conf ${QTBASE}/lib/libqt-mt.la || die + fi +} |