/[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.100 Revision 1.106
1# Copyright 1999-2011 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-build.eclass,v 1.100 2011/11/19 20:31:12 pesa Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.106 2011/12/21 22:47:35 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.
12inherit base eutils multilib toolchain-funcs flag-o-matic versionator 12inherit base eutils multilib toolchain-funcs flag-o-matic versionator
13 13
14MY_PV=${PV/_/-} 14MY_PV=${PV/_/-}
15MY_P=qt-everywhere-opensource-src-${MY_PV} 15MY_P=qt-everywhere-opensource-src-${MY_PV}
16 16
17HOMEPAGE="http://qt.nokia.com/" 17HOMEPAGE="http://qt.nokia.com/ http://qt-project.org/"
18SRC_URI="http://get.qt.nokia.com/qt/source/${MY_P}.tar.gz" 18SRC_URI="http://get.qt.nokia.com/qt/source/${MY_P}.tar.gz"
19LICENSE="|| ( LGPL-2.1 GPL-3 )" 19LICENSE="|| ( LGPL-2.1 GPL-3 )"
20 20
21IUSE="aqua debug pch" 21IUSE="aqua debug pch"
22 22
26 26
27if version_is_at_least 4.7.99999999; then 27if version_is_at_least 4.7.99999999; then
28 IUSE+=" c++0x qpa" 28 IUSE+=" c++0x qpa"
29fi 29fi
30 30
31DEPEND="dev-util/pkgconfig"
31RDEPEND=" 32RDEPEND="
32 !<x11-libs/qt-assistant-${PV} 33 !<x11-libs/qt-assistant-${PV}
33 !>x11-libs/qt-assistant-${PV}-r9999 34 !>x11-libs/qt-assistant-${PV}-r9999
34 !<x11-libs/qt-core-${PV} 35 !<x11-libs/qt-core-${PV}
35 !>x11-libs/qt-core-${PV}-r9999 36 !>x11-libs/qt-core-${PV}-r9999
364 # freetype2 include dir is non-standard, thus include it on configure 365 # freetype2 include dir is non-standard, thus include it on configure
365 # use -I from configure 366 # use -I from configure
366 myconf+=" $(pkg-config --cflags freetype2)" 367 myconf+=" $(pkg-config --cflags freetype2)"
367 fi 368 fi
368 369
369 # Disable SSE4.x, since auto-detection is currently broken
370 # Upstream bug http://bugreports.qt.nokia.com/browse/QTBUG-13623
371 [[ ${PV} == "4.7.1" ]] && myconf+=" -no-sse4.1 -no-sse4.2"
372
373 echo ./configure ${myconf} 370 echo ./configure ${myconf}
374 ./configure ${myconf} || die "./configure failed" 371 ./configure ${myconf} || die "./configure failed"
375 myconf="" 372 myconf=""
376 373
377 prepare_directories ${QT4_TARGET_DIRECTORIES} 374 prepare_directories ${QT4_TARGET_DIRECTORIES}
448 QTPCDIR=${EPREFIX}/usr/$(get_libdir)/pkgconfig 445 QTPCDIR=${EPREFIX}/usr/$(get_libdir)/pkgconfig
449 QTDATADIR=${EPREFIX}/usr/share/qt4 446 QTDATADIR=${EPREFIX}/usr/share/qt4
450 QTDOCDIR=${EPREFIX}/usr/share/doc/qt-${PV} 447 QTDOCDIR=${EPREFIX}/usr/share/doc/qt-${PV}
451 QTHEADERDIR=${EPREFIX}/usr/include/qt4 448 QTHEADERDIR=${EPREFIX}/usr/include/qt4
452 QTPLUGINDIR=${QTLIBDIR}/plugins 449 QTPLUGINDIR=${QTLIBDIR}/plugins
450 QTIMPORTDIR=${QTLIBDIR}/imports
453 QTSYSCONFDIR=${EPREFIX}/etc/qt4 451 QTSYSCONFDIR=${EPREFIX}/etc/qt4
454 QTTRANSDIR=${QTDATADIR}/translations 452 QTTRANSDIR=${QTDATADIR}/translations
455 QTEXAMPLESDIR=${QTDATADIR}/examples 453 QTEXAMPLESDIR=${QTDATADIR}/examples
456 QTDEMOSDIR=${QTDATADIR}/demos 454 QTDEMOSDIR=${QTDATADIR}/demos
457 QT_INSTALL_PREFIX=${EPREFIX}/usr/$(get_libdir)/qt4 455 QT_INSTALL_PREFIX=${EPREFIX}/usr/$(get_libdir)/qt4
487 use aqua && myconf+=" -no-framework" 485 use aqua && myconf+=" -no-framework"
488 486
489 # ARCH is set on Gentoo. Qt now falls back to generic on an unsupported 487 # ARCH is set on Gentoo. Qt now falls back to generic on an unsupported
490 # $(tc-arch). Therefore we convert it to supported values. 488 # $(tc-arch). Therefore we convert it to supported values.
491 case "$(tc-arch)" in 489 case "$(tc-arch)" in
492 amd64|x64-*) myconf+=" -arch x86_64" ;; 490 amd64|x64-*) myconf+=" -arch x86_64" ;;
493 ppc-macos) myconf+=" -arch ppc" ;; 491 ppc-macos) myconf+=" -arch ppc" ;;
494 ppc|ppc64|ppc-*) myconf+=" -arch powerpc" ;; 492 ppc|ppc64|ppc-*) myconf+=" -arch powerpc" ;;
495 sparc|sparc-*) myconf+=" -arch sparc" ;; 493 sparc|sparc-*|sparc64-*) myconf+=" -arch sparc" ;;
496 x86-macos) myconf+=" -arch x86" ;; 494 x86-macos) myconf+=" -arch x86" ;;
497 x86|x86-*) myconf+=" -arch i386" ;; 495 x86|x86-*) myconf+=" -arch i386" ;;
498 alpha|arm|ia64|mips|s390|sparc) myconf+=" -arch $(tc-arch)" ;; 496 alpha|arm|ia64|mips|s390) myconf+=" -arch $(tc-arch)" ;;
499 hppa|sh) myconf+=" -arch generic" ;; 497 hppa|sh) myconf+=" -arch generic" ;;
500 *) die "$(tc-arch) is unsupported by this eclass. Please file a bug." ;; 498 *) die "$(tc-arch) is unsupported by this eclass. Please file a bug." ;;
501 esac 499 esac
502 500
503 # exceptions USE flag 501 # exceptions USE flag
504 local exceptions="-exceptions" 502 local exceptions="-exceptions"
505 in_iuse exceptions && exceptions="$(qt_use exceptions)" 503 in_iuse exceptions && exceptions="$(qt_use exceptions)"
504
505 # bug 380415
506 version_is_at_least 4.8 && myconf+=" -no-rpath"
506 507
507 # note about -reduce-relocations: 508 # note about -reduce-relocations:
508 # That flag seems to introduce major breakage to applications, 509 # That flag seems to introduce major breakage to applications,
509 # mostly to be seen as a core dump with the message "QPixmap: Must 510 # mostly to be seen as a core dump with the message "QPixmap: Must
510 # construct a QApplication before a QPaintDevice" on Solaris 511 # construct a QApplication before a QPaintDevice" on Solaris
514 myconf+=" -platform $(qt_mkspecs_dir) -stl -verbose -largefile -confirm-license 515 myconf+=" -platform $(qt_mkspecs_dir) -stl -verbose -largefile -confirm-license
515 -prefix ${QTPREFIXDIR} -bindir ${QTBINDIR} -libdir ${QTLIBDIR} 516 -prefix ${QTPREFIXDIR} -bindir ${QTBINDIR} -libdir ${QTLIBDIR}
516 -datadir ${QTDATADIR} -docdir ${QTDOCDIR} -headerdir ${QTHEADERDIR} 517 -datadir ${QTDATADIR} -docdir ${QTDOCDIR} -headerdir ${QTHEADERDIR}
517 -plugindir ${QTPLUGINDIR} -sysconfdir ${QTSYSCONFDIR} 518 -plugindir ${QTPLUGINDIR} -sysconfdir ${QTSYSCONFDIR}
518 -translationdir ${QTTRANSDIR} -examplesdir ${QTEXAMPLESDIR} 519 -translationdir ${QTTRANSDIR} -examplesdir ${QTEXAMPLESDIR}
519 -demosdir ${QTDEMOSDIR} -silent -fast -opensource 520 -demosdir ${QTDEMOSDIR} -importdir ${QTIMPORTDIR} -silent -fast -opensource
520 ${exceptions} 521 ${exceptions}
521 -nomake examples -nomake demos" 522 -nomake examples -nomake demos"
522 523
523 echo "${myconf}" 524 echo "${myconf}"
524} 525}
533 einfo "Running qmake in: ${x}" 534 einfo "Running qmake in: ${x}"
534 # avoid running over the maximum argument number, bug #299810 535 # avoid running over the maximum argument number, bug #299810
535 { 536 {
536 echo "${S}"/mkspecs/common/*.conf 537 echo "${S}"/mkspecs/common/*.conf
537 find "${S}" -name '*.pr[io]' 538 find "${S}" -name '*.pr[io]'
538 } | xargs sed -i -e "s:\$\$\[QT_INSTALL_LIBS\]:${EPREFIX}/usr/$(get_libdir)/qt4:g" || die 539 } | xargs sed -i \
540 -e "s:\$\$\[QT_INSTALL_LIBS\]:${QTLIBDIR}:g" \
541 -e "s:\$\$\[QT_INSTALL_PLUGINS\]:${QTPLUGINDIR}:g" \
542 || die
539 "${S}"/bin/qmake "LIBS+=-L${QTLIBDIR}" "CONFIG+=nostrip" || die "qmake failed" 543 "${S}"/bin/qmake "LIBS+=-L${QTLIBDIR}" "CONFIG+=nostrip" || die "qmake failed"
540 popd >/dev/null 544 popd >/dev/null
541 done 545 done
542} 546}
543 547

Legend:
Removed from v.1.100  
changed lines
  Added in v.1.106

  ViewVC Help
Powered by ViewVC 1.1.20