/[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.125 Revision 1.131
1# Copyright 1999-2012 Gentoo Foundation 1# Copyright 1999-2012 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.125 2012/04/19 14:52:12 pesa Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.131 2012/05/25 12:06:05 pesa Exp $
4 4
5# @ECLASS: qt4-build.eclass 5# @ECLASS: qt4-build.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# Qt herd <qt@gentoo.org> 7# Qt herd <qt@gentoo.org>
8# @BLURB: Eclass for Qt4 split ebuilds. 8# @BLURB: Eclass for Qt4 split ebuilds.
34 EGIT_REPO_URI="git://gitorious.org/qt/qt.git 34 EGIT_REPO_URI="git://gitorious.org/qt/qt.git
35 https://git.gitorious.org/qt/qt.git" 35 https://git.gitorious.org/qt/qt.git"
36 EGIT_BRANCH="${PV%.9999}" 36 EGIT_BRANCH="${PV%.9999}"
37 ;; 37 ;;
38 release) 38 release)
39 if version_is_at_least 4.8.1; then
40 SRC_URI="http://releases.qt-project.org/qt4/source/${MY_P}.tar.gz"
41 else
39 SRC_URI="http://get.qt.nokia.com/qt/source/${MY_P}.tar.gz" 42 SRC_URI="http://get.qt.nokia.com/qt/source/${MY_P}.tar.gz"
43 fi
40 ;; 44 ;;
41esac 45esac
42 46
43IUSE="aqua debug pch" 47IUSE="aqua debug pch"
44if [[ ${CATEGORY}/${PN} != x11-libs/qt-xmlpatterns ]]; then 48if [[ ${CATEGORY}/${PN} != x11-libs/qt-xmlpatterns ]]; then
46fi 50fi
47if version_is_at_least 4.8; then 51if version_is_at_least 4.8; then
48 IUSE+=" c++0x qpa" 52 IUSE+=" c++0x qpa"
49fi 53fi
50 54
51DEPEND="dev-util/pkgconfig" 55DEPEND="virtual/pkgconfig"
52if [[ ${QT4_BUILD_TYPE} == live ]]; then 56if [[ ${QT4_BUILD_TYPE} == live ]]; then
53 DEPEND+=" dev-lang/perl" 57 DEPEND+=" dev-lang/perl"
54fi 58fi
55 59
56RDEPEND=" 60RDEPEND="
281 sed -i -e "/bin\/qmake/ s: \"QT_BUILD_TREE=: \ 285 sed -i -e "/bin\/qmake/ s: \"QT_BUILD_TREE=: \
282 'QMAKE_CC=$(tc-getCC)' 'QMAKE_CXX=$(tc-getCXX)' 'QMAKE_LINK=$(tc-getCXX)' \ 286 'QMAKE_CC=$(tc-getCC)' 'QMAKE_CXX=$(tc-getCXX)' 'QMAKE_LINK=$(tc-getCXX)' \
283 'QMAKE_CFLAGS+=${CFLAGS}' 'QMAKE_CXXFLAGS+=${CXXFLAGS}' 'QMAKE_LFLAGS+=${LDFLAGS}'&:" \ 287 'QMAKE_CFLAGS+=${CFLAGS}' 'QMAKE_CXXFLAGS+=${CXXFLAGS}' 'QMAKE_LFLAGS+=${LDFLAGS}'&:" \
284 || die "sed config.tests failed" 288 || die "sed config.tests failed"
285 289
290 if ! version_is_at_least 4.8; then
286 # Strip predefined CFLAGS from mkspecs (bug 312689) 291 # Strip predefined CFLAGS from mkspecs (bugs 312689 and 352778)
287 sed -i -e '/^QMAKE_CFLAGS_RELEASE/s:+=.*:+=:' mkspecs/common/g++.conf || die 292 sed -i -e '/^QMAKE_CFLAGS_RELEASE/s:+=.*:+=:' mkspecs/common/g++.conf || die
293 fi
288 294
289 # Bug 172219 295 # Bug 172219
290 sed -e 's:/X11R6/:/:' -i mkspecs/$(qt_mkspecs_dir)/qmake.conf || die 296 sed -e 's:/X11R6/:/:' -i mkspecs/$(qt_mkspecs_dir)/qmake.conf || die
291 297
292 if [[ ${CHOST} == *-darwin* ]]; then 298 if [[ ${CHOST} == *-darwin* ]]; then
409 conf+=" -no-separate-debug-info" 415 conf+=" -no-separate-debug-info"
410 416
411 # exceptions USE flag 417 # exceptions USE flag
412 conf+=" $(in_iuse exceptions && qt_use exceptions || echo -exceptions)" 418 conf+=" $(in_iuse exceptions && qt_use exceptions || echo -exceptions)"
413 419
414 # disable RPATH on Qt >= 4.8 (bug 380415) 420 # disable rpath on Qt >= 4.8 (bug 380415)
421 # but leave it enabled on prefix (bug 417169)
415 version_is_at_least 4.8 && conf+=" -no-rpath" 422 version_is_at_least 4.8 && use !prefix && conf+=" -no-rpath"
416 423
417 # precompiled headers don't work on hardened, where the flag is masked 424 # precompiled headers don't work on hardened, where the flag is masked
418 conf+=" $(qt_use pch)" 425 conf+=" $(qt_use pch)"
419 426
420 # -reduce-relocations 427 # -reduce-relocations
502# @DESCRIPTION: 509# @DESCRIPTION:
503# For MacOS X we need to add some symlinks when frameworks are 510# For MacOS X we need to add some symlinks when frameworks are
504# being used, to avoid complications with some more or less stupid packages. 511# being used, to avoid complications with some more or less stupid packages.
505fix_includes() { 512fix_includes() {
506 if use aqua && [[ ${CHOST##*-darwin} -ge 9 ]]; then 513 if use aqua && [[ ${CHOST##*-darwin} -ge 9 ]]; then
514 local frw dest f h rdir
507 # Some packages tend to include <Qt/...> 515 # Some packages tend to include <Qt/...>
508 dodir "${QTHEADERDIR#${EPREFIX}}"/Qt 516 dodir "${QTHEADERDIR#${EPREFIX}}"/Qt
509 517
510 # Fake normal headers when frameworks are installed... eases life later on 518 # Fake normal headers when frameworks are installed... eases life later
511 local dest f h 519 # on, make sure we use relative links though, as some ebuilds assume
520 # these dirs exist in src_install to add additional files
521 f=${QTHEADERDIR}
522 h=${QTLIBDIR}
523 while [[ -n ${f} && ${f%%/*} == ${h%%/*} ]] ; do
524 f=${f#*/}
525 h=${h#*/}
526 done
527 rdir=${h}
528 f="../"
529 while [[ ${h} == */* ]] ; do
530 f="${f}../"
531 h=${h#*/}
532 done
533 rdir="${f}${rdir}"
534
512 for frw in "${D}${QTLIBDIR}"/*.framework; do 535 for frw in "${D}${QTLIBDIR}"/*.framework; do
513 [[ -e "${frw}"/Headers ]] || continue 536 [[ -e "${frw}"/Headers ]] || continue
514 f=$(basename ${frw}) 537 f=$(basename ${frw})
515 dest="${QTHEADERDIR#${EPREFIX}}"/${f%.framework} 538 dest="${QTHEADERDIR#${EPREFIX}}"/${f%.framework}
516 dosym "${QTLIBDIR#${EPREFIX}}"/${f}/Headers "${dest}" 539 dosym "${rdir}"/${f}/Headers "${dest}"
517 540
518 # Link normal headers as well. 541 # Link normal headers as well.
519 for hdr in "${D}/${QTLIBDIR}/${f}"/Headers/*; do 542 for hdr in "${D}/${QTLIBDIR}/${f}"/Headers/*; do
520 h=$(basename ${hdr}) 543 h=$(basename ${hdr})
521 dosym "${QTLIBDIR#${EPREFIX}}"/${f}/Headers/${h} "${QTHEADERDIR#${EPREFIX}}"/Qt/${h} 544 dosym "../${rdir}"/${f}/Headers/${h} \
545 "${QTHEADERDIR#${EPREFIX}}"/Qt/${h}
522 done 546 done
523 done 547 done
524 fi 548 fi
525} 549}
526 550
559 QTDEMOSDIR=${QTDATADIR}/demos 583 QTDEMOSDIR=${QTDATADIR}/demos
560 QMAKE_LIBDIR_QT=${QTLIBDIR} 584 QMAKE_LIBDIR_QT=${QTLIBDIR}
561 QT_INSTALL_PREFIX=${EPREFIX}/usr/$(get_libdir)/qt4 585 QT_INSTALL_PREFIX=${EPREFIX}/usr/$(get_libdir)/qt4
562 586
563 PLATFORM=$(qt_mkspecs_dir) 587 PLATFORM=$(qt_mkspecs_dir)
564
565 unset QMAKESPEC 588 unset QMAKESPEC
589
590 export XDG_CONFIG_HOME="${T}"
566} 591}
567 592
568# @FUNCTION: prepare_directories 593# @FUNCTION: prepare_directories
569# @USAGE: < directories > 594# @USAGE: < directories >
570# @INTERNAL 595# @INTERNAL

Legend:
Removed from v.1.125  
changed lines
  Added in v.1.131

  ViewVC Help
Powered by ViewVC 1.1.20