/[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.93 Revision 1.96
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.93 2011/08/22 04:46:32 vapier Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.96 2011/10/30 14:21:14 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>,
15inherit base eutils multilib toolchain-funcs flag-o-matic versionator 15inherit base eutils multilib toolchain-funcs flag-o-matic versionator
16 16
17MY_PV=${PV/_/-} 17MY_PV=${PV/_/-}
18if version_is_at_least 4.5.99999999; then 18if version_is_at_least 4.5.99999999; then
19 MY_P=qt-everywhere-opensource-src-${MY_PV} 19 MY_P=qt-everywhere-opensource-src-${MY_PV}
20 [[ ${CATEGORY}/${PN} != x11-libs/qt-xmlpatterns ]] && 20 [[ ${CATEGORY}/${PN} != x11-libs/qt-xmlpatterns ]] &&
21 [[ ${CATEGORY}/${PN} != x11-themes/qgtkstyle ]] && 21 [[ ${CATEGORY}/${PN} != x11-themes/qgtkstyle ]] &&
22 IUSE="+exceptions" 22 IUSE="+exceptions"
23else 23else
24 MY_P=qt-x11-opensource-src-${MY_PV} 24 MY_P=qt-x11-opensource-src-${MY_PV}
25fi
26
27if version_is_at_least 4.7.99999999; then
28 IUSE+=" c++0x qpa"
25fi 29fi
26 30
27HOMEPAGE="http://qt.nokia.com/" 31HOMEPAGE="http://qt.nokia.com/"
28SRC_URI="http://get.qt.nokia.com/qt/source/${MY_P}.tar.gz" 32SRC_URI="http://get.qt.nokia.com/qt/source/${MY_P}.tar.gz"
29 33
137# Unpacks the sources 141# Unpacks the sources
138qt4-build_src_unpack() { 142qt4-build_src_unpack() {
139 setqtenv 143 setqtenv
140 local unpack_p="${MY_P}" 144 local unpack_p="${MY_P}"
141 case "${PV}" in 145 case "${PV}" in
142 4.8.0_beta*) 146 4.8.0_*)
143 unpack_p="qt-everywhere-opensource-src-${PV/_*}" 147 unpack_p="qt-everywhere-opensource-src-${PV/_*}"
144 ;; 148 ;;
145 esac 149 esac
146 local target targets= 150 local target targets=
147 for target in configure LICENSE.GPL3 LICENSE.LGPL projects.pro \ 151 for target in configure LICENSE.GPL3 LICENSE.LGPL projects.pro \
151 done 155 done
152 156
153 echo tar xzf "${DISTDIR}"/${MY_P}.tar.gz ${targets} 157 echo tar xzf "${DISTDIR}"/${MY_P}.tar.gz ${targets}
154 tar xzf "${DISTDIR}"/${MY_P}.tar.gz ${targets} || die 158 tar xzf "${DISTDIR}"/${MY_P}.tar.gz ${targets} || die
155 case "${PV}" in 159 case "${PV}" in
156 4.8.0_beta*) 160 4.8.0_*)
157 mv ${WORKDIR}/qt-everywhere-opensource-src-${PV/_*} \ 161 mv ${WORKDIR}/qt-everywhere-opensource-src-${PV/_*} \
158 ${WORKDIR}/qt-everywhere-opensource-src-${MY_PV} 162 ${WORKDIR}/qt-everywhere-opensource-src-${MY_PV}
159 ;; 163 ;;
160 esac 164 esac
161} 165}
174# Prepare the sources before the configure phase. Strip CFLAGS if necessary, and fix 178# Prepare the sources before the configure phase. Strip CFLAGS if necessary, and fix
175# source files in order to respect CFLAGS/CXXFLAGS/LDFLAGS specified on /etc/make.conf. 179# source files in order to respect CFLAGS/CXXFLAGS/LDFLAGS specified on /etc/make.conf.
176qt4-build_src_prepare() { 180qt4-build_src_prepare() {
177 setqtenv 181 setqtenv
178 cd "${S}" 182 cd "${S}"
179 183
180 # fix qt 4.7 regression that skips -fvisibility=hidden 184 # fix qt 4.7 regression that skips -fvisibility=hidden
181 if version_is_at_least "4.7.0_beta1"; then 185 if version_is_at_least "4.7.0_beta1"; then
182 sed -e "s/^gcc|g++)/*gcc|*g++)/" \ 186 sed -e "s/^gcc|g++)/*gcc|*g++)/" \
183 -i config.tests/unix/fvisibility.test || 187 -i config.tests/unix/fvisibility.test ||
184 die "visibility fixing sed failed" 188 die "visibility fixing sed failed"
207 211
208 if [[ ${CHOST} == *86*-apple-darwin* ]] ; then 212 if [[ ${CHOST} == *86*-apple-darwin* ]] ; then
209 # qmake bus errors with -O2 but -O3 works 213 # qmake bus errors with -O2 but -O3 works
210 replace-flags -O2 -O3 214 replace-flags -O2 -O3
211 fi 215 fi
212 216
213 # Bug 178652 217 # Bug 178652
214 if [[ $(gcc-major-version) == 3 ]] && use amd64; then 218 if [[ $(gcc-major-version) == 3 ]] && use amd64; then
215 ewarn "Appending -fno-gcse to CFLAGS/CXXFLAGS" 219 ewarn "Appending -fno-gcse to CFLAGS/CXXFLAGS"
216 append-flags -fno-gcse 220 append-flags -fno-gcse
217 fi 221 fi
218 222
223 if has c++0x ${IUSE//+} && use c++0x; then
224 ewarn "You are about to build Qt4 using the C++11 standard. Even though"
225 ewarn "this is an official standard, some of the reverse dependencies"
226 ewarn "may fail to compile or link againt the Qt4 libraries. Before"
227 ewarn "reporting a bug, make sure your bug is reproducible with c++0x"
228 ewarn "disabled."
229 append-flags -std=c++0x
230 fi
219 # Unsupported old gcc versions - hardened needs this :( 231 # Unsupported old gcc versions - hardened needs this :(
220 if [[ $(gcc-major-version) -lt 4 ]] ; then 232 if [[ $(gcc-major-version) -lt 4 ]] ; then
221 ewarn "Appending -fno-stack-protector to CXXFLAGS" 233 ewarn "Appending -fno-stack-protector to CXXFLAGS"
222 append-cxxflags -fno-stack-protector 234 append-cxxflags -fno-stack-protector
223 # Bug 253127 235 # Bug 253127
318 # use -I, -L and -l from configure 330 # use -I, -L and -l from configure
319 local glibflags="$(pkg-config --cflags --libs glib-2.0 gthread-2.0)" 331 local glibflags="$(pkg-config --cflags --libs glib-2.0 gthread-2.0)"
320 # avoid the -pthread argument 332 # avoid the -pthread argument
321 myconf+=" ${glibflags//-pthread}" 333 myconf+=" ${glibflags//-pthread}"
322 unset glibflags 334 unset glibflags
335 fi
336
337 if has qpa ${IUSE//+} && use qpa; then
338 ewarn
339 ewarn "The qpa useflag enables the Qt Platform Abstraction, formely"
340 ewarn "known as Qt Lighthouse. If you are not sure what that is, then"
341 ewarn "disable it before reporting any bugs related to this useflag."
342 ewarn
343 myconf+=" -qpa"
323 fi 344 fi
324 345
325 if use aqua ; then 346 if use aqua ; then
326 # On (snow) leopard use the new (frameworked) cocoa code. 347 # On (snow) leopard use the new (frameworked) cocoa code.
327 if [[ ${CHOST##*-darwin} -ge 9 ]] ; then 348 if [[ ${CHOST##*-darwin} -ge 9 ]] ; then

Legend:
Removed from v.1.93  
changed lines
  Added in v.1.96

  ViewVC Help
Powered by ViewVC 1.1.20