# 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.1 2005/11/17 13:48:46 caleb Exp $ # # Author Caleb Tennis # # This eclass is simple. Inherit it, and in your depend, do something like this: # # DEPEND="$(qt_min_version 4)" # # and it handles the rest for you # inherit versionator IUSE="${IUSE} debug" QTPKG="x11-libs/qt-" QT4MAJORVERSIONS="4.1 4.0" QT4VERSIONS="4.0.1 4.0.0" qt_min_version() { echo "|| (" qt_min_version_list "$@" echo ")" } qt_min_version_list() { local MINVER="$1" local VERSIONS="" case "${MINVER}" in 4|4.0|4.0.0) VERSIONS="=${QTPKG}4*";; 4.1|4.1.0) for x in ${QT4MAJORVERSIONS}; do if $(version_is_at_least "${MINVER}" "${x}"); then VERSIONS="${VERSIONS} =${QTPKG}${x}*" fi done ;; 4*) for x in ${QT4VERSIONS}; do if $(version_is_at_least "${MINVER}" "${x}"); then VERSIONS="${VERSIONS} =${QTPKG}${x}" fi done ;; *) VERSIONS="=${QTPKG}4*";; esac echo "${VERSIONS}" } eqmake() { local projprofile="" if [ -z $1 ]; then projprofile="${PN}.pro" else projprofile="${1}" fi; # file exists? if [[ ! -f ${projprofile} ]]; then echo eerror "Project pro file \"${projprofile}\" does not exists" eerror "qmake cannot handle the non-existing pro files" echo eerror "This shouldn't happen - send a bug report to bugs.gentoo.org" echo die "non existing pro file in ${PN} sources" fi; # some standard config options local configopt="no_fixpath" if use debug; then configopt="${configopt} debug" else configopt="${configopt} release" fi; einfo "Processing qmake ${projprofile}" # any special qmake options should be passed as a second eqmake parameter /usr/bin/qmake ${projprofile} \ QMAKE=/usr/bin/qmake \ QMAKE_CFLAGS_RELEASE="${CFLAGS}" \ QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS}" \ "CONFIG+=${configopt}" \ QMAKE_RPATH= \ ${2} # successfull qmake? if [[ $? -ne 0 ]]; then echo eerror "Running qmake on \"${projprofile}\" has failed" echo eerror "This shouldn't happen - send a bug report to bugs.gentoo.org" echo die "qmake has failed on ${projprofile}" fi; eend 0 }