diff options
author | Caleb Tennis <caleb@gentoo.org> | 2004-07-09 19:29:45 +0000 |
---|---|---|
committer | Caleb Tennis <caleb@gentoo.org> | 2004-07-09 19:29:45 +0000 |
commit | fdcbab59b93a47f3888542f2aaae7e7d87d66e4c (patch) | |
tree | 25f9b9ca363edcda2ce20a2a7713d3d2913653ad /x11-libs/qt | |
parent | disable sandbox in all non-hardened amd64 profiles until we can properly sort... (diff) | |
download | gentoo-2-fdcbab59b93a47f3888542f2aaae7e7d87d66e4c.tar.gz gentoo-2-fdcbab59b93a47f3888542f2aaae7e7d87d66e4c.tar.bz2 gentoo-2-fdcbab59b93a47f3888542f2aaae7e7d87d66e4c.zip |
Whoops, got rid of one too many. Readd
Diffstat (limited to 'x11-libs/qt')
-rw-r--r-- | x11-libs/qt/ChangeLog | 7 | ||||
-rw-r--r-- | x11-libs/qt/files/digest-qt-3.3.1-r2 | 1 | ||||
-rw-r--r-- | x11-libs/qt/files/qfontdatabase_x11.diff | 27 | ||||
-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 | 193 |
5 files changed, 321 insertions, 1 deletions
diff --git a/x11-libs/qt/ChangeLog b/x11-libs/qt/ChangeLog index 7c21e669eeac..756538ae295b 100644 --- a/x11-libs/qt/ChangeLog +++ b/x11-libs/qt/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for x11-libs/qt # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/ChangeLog,v 1.153 2004/07/09 19:25:07 caleb Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/ChangeLog,v 1.154 2004/07/09 19:29:45 caleb Exp $ + +*qt-3.3.1-r2 (09 Jul 2004) + + 09 Jul 2004; Caleb Tennis <caleb@gentoo.org> qt-3.3.1-r2.ebuild: + Whoops, got rid of one too many - readd 09 Jul 2004; Caleb Tennis <caleb@gentoo.org> qt-3.0.5-r2.ebuild, qt-3.1.2-r3.ebuild, qt-3.1.2-r4.ebuild, qt-3.3.0-r1.ebuild, 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/qfontdatabase_x11.diff b/x11-libs/qt/files/qfontdatabase_x11.diff new file mode 100644 index 000000000000..6a19825d2a5a --- /dev/null +++ b/x11-libs/qt/files/qfontdatabase_x11.diff @@ -0,0 +1,27 @@ +--- src/kernel/qfontdatabsae_x11.cpp.orig 2004-03-04 17:53:01.000000000 +0100 ++++ src/kernel/qfontdatabase_x11.cpp 2004-03-04 17:47:59.000000000 +0100 +@@ -1508,6 +1516,24 @@ + XftResult res; + XftPattern *result = + XftFontMatch( QPaintDevice::x11AppDisplay(), fp->screen, pattern, &res ); ++#ifdef QT_XFT2 ++ if (script == QFont::Latin) { ++ // since we added the Euro char on top, check we actually got the family ++ // we requested. If we didn't get it correctly, remove the Euro from the pattern ++ // and try again. ++ FcChar8 *f; ++ res = FcPatternGetString(result, FC_FAMILY, 0, &f); ++ if (res == FcResultMatch && QString::fromUtf8((char *)f) != family->rawName) { ++ qDebug("trying without Euro"); ++ FcPatternDel(pattern, FC_CHARSET); ++ FcCharSet *cs = FcCharSetCreate(); ++ QChar sample = sampleCharacter(script); ++ FcCharSetAddChar(cs, sample.unicode()); ++ FcPatternAddCharSet(pattern, FC_CHARSET, cs); ++ result = XftFontMatch( QPaintDevice::x11AppDisplay(), fp->screen, pattern, &res ); ++ } ++ } ++#endif + XftPatternDestroy(pattern); + + // We pass a duplicate to XftFontOpenPattern because either xft font 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..7e253936838d --- /dev/null +++ b/x11-libs/qt/qt-3.3.1-r2.ebuild @@ -0,0 +1,193 @@ +# Copyright 1999-2004 Gentoo Foundation +# 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.9 2004/07/09 19:29:45 caleb Exp $ + +inherit eutils + +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 mips" +IUSE="cups debug doc firebird gif icc ipv6 mysql nas odbc opengl postgres sqlite xinerama zlib" + +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 + + # mips requires this patch to pass a CFLAG to gcc/g++ (which passes it to the assembler). + # It tells the assembler to relax branches on mips, otherwise we get build errors. + use mips && epatch ${FILESDIR}/${P}-mips-relax-branches.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 +} |