/[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.22 Revision 1.27
1# Copyright 2007-2009 Gentoo Foundation 1# Copyright 2007-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.22 2009/02/14 22:48:26 hwoarang Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.27 2009/03/11 23:58:31 flameeyes 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>,
9# Caleb Tennis <caleb@gentoo.org> 9# Caleb Tennis <caleb@gentoo.org>
10# @BLURB: Eclass for Qt4 split ebuilds. 10# @BLURB: Eclass for Qt4 split ebuilds.
11# @DESCRIPTION: 11# @DESCRIPTION:
12# This eclass contains various functions that are used when building Qt4 12# This eclass contains various functions that are used when building Qt4
13 13
27esac 27esac
28MY_P=qt-x11-${SRCTYPE}-${MY_PV} 28MY_P=qt-x11-${SRCTYPE}-${MY_PV}
29S=${WORKDIR}/${MY_P} 29S=${WORKDIR}/${MY_P}
30 30
31HOMEPAGE="http://www.qtsoftware.com/" 31HOMEPAGE="http://www.qtsoftware.com/"
32SRC_URI="ftp://ftp.trolltech.com/qt/source/${MY_P}.tar.bz2" 32SRC_URI="http://download.qtsoftware.com/qt/source/${MY_P}.tar.bz2"
33 33
34case "${PV}" in 34case "${PV}" in
35 4.4.?) SRC_URI="${SRC_URI} mirror://gentoo/${MY_P}-headers.tar.bz2" ;; 35 4.4.?) SRC_URI="${SRC_URI} mirror://gentoo/${MY_P}-headers.tar.bz2" ;;
36 *) ;; 36 *) ;;
37esac 37esac
38
39if version_is_at_least 4.5 ${PV} ; then
40 LICENSE="|| ( LGPL-2.1 GPL-3 )"
41fi
38 42
39qt4-build_pkg_setup() { 43qt4-build_pkg_setup() {
40 # EAPI=2 ebuilds set use-deps, others need this: 44 # EAPI=2 ebuilds set use-deps, others need this:
41 if [[ $EAPI != 2 ]]; then 45 if [[ $EAPI != 2 ]]; then
42 # Make sure debug setting corresponds with qt-core (bug 258512) 46 # Make sure debug setting corresponds with qt-core (bug 258512)
86 fi 90 fi
87 91
88} 92}
89 93
90qt4-build_src_unpack() { 94qt4-build_src_unpack() {
91 local target targets 95 local target targets licenses
96 if version_is_at_least 4.5 ${PV} ; then
97 licenses="LICENSE.GPL3 LICENSE.LGPL"
98 else
99 licenses="LICENSE.GPL2 LICENSE.GPL3"
100 fi
92 for target in configure LICENSE.{GPL2,GPL3} projects.pro \ 101 for target in configure ${licenses} projects.pro \
93 src/{qbase,qt_targets,qt_install}.pri bin config.tests mkspecs qmake \ 102 src/{qbase,qt_targets,qt_install}.pri bin config.tests mkspecs qmake \
94 ${QT4_EXTRACT_DIRECTORIES}; do 103 ${QT4_EXTRACT_DIRECTORIES}; do
95 targets="${targets} ${MY_P}/${target}" 104 targets="${targets} ${MY_P}/${target}"
96 done 105 done
97 106
117 if [[ ${PN} != qt-core ]]; then 126 if [[ ${PN} != qt-core ]]; then
118 skip_qmake_build_patch 127 skip_qmake_build_patch
119 skip_project_generation_patch 128 skip_project_generation_patch
120 symlink_binaries_to_buildtree 129 symlink_binaries_to_buildtree
121 fi 130 fi
122 131
123 # Bug 172219
124 if ! use custom-cxxflags;then 132 if ! use custom-cxxflags;then
125 # Don't let the user go too overboard with flags. 133 # Don't let the user go too overboard with flags.
126 strip-flags 134 strip-flags
127 replace-flags -O3 -O2 135 replace-flags -O3 -O2
128 fi 136 fi
138 if [[ "$(gcc-major-version)" == "3" ]] && use amd64; then 146 if [[ "$(gcc-major-version)" == "3" ]] && use amd64; then
139 ewarn "Appending -fno-gcse to CFLAGS/CXXFLAGS" 147 ewarn "Appending -fno-gcse to CFLAGS/CXXFLAGS"
140 append-flags -fno-gcse 148 append-flags -fno-gcse
141 fi 149 fi
142 150
143 151 # Bug 172219
144 sed -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \ 152 sed -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \
145 -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \ 153 -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \
146 -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=${LDFLAGS}:" \ 154 -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=${LDFLAGS}:" \
147 -e "s:X11R6/::" \ 155 -e "s:X11R6/::" \
148 -i "${S}"/mkspecs/$(qt_mkspecs_dir)/qmake.conf || die "sed ${S}/mkspecs/$(qt_mkspecs_dir)/qmake.conf failed" 156 -i "${S}"/mkspecs/$(qt_mkspecs_dir)/qmake.conf || die "sed ${S}/mkspecs/$(qt_mkspecs_dir)/qmake.conf failed"
199 else 207 else
200 myconf="${myconf} -release -no-separate-debug-info" 208 myconf="${myconf} -release -no-separate-debug-info"
201 fi 209 fi
202 210
203 # ARCH is set on Gentoo. Qt now falls back to generic on an unsupported 211 # ARCH is set on Gentoo. Qt now falls back to generic on an unsupported
204 # ${ARCH}. Therefore we convert it to supported values. 212 # $(tc-arch). Therefore we convert it to supported values.
205 case "${ARCH}" in 213 case "$(tc-arch)" in
206 amd64) myconf="${myconf} -arch x86_64" ;; 214 amd64) myconf="${myconf} -arch x86_64" ;;
207 ppc|ppc64) myconf="${myconf} -arch powerpc" ;; 215 ppc|ppc64) myconf="${myconf} -arch powerpc" ;;
208 x86|x86-*) myconf="${myconf} -arch i386" ;; 216 x86|x86-*) myconf="${myconf} -arch i386" ;;
209 alpha|arm|ia64|mips|s390|sparc) myconf="${myconf} -arch ${ARCH}" ;; 217 alpha|arm|ia64|mips|s390|sparc) myconf="${myconf} -arch $(tc-arch)" ;;
210 hppa|sh) myconf="${myconf} -arch generic" ;; 218 hppa|sh) myconf="${myconf} -arch generic" ;;
211 *) die "${ARCH} is unsupported by this eclass. Please file a bug." ;; 219 *) die "$(tc-arch) is unsupported by this eclass. Please file a bug." ;;
212 esac 220 esac
213 221
214 myconf="${myconf} -stl -verbose -largefile -confirm-license -no-rpath 222 myconf="${myconf} -stl -verbose -largefile -confirm-license -no-rpath
215 -prefix ${QTPREFIXDIR} -bindir ${QTBINDIR} -libdir ${QTLIBDIR} 223 -prefix ${QTPREFIXDIR} -bindir ${QTBINDIR} -libdir ${QTLIBDIR}
216 -datadir ${QTDATADIR} -docdir ${QTDOCDIR} -headerdir ${QTHEADERDIR} 224 -datadir ${QTDATADIR} -docdir ${QTDOCDIR} -headerdir ${QTHEADERDIR}

Legend:
Removed from v.1.22  
changed lines
  Added in v.1.27

  ViewVC Help
Powered by ViewVC 1.1.20