/[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.139 Revision 1.151
1# Copyright 1999-2012 Gentoo Foundation 1# Copyright 1999-2013 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.139 2012/11/12 09:28:53 pesa Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.151 2013/10/14 17:24:36 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.
9# @DESCRIPTION: 9# @DESCRIPTION:
10# This eclass contains various functions that are used when building Qt4. 10# This eclass contains various functions that are used when building Qt4.
11 11
12case ${EAPI} in 12case ${EAPI} in
13 3|4|5) : ;; 13 4|5) : ;;
14 *) die "qt4-build.eclass: unsupported EAPI=${EAPI:-0}" ;; 14 *) die "qt4-build.eclass: unsupported EAPI=${EAPI:-0}" ;;
15esac 15esac
16 16
17inherit eutils flag-o-matic multilib toolchain-funcs versionator 17inherit eutils flag-o-matic multilib toolchain-funcs versionator
18 18
19if [[ ${PV} == *9999* ]]; then 19if [[ ${PV} == *9999* ]]; then
20 QT4_BUILD_TYPE="live" 20 QT4_BUILD_TYPE="live"
21 inherit git-2 21 inherit git-r3
22else 22else
23 QT4_BUILD_TYPE="release" 23 QT4_BUILD_TYPE="release"
24fi 24fi
25 25
26HOMEPAGE="http://qt-project.org/ http://qt.digia.com/" 26HOMEPAGE="http://qt-project.org/ http://qt.digia.com/"
29MY_PV=${PV/_/-} 29MY_PV=${PV/_/-}
30MY_P=qt-everywhere-opensource-src-${MY_PV} 30MY_P=qt-everywhere-opensource-src-${MY_PV}
31 31
32case ${QT4_BUILD_TYPE} in 32case ${QT4_BUILD_TYPE} in
33 live) 33 live)
34 EGIT_REPO_URI=(
34 EGIT_REPO_URI="git://gitorious.org/qt/qt.git 35 "git://gitorious.org/qt/qt.git"
35 https://git.gitorious.org/qt/qt.git" 36 "https://git.gitorious.org/qt/qt.git"
37 )
36 EGIT_BRANCH=${PV%.9999} 38 EGIT_BRANCH=${PV%.9999}
37 ;; 39 ;;
38 release) 40 release)
39 if version_is_at_least 4.8.1; then 41 SRC_URI="http://download.qt-project.org/official_releases/qt/${PV%.*}/${PV}/${MY_P}.tar.gz"
40 SRC_URI="http://releases.qt-project.org/qt4/source/${MY_P}.tar.gz"
41 else
42 SRC_URI="http://get.qt.nokia.com/qt/source/${MY_P}.tar.gz"
43 fi
44 ;; 42 ;;
45esac 43esac
46 44
47IUSE="aqua debug pch" 45IUSE="aqua debug pch"
46[[ ${CATEGORY}/${PN} != dev-qt/qtwebkit ]] && IUSE+=" c++0x"
48[[ ${CATEGORY}/${PN} != x11-libs/qt-xmlpatterns ]] && IUSE+=" +exceptions" 47[[ ${CATEGORY}/${PN} != dev-qt/qtxmlpatterns ]] && IUSE+=" +exceptions"
49if version_is_at_least 4.8; then
50 [[ ${CATEGORY}/${PN} != x11-libs/qt-webkit ]] && IUSE+=" c++0x"
51 version_is_at_least 4.8.3 || IUSE+=" qpa"
52fi
53 48
54DEPEND="virtual/pkgconfig" 49DEPEND="virtual/pkgconfig"
55if [[ ${QT4_BUILD_TYPE} == live ]]; then 50if [[ ${QT4_BUILD_TYPE} == live ]]; then
56 DEPEND+=" dev-lang/perl" 51 DEPEND+=" dev-lang/perl"
57fi 52fi
58
59RDEPEND="
60 !<x11-libs/qt-assistant-${PV}:4
61 !>x11-libs/qt-assistant-${PV}-r9999:4
62 !<x11-libs/qt-bearer-${PV}:4
63 !>x11-libs/qt-bearer-${PV}-r9999:4
64 !<x11-libs/qt-core-${PV}:4
65 !>x11-libs/qt-core-${PV}-r9999:4
66 !<x11-libs/qt-dbus-${PV}:4
67 !>x11-libs/qt-dbus-${PV}-r9999:4
68 !<x11-libs/qt-declarative-${PV}:4
69 !>x11-libs/qt-declarative-${PV}-r9999:4
70 !<x11-libs/qt-demo-${PV}:4
71 !>x11-libs/qt-demo-${PV}-r9999:4
72 !<x11-libs/qt-gui-${PV}:4
73 !>x11-libs/qt-gui-${PV}-r9999:4
74 !<x11-libs/qt-multimedia-${PV}:4
75 !>x11-libs/qt-multimedia-${PV}-r9999:4
76 !<x11-libs/qt-opengl-${PV}:4
77 !>x11-libs/qt-opengl-${PV}-r9999:4
78 !<x11-libs/qt-openvg-${PV}:4
79 !>x11-libs/qt-openvg-${PV}-r9999:4
80 !<x11-libs/qt-phonon-${PV}:4
81 !>x11-libs/qt-phonon-${PV}-r9999:4
82 !<x11-libs/qt-qt3support-${PV}:4
83 !>x11-libs/qt-qt3support-${PV}-r9999:4
84 !<x11-libs/qt-script-${PV}:4
85 !>x11-libs/qt-script-${PV}-r9999:4
86 !<x11-libs/qt-sql-${PV}:4
87 !>x11-libs/qt-sql-${PV}-r9999:4
88 !<x11-libs/qt-svg-${PV}:4
89 !>x11-libs/qt-svg-${PV}-r9999:4
90 !<x11-libs/qt-test-${PV}:4
91 !>x11-libs/qt-test-${PV}-r9999:4
92 !<x11-libs/qt-webkit-${PV}:4
93 !>x11-libs/qt-webkit-${PV}-r9999:4
94 !<x11-libs/qt-xmlpatterns-${PV}:4
95 !>x11-libs/qt-xmlpatterns-${PV}-r9999:4
96"
97 53
98S=${WORKDIR}/${MY_P} 54S=${WORKDIR}/${MY_P}
99 55
100# @FUNCTION: qt4-build_pkg_setup 56# @FUNCTION: qt4-build_pkg_setup
101# @DESCRIPTION: 57# @DESCRIPTION:
145qt4-build_src_unpack() { 101qt4-build_src_unpack() {
146 setqtenv 102 setqtenv
147 103
148 if ! version_is_at_least 4.1 $(gcc-version); then 104 if ! version_is_at_least 4.1 $(gcc-version); then
149 ewarn "Using a GCC version lower than 4.1 is not supported." 105 ewarn "Using a GCC version lower than 4.1 is not supported."
106 elif use_if_iuse c++0x && ! version_is_at_least 4.4 $(gcc-version); then
107 ewarn "USE=c++0x requires GCC 4.4 or later."
150 fi 108 fi
151 109
152 if [[ ${PN} == qt-webkit ]]; then 110 if [[ ${CATEGORY}/${PN} == dev-qt/qtwebkit ]]; then
153 eshopts_push -s extglob 111 eshopts_push -s extglob
154 if is-flagq '-g?(gdb)?([1-9])'; then 112 if is-flagq '-g?(gdb)?([1-9])'; then
155 echo 113 echo
156 ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)." 114 ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
157 ewarn "You may experience really long compilation times and/or increased memory usage." 115 ewarn "You may experience really long compilation times and/or increased memory usage."
162 eshopts_pop 120 eshopts_pop
163 fi 121 fi
164 122
165 case ${QT4_BUILD_TYPE} in 123 case ${QT4_BUILD_TYPE} in
166 live) 124 live)
167 git-2_src_unpack 125 git-r3_src_unpack
168 ;; 126 ;;
169 release) 127 release)
170 local tarball="${MY_P}.tar.gz" target= targets= 128 local tarball="${MY_P}.tar.gz" target= targets=
171 for target in configure LICENSE.GPL3 LICENSE.LGPL projects.pro \ 129 for target in configure LICENSE.GPL3 LICENSE.LGPL projects.pro \
172 src/{qbase,qt_targets,qt_install}.pri bin config.tests \ 130 src/{qbase,qt_targets,qt_install}.pri bin config.tests \
196# @CODE 154# @CODE
197 155
198# @FUNCTION: qt4-build_src_prepare 156# @FUNCTION: qt4-build_src_prepare
199# @DESCRIPTION: 157# @DESCRIPTION:
200# Prepare the sources before the configure phase. Strip CFLAGS if necessary, and fix 158# Prepare the sources before the configure phase. Strip CFLAGS if necessary, and fix
201# the build system in order to respect CFLAGS/CXXFLAGS/LDFLAGS specified in /etc/make.conf. 159# the build system in order to respect CFLAGS/CXXFLAGS/LDFLAGS specified in make.conf.
202qt4-build_src_prepare() { 160qt4-build_src_prepare() {
203 setqtenv 161 setqtenv
204 162
205 if [[ ${QT4_BUILD_TYPE} == live ]]; then 163 if [[ ${QT4_BUILD_TYPE} == live ]]; then
206 QTDIR="." ./bin/syncqt || die "syncqt failed" 164 QTDIR="." ./bin/syncqt || die "syncqt failed"
207 fi 165 fi
208 166
209 # avoid X11 dependency in non-gui packages 167 # avoid X11 dependency in non-gui packages
210 local nolibx11_pkgs="qt-core qt-dbus qt-script qt-sql qt-test qt-xmlpatterns" 168 local nolibx11_pkgs="qtcore qtdbus qtscript qtsql qttest qtxmlpatterns"
211 has ${PN} ${nolibx11_pkgs} && qt_nolibx11 169 has ${PN} ${nolibx11_pkgs} && qt_nolibx11
212 170
213 if use aqua; then 171 if use aqua; then
214 # provide a proper macx-g++-64 172 # provide a proper macx-g++-64
215 use x64-macos && ln -s macx-g++ mkspecs/$(qt_mkspecs_dir) 173 use x64-macos && ln -s macx-g++ mkspecs/$(qt_mkspecs_dir)
217 sed -e '/^CONFIG/s:app_bundle::' \ 175 sed -e '/^CONFIG/s:app_bundle::' \
218 -e '/^CONFIG/s:plugin_no_soname:plugin_with_soname absolute_library_soname:' \ 176 -e '/^CONFIG/s:plugin_no_soname:plugin_with_soname absolute_library_soname:' \
219 -i mkspecs/$(qt_mkspecs_dir)/qmake.conf || die 177 -i mkspecs/$(qt_mkspecs_dir)/qmake.conf || die
220 fi 178 fi
221 179
222 if [[ ${PN} != qt-core ]]; then 180 if [[ ${CATEGORY}/${PN} != dev-qt/qtcore ]]; then
223 skip_qmake_build 181 skip_qmake_build
224 skip_project_generation 182 skip_project_generation
225 symlink_binaries_to_buildtree 183 symlink_binaries_to_buildtree
226 fi 184 fi
227 185
228 if [[ ${CHOST} == *86*-apple-darwin* ]]; then
229 # qmake bus errors with -O2 or -O3 but -O1 works
230 # Bug 373061
231 replace-flags -O[23] -O1
232 fi
233
234 # Bug 178652
235 if [[ $(gcc-major-version) == 3 ]] && use amd64; then
236 ewarn "Appending -fno-gcse to CFLAGS/CXXFLAGS"
237 append-flags -fno-gcse
238 fi
239
240 if use_if_iuse c++0x; then 186 if use_if_iuse c++0x; then
241 append-cxxflags -std=c++0x 187 append-cxxflags -std=c++0x
242 fi 188 fi
243 189
244 # Unsupported old gcc versions - hardened needs this :(
245 if [[ $(gcc-major-version) -lt 4 ]]; then
246 ewarn "Appending -fno-stack-protector to CXXFLAGS"
247 append-cxxflags -fno-stack-protector
248 # Bug 253127
249 sed -e "/^QMAKE_CFLAGS\t/ s:$: -fno-stack-protector-all:" \
250 -i mkspecs/common/g++.conf || die
251 fi
252
253 # Bug 261632 190 # Bug 261632
254 if use ppc64; then 191 if use ppc64; then
255 ewarn "Appending -mminimal-toc to CFLAGS/CXXFLAGS"
256 append-flags -mminimal-toc 192 append-flags -mminimal-toc
193 fi
194
195 # Bug 373061
196 # qmake bus errors with -O2 or -O3 but -O1 works
197 if [[ ${CHOST} == *86*-apple-darwin* ]]; then
198 replace-flags -O[23] -O1
199 fi
200
201 # Bug 417105
202 # graphite on gcc 4.7 causes miscompilations
203 if [[ $(gcc-version) == "4.7" ]]; then
204 filter-flags -fgraphite-identity
257 fi 205 fi
258 206
259 # Respect CC, CXX, {C,CXX,LD}FLAGS in .qmake.cache 207 # Respect CC, CXX, {C,CXX,LD}FLAGS in .qmake.cache
260 sed -e "/^SYSTEM_VARIABLES=/i \ 208 sed -e "/^SYSTEM_VARIABLES=/i \
261 CC='$(tc-getCC)'\n\ 209 CC='$(tc-getCC)'\n\
272 -i configure \ 220 -i configure \
273 || die "sed SYSTEM_VARIABLES failed" 221 || die "sed SYSTEM_VARIABLES failed"
274 222
275 # Respect CC, CXX, LINK and *FLAGS in config.tests 223 # Respect CC, CXX, LINK and *FLAGS in config.tests
276 find config.tests/unix -name '*.test' -type f -print0 | xargs -0 \ 224 find config.tests/unix -name '*.test' -type f -print0 | xargs -0 \
277 sed -i -e "/bin\/qmake/ s: \"QT_BUILD_TREE=: \ 225 sed -i -e "/bin\/qmake/ s: \"\$SRCDIR/: \
278 'QMAKE_CC=$(tc-getCC)' 'QMAKE_CXX=$(tc-getCXX)' 'QMAKE_LINK=$(tc-getCXX)' \ 226 'QMAKE_CC=$(tc-getCC)' 'QMAKE_CXX=$(tc-getCXX)' 'QMAKE_LINK=$(tc-getCXX)' \
279 'QMAKE_CFLAGS+=${CFLAGS}' 'QMAKE_CXXFLAGS+=${CXXFLAGS}' 'QMAKE_LFLAGS+=${LDFLAGS}'&:" \ 227 'QMAKE_CFLAGS+=${CFLAGS}' 'QMAKE_CXXFLAGS+=${CXXFLAGS}' 'QMAKE_LFLAGS+=${LDFLAGS}'&:" \
280 || die "sed config.tests failed" 228 || die "sed config.tests failed"
281
282 if ! version_is_at_least 4.8; then
283 # Strip predefined CFLAGS from mkspecs (bugs 312689 and 352778)
284 sed -i -e '/^QMAKE_CFLAGS_RELEASE/s:+=.*:+=:' mkspecs/common/g++.conf || die
285 fi
286 229
287 # Bug 172219 230 # Bug 172219
288 sed -e 's:/X11R6/:/:' -i mkspecs/$(qt_mkspecs_dir)/qmake.conf || die 231 sed -e 's:/X11R6/:/:' -i mkspecs/$(qt_mkspecs_dir)/qmake.conf || die
289 232
290 if [[ ${CHOST} == *-darwin* ]]; then 233 if [[ ${CHOST} == *-darwin* ]]; then
409 conf+=" -no-separate-debug-info" 352 conf+=" -no-separate-debug-info"
410 353
411 # exceptions USE flag 354 # exceptions USE flag
412 conf+=" $(in_iuse exceptions && qt_use exceptions || echo -exceptions)" 355 conf+=" $(in_iuse exceptions && qt_use exceptions || echo -exceptions)"
413 356
414 # disable rpath on Qt >= 4.8 (bug 380415) 357 # disable rpath (bug 380415), except on prefix (bug 417169)
415 # but leave it enabled on prefix (bug 417169) 358 use prefix || conf+=" -no-rpath"
416 version_is_at_least 4.8 && use !prefix && conf+=" -no-rpath"
417 359
418 # precompiled headers don't work on hardened, where the flag is masked 360 # precompiled headers don't work on hardened, where the flag is masked
419 conf+=" $(qt_use pch)" 361 conf+=" $(qt_use pch)"
420 362
421 # -reduce-relocations 363 # -reduce-relocations
434 if use_if_iuse glib; then 376 if use_if_iuse glib; then
435 local glibflags="$(pkg-config --cflags --libs glib-2.0 gthread-2.0)" 377 local glibflags="$(pkg-config --cflags --libs glib-2.0 gthread-2.0)"
436 # avoid the -pthread argument 378 # avoid the -pthread argument
437 conf+=" ${glibflags//-pthread}" 379 conf+=" ${glibflags//-pthread}"
438 unset glibflags 380 unset glibflags
439 fi
440
441 if use_if_iuse qpa; then
442 echo
443 ewarn "The qpa useflag enables the Qt Platform Abstraction, formely"
444 ewarn "known as Qt Lighthouse. If you are not sure what that is, then"
445 ewarn "disable it before reporting any bugs related to this useflag."
446 echo
447 conf+=" -qpa"
448 fi 381 fi
449 382
450 if use aqua; then 383 if use aqua; then
451 # On (snow) leopard use the new (frameworked) cocoa code. 384 # On (snow) leopard use the new (frameworked) cocoa code.
452 if [[ ${CHOST##*-darwin} -ge 9 ]]; then 385 if [[ ${CHOST##*-darwin} -ge 9 ]]; then
490# @FUNCTION: qt4-build_src_test 423# @FUNCTION: qt4-build_src_test
491# @DESCRIPTION: 424# @DESCRIPTION:
492# Runs tests only in target directories. 425# Runs tests only in target directories.
493qt4-build_src_test() { 426qt4-build_src_test() {
494 # QtMultimedia does not have any test suite (bug #332299) 427 # QtMultimedia does not have any test suite (bug #332299)
495 [[ ${PN} == qt-multimedia ]] && return 428 [[ ${CATEGORY}/${PN} == dev-qt/qtmultimedia ]] && return
496 429
497 for dir in ${QT4_TARGET_DIRECTORIES}; do 430 for dir in ${QT4_TARGET_DIRECTORIES}; do
498 emake -j1 check -C ${dir} 431 emake -j1 check -C ${dir}
499 done 432 done
500} 433}
586# @USAGE: < directories > 519# @USAGE: < directories >
587# @INTERNAL 520# @INTERNAL
588# @DESCRIPTION: 521# @DESCRIPTION:
589# Generates Makefiles for the given list of directories. 522# Generates Makefiles for the given list of directories.
590prepare_directories() { 523prepare_directories() {
591 # avoid running over the maximum argument number, bug #299810
592 {
593 echo "${S}"/mkspecs/common/*.conf
594 find "${S}" -name '*.pr[io]'
595 } | xargs sed -i \
596 -e "s:\$\$\[QT_INSTALL_LIBS\]:${QTLIBDIR}:g" \
597 -e "s:\$\$\[QT_INSTALL_PLUGINS\]:${QTPLUGINDIR}:g" \
598 || die
599
600 for x in "$@"; do 524 for x in "$@"; do
601 pushd "${S}"/${x} >/dev/null || die 525 pushd "${S}"/${x} >/dev/null || die
602 einfo "Running qmake in: ${x}" 526 einfo "Running qmake in: ${x}"
603 "${S}"/bin/qmake \ 527 "${S}"/bin/qmake \
604 "LIBS+=-L${QTLIBDIR}" \ 528 "LIBS+=-L${QTLIBDIR}" \
620 AR="$(tc-getAR) cqs" \ 544 AR="$(tc-getAR) cqs" \
621 CC="$(tc-getCC)" \ 545 CC="$(tc-getCC)" \
622 CXX="$(tc-getCXX)" \ 546 CXX="$(tc-getCXX)" \
623 LINK="$(tc-getCXX)" \ 547 LINK="$(tc-getCXX)" \
624 RANLIB=":" \ 548 RANLIB=":" \
625 STRIP=":" \ 549 STRIP=":"
626 || die "emake failed"
627 popd >/dev/null || die 550 popd >/dev/null || die
628 done 551 done
629} 552}
630 553
631# @FUNCTION: install_directories 554# @FUNCTION: install_directories
634# @DESCRIPTION: 557# @DESCRIPTION:
635# Runs emake install in the given directories, which are separated by spaces. 558# Runs emake install in the given directories, which are separated by spaces.
636install_directories() { 559install_directories() {
637 for x in "$@"; do 560 for x in "$@"; do
638 pushd "${S}"/${x} >/dev/null || die 561 pushd "${S}"/${x} >/dev/null || die
639 emake INSTALL_ROOT="${D}" install || die "emake install failed" 562 emake INSTALL_ROOT="${D}" install
640 popd >/dev/null || die 563 popd >/dev/null || die
641 done 564 done
642} 565}
643 566
644# @ECLASS-VARIABLE: QCONFIG_ADD 567# @ECLASS-VARIABLE: QCONFIG_ADD
665 if [[ -n ${QCONFIG_ADD} || -n ${QCONFIG_REMOVE} ]]; then 588 if [[ -n ${QCONFIG_ADD} || -n ${QCONFIG_REMOVE} ]]; then
666 for x in QCONFIG_ADD QCONFIG_REMOVE; do 589 for x in QCONFIG_ADD QCONFIG_REMOVE; do
667 [[ -n ${!x} ]] && echo ${x}=${!x} >> "${T}"/${PN}-qconfig.pri 590 [[ -n ${!x} ]] && echo ${x}=${!x} >> "${T}"/${PN}-qconfig.pri
668 done 591 done
669 insinto ${QTDATADIR#${EPREFIX}}/mkspecs/gentoo 592 insinto ${QTDATADIR#${EPREFIX}}/mkspecs/gentoo
670 doins "${T}"/${PN}-qconfig.pri || die "installing ${PN}-qconfig.pri failed" 593 doins "${T}"/${PN}-qconfig.pri
671 fi 594 fi
672 595
673 if [[ -n ${QCONFIG_DEFINE} ]]; then 596 if [[ -n ${QCONFIG_DEFINE} ]]; then
674 for x in ${QCONFIG_DEFINE}; do 597 for x in ${QCONFIG_DEFINE}; do
675 echo "#define ${x}" >> "${T}"/gentoo-${PN}-qconfig.h 598 echo "#define ${x}" >> "${T}"/gentoo-${PN}-qconfig.h
676 done 599 done
677 insinto ${QTHEADERDIR#${EPREFIX}}/Gentoo 600 insinto ${QTHEADERDIR#${EPREFIX}}/Gentoo
678 doins "${T}"/gentoo-${PN}-qconfig.h || die "installing ${PN}-qconfig.h failed" 601 doins "${T}"/gentoo-${PN}-qconfig.h
679 fi 602 fi
680} 603}
681 604
682# @FUNCTION: generate_qconfigs 605# @FUNCTION: generate_qconfigs
683# @INTERNAL 606# @INTERNAL
684# @DESCRIPTION: 607# @DESCRIPTION:
685# Generates gentoo-specific qconfig.{h,pri}. 608# Generates gentoo-specific qconfig.{h,pri}.
686generate_qconfigs() { 609generate_qconfigs() {
687 if [[ -n ${QCONFIG_ADD} || -n ${QCONFIG_REMOVE} || -n ${QCONFIG_DEFINE} || ${PN} == qt-core ]]; then 610 if [[ -n ${QCONFIG_ADD} || -n ${QCONFIG_REMOVE} || -n ${QCONFIG_DEFINE} || ${CATEGORY}/${PN} == dev-qt/qtcore ]]; then
688 local x qconfig_add qconfig_remove qconfig_new 611 local x qconfig_add qconfig_remove qconfig_new
689 for x in "${ROOT}${QTDATADIR}"/mkspecs/gentoo/*-qconfig.pri; do 612 for x in "${ROOT}${QTDATADIR}"/mkspecs/gentoo/*-qconfig.pri; do
690 [[ -f ${x} ]] || continue 613 [[ -f ${x} ]] || continue
691 qconfig_add+=" $(sed -n 's/^QCONFIG_ADD=//p' "${x}")" 614 qconfig_add+=" $(sed -n 's/^QCONFIG_ADD=//p' "${x}")"
692 qconfig_remove+=" $(sed -n 's/^QCONFIG_REMOVE=//p' "${x}")" 615 qconfig_remove+=" $(sed -n 's/^QCONFIG_REMOVE=//p' "${x}")"
693 done 616 done
694 617
695 # these error checks do not use die because dying in pkg_post{inst,rm} 618 # these error checks do not use die because dying in pkg_post{inst,rm}
696 # just makes things worse. 619 # just makes things worse.
697 if [[ -e "${ROOT}${QTDATADIR}"/mkspecs/gentoo/qconfig.pri ]]; then 620 if [[ -e "${ROOT}${QTDATADIR}"/mkspecs/gentoo/qconfig.pri ]]; then
698 # start with the qconfig.pri that qt-core installed 621 # start with the qconfig.pri that qtcore installed
699 if ! cp "${ROOT}${QTDATADIR}"/mkspecs/gentoo/qconfig.pri \ 622 if ! cp "${ROOT}${QTDATADIR}"/mkspecs/gentoo/qconfig.pri \
700 "${ROOT}${QTDATADIR}"/mkspecs/qconfig.pri; then 623 "${ROOT}${QTDATADIR}"/mkspecs/qconfig.pri; then
701 eerror "cp qconfig failed." 624 eerror "cp qconfig failed."
702 return 1 625 return 1
703 fi 626 fi
755} 678}
756 679
757# @FUNCTION: skip_qmake_build 680# @FUNCTION: skip_qmake_build
758# @INTERNAL 681# @INTERNAL
759# @DESCRIPTION: 682# @DESCRIPTION:
760# Patches configure to skip qmake compilation, as it's already installed by qt-core. 683# Patches configure to skip qmake compilation, as it's already installed by qtcore.
761skip_qmake_build() { 684skip_qmake_build() {
762 sed -i -e "s:if true:if false:g" "${S}"/configure || die 685 sed -i -e "s:if true:if false:g" "${S}"/configure || die
763} 686}
764 687
765# @FUNCTION: skip_project_generation 688# @FUNCTION: skip_project_generation
873} 796}
874 797
875# @FUNCTION: qt_nolibx11 798# @FUNCTION: qt_nolibx11
876# @INTERNAL 799# @INTERNAL
877# @DESCRIPTION: 800# @DESCRIPTION:
878# Ignore X11 tests for packages that don't need X libraries installed. 801# Skip X11 tests for packages that don't need X libraries installed.
879qt_nolibx11() { 802qt_nolibx11() {
880 sed -i "/unixtests\/compile.test.*config.tests\/x11\/xlib/,/fi$/d" "${S}"/configure || 803 sed -i -e '/^if.*PLATFORM_X11.*CFG_GUI/,/^fi$/d' "${S}"/configure || die
881 die "x11 check sed failed"
882} 804}
883 805
884EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_install src_test pkg_postrm pkg_postinst 806EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_install src_test pkg_postrm pkg_postinst

Legend:
Removed from v.1.139  
changed lines
  Added in v.1.151

  ViewVC Help
Powered by ViewVC 1.1.20