diff options
author | Caleb Tennis <caleb@gentoo.org> | 2004-04-17 11:53:14 +0000 |
---|---|---|
committer | Caleb Tennis <caleb@gentoo.org> | 2004-04-17 11:53:14 +0000 |
commit | 77da9c20b7831c75b5b5a9a47aa9e61e1e0f7d2b (patch) | |
tree | 6ea208653495bb43a2fb5dd36d9b9c27c8a717f5 /x11-libs | |
parent | Updated the warning messages. (diff) | |
download | gentoo-2-77da9c20b7831c75b5b5a9a47aa9e61e1e0f7d2b.tar.gz gentoo-2-77da9c20b7831c75b5b5a9a47aa9e61e1e0f7d2b.tar.bz2 gentoo-2-77da9c20b7831c75b5b5a9a47aa9e61e1e0f7d2b.zip |
New ebuild revision with some bugfixes
Diffstat (limited to 'x11-libs')
-rw-r--r-- | x11-libs/qt/ChangeLog | 9 | ||||
-rw-r--r-- | x11-libs/qt/files/digest-qt-3.3.1-r2 | 1 | ||||
-rw-r--r-- | x11-libs/qt/files/qt-3.3.1-qclipboard-fix.patch | 94 | ||||
-rw-r--r-- | x11-libs/qt/qt-3.3.1-r2.ebuild | 187 |
4 files changed, 290 insertions, 1 deletions
diff --git a/x11-libs/qt/ChangeLog b/x11-libs/qt/ChangeLog index ce69c2b8f712..33f130c0db35 100644 --- a/x11-libs/qt/ChangeLog +++ b/x11-libs/qt/ChangeLog @@ -1,10 +1,17 @@ # ChangeLog for x11-libs/qt # Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/ChangeLog,v 1.135 2004/04/17 08:12:14 lv Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/ChangeLog,v 1.136 2004/04/17 11:53:14 caleb Exp $ 17 Apr 2004; Travis Tilley <lv@gentoo.org> qt-3.3.1-r1.ebuild: marked stable on amd64 +*qt-3.3.1-r2 (17 Apr 2004) + + 17 Apr 2004; Caleb Tennis <caleb@gentoo.org> +qt-3.3.1-r2.ebuild: + Explicitly turn off plugins if they aren't to be configured. + Add a clipboard patch + Fix the directories in the Makefiles for examples and tutorials. + 01 Apr 2004; Travis Tilley <lv@gentoo.org> : added lib64 symlink on amd64 diff --git a/x11-libs/qt/files/digest-qt-3.3.1-r2 b/x11-libs/qt/files/digest-qt-3.3.1-r2 new file mode 100644 index 000000000000..68146f1a0e7f --- /dev/null +++ b/x11-libs/qt/files/digest-qt-3.3.1-r2 @@ -0,0 +1 @@ +MD5 4e599bedfcb3fe389bc7ec921c476432 qt-x11-free-3.3.1.tar.bz2 14397600 diff --git a/x11-libs/qt/files/qt-3.3.1-qclipboard-fix.patch b/x11-libs/qt/files/qt-3.3.1-qclipboard-fix.patch new file mode 100644 index 000000000000..fdfa086ff13f --- /dev/null +++ b/x11-libs/qt/files/qt-3.3.1-qclipboard-fix.patch @@ -0,0 +1,94 @@ +--- src/kernel/qclipboard_x11.cpp.sav 2004-01-06 19:24:40.000000000 +0100 ++++ src/kernel/qclipboard_x11.cpp 2004-01-22 19:48:32.000000000 +0100 +@@ -112,10 +112,6 @@ static bool pending_selection_changed = + + // event capture mechanism for qt_xclb_wait_for_event + static bool waiting_for_data = FALSE; +-static bool has_captured_event = FALSE; +-static Window capture_event_win = None; +-static int capture_event_type = -1; +-static XEvent captured_event; + + class QClipboardWatcher; // forward decl + static QClipboardWatcher *selection_watcher = 0; +@@ -432,69 +428,36 @@ bool QClipboard::selectionModeEnabled() + { return inSelectionMode_obsolete; } + + +-// event filter function... captures interesting events while +-// qt_xclb_wait_for_event is running the event loop +-static int qt_xclb_event_filter(XEvent *event) +-{ +- if (event->xany.type == capture_event_type && +- event->xany.window == capture_event_win) { +- VDEBUG( "QClipboard: event_filter(): caught event type %d", event->type ); +- has_captured_event = TRUE; +- captured_event = *event; +- return 1; +- } +- +- return 0; +-} +- + bool qt_xclb_wait_for_event( Display *dpy, Window win, int type, XEvent *event, + int timeout ) + { +- if ( waiting_for_data ) +- qFatal( "QClipboard: internal error, qt_xclb_wait_for_event recursed" ); +- +- waiting_for_data = TRUE; +- + QTime started = QTime::currentTime(); + QTime now = started; +- +- has_captured_event = FALSE; +- capture_event_win = win; +- capture_event_type = type; +- +- QX11EventFilter old_event_filter = qt_set_x11_event_filter(qt_xclb_event_filter); ++ bool flushed = FALSE; + + do { +- if ( XCheckTypedWindowEvent(dpy,win,type,event) ) { +- waiting_for_data = FALSE; +- qt_set_x11_event_filter(old_event_filter); ++ if ( XCheckTypedWindowEvent(dpy,win,type,event) ) + return TRUE; +- } + + now = QTime::currentTime(); + if ( started > now ) // crossed midnight + started = now; + +- // 0x08 == ExcludeTimers for X11 only +- qApp->eventLoop()->processEvents( QEventLoop::ExcludeUserInput | +- QEventLoop::ExcludeSocketNotifiers | +- QEventLoop::WaitForMore | 0x08 ); +- +- if ( has_captured_event ) { +- waiting_for_data = FALSE; +- *event = captured_event; +- qt_set_x11_event_filter(old_event_filter); +- return TRUE; ++ if(!flushed) { ++ XFlush( dpy ); ++ flushed = TRUE; + } +- } while ( started.msecsTo(now) < timeout ); + +- waiting_for_data = FALSE; +- qt_set_x11_event_filter(old_event_filter); ++ // sleep 50ms, so we don't use up CPU cycles all the time. ++ struct timeval usleep_tv; ++ usleep_tv.tv_sec = 0; ++ usleep_tv.tv_usec = 50000; ++ select(0, 0, 0, 0, &usleep_tv); ++ } while ( started.msecsTo(now) < timeout ); + + return FALSE; + } + +- + static inline int maxSelectionIncr( Display *dpy ) + { return XMaxRequestSize(dpy) > 65536 ? 65536*4 : XMaxRequestSize(dpy)*4 - 100; } + diff --git a/x11-libs/qt/qt-3.3.1-r2.ebuild b/x11-libs/qt/qt-3.3.1-r2.ebuild new file mode 100644 index 000000000000..1ee5af2bd9d8 --- /dev/null +++ b/x11-libs/qt/qt-3.3.1-r2.ebuild @@ -0,0 +1,187 @@ +# Copyright 1999-2004 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/qt-3.3.1-r2.ebuild,v 1.1 2004/04/17 11:53:14 caleb Exp $ + +SRCTYPE="free" +DESCRIPTION="QT version ${PV}" +HOMEPAGE="http://www.trolltech.com/" + +SRC_URI="ftp://ftp.trolltech.com/qt/source/qt-x11-${SRCTYPE}-${PV}.tar.bz2" + +LICENSE="QPL-1.0 | GPL-2" +SLOT="3" +KEYWORDS="~x86 ~alpha ~ppc ~amd64 ~sparc ~hppa" +IUSE="cups nas postgres opengl mysql odbc gif doc firebird zlib icc sqlite ipv6 xinerama" + +DEPEND="virtual/x11 virtual/xft + media-libs/libpng media-libs/jpeg media-libs/libmng + >=media-libs/freetype-2 + gif? ( media-libs/giflib media-libs/libungif ) + nas? ( >=media-libs/nas-1.5 ) + odbc? ( dev-db/unixODBC ) + mysql? ( dev-db/mysql ) + sqlite? ( dev-db/sqlite ) + firebird? ( dev-db/firebird ) + opengl? ( virtual/opengl virtual/glu ) + postgres? ( dev-db/postgresql ) + cups? ( net-print/cups ) + zlib? ( sys-libs/zlib ) + icc? ( dev-lang/icc )" + +RDEPEND="${DEPEND}" + +S=${WORKDIR}/qt-x11-${SRCTYPE}-${PV} + +QTBASE=/usr/qt/3 +export QTDIR=${S} +export PLATFORM=linux-g++ + +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}/qfontdatabase_x11.diff + epatch ${FILESDIR}/${P}-qclipboard-fix.patch + +# use icc && export PLATFORM=linux-icc +} + +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" + 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 oci8 && myconf="${myconf} -plugin-sql-oci" || myconf="${myconf} -no-sql-oci" + 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" + + 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} -fast ${myconf} \ + -dlopen-opengl || die + + export QTDIR=${S} + + emake src-qmake src-moc sub-src || die + LD_LIBRARY_PATH="${S}/lib:${LD_LIBRARY_PATH}" emake sub-tools || die +} + +src_install() { + export QTDIR=${S} + + # binaries + into $QTBASE + dobin bin/* + + # libraries + + dolib lib/libqt-mt.so.3.3.1 lib/libqui.so.1.0.0 + dolib lib/lib{editor,qassistantclient,designercore}.a lib/libqt-mt.la + + cd ${D}/$QTBASE/lib + 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.1->3.3->3->.so + ln -s libqt-mt.so.3.3.1 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.1 libqt.so.3.3.1 + 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 + + # 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} + + 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 + + # 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 + + # plugins + cd ${S} + plugins=`find plugins -name "lib*.so" -print` + for x in $plugins; do + insinto ${QTBASE}/`dirname $x` + doins $x + done + + # needed to fix lib64 issues on amd64, see bug #45669 + use amd64 && ln -s ${QTBASE}/lib ${D}/${QTBASE}/lib64 +} |