summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorCaleb Tennis <caleb@gentoo.org>2007-07-31 13:39:50 +0000
committerCaleb Tennis <caleb@gentoo.org>2007-07-31 13:39:50 +0000
commitccea1b4b669b782aba03052b910d796fb9d848b7 (patch)
treeea9a1d058dcd49a7ed1a782a91155e719a1a6e98 /eclass
parentLock to Qt3 (diff)
downloadgentoo-2-ccea1b4b669b782aba03052b910d796fb9d848b7.tar.gz
gentoo-2-ccea1b4b669b782aba03052b910d796fb9d848b7.tar.bz2
gentoo-2-ccea1b4b669b782aba03052b910d796fb9d848b7.zip
Adding eqmake from bug #120116
Diffstat (limited to 'eclass')
-rw-r--r--eclass/qt4.eclass73
1 files changed, 67 insertions, 6 deletions
diff --git a/eclass/qt4.eclass b/eclass/qt4.eclass
index e55e751c2295..d56bee8435e3 100644
--- a/eclass/qt4.eclass
+++ b/eclass/qt4.eclass
@@ -1,6 +1,6 @@
# Copyright 2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/qt4.eclass,v 1.19 2007/07/17 11:59:18 swegener Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/qt4.eclass,v 1.20 2007/07/31 13:39:50 caleb Exp $
#
# Author Caleb Tennis <caleb@gentoo.org>
#
@@ -13,7 +13,7 @@
# 08.16.06 - Renamed qt_min_* to qt4_min_* to avoid conflicts with the qt3 eclass.
# - Caleb Tennis <caleb@gentoo.org>
-inherit versionator eutils
+inherit eutils multilib toolchain-funcs versionator
QTPKG="x11-libs/qt-"
QT4MAJORVERSIONS="4.3 4.2 4.1 4.0"
@@ -51,12 +51,73 @@ qt4_min_version_list() {
echo "${VERSIONS}"
}
-EXPORT_FUNCTIONS pkg_setup
-
qt4_pkg_setup() {
- for x in $QT4_BUILT_WITH_USE_CHECK; do
+ for x in ${QT4_BUILT_WITH_USE_CHECK}; do
if ! built_with_use =x11-libs/qt-4* $x; then
- die "This package requires Qt4 to be built with the ${x} use flag."
+ die "This package requires Qt4 to be built with the '${x}' use flag."
fi
done
}
+
+eqmake4() {
+ local LOGFILE="${T}/qmake-$$.out"
+ local projprofile="${1}"
+ [ -z ${projprofile} ] && projprofile="${PN}.pro"
+ shift 1
+
+ ebegin "Processing qmake ${projprofile}"
+
+ # file exists?
+ if [ ! -f ${projprofile} ]; then
+ echo
+ eerror "Project .pro file \"${projprofile}\" does not exists"
+ eerror "qmake cannot handle non-existing .pro files"
+ echo
+ eerror "This shouldn't happen - please send a bug report to bugs.gentoo.org"
+ echo
+ die "Project file not found in ${PN} sources"
+ fi
+
+ echo >> ${LOGFILE}
+ echo "****** qmake ${projprofile} ******" >> ${LOGFILE}
+ echo >> ${LOGFILE}
+
+ # as a workaround for broken qmake, put everything into file
+ if use debug; then
+ echo -e "$CONFIG -= release\nCONFIG += no_fixpath debug" >> ${projprofile}
+ else
+ echo -e "$CONFIG -= debug\nCONFIG += no_fixpath release" >> ${projprofile}
+ fi
+
+ /usr/bin/qmake ${projprofile} \
+ QTDIR=/usr/$(get_libdir) \
+ QMAKE=/usr/bin/qmake \
+ QMAKE_CC=$(tc-getCC) \
+ QMAKE_CXX=$(tc-getCXX) \
+ QMAKE_LINK=$(tc-getCXX) \
+ QMAKE_CFLAGS_RELEASE="${CFLAGS}" \
+ QMAKE_CFLAGS_DEBUG="${CFLAGS}" \
+ QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS}" \
+ QMAKE_CXXFLAGS_DEBUG="${CXXFLAGS}" \
+ QMAKE_LFLAGS_RELEASE="${LDFLAGS}" \
+ QMAKE_LFLAGS_DEBUG="${LDFLAGS}" \
+ QMAKE_RPATH= \
+ ${@} >> ${LOGFILE} 2>&1
+
+ local result=$?
+ eend ${result}
+
+ # was qmake successful?
+ if [ ${result} -ne 0 ]; then
+ echo
+ eerror "Running qmake on \"${projprofile}\" has failed"
+ echo
+ eerror "This shouldn't happen - please send a bug report to bugs.gentoo.org"
+ echo
+ die "qmake failed on ${projprofile}"
+ fi
+
+ return ${result}
+}
+
+EXPORT_FUNCTIONS pkg_setup