/[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.68 Revision 1.75
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.68 2010/05/22 19:23:51 wired Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.75 2010/07/03 09:10:55 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>,
65 65
66# @FUNCTION: qt4-build_pkg_setup 66# @FUNCTION: qt4-build_pkg_setup
67# @DESCRIPTION: 67# @DESCRIPTION:
68# Sets up S, MY_P, PATH, and LD_LIBRARY_PATH 68# Sets up S, MY_P, PATH, and LD_LIBRARY_PATH
69qt4-build_pkg_setup() { 69qt4-build_pkg_setup() {
70 if [[ "${PN}" == "qt-webkit" ]]; then
71 if [[ "${CFLAGS}" =~ "-ggdb" ]] || [[ "${CXXFLAGS}" =~ "-ggdb" ]]; then
72 echo
73 ewarn "Your \$C{,XX}FLAGS contain -ggdb. You may experience really"
74 ewarn "long compilation times and/or increased memory usage."
75 ewarn "If compilation fails, please try removing -ggdb before"
76 ewarn "reporting a bug."
77 ewarn "For more info check out bug #307861"
78 echo
79 fi
80 fi
81
82 [[ ${EAPI} == 2 ]] && use !prefix && EPREFIX= 70 [[ ${EAPI} == 2 ]] && use !prefix && EPREFIX=
83 71
84 # Protect users by not allowing downgrades between releases 72 # Protect users by not allowing downgrades between releases
85 # Downgrading revisions within the same release should be allowed 73 # Downgrading revisions within the same release should be allowed
86 if has_version '>'${CATEGORY}/${P}-r9999 ; then 74 if has_version '>'${CATEGORY}/${P}-r9999 ; then
89 eerror " Downgrading Qt is completely unsupported and will break your system!" 77 eerror " Downgrading Qt is completely unsupported and will break your system!"
90 die "aborting to save your system" 78 die "aborting to save your system"
91 else 79 else
92 ewarn "Downgrading Qt is completely unsupported and will break your system!" 80 ewarn "Downgrading Qt is completely unsupported and will break your system!"
93 fi 81 fi
82 fi
83
84 if [[ "${PN}" == "qt-webkit" ]]; then
85 eshopts_push -s extglob
86 if is-flagq '-g?(gdb)?([0-9])'; then
87 echo
88 ewarn "You have enabled debug info (probably have -g or -ggdb in your \$C{,XX}FLAGS)."
89 ewarn "You may experience really long compilation times and/or increased memory usage."
90 ewarn "If compilation fails, please try removing -g{,gdb} before reporting a bug."
91 ewarn "For more info check out bug #307861"
92 echo
93 fi
94 eshopts_pop
94 fi 95 fi
95 96
96 PATH="${S}/bin${PATH:+:}${PATH}" 97 PATH="${S}/bin${PATH:+:}${PATH}"
97 if [[ ${CHOST} != *-darwin* ]]; then 98 if [[ ${CHOST} != *-darwin* ]]; then
98 LD_LIBRARY_PATH="${S}/lib${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}" 99 LD_LIBRARY_PATH="${S}/lib${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}"
139 src/{qbase,qt_targets,qt_install}.pri bin config.tests mkspecs qmake \ 140 src/{qbase,qt_targets,qt_install}.pri bin config.tests mkspecs qmake \
140 ${QT4_EXTRACT_DIRECTORIES}; do 141 ${QT4_EXTRACT_DIRECTORIES}; do
141 targets+=" ${MY_P}/${target}" 142 targets+=" ${MY_P}/${target}"
142 done 143 done
143 144
144 echo tar xzpf "${DISTDIR}"/${MY_P}.tar.gz ${targets} 145 echo tar xzf "${DISTDIR}"/${MY_P}.tar.gz ${targets}
145 tar xzpf "${DISTDIR}"/${MY_P}.tar.gz ${targets} || die 146 tar xzf "${DISTDIR}"/${MY_P}.tar.gz ${targets} || die
146} 147}
147 148
148# @ECLASS-VARIABLE: PATCHES 149# @ECLASS-VARIABLE: PATCHES
149# @DESCRIPTION: 150# @DESCRIPTION:
150# In case you have patches to apply, specify them in PATCHES variable. Make sure 151# In case you have patches to apply, specify them in PATCHES variable. Make sure
159# Prepare the sources before the configure phase. Strip CFLAGS if necessary, and fix 160# Prepare the sources before the configure phase. Strip CFLAGS if necessary, and fix
160# source files in order to respect CFLAGS/CXXFLAGS/LDFLAGS specified on /etc/make.conf. 161# source files in order to respect CFLAGS/CXXFLAGS/LDFLAGS specified on /etc/make.conf.
161qt4-build_src_prepare() { 162qt4-build_src_prepare() {
162 setqtenv 163 setqtenv
163 cd "${S}" 164 cd "${S}"
165
166 # fix qt 4.7 regression that skips -fvisibility=hidden
167 if version_is_at_least "4.7.0_beta1"; then
168 sed -e "s/^gcc|g++)/*gcc|*g++)/" \
169 -i config.tests/unix/fvisibility.test ||
170 die "visibility fixing sed failed"
171 fi
164 172
165 if use aqua; then 173 if use aqua; then
166 # provide a proper macx-g++-64 174 # provide a proper macx-g++-64
167 use x64-macos && ln -s macx-g++ mkspecs/$(qt_mkspecs_dir) 175 use x64-macos && ln -s macx-g++ mkspecs/$(qt_mkspecs_dir)
168 176
204 fi 212 fi
205 213
206 # Bug 282984 && Bug 295530 214 # Bug 282984 && Bug 295530
207 sed -e "s:\(^SYSTEM_VARIABLES\):CC=$(tc-getCC)\nCXX=$(tc-getCXX)\nCFLAGS=\"${CFLAGS}\"\nCXXFLAGS=\"${CXXFLAGS}\"\nLDFLAGS=\"${LDFLAGS}\"\n\1:" \ 215 sed -e "s:\(^SYSTEM_VARIABLES\):CC=$(tc-getCC)\nCXX=$(tc-getCXX)\nCFLAGS=\"${CFLAGS}\"\nCXXFLAGS=\"${CXXFLAGS}\"\nLDFLAGS=\"${LDFLAGS}\"\n\1:" \
208 -i configure || die "sed qmake compilers failed" 216 -i configure || die "sed qmake compilers failed"
217 # bug 321335
218 if version_is_at_least 4.6; then
219 find ./config.tests/unix -name "*.test" -type f -exec grep -lZ \$MAKE '{}' \; | \
220 xargs -0 \
209 sed -e "s:\(\$MAKE\):\1 CC=$(tc-getCC) CXX=$(tc-getCXX) LD=$(tc-getCXX) LINK=$(tc-getCXX):" \ 221 sed -e "s:\(\$MAKE\):\1 CC=$(tc-getCC) CXX=$(tc-getCXX) LD=$(tc-getCXX) LINK=$(tc-getCXX):g" \
210 -i config.tests/unix/compile.test || die "sed test compilers failed" 222 -i || die "sed test compilers failed"
223 fi
211 224
212 # Bug 172219 225 # Bug 172219
213 sed -e "s:X11R6/::" \ 226 sed -e "s:X11R6/::" \
214 -i "${S}"/mkspecs/$(qt_mkspecs_dir)/qmake.conf || die "sed ${S}/mkspecs/$(qt_mkspecs_dir)/qmake.conf failed" 227 -i "${S}"/mkspecs/$(qt_mkspecs_dir)/qmake.conf || die "sed ${S}/mkspecs/$(qt_mkspecs_dir)/qmake.conf failed"
215 228
261 # use GCC over SunStudio 274 # use GCC over SunStudio
262 sed -i -e '/PLATFORM=solaris-cc/s/cc/g++/' configure || die 275 sed -i -e '/PLATFORM=solaris-cc/s/cc/g++/' configure || die
263 # don't flirt with non-Prefix stuff, we're quite possessive 276 # don't flirt with non-Prefix stuff, we're quite possessive
264 sed -i -e '/^QMAKE_\(LIB\|INC\)DIR\(_X11\|_OPENGL\|\)\t/s/=.*$/=/' \ 277 sed -i -e '/^QMAKE_\(LIB\|INC\)DIR\(_X11\|_OPENGL\|\)\t/s/=.*$/=/' \
265 mkspecs/$(qt_mkspecs_dir)/qmake.conf || die 278 mkspecs/$(qt_mkspecs_dir)/qmake.conf || die
279 # strip predefined CFLAGS from qmake ( bug #312689 )
280 sed -i '/^QMAKE_CFLAGS_\(RELEASE\|DEBUG\)/s:+=.*:+=:' mkspecs/common/g++.conf
266 281
267 base_src_prepare 282 base_src_prepare
268} 283}
269 284
270# @FUNCTION: qt4-build_src_configure 285# @FUNCTION: qt4-build_src_configure

Legend:
Removed from v.1.68  
changed lines
  Added in v.1.75

  ViewVC Help
Powered by ViewVC 1.1.20