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

Diff of /eclass/qt4-build.eclass

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

Revision 1.89 Revision 1.92
1# Copyright 1999-2009 Gentoo Foundation 1# Copyright 1999-2009 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-build.eclass,v 1.89 2011/03/03 21:39:29 wired Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.92 2011/08/13 11:31:03 hwoarang Exp $
4 4
5# @ECLASS: qt4-build.eclass 5# @ECLASS: qt4-build.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>,
135# @FUNCTION: qt4-build_src_unpack 135# @FUNCTION: qt4-build_src_unpack
136# @DESCRIPTION: 136# @DESCRIPTION:
137# Unpacks the sources 137# Unpacks the sources
138qt4-build_src_unpack() { 138qt4-build_src_unpack() {
139 setqtenv 139 setqtenv
140 local unpack_p="${MY_P}"
141 case "${PV}" in
142 4.8.0_beta*)
143 unpack_p="qt-everywhere-opensource-src-${PV/_*}"
144 ;;
145 esac
140 local target targets= 146 local target targets=
141 for target in configure LICENSE.GPL3 LICENSE.LGPL projects.pro \ 147 for target in configure LICENSE.GPL3 LICENSE.LGPL projects.pro \
142 src/{qbase,qt_targets,qt_install}.pri bin config.tests mkspecs qmake \ 148 src/{qbase,qt_targets,qt_install}.pri bin config.tests mkspecs qmake \
143 ${QT4_EXTRACT_DIRECTORIES}; do 149 ${QT4_EXTRACT_DIRECTORIES}; do
144 targets+=" ${MY_P}/${target}" 150 targets+=" ${unpack_p}/${target}"
145 done 151 done
146 152
147 echo tar xzf "${DISTDIR}"/${MY_P}.tar.gz ${targets} 153 echo tar xzf "${DISTDIR}"/${MY_P}.tar.gz ${targets}
148 tar xzf "${DISTDIR}"/${MY_P}.tar.gz ${targets} || die 154 tar xzf "${DISTDIR}"/${MY_P}.tar.gz ${targets} || die
155 case "${PV}" in
156 4.8.0_beta*)
157 mv ${WORKDIR}/qt-everywhere-opensource-src-${PV/_*} \
158 ${WORKDIR}/qt-everywhere-opensource-src-${MY_PV}
159 ;;
160 esac
149} 161}
150 162
151# @ECLASS-VARIABLE: PATCHES 163# @ECLASS-VARIABLE: PATCHES
152# @DESCRIPTION: 164# @DESCRIPTION:
153# In case you have patches to apply, specify them in PATCHES variable. Make sure 165# In case you have patches to apply, specify them in PATCHES variable. Make sure
172 die "visibility fixing sed failed" 184 die "visibility fixing sed failed"
173 fi 185 fi
174 # fix libx11 dependency on non X packages 186 # fix libx11 dependency on non X packages
175 if version_is_at_least "4.7.0_beta2"; then 187 if version_is_at_least "4.7.0_beta2"; then
176 local NOLIBX11PKG="qt-core qt-dbus qt-script qt-sql qt-test qt-xmlpatterns" 188 local NOLIBX11PKG="qt-core qt-dbus qt-script qt-sql qt-test qt-xmlpatterns"
177 hasq ${PN} ${NOLIBX11PKG} && qt_nolibx11 189 has ${PN} ${NOLIBX11PKG} && qt_nolibx11
178 [[ ${PN} == "qt-assistant" ]] && qt_assistant_cleanup 190 [[ ${PN} == "qt-assistant" ]] && qt_assistant_cleanup
179 fi 191 fi
180 192
181 if use aqua; then 193 if use aqua; then
182 # provide a proper macx-g++-64 194 # provide a proper macx-g++-64
338 [[ ${PV} == "4.7.1" ]] && myconf+=" -no-sse4.1 -no-sse4.2" 350 [[ ${PV} == "4.7.1" ]] && myconf+=" -no-sse4.1 -no-sse4.2"
339 351
340 echo ./configure ${myconf} 352 echo ./configure ${myconf}
341 ./configure ${myconf} || die "./configure failed" 353 ./configure ${myconf} || die "./configure failed"
342 myconf="" 354 myconf=""
355
356 prepare_directories ${QT4_TARGET_DIRECTORIES}
343} 357}
344 358
345# @FUNCTION: qt4-build_src_compile 359# @FUNCTION: qt4-build_src_compile
346# @DESCRIPTION: Actual compile phase 360# @DESCRIPTION: Actual compile phase
347qt4-build_src_compile() { 361qt4-build_src_compile() {
491 -nomake examples -nomake demos" 505 -nomake examples -nomake demos"
492 506
493 echo "${myconf}" 507 echo "${myconf}"
494} 508}
495 509
496# @FUNCTION: build_directories 510# @FUNCTION: prepare_directories
497# @USAGE: < directories > 511# @USAGE: < directories >
498# @DESCRIPTION: 512# @DESCRIPTION:
499# Compiles the code in $QT4_TARGET_DIRECTORIES 513# Generates makefiles for the directories set in $QT4_TARGET_DIRECTORIES
500build_directories() { 514prepare_directories() {
501 for x in "$@"; do 515 for x in "$@"; do
502 pushd "${S}"/${x} >/dev/null 516 pushd "${S}"/${x} >/dev/null
517 einfo "running qmake in: $x"
503 # avoid running over the maximum argument number, bug #299810 518 # avoid running over the maximum argument number, bug #299810
504 { 519 {
505 echo "${S}"/mkspecs/common/*.conf 520 echo "${S}"/mkspecs/common/*.conf
506 find "${S}" -name '*.pr[io]' 521 find "${S}" -name '*.pr[io]'
507 } | xargs sed -i -e "s:\$\$\[QT_INSTALL_LIBS\]:${EPREFIX}/usr/$(get_libdir)/qt4:g" || die 522 } | xargs sed -i -e "s:\$\$\[QT_INSTALL_LIBS\]:${EPREFIX}/usr/$(get_libdir)/qt4:g" || die
508 "${S}"/bin/qmake "LIBS+=-L${QTLIBDIR}" "CONFIG+=nostrip" || die "qmake failed" 523 "${S}"/bin/qmake "LIBS+=-L${QTLIBDIR}" "CONFIG+=nostrip" || die "qmake failed"
524 popd >/dev/null
525 done
526}
527
528
529# @FUNCTION: build_directories
530# @USAGE: < directories >
531# @DESCRIPTION:
532# Compiles the code in $QT4_TARGET_DIRECTORIES
533build_directories() {
534 for x in "$@"; do
535 pushd "${S}"/${x} >/dev/null
509 emake CC="$(tc-getCC)" \ 536 emake CC="$(tc-getCC)" \
510 CXX="$(tc-getCXX)" \ 537 CXX="$(tc-getCXX)" \
511 LINK="$(tc-getCXX)" || die "emake failed" 538 LINK="$(tc-getCXX)" || die "emake failed"
512 popd >/dev/null 539 popd >/dev/null
513 done 540 done
584 611
585 # generate list of QT_CONFIG entries from the existing list 612 # generate list of QT_CONFIG entries from the existing list
586 # including qconfig_add and excluding qconfig_remove 613 # including qconfig_add and excluding qconfig_remove
587 for x in $(sed -n 's/^QT_CONFIG +=//p' \ 614 for x in $(sed -n 's/^QT_CONFIG +=//p' \
588 "${ROOT}${QTDATADIR}"/mkspecs/qconfig.pri) ${qconfig_add}; do 615 "${ROOT}${QTDATADIR}"/mkspecs/qconfig.pri) ${qconfig_add}; do
589 hasq ${x} ${qconfig_remove} || qconfig_new+=" ${x}" 616 has ${x} ${qconfig_remove} || qconfig_new+=" ${x}"
590 done 617 done
591 618
592 # replace the existing QT_CONFIG list with qconfig_new 619 # replace the existing QT_CONFIG list with qconfig_new
593 if ! sed -i -e "s/QT_CONFIG +=.*/QT_CONFIG += ${qconfig_new}/" \ 620 if ! sed -i -e "s/QT_CONFIG +=.*/QT_CONFIG += ${qconfig_new}/" \
594 "${ROOT}${QTDATADIR}"/mkspecs/qconfig.pri; then 621 "${ROOT}${QTDATADIR}"/mkspecs/qconfig.pri; then

Legend:
Removed from v.1.89  
changed lines
  Added in v.1.92

  ViewVC Help
Powered by ViewVC 1.1.20