summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaleb Tennis <caleb@gentoo.org>2004-04-17 11:53:14 +0000
committerCaleb Tennis <caleb@gentoo.org>2004-04-17 11:53:14 +0000
commit77da9c20b7831c75b5b5a9a47aa9e61e1e0f7d2b (patch)
tree6ea208653495bb43a2fb5dd36d9b9c27c8a717f5 /x11-libs
parentUpdated the warning messages. (diff)
downloadgentoo-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/ChangeLog9
-rw-r--r--x11-libs/qt/files/digest-qt-3.3.1-r21
-rw-r--r--x11-libs/qt/files/qt-3.3.1-qclipboard-fix.patch94
-rw-r--r--x11-libs/qt/qt-3.3.1-r2.ebuild187
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
+}