/[gentoo-x86]/eclass/qt4-r2.eclass
Gentoo

Diff of /eclass/qt4-r2.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.2 Revision 1.12
1# Copyright 1999-2010 Gentoo Foundation 1# Copyright 1999-2011 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-r2.eclass,v 1.2 2010/01/14 21:25:17 abcd Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-r2.eclass,v 1.12 2011/08/22 04:46:32 vapier Exp $
4 4
5# @ECLASS: qt4-r2.eclass 5# @ECLASS: qt4-r2.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# Ben de Groot <yngwin@gentoo.org>, 7# Ben de Groot <yngwin@gentoo.org>,
8# Markos Chandras <hwoarang@gentoo.org>, 8# Markos Chandras <hwoarang@gentoo.org>,
12# @DESCRIPTION: 12# @DESCRIPTION:
13# This eclass contains various functions that may be useful when 13# This eclass contains various functions that may be useful when
14# dealing with packages using Qt4 libraries. Requires EAPI=2. 14# dealing with packages using Qt4 libraries. Requires EAPI=2.
15 15
16case ${EAPI} in 16case ${EAPI} in
17 2) : ;; 17 2|3|4) : ;;
18 *) DEPEND="EAPI-INCOMPATIBLE" ;; 18 *) die "EAPI=${EAPI} is not supported" ;;
19esac 19esac
20 20
21inherit base eutils multilib toolchain-funcs 21inherit base eutils multilib toolchain-funcs
22 22
23export XDG_CONFIG_HOME="${T}" 23export XDG_CONFIG_HOME="${T}"
63# In case you have patches to apply, specify them in PATCHES variable. Make sure 63# In case you have patches to apply, specify them in PATCHES variable. Make sure
64# to specify the full path. This variable is used in src_prepare phase. 64# to specify the full path. This variable is used in src_prepare phase.
65# example: 65# example:
66# PATCHES=( "${FILESDIR}"/mypatch.patch 66# PATCHES=( "${FILESDIR}"/mypatch.patch
67# "${FILESDIR}"/mypatch2.patch ) 67# "${FILESDIR}"/mypatch2.patch )
68# 68
69# @FUNCTION: qt4-r2_src_prepare 69# @FUNCTION: qt4-r2_src_prepare
70# @DESCRIPTION: 70# @DESCRIPTION:
71# Default src_prepare function for packages that depend on qt4. If you have to 71# Default src_prepare function for packages that depend on qt4. If you have to
72# override src_prepare in your ebuild, you should call qt4-r2_src_prepare in it, 72# override src_prepare in your ebuild, you should call qt4-r2_src_prepare in it,
73# otherwise autopatcher will not work! 73# otherwise autopatcher will not work!
106 106
107# @ECLASS-VARIABLE: DOCS 107# @ECLASS-VARIABLE: DOCS
108# @DESCRIPTION: 108# @DESCRIPTION:
109# Use this variable if you want to install any documentation. 109# Use this variable if you want to install any documentation.
110# example: DOCS="README AUTHORS" 110# example: DOCS="README AUTHORS"
111# 111
112# @ECLASS-VARIABLE: DOCSDIR 112# @ECLASS-VARIABLE: DOCSDIR
113# @DESCRIPTION: 113# @DESCRIPTION:
114# Directory containing documentation. If not specified, ${S} will be used 114# Directory containing documentation. If not specified, ${S} will be used
115# instead. 115# instead.
116# 116
117# @FUNCTION: qt4-r2_src_install 117# @FUNCTION: qt4-r2_src_install
118# @DESCRIPTION: 118# @DESCRIPTION:
119# Default src_install function for qt4-based packages. Installs compiled code, 119# Default src_install function for qt4-based packages. Installs compiled code,
120# documentation (via DOCS variable) and translations (via LANGS and 120# documentation (via DOCS variable) and translations (via LANGS and
121# LANGSLONG variables). 121# LANGSLONG variables).
178# directory specified inside the top-level project file by the SUBDIRS 178# directory specified inside the top-level project file by the SUBDIRS
179# variable. 179# variable.
180eqmake4() { 180eqmake4() {
181 ebegin "Running qmake" 181 ebegin "Running qmake"
182 182
183 local qmake_args="$@" 183 local qmake_args=("$@")
184 184
185 # check if project file was passed as a first argument 185 # check if project file was passed as a first argument
186 # if not, then search for it 186 # if not, then search for it
187 local regexp='.*\.pro' 187 local regexp='.*\.pro'
188 if ! [[ "${1}" =~ ${regexp} ]]; then 188 if ! [[ "${1}" =~ ${regexp} ]]; then
192 eerror "No project file found in ${S}!" 192 eerror "No project file found in ${S}!"
193 eerror "This shouldn't happen - please send a bug report to http://bugs.gentoo.org/" 193 eerror "This shouldn't happen - please send a bug report to http://bugs.gentoo.org/"
194 echo 194 echo
195 die "eqmake4 failed" 195 die "eqmake4 failed"
196 fi 196 fi
197 qmake_args="${qmake_args} ${project_file}" 197 qmake_args+=("${project_file}")
198 fi 198 fi
199 199
200 # make sure CONFIG variable is correctly set for both release and debug builds 200 # make sure CONFIG variable is correctly set for both release and debug builds
201 local CONFIG_ADD="release" 201 local CONFIG_ADD="release"
202 local CONFIG_REMOVE="debug" 202 local CONFIG_REMOVE="debug"
242 fi 242 fi
243 done < <(find . -type f -name "*.pr[io]" -printf '%P\n' 2>/dev/null) 243 done < <(find . -type f -name "*.pr[io]" -printf '%P\n' 2>/dev/null)
244 244
245 [[ ${EAPI} == 2 ]] && use !prefix && EPREFIX= 245 [[ ${EAPI} == 2 ]] && use !prefix && EPREFIX=
246 246
247 "${EPREFIX}"/usr/bin/qmake -makefile -nocache \ 247 "${EPREFIX}"/usr/bin/qmake \
248 -makefile \
249 -config ${CONFIG_ADD} \
248 QTDIR="${EPREFIX}"/usr/$(get_libdir) \ 250 QTDIR="${EPREFIX}"/usr/$(get_libdir) \
249 QMAKE="${EPREFIX}"/usr/bin/qmake \ 251 QMAKE="${EPREFIX}"/usr/bin/qmake \
250 QMAKE_CC=$(tc-getCC) \ 252 QMAKE_CC="$(tc-getCC)" \
251 QMAKE_CXX=$(tc-getCXX) \ 253 QMAKE_CXX="$(tc-getCXX)" \
252 QMAKE_LINK=$(tc-getCXX) \ 254 QMAKE_LINK="$(tc-getCXX)" \
253 QMAKE_CFLAGS_RELEASE="${CFLAGS}" \ 255 QMAKE_CFLAGS_RELEASE="${CFLAGS}" \
254 QMAKE_CFLAGS_DEBUG="${CFLAGS}" \ 256 QMAKE_CFLAGS_DEBUG="${CFLAGS}" \
255 QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS}" \ 257 QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS}" \
256 QMAKE_CXXFLAGS_DEBUG="${CXXFLAGS}" \ 258 QMAKE_CXXFLAGS_DEBUG="${CXXFLAGS}" \
257 QMAKE_LFLAGS_RELEASE="${LDFLAGS}" \ 259 QMAKE_LFLAGS_RELEASE="${LDFLAGS}" \
258 QMAKE_LFLAGS_DEBUG="${LDFLAGS}" \ 260 QMAKE_LFLAGS_DEBUG="${LDFLAGS}" \
259 QMAKE_RPATH= \ 261 QMAKE_LIBDIR_QT="${EPREFIX}"/usr/$(get_libdir)/qt4 \
262 QMAKE_LIBDIR_X11="${EPREFIX}"/usr/$(get_libdir) \
263 QMAKE_LIBDIR_OPENGL="${EPREFIX}"/usr/$(get_libdir) \
260 QMAKE_STRIP= \ 264 QMAKE_STRIP= \
261 ${qmake_args} 265 "${qmake_args[@]}"
262 266
263 # was qmake successful? 267 # was qmake successful?
264 if ! eend $? ; then 268 if ! eend $? ; then
265 echo 269 echo
266 eerror "Running qmake has failed! (see above for details)" 270 eerror "Running qmake has failed! (see above for details)"

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.12

  ViewVC Help
Powered by ViewVC 1.1.20