diff options
author | Michele Balistreri <brain@gentoo.org> | 2003-04-12 23:20:58 +0000 |
---|---|---|
committer | Michele Balistreri <brain@gentoo.org> | 2003-04-12 23:20:58 +0000 |
commit | c9a50b351f3fcecc08c29fd73d28864f88570a81 (patch) | |
tree | 04e9fe60b6604de2f495c1f37704838712b28a32 /x11-libs/qt | |
parent | fix bug #19005 (diff) | |
download | gentoo-2-c9a50b351f3fcecc08c29fd73d28864f88570a81.tar.gz gentoo-2-c9a50b351f3fcecc08c29fd73d28864f88570a81.tar.bz2 gentoo-2-c9a50b351f3fcecc08c29fd73d28864f88570a81.zip |
fix bug #19005
Diffstat (limited to 'x11-libs/qt')
-rw-r--r-- | x11-libs/qt/ChangeLog | 7 | ||||
-rw-r--r-- | x11-libs/qt/Manifest | 6 | ||||
-rw-r--r-- | x11-libs/qt/files/digest-qt-3.1.2-r1 | 1 | ||||
-rw-r--r-- | x11-libs/qt/files/qsocket-3.1.2.diff | 128 | ||||
-rw-r--r-- | x11-libs/qt/qt-3.1.2-r1.ebuild | 198 |
5 files changed, 336 insertions, 4 deletions
diff --git a/x11-libs/qt/ChangeLog b/x11-libs/qt/ChangeLog index 24b93429bafb..ef61729d8caf 100644 --- a/x11-libs/qt/ChangeLog +++ b/x11-libs/qt/ChangeLog @@ -1,7 +1,12 @@ # ChangeLog for x11-libs/qt # Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/ChangeLog,v 1.58 2003/04/06 13:25:55 danarmak Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/ChangeLog,v 1.59 2003/04/12 23:20:25 brain Exp $ +*qt-3.1.2-r1 (13 Apr 2003) + + 13 Apr 2003; Michele Balistreri <brain@gentoo.org> qt-3.1.2-r1.ebuild: + Fix bug #19005 + 06 Apr 2003; Dan Armak <danarmak@gentoo.org> qt-3.1.2.ebuild: Add dep on app-doc/qt-docs of the same version, if USE doc is enabled. diff --git a/x11-libs/qt/Manifest b/x11-libs/qt/Manifest index 15c27a81bd40..b7fa7eb7822a 100644 --- a/x11-libs/qt/Manifest +++ b/x11-libs/qt/Manifest @@ -1,4 +1,4 @@ -MD5 06b3aa647d9136712f6c3bd3a4b78ccb ChangeLog 9638 +MD5 324b0675b73390aeb9cba6c63528eff1 ChangeLog 9758 MD5 a8ec069d250a965a7c5708a2277eba72 qt-2.3.2-r1.ebuild 2289 MD5 7d96c0cc105d4d61b811bf8ad9210b65 qt-3.0.5-r1.ebuild 3464 MD5 7574a34ccd181870ea18bf3145310e37 qt-3.0.5-r2.ebuild 3975 @@ -10,7 +10,7 @@ MD5 967214749164332a1f541ec94301c121 qt-3.1.0.ebuild 4155 MD5 ac90185d38d2ee1298794902f1feb681 qt-3.1.1-r1.ebuild 4347 MD5 66b942151418494936c3b73e01e37d68 qt-3.1.1-r2.ebuild 4659 MD5 87b793a8fe61c16797f603b2efaad6b1 qt-3.1.1.ebuild 4292 -MD5 24f2f83481f9006d7835a3cb625ce07a qt-3.1.2-r1.ebuild 5415 +MD5 4657b412c33967ea5acfc6d8b7d99b26 qt-3.1.2-r1.ebuild 5415 MD5 975f7053e5e945e6e509206242c7cfab qt-3.1.2.ebuild 5375 MD5 08cdd879d3418837cf4bad594dc0f91f files/45qtdir2 16 MD5 2d5b68b38185a30a28ffb2b652258cb8 files/45qt3 83 @@ -32,5 +32,5 @@ MD5 4dd12d698f2ad7d14bd1ecf699b76fd7 files/digest-qt-3.1.2 636 MD5 39f840d6723a7e898394bc84efb224a2 files/qt-3.1.0-minimized.diff 272 MD5 e9b2e2fbde862abb62cdfa78e62a35b6 files/qt-3.1.2-qmlined.diff 320 MD5 e4b92fbf81b7fc94c5d337e1675476d7 files/qt-x11-free-3.0.5-ko_input.patch 12682 -MD5 2588f0481667c611547ec2082f3529ad files/qsocket-3.1.2.diff 3387 +MD5 c1db57c3d85cf46262360fbf0b0b6b53 files/qsocket-3.1.2.diff 3408 MD5 f197d87f2b33685cadba08c9cf2d08ee files/digest-qt-3.1.2-r1 72 diff --git a/x11-libs/qt/files/digest-qt-3.1.2-r1 b/x11-libs/qt/files/digest-qt-3.1.2-r1 new file mode 100644 index 000000000000..adcf5a71e37e --- /dev/null +++ b/x11-libs/qt/files/digest-qt-3.1.2-r1 @@ -0,0 +1 @@ +MD5 156591717687799c69cf3f8b64a898f2 qt-x11-free-3.1.2.tar.bz2 13358932 diff --git a/x11-libs/qt/files/qsocket-3.1.2.diff b/x11-libs/qt/files/qsocket-3.1.2.diff new file mode 100644 index 000000000000..fc8713d16fc9 --- /dev/null +++ b/x11-libs/qt/files/qsocket-3.1.2.diff @@ -0,0 +1,128 @@ +--- src/network/qsocket.cpp.orig 2003-02-24 09:30:06.000000000 +0100 ++++ src/network/qsocket.cpp 2002-12-09 10:40:38.000000000 +0100 +@@ -1,5 +1,5 @@ + /**************************************************************************** +-** $Id: qsocket-3.1.2.diff,v 1.1 2003/04/12 23:20:25 brain Exp $ ++** $Id: qsocket-3.1.2.diff,v 1.1 2003/04/12 23:20:25 brain Exp $ + ** + ** Implementation of QSocket class. + ** +@@ -112,9 +112,7 @@ + public: + QSocketPrivate(); + ~QSocketPrivate(); +- void closeSocket(); + void close(); +- void connectionClosed(); + + QSocket::State state; // connection state + QString host; // host name +@@ -153,7 +151,7 @@ + #endif + } + +-void QSocketPrivate::closeSocket() ++void QSocketPrivate::close() + { + // Order is important here - the socket notifiers must go away + // before the socket does, otherwise libc or the kernel will +@@ -163,25 +161,11 @@ + delete wsn; + wsn = 0; + socket->close(); +-} +- +-void QSocketPrivate::close() +-{ +- closeSocket(); + rsize = wsize = 0; + rba.clear(); wba.clear(); + rindex = windex = 0; + } + +-void QSocketPrivate::connectionClosed() +-{ +- // We keep the open state in case there's unread incoming data +- state = QSocket::Idle; +- closeSocket(); +- wba.clear(); +- windex = wsize = 0; +-} +- + /*! + \class QSocket qsocket.h + \brief The QSocket class provides a buffered TCP connection. +@@ -591,7 +575,7 @@ + } + setFlags( IO_Sequential ); + setStatus( IO_Ok ); +- d->close(); ++ d->close(); + d->state = Idle; + } + +@@ -1201,7 +1185,15 @@ + #if defined(QSOCKET_DEBUG) + qDebug( "QSocket (%s): sn_read: Connection closed", name() ); + #endif +- d->connectionClosed(); ++ // We keep the open state in case there's unread incoming data ++ d->state = Idle; ++ if ( d->rsn ) ++ d->rsn->setEnabled( FALSE ); ++ if ( d->wsn ) ++ d->wsn->setEnabled( FALSE ); ++ d->socket->close(); ++ d->wba.clear(); // clear write buffer ++ d->windex = d->wsize = 0; + emit connectionClosed(); + QSocketPrivate::sn_read_alreadyCalled.removeRef( this ); + return; +@@ -1215,7 +1207,7 @@ + #if defined(QSOCKET_DEBUG) + qWarning( "QSocket::sn_read (%s): Close error", name() ); + #endif +- if ( d->rsn ) ++ if (d->rsn) + d->rsn->setEnabled( FALSE ); + emit error( ErrSocketRead ); + QSocketPrivate::sn_read_alreadyCalled.removeRef( this ); +@@ -1242,13 +1234,7 @@ + memcpy(a->data(),buf,nread); + } + } +- if ( nread == 0 ) { +-#if defined(QSOCKET_DEBUG) +- qDebug( "QSocket (%s): sn_read: Connection closed", name() ); +-#endif +- d->connectionClosed(); +- emit connectionClosed(); +- } else if ( nread < 0 ) { ++ if ( nread <= 0 ) { + if ( d->socket->error() == QSocketDevice::NoError ) { + // all is fine + QSocketPrivate::sn_read_alreadyCalled.removeRef( this ); +@@ -1258,7 +1244,7 @@ + qWarning( "QSocket::sn_read: Read error" ); + #endif + delete a; +- if ( d->rsn ) ++ if (d->rsn) + d->rsn->setEnabled( FALSE ); + emit error( ErrSocketRead ); + QSocketPrivate::sn_read_alreadyCalled.removeRef( this ); +@@ -1273,13 +1259,8 @@ + } + d->rba.append( a ); + d->rsize += nread; +- if ( !force ) { +- if ( d->rsn ) +- d->rsn->setEnabled( FALSE ); ++ if ( !force ) + emit readyRead(); +- if ( d->rsn ) +- d->rsn->setEnabled( TRUE ); +- } + + QSocketPrivate::sn_read_alreadyCalled.removeRef( this ); + } diff --git a/x11-libs/qt/qt-3.1.2-r1.ebuild b/x11-libs/qt/qt-3.1.2-r1.ebuild new file mode 100644 index 000000000000..691890018f95 --- /dev/null +++ b/x11-libs/qt/qt-3.1.2-r1.ebuild @@ -0,0 +1,198 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/qt-3.1.2-r1.ebuild,v 1.1 2003/04/12 23:20:25 brain Exp $ + +inherit eutils + +IUSE="cups nas postgres opengl mysql odbc gif" + +S=${WORKDIR}/qt-x11-free-${PV} + +DESCRIPTION="QT version ${PV}" +SLOT="3" +LICENSE="QPL-1.0" + +# WARNING: do not give this ebuild keywords that >=kdelibs-3.1.1, >=kdebase-3.1.1-r1 don't have +KEYWORDS="~x86 ~ppc ~sparc" # alpha removed temporarily as I wasn't sure about the special +# alpha stuff in src_unpack + +SRC_URI="ftp://ftp.trolltech.com/qt/source/qt-x11-free-${PV}.tar.bz2" + +HOMEPAGE="http://www.trolltech.com/" + +DEPEND="virtual/x11 + media-libs/libpng + media-libs/lcms + media-libs/jpeg + >=media-libs/libmng-1.0.0 + >=media-libs/freetype-2 + virtual/xft + nas? ( >=media-libs/nas-1.4.1 ) + odbc? ( >=dev-db/unixODBC-2.0 ) + mysql? ( >=dev-db/mysql-3.2.10 ) + opengl? ( virtual/opengl virtual/glu ) + postgres? ( >=dev-db/postgresql-7.2 ) + !=kde-base/kdelibs-3.1 + !=kde-base/kdelibs-3.1-r1 + !=kde-base/kdelibs-3.1-r2 + !=kde-base/kdelibs-3.1-r3 + !=kde-base/kdebase-3.1 + !=kde-base/kdebase-3.1-r1 + !=kde-base/kdebase-3.1.1" +# WARNING: the versions blocked above are known to be buggy. DO NOT use them with this qt + +RDEPEND="$DEPEND + doc? ( ~app-doc/qt-docs-$PV )" + +QTBASE=/usr/qt/3 +export QTDIR=${S} + +src_unpack() { + + export QTDIR=${S} + + unpack ${A} + + cd ${S} + + epatch ${FILESDIR}/designer.diff + epatch ${FILESDIR}/${P}-qmlined.diff + epatch ${FILESDIR}/qsocket-3.1.2.diff + + cp configure configure.orig + sed -e 's:read acceptance:acceptance=yes:' configure.orig > configure + + cd mkspecs/linux-g++ + # use env's $CC, $CXX + if [ -n "$CXX" ]; then + einfo 'Using environment definition of $CXX' + cp qmake.conf qmake.conf.orig + sed -e "s:= g++:= ${CXX}:" qmake.conf.orig > qmake.conf + fi + if [ -n "$CC" ]; then + einfo 'Using environment definition of $CC' + cp qmake.conf qmake.conf.orig + sed -e "s:= gcc:= ${CC}:" qmake.conf.orig > qmake.conf + fi + + # hppa and alpha people, please review the following + + # hppa need some additional flags + if [ "${ARCH}" = "hppa" ]; then + echo "QMAKE_CFLAGS += -fPIC -ffunction-sections" >> qmake.conf + echo "QMAKE_CXXFLAGS += -fPIC -ffunction-sections" >> qmake.conf + echo "QMAKE_LFLAGS += -ffunction-sections -Wl,--stub-group-size=25000" >> qmake.conf + fi + + # on alpha we need to compile everything with -fPIC + if [ ${ARCH} == "alpha" ]; then + cp qmake.conf qmake.conf.orig + sed -e "s:= -O2:= -O2 -fPIC:" qmake.conf.orig > qmake.conf + cat >> ${S}/tools/designer/editor/editor.pro <<_EOF_ +QMAKE_CFLAGS += -fPIC +QMAKE_CXXFLAGS += -fPIC +_EOF_ + fi + + +} + +src_compile() { + + # fix #11144; qt wants to create lock files etc. in that directory + [ -d "$QTBASE/etc/settings" ] && addwrite "$QTBASE/etc/settings" + + export QTDIR=${S} + + export LDFLAGS="-ldl" + + use cups || myconf="${myconf} -no-cups" + 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" + use postgres && myconf="${myconf} -plugin-sql-psql -I/usr/include/postgresql/server" + use odbc && myconf="${myconf} -plugin-sql-odbc" + use opengl && myconf="${myconf} -enable-module=opengl" || myconf="${myconf} -disable-opengl" + [ -n "$DEBUG" ] && myconf="${myconf} -debug" || myconf="${myconf} -release -no-g++-exceptions" + + # avoid wasting time building things we won't install + rm -rf tutorial examples + + export YACC='byacc -d' + + ./configure -sm -thread -stl -system-zlib -system-libjpeg -verbose \ + -qt-imgfmt-{jpeg,mng,png} -tablet -system-libmng \ + -system-libpng -ldl -lpthread -xft -platform linux-g++ -xplatform \ + linux-g++ -xrender -prefix ${QTBASE} -fast ${myconf} || die + + export QTDIR=${S} + + emake src-qmake src-moc sub-src sub-tools || die + +} + +src_install() { + + export QTDIR=${S} + + cd ${S} + + # binaries + into $QTBASE + dobin bin/* + + # libraries + dolib lib/libqt-mt.so.3.1.2 lib/libqui.so.1.0.0 lib/lib{editor,qassistantclient,designer}.a + 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.1.2->3.1->3->.so + ln -s libqt-mt.so.3.1.2 libqt-mt.so.3.1 + ln -s libqt-mt.so.3.1 libqt-mt.so.3 + ln -s libqt-mt.so.3 libqt-mt.so + + # libqt -> libqt-mt symlinks + ln -s libqt-mt.so.3.1.2 libqt.so.3.1.2 + ln -s libqt-mt.so.3.1 libqt.so.3.1 + 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} + + # misc build reqs + dodir ${QTBASE}/mkspecs + cp -R ${S}/mkspecs/linux-g++ ${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 + +} +pkg_postinst() { + + ewarn "If you upgraded from QT 3.0.x to 3.1.x, you should remerge any copies" + ewarn "of kdelibs you have installed. Otherwise, other kde packages may not" + ewarn "compile properly. If you upgraded QT from 3.0.x to 3.1.x in the past" + ewarn "but have not remerged kdelib, since then, you should proobably do so now." + +} |