diff options
Diffstat (limited to 'dev-tqt/tqt/tqt-14.0.6.ebuild')
-rw-r--r-- | dev-tqt/tqt/tqt-14.0.6.ebuild | 123 |
1 files changed, 57 insertions, 66 deletions
diff --git a/dev-tqt/tqt/tqt-14.0.6.ebuild b/dev-tqt/tqt/tqt-14.0.6.ebuild index 4ea3454d..48db6e1e 100644 --- a/dev-tqt/tqt/tqt-14.0.6.ebuild +++ b/dev-tqt/tqt/tqt-14.0.6.ebuild @@ -6,22 +6,21 @@ EAPI=7 inherit eutils flag-o-matic toolchain-funcs SRCTYPE="free" -DESCRIPTION="Trinity's Qt toolkit fork." +DESCRIPTION="Trinity's Qt3 toolkit fork - a comprehensive C++ application development framework." HOMEPAGE="http://trinitydesktop.org/" SRC_URI="http://www.mirrorservice.org/sites/trinitydesktop.org/trinity/releases/R${PV}/main/dependencies/tqt3-trinity-${PV}.tar.xz" LICENSE="|| ( GPL-2 GPL-3 )" SLOT="3.5" +IUSE="cups debug doc examples firebird ipv6 mysql nas nis +opengl postgres + sqlite +xinerama tablet +xrandr glib mng fontconfig +hiddenvisibility" + KEYWORDS="~amd64 ~x86" -IUSE="cups debug doc examples firebird ipv6 mysql nas nis opengl postgres sqlite xinerama" -# no odbc, immtqt or immtqt-bc support anymore. -# TODO: optional support for xrender and xrandr RDEPEND=" virtual/jpeg:= - >=media-libs/freetype-2 - >=media-libs/libmng-1.0.9 + media-libs/freetype media-libs/libpng:= sys-libs/zlib x11-libs/libXft @@ -32,12 +31,15 @@ RDEPEND=" cups? ( net-print/cups ) firebird? ( dev-db/firebird ) mysql? ( virtual/mysql ) - nas? ( >=media-libs/nas-1.5 ) + nas? ( media-libs/nas ) opengl? ( virtual/opengl virtual/glu ) postgres? ( dev-db/postgresql:= ) + sqlite? ( dev-db/sqlite:= ) + mng? ( media-libs/libmng ) + glib? ( dev-libs/glib ) + fontconfig? ( media-libs/fontconfig ) xinerama? ( x11-libs/libXinerama ) - !dev-qt/qt:3 - !dev-qt/qt-meta:3" + xrandr? ( x11-libs/libXrandr )" DEPEND="${RDEPEND} x11-base/xorg-proto" @@ -83,14 +85,15 @@ src_prepare() { # Apply user-provided patches eapply_user - # Do not link with -rpath. See bug #75181. + # Do not link with -rpath. See Gentoo bug #75181. find "${S}"/mkspecs -name qmake.conf | xargs \ - sed -i -e 's:QMAKE_RPATH.*:QMAKE_RPATH =:' + sed -i -e 's:QMAKE_RPATH.*:QMAKE_RPATH =:' || die # set c/xxflags and ldflags strip-flags sed -i -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \ + -e 's:QMAKE_CFLAGS\t\t=.*:QMAKE_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):" \ @@ -100,6 +103,11 @@ src_prepare() { -e "s:\<QMAKE_STRIP\>.*=.*:QMAKE_STRIP=:" \ "${S}/mkspecs/${PLATFORM}/qmake.conf" || die + if use hiddenvisibility; then + sed -i -e 's:QMAKE_CFLAGS =:QMAKE_CFLAGS = -fvisibility=hidden -fvisibility-inlines-hidden:' \ + "${S}/mkspecs/${PLATFORM}/qmake.conf" || die + fi + if [ $(get_libdir) != "lib" ] ; then sed -i -e "s:/lib$:/$(get_libdir):" \ "${S}/mkspecs/${PLATFORM}/qmake.conf" || die @@ -109,45 +117,46 @@ src_prepare() { -e "s:LFLAGS.*=:LFLAGS=${LDFLAGS} :" \ "${S}/qmake/Makefile.unix" || die - # remove docs from install if we don't need it + # Remove docs from install if we don't need them use doc || sed -i -e '/INSTALLS.*=.*htmldocs/d' \ - "${S}/src/qt_install.pri" + "${S}/src/qt_install.pri" || die } src_configure() { export SYSCONF="${D}${TQTBASE}"/etc/settings - # Let's just allow writing to these directories during Qt emerge - # as it makes TQt much happier. + # Let's just allow writing to these directories + # during emerge as it makes TQt much happier. addwrite "${TQTBASE}/etc/settings" addwrite "${HOME}/.qt" addwrite "${HOME}/.tqt" - # common opts - myconf=" -sm -thread -stl -no-verbose -largefile -tablet -no-exceptions" - myconf+=" $(echo -{qt-imgfmt-,system-lib}{jpeg,mng,png})" + # Common options + myconf=" -sm -thread -stl -no-verbose -largefile -no-pch -inputmethod" + myconf+=" $(echo -{qt-imgfmt-,system-lib}{jpeg,png}) -qt-gif -system-zlib" myconf+=" -platform ${PLATFORM} -xplatform ${PLATFORM}" - myconf+=" -xft -xrender -prefix ${TQTBASE}" + myconf+=" -xft -xrender -xshape -xkb -xcursor -prefix ${TQTBASE}" myconf+=" -libdir ${TQTBASE}/$(get_libdir) -fast -no-sql-odbc" [ "$(get_libdir)" != "lib" ] && myconf+="${myconf} -L/usr/$(get_libdir)" - use nas && myconf+=" -system-nas-sound" - use nis && myconf+=" -nis" || myconf+=" -no-nis" + # Optional options + use cups && myconf+=" -cups" || myconf+=" -no-cups" + use debug && myconf+=" -debug" || myconf+=" -release -no-g++-exceptions -no-exceptions" + use firebird && myconf+=" -plugin-sql-ibase -I/opt/firebird/include" || myconf+=" -no-sql-ibase" + use fontconfig && myconf+=" -lfontconfig" + use glib && myconf+=" -glibmainloop" || myconf+=" -no-glibmainloop" + use ipv6 && myconf+=" -ipv6" || myconf+=" -no-ipv6" + use mng && myconf+=" -qt-imgfmt -system-libmng" || myconf+=" -no-imgfmt-mng" use mysql && myconf+=" -plugin-sql-mysql -I/usr/include/mysql -L/usr/$(get_libdir)/mysql" || myconf+=" -no-sql-mysql" + use nas && myconf+=" -system-nas-sound" || myconf+=" -no-nas-sound" + use nis && myconf+=" -nis" || myconf+=" -no-nis" + use opengl && myconf+=" -enable-module=opengl -no-dlopen-opengl" || myconf+=" -disable-opengl" 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 sqlite && myconf+=" -plugin-sql-sqlite -plugin-sql-sqlite3" || myconf+=" -no-sql-sqlite -no-sql-sqlite3" + use tablet && myconf+=" -tablet" || myconf+=" -no-tablet" use xinerama && myconf+=" -xinerama" || myconf+=" -no-xinerama" - - myconf+=" -system-zlib -qt-gif" - - use ipv6 && myconf+=" -ipv6" || myconf+=" -no-ipv6" - - myconf+=" -dlopen-opengl" + use xrandr && myconf+=" -xrandr" || myconf+=" -no-xrandr" export YACC='byacc -d' tc-export CC CXX @@ -158,52 +167,36 @@ src_configure() { } src_compile() { - emake src-qmake src-moc sub-src + # Compile TQt with TQmake and TQmoc + 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}" + # Compile TQt plugins (if any selected) + emake sub-plugins || die - emake sub-tools + # Compile TQDesigner (TQuic is needed by tdelibs), TQAssistant and friends (msg2tqm, qembed..) + emake sub-tools || die + # Compile examples and tutorials if use examples; then - emake sub-tutorial sub-examples + emake sub-tutorial sub-examples || die fi - - # Make the msg2qm utility (not made by default) -# cd "${S}"/tools/msg2tqm -# ../../bin/tqmake || die -# emake - - # Make the qembed utility (not made by default) -# cd "${S}"/tools/qembed -# ../../bin/tqmake || die -# emake - } src_install() { + # Install TQt with all compiled before emake INSTALL_ROOT="${D}" install - # Next executables are missing to be installed: - # /usr/qt/3/bin/findtr - # /usr/qt/3/bin/conv2ui - # /usr/qt/3/bin/qt20fix - # /usr/qt/3/bin/qtrename140 - # I'm not sure if they are really needed - - # fix pkgconfig location + + # Fix pkgconfig location dodir /usr/$(get_libdir) mv "${D}${TQTBASE}/$(get_libdir)/pkgconfig" "${D}/usr/$(get_libdir)/" - # cleanup a bad symlink created by crappy install scrypt - rm -r "${D}${TQTBASE}/mkspec/${PLATFORM}/${PLATFORM}" - # List all the multilib libdirs local libdirs for alibdir in $(get_all_libdirs); do libdirs="${libdirs}:${TQTBASE}/${alibdir}" done - # environment variables + # Set environment variables cat <<EOF > "${T}"/44tqt3 PATH=${TQTBASE}/bin ROOTPATH=${TQTBASE}/bin @@ -230,6 +223,7 @@ EOF doins -r "${S}"/doc fi + # Install example and tutorial sources if use examples; then find "${S}"/examples "${S}"/tutorial -name Makefile | \ xargs sed -i -e "s:${S}:${TQTBASE}:g" @@ -238,21 +232,18 @@ EOF cp -r "${S}"/tutorial "${D}"${TQTBASE}/ fi - # misc build reqs - + # Misc build requirements sed -e "s:${S}:${TQTBASE}:g" \ "${S}"/.qmake.cache > "${D}"${TQTBASE}/.qmake.cache - - dodoc FAQ README README-QT.TXT changes* } pkg_postinst() { echo - elog "After a rebuild of TQt, it can happen that TQt plugins (such as TQt/TDE styles," + elog "After rebuilding TQt, it can happen that TQt plugins (such as TQt/TDE styles," elog "or widgets for the TQt 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 TQt and its plugins were compiled with the" elog "same version of GCC. Packages that may need to be rebuilt are, for instance," - elog "tde-base/tdelibs, tde-base/tdeartwork and tde-base/tdeartwork-styles." + elog "trinity-base/tdelibs and trinity-base/tdeartwork-styles." echo } |