Hello, here is an ebuild for the final version of Qt 3.2... sorry if it's a dupe, but I haven't seen others... # Copyright 1999-2003 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 # $Header: /home/cvsroot/gentoo-x86/x11-libs/qt/qt-3.2.0_beta2.ebuild,v 1.1 2003/06/23 21:54:16 caleb Exp $ inherit eutils IUSE="cups nas postgres opengl mysql odbc gif" MY_P="qt-x11-free-3.2.0" S=${WORKDIR}/${MY_P} DESCRIPTION="QT version ${PV}" SLOT="3" LICENSE="QPL-1.0 | GPL-2" KEYWORDS="~x86" SRC_URI="ftp://ftp.trolltech.com/qt/source/${MY_P}.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 )" RDEPEND="$DEPEND" #doc? ( ~app-doc/qt-docs- )" QTBASE=/usr/qt/3 export QTDIR=${S} src_unpack() { export QTDIR=${S} unpack ${A} cd ${S} 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.2.0 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.2.0->3.2->3->.so ln -s libqt-mt.so.3.2.0 libqt-mt.so.3.2 ln -s libqt-mt.so.3.2 libqt-mt.so.3 ln -s libqt-mt.so.3 libqt-mt.so # libqt -> libqt-mt symlinks ln -s libqt-mt.so.3.2.0 libqt.so.3.2.0 ln -s libqt-mt.so.3.2 libqt.so.3.2 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 }
Created attachment 14939 [details] The ebuild for qt-3.2 The ebuild...
I tried to emerge QT 3.2 and received the errors below: ------------------------------------------------------------------------ make[3]: *** [listboxeditor.cpp] Error 127 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory `/var/tmp/portage/qt-3.2/work/qt-x11-free-3.2.0/tools/designer/designer' make[2]: *** [sub-designer] Error 2 make[2]: Leaving directory `/var/tmp/portage/qt-3.2/work/qt-x11-free-3.2.0/tools/designer' make[1]: *** [sub-designer] Error 2 make[1]: Leaving directory `/var/tmp/portage/qt-3.2/work/qt-x11-free-3.2.0/tools' make: *** [sub-tools] Error 2 !!! ERROR: x11-libs/qt-3.2 failed. !!! Function src_compile, Line 117, Exitcode 2 !!! (no error message) ------------------------------------------------------------------------
You can circumvent this in the interim by removing te old qt first (manually or enemerging) What I think is happening is that the designer that gets compiled with the 3.2 ebuild find the qt 3.1.2 libraries when it is being used during the qt 3.2 build and that calls segfaults. I intend to look into this. ALso, please note that kde >=3.1.2 is thus far NOT COMPATIBLE with qt 3.2 and will not compile if you have qt 3.2 installed.
3.2 is now in portage.