diff options
Diffstat (limited to 'x11-libs/qt/qt-3.3.8b-r2.ebuild')
-rw-r--r-- | x11-libs/qt/qt-3.3.8b-r2.ebuild | 371 |
1 files changed, 0 insertions, 371 deletions
diff --git a/x11-libs/qt/qt-3.3.8b-r2.ebuild b/x11-libs/qt/qt-3.3.8b-r2.ebuild deleted file mode 100644 index d5f6fe6..0000000 --- a/x11-libs/qt/qt-3.3.8b-r2.ebuild +++ /dev/null @@ -1,371 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt/qt-3.3.8b-r2.ebuild,v 1.7 2009/12/03 18:25:47 yngwin Exp $ - -# *** Please remember to update qt3.eclass when revbumping this *** - -inherit eutils flag-o-matic toolchain-funcs - -SRCTYPE="free" -DESCRIPTION="The Qt toolkit is a comprehensive C++ application development framework." -HOMEPAGE="http://qt.nokia.com/" - -IMMQT_P="qt-x11-immodule-unified-qt3.3.8-20070321-gentoo" - -SRC_URI="ftp://ftp.trolltech.com/qt/source/qt-x11-${SRCTYPE}-${PV}.tar.gz - immqt? ( mirror://gentoo/${IMMQT_P}.diff.bz2 ) - immqt-bc? ( mirror://gentoo/${IMMQT_P}.diff.bz2 )" -LICENSE="|| ( QPL-1.0 GPL-2 GPL-3 )" - -SLOT="3" -KEYWORDS="alpha amd64 hppa ia64 ~mips ppc ~ppc64 sparc x86 ~x86-fbsd" -IUSE="cups debug doc examples firebird ipv6 mysql nas nis odbc opengl postgres sqlite xinerama immqt immqt-bc" - -RDEPEND=" - media-libs/jpeg - >=media-libs/freetype-2 - >=media-libs/libmng-1.0.9 - media-libs/libpng - sys-libs/zlib - x11-libs/libXft - x11-libs/libXcursor - x11-libs/libXi - x11-libs/libXrandr - x11-libs/libSM - cups? ( net-print/cups ) - firebird? ( dev-db/firebird ) - mysql? ( virtual/mysql ) - nas? ( >=media-libs/nas-1.5 ) - opengl? ( virtual/opengl virtual/glu ) - postgres? ( virtual/postgresql-base ) - xinerama? ( x11-libs/libXinerama )" -DEPEND="${RDEPEND} - x11-proto/inputproto - x11-proto/xextproto - xinerama? ( x11-proto/xineramaproto ) - immqt? ( x11-proto/xineramaproto ) - immqt-bc? ( x11-proto/xineramaproto )" -PDEPEND="odbc? ( ~dev-db/qt-unixODBC-$PV )" - -S="${WORKDIR}/qt-x11-${SRCTYPE}-${PV}" - -QTBASE="/usr/qt/3" - -pkg_setup() { - if use immqt && use immqt-bc ; then - ewarn - ewarn "immqt and immqt-bc are exclusive. You cannot set both." - ewarn "Please specify either immqt or immqt-bc." - ewarn - die - elif use immqt ; then - ewarn - ewarn "You are going to compile binary imcompatible immodule for Qt. This means" - ewarn "you have to recompile everything depending on Qt after you install it." - ewarn "Be aware." - ewarn - fi - - export QTDIR="${S}" - - CXX=$(tc-getCXX) - if [[ ${CXX/g++/} != ${CXX} ]]; then - PLATCXX="g++" - elif [[ ${CXX/icpc/} != ${CXX} ]]; then - PLATCXX="icc" - else - die "Unknown compiler ${CXX}." - fi - - case ${CHOST} in - *-freebsd*|*-dragonfly*) - PLATNAME="freebsd" ;; - *-openbsd*) - PLATNAME="openbsd" ;; - *-netbsd*) - PLATNAME="netbsd" ;; - *-darwin*) - PLATNAME="darwin" ;; - *-linux-*|*-linux) - PLATNAME="linux" ;; - *) - die "Unknown CHOST, no platform choosed." - esac - - # probably this should be '*-64' for 64bit archs - # in a fully multilib environment (no compatibility symlinks) - export PLATFORM="${PLATNAME}-${PLATCXX}" -} - -src_unpack() { - unpack ${A} - cd "${S}" - - sed -i -e 's:read acceptance:acceptance=yes:' configure - - # Do not link with -rpath. See bug #75181. - find "${S}"/mkspecs -name qmake.conf | xargs \ - sed -i -e 's:QMAKE_RPATH.*:QMAKE_RPATH =:' - - # Patch for uic includehint errors (aseigo patch) - epatch "${FILESDIR}"/qt-3.3.8-uic-fix.patch - - # KDE related patches - epatch "${FILESDIR}"/0001-dnd_optimization.patch - epatch "${FILESDIR}"/0002-dnd_active_window_fix.patch - epatch "${FILESDIR}"/0038-dragobject-dont-prefer-unknown.patch - epatch "${FILESDIR}"/0044-qscrollview-windowactivate-fix.diff - epatch "${FILESDIR}"/0047-fix-kmenu-widget.diff - epatch "${FILESDIR}"/0048-qclipboard_hack_80072.patch - - # ulibc patch (bug #100246) - epatch "${FILESDIR}"/qt-ulibc.patch - - # xinerama patch: http://ktown.kde.org/~seli/xinerama/ - epatch "${FILESDIR}"/qt-3.3.8-seli-xinerama.patch - - # Visibility patch, apply only on GCC 4.1 and later for safety - # [[ $(gcc-major-version)$(gcc-minor-version) -ge 41 ]] && \ - epatch "${FILESDIR}"/qt-3.3.8-visibility.patch - - # Fix configure to correctly pick up gcc version, bug 244732 - epatch "${FILESDIR}"/qt-3.3.8-fix-compiler-detection.patch - - # Fix CJK script rendering, bug 229567 - epatch "${FILESDIR}"/qt-3.3.8b-cjk-fix.patch - - if use immqt || use immqt-bc ; then - epatch ../${IMMQT_P}.diff - sh make-symlinks.sh || die "make symlinks failed" - - epatch "${FILESDIR}"/qt-3.3.8-immqt+gcc-4.3.patch - fi - - if use mips; then - epatch "${FILESDIR}"/qt-3.3.8-mips.patch - fi - - # known working flags wrt #77623 - use sparc && export CFLAGS="-O1" && export CXXFLAGS="${CFLAGS}" - # set c/xxflags and ldflags - strip-flags - append-flags -fno-strict-aliasing - - if [[ $( gcc-fullversion ) == "3.4.6" && gcc-specs-ssp ]] ; then - ewarn "Appending -fno-stack-protector to CFLAGS/CXXFLAGS" - append-flags -fno-stack-protector - fi - - sed -i -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \ - -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \ - -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=${LDFLAGS}:" \ - -e "s:\<QMAKE_CC\>.*=.*:QMAKE_CC=$(tc-getCC):" \ - -e "s:\<QMAKE_CXX\>.*=.*:QMAKE_CXX=$(tc-getCXX):" \ - -e "s:\<QMAKE_LINK\>.*=.*:QMAKE_LINK=$(tc-getCXX):" \ - -e "s:\<QMAKE_LINK_SHLIB\>.*=.*:QMAKE_LINK_SHLIB=$(tc-getCXX):" \ - "${S}"/mkspecs/${PLATFORM}/qmake.conf || die - - if [ $(get_libdir) != "lib" ] ; then - sed -i -e "s:/lib$:/$(get_libdir):" \ - "${S}"/mkspecs/${PLATFORM}/qmake.conf || die - fi - - sed -i -e "s:CXXFLAGS.*=:CXXFLAGS=${CXXFLAGS} :" \ - -e "s:LFLAGS.*=:LFLAGS=${LDFLAGS} :" \ - "${S}"/qmake/Makefile.unix || die -} - -src_compile() { - 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" - - [ "$(get_libdir)" != "lib" ] && myconf="${myconf} -L/usr/$(get_libdir)" - - # unixODBC support is now a PDEPEND on dev-db/qt-unixODBC; see bug 14178. - use nas && myconf+=" -system-nas-sound" - use nis && myconf+=" -nis" || myconf+=" -no-nis" - use mysql && myconf+=" -plugin-sql-mysql -I/usr/include/mysql -L/usr/$(get_libdir)/mysql" || myconf+=" -no-sql-mysql" - use postgres && myconf+=" -plugin-sql-psql -I/usr/include/postgresql/server -I/usr/include/postgresql/pgsql -I/usr/include/postgresql/pgsql/server" || myconf+=" -no-sql-psql" - use firebird && myconf+=" -plugin-sql-ibase -I/opt/firebird/include" || myconf+=" -no-sql-ibase" - use sqlite && myconf+=" -plugin-sql-sqlite" || myconf+=" -no-sql-sqlite" - use cups && myconf+=" -cups" || myconf+=" -no-cups" - use opengl && myconf+=" -enable-module=opengl" || myconf+=" -disable-opengl" - use debug && myconf+=" -debug" || myconf+=" -release -no-g++-exceptions" - use xinerama && myconf+=" -xinerama" || myconf+=" -no-xinerama" - - myconf="${myconf} -system-zlib -qt-gif" - - use ipv6 && myconf+=" -ipv6" || myconf+=" -no-ipv6" - use immqt-bc && myconf+=" -inputmethod" - use immqt && myconf+=" -inputmethod -inputmethod-ext" - - export YACC='byacc -d' - tc-export CC CXX - export LINK="$(tc-getCXX)" - - ./configure -sm -thread -stl -system-libjpeg -verbose -largefile \ - -qt-imgfmt-{jpeg,mng,png} -tablet -system-libmng \ - -system-libpng -xft -platform ${PLATFORM} -xplatform \ - ${PLATFORM} -xrender -prefix ${QTBASE} -libdir ${QTBASE}/$(get_libdir) \ - -fast -no-sql-odbc ${myconf} -dlopen-opengl || die - - emake src-qmake src-moc sub-src || die - - export DYLD_LIBRARY_PATH="${S}/lib:/usr/X11R6/lib:${DYLD_LIBRARY_PATH}" - export LD_LIBRARY_PATH="${S}/lib:${LD_LIBRARY_PATH}" - - emake sub-tools || die - - if use examples; then - emake sub-tutorial sub-examples || die - fi - - # Make the msg2qm utility (not made by default) - cd "${S}"/tools/msg2qm - ../../bin/qmake - emake - - # Make the qembed utility (not made by default) - cd "${S}"/tools/qembed - ../../bin/qmake - emake - -} - -src_install() { - # binaries - into ${QTBASE} - dobin bin/* - dobin tools/msg2qm/msg2qm - dobin tools/qembed/qembed - - # libraries - dolib.so lib/lib{editor,qassistantclient,designercore}.a - dolib.so lib/libqt-mt.la - dolib.so lib/libqt-mt.so.${PV/b} lib/libqui.so.1.0.0 - cd "${D}"/${QTBASE}/$(get_libdir) - - 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.5->3.3->3->.so - ln -s libqt-mt.so.${PV/b} 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.${PV/b} libqt.so.${PV/b} - 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 - - # plugins - cd "${S}" - local plugins=$(find plugins -name "lib*.so" -print) - for x in ${plugins}; do - exeinto ${QTBASE}/$(dirname ${x}) - doexe ${x} - done - - # Past this point just needs to be done once - is_final_abi || return 0 - - # includes - cd "${S}" - dodir ${QTBASE}/include/private - cp include/*\.h "${D}"/${QTBASE}/include/ - cp include/private/*\.h "${D}"/${QTBASE}/include/private/ - - # prl files - sed -i -e "s:${S}:${QTBASE}:g" "${S}"/lib/*.prl - insinto ${QTBASE}/$(get_libdir) - doins "${S}"/lib/*.prl - - # pkg-config file - insinto /usr/$(get_libdir)/pkgconfig - doins "${S}"/lib/*.pc - - # List all the multilib libdirs - local libdirs - for alibdir in $(get_all_libdirs); do - libdirs="${libdirs}:${QTBASE}/${alibdir}" - done - - # environment variables - cat <<EOF > "${T}"/45qt3 -PATH=${QTBASE}/bin -ROOTPATH=${QTBASE}/bin -LDPATH=${libdirs:1} -QMAKESPEC=${PLATFORM} -MANPATH=${QTBASE}/doc/man -EOF - - cat <<EOF > "${T}"/50qtdir3 -QTDIR=${QTBASE} -EOF - - cat <<EOF > "${T}"/50-qt3-revdep -SEARCH_DIRS="${QTBASE}" -EOF - - insinto /etc/revdep-rebuild - doins "${T}"/50-qt3-revdep - - doenvd "${T}"/45qt3 "${T}"/50qtdir3 - - if [ "${SYMLINK_LIB}" = "yes" ]; then - dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) ${QTBASE}/lib - fi - - insinto ${QTBASE}/tools/designer - doins -r tools/designer/templates - - insinto ${QTBASE} - doins -r translations - - keepdir ${QTBASE}/etc/settings - - if use doc; then - insinto ${QTBASE} - doins -r "${S}"/doc - fi - - if use examples; then - find "${S}"/examples "${S}"/tutorial -name Makefile | \ - xargs sed -i -e "s:${S}:${QTBASE}:g" - - cp -r "${S}"/examples "${D}"${QTBASE}/ - cp -r "${S}"/tutorial "${D}"${QTBASE}/ - fi - - # misc build reqs - insinto ${QTBASE}/mkspecs - doins -r "${S}"/mkspecs/${PLATFORM} - - sed -e "s:${S}:${QTBASE}:g" \ - "${S}"/.qmake.cache > "${D}"${QTBASE}/.qmake.cache - - dodoc FAQ README README-QT.TXT changes* - if use immqt || use immqt-bc ; then - dodoc "${S}"/README.immodule - fi -} - -pkg_postinst() { - echo - elog "After a rebuild of Qt, it can happen that Qt plugins (such as Qt/KDE styles," - elog "or widgets for the Qt designer) are no longer recognized. If this situation" - elog "occurs you should recompile the packages providing these plugins," - elog "and you should also make sure that Qt and its plugins were compiled with the" - elog "same version of GCC. Packages that may need to be rebuilt are, for instance," - elog "kde-base/kdelibs, kde-base/kdeartwork and kde-base/kdeartwork-styles." - elog "See http://doc.trolltech.com/3.3/plugins-howto.html for more infos." - echo -} |