Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 201772 | Differences between
and this patch

Collapse All | Expand All

(-)qt4.eclass.orig (-17 / +77 lines)
Lines 1-26 Link Here
1
# Copyright 2005 Gentoo Foundation
1
# Copyright 2005 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.eclass,v 1.27 2007/10/03 14:59:04 caleb Exp $
3
# $Header: /var/cvsroot/gentoo-x86/eclass/qt4.eclass,v 1.27 2007/10/03 14:59:04 caleb Exp $
4
#
4
5
# Author Caleb Tennis <caleb@gentoo.org>
5
# @ECLASS: qt4.eclass
6
#
6
# @MAINTAINER:
7
# This eclass is simple.  Inherit it, and in your depend, do something like this:
7
# Caleb Tennis <caleb@gentoo.org>
8
#
8
# @BLURB:
9
# DEPEND="$(qt4_min_version 4)"
9
# Eclass for Qt4 packages
10
#
10
# @DESCRIPTION:
11
# and it handles the rest for you
11
# This eclass contains various functions that may be useful
12
#
12
# when dealing with packages using Qt4 libraries.
13
13
# 08.16.06 - Renamed qt_min_* to qt4_min_* to avoid conflicts with the qt3 eclass.
14
# 08.16.06 - Renamed qt_min_* to qt4_min_* to avoid conflicts with the qt3 eclass.
14
#    - Caleb Tennis <caleb@gentoo.org>
15
#    - Caleb Tennis <caleb@gentoo.org>
15
16
16
inherit eutils multilib toolchain-funcs versionator
17
inherit eutils multilib toolchain-funcs versionator
17
18
18
IUSE="${IUSE}"
19
IUSE="${IUSE} debug"
19
20
20
QTPKG="x11-libs/qt-"
21
QTPKG="x11-libs/qt-"
21
QT4MAJORVERSIONS="4.3 4.2 4.1 4.0"
22
QT4MAJORVERSIONS="4.3 4.2 4.1 4.0"
22
QT4VERSIONS="4.3.2 4.3.1-r1 4.3.1 4.3.0-r2 4.3.0-r1 4.3.0 4.3.0_rc1 4.3.0_beta1 4.2.3-r1 4.2.3 4.2.2 4.2.1 4.2.0-r2 4.2.0-r1 4.2.0 4.1.4-r2 4.1.4-r1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.0.1 4.0.0"
23
QT4VERSIONS="4.3.2 4.3.1-r1 4.3.1 4.3.0-r2 4.3.0-r1 4.3.0 4.3.0_rc1 4.3.0_beta1 4.2.3-r1 4.2.3 4.2.2 4.2.1 4.2.0-r2 4.2.0-r1 4.2.0 4.1.4-r2 4.1.4-r1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.0.1 4.0.0"
23
24
25
# @FUNCTION: qt4_min_version
26
# @USAGE: [minimum version]
27
# @DESCRIPTION:
28
# This function should be called in package DEPENDs whenever it depends on qt4.
29
# Simple example - in your depend, do something like this:
30
# DEPEND="$(qt4_min_version 4.2)"
31
# if package can be build with qt-4.2 or higher.
24
qt4_min_version() {
32
qt4_min_version() {
25
	echo "|| ("
33
	echo "|| ("
26
	qt4_min_version_list "$@"
34
	qt4_min_version_list "$@"
Lines 53-76 Link Here
53
	echo "${VERSIONS}"
61
	echo "${VERSIONS}"
54
}
62
}
55
63
64
# @FUNCTION: qt4_pkg_setup
65
# @MAINTAINER:
66
# Caleb Tennis <caleb@gentoo.org>
67
# Przemyslaw Maciag <troll@gentoo.org>
68
# @DESCRIPTION:
69
# Default pkg_setup function for packages that depends on qt4. If you have to
70
# create ebuilds own pkg_setup in your ebuild, call qt4_pkg_setup in it.
71
# This function uses two global vars from ebuild:
72
# - QT4_BUILT_WITH_USE_CHECK - contains use flag that need to turned on in qt4
73
# - QT4_OPTIONAL_BUILT_WITH_USE_CHECK - qt4 flags that gives some functionality,
74
#   but can be safetly disabled in package (so qt4 don't have to be recompiled)
56
qt4_pkg_setup() {
75
qt4_pkg_setup() {
76
	local requiredflags=""
57
	for x in ${QT4_BUILT_WITH_USE_CHECK}; do
77
	for x in ${QT4_BUILT_WITH_USE_CHECK}; do
58
		if ! built_with_use =x11-libs/qt-4* $x; then
78
		if ! built_with_use =x11-libs/qt-4* ${x}; then
59
			die "This package requires Qt4 to be built with the '${x}' use flag."
79
			requiredflags="${requiredflags} ${x}"
80
		fi
81
	done
82
83
	local optionalflags=""
84
	for x in ${QT4_OPTIONAL_BUILT_WITH_USE_CHECK}; do
85
		if use ${x} && ! built_with_use =x11-libs/qt-4* ${x}; then
86
			optionalflags="${optionalflags} ${x}"
60
		fi
87
		fi
61
	done
88
	done
89
90
	local diemessage=""
91
	if [[ ${requiredflags} != "" ]]; then
92
		eerror
93
		eerror "(1) In order to compile ${PN} package first you need to build qt4"
94
		eerror "with USE=\"${requiredflags}\" flag(s)"
95
		eerror
96
		diemessage="(1) recompile qt4 with \"${requiredflags}\" USE flag(s) ; "
97
	fi
98
	if [[ ${optionalflags} != "" ]]; then
99
		eerror
100
		eerror "(2) You are trying to compile ${PN} package with"
101
		eerror "USE=\"${optionalflags}\""
102
		eerror "while qt4 is built without this particular flag(s): it will"
103
		eerror "not work."
104
		eerror
105
		eerror "Possible solutions to this problem are:"
106
		eerror "a) install package ${PN} without \"${optionalflags}\" USE flag(s)"
107
		eerror "b) re-emerge qt4 with \"${optionalflags}\" USE flag(s)"
108
		eerror
109
		diemessage="${diemessage}(2) recompile qt4 with \"${optionalflags}\" USE flag(s) or disable them for ${PN} package\n"
110
	fi
111
112
	[[ ${diemessage} != "" ]] && die "can't emerge ${PN}: ${diemessage}"
62
}
113
}
63
114
115
# @FUNCTION: eqmake4
116
# @USAGE: [.pro file] [additional parameters to qmake]
117
# @MAINTAINER:
118
# Przemyslaw Maciag <troll@gentoo.org>
119
# Davide Pesavento <davidepesa@gmail.com>
120
# @DESCRIPTION:
121
# Runs qmake on the specified .pro file (defaults to
122
# ${PN}.pro if eqmake4 was called with no argument).
123
# Additional parameters are passed unmodified to qmake.
64
eqmake4() {
124
eqmake4() {
65
	local LOGFILE="${T}/qmake-$$.out"
125
	local LOGFILE="${T}/qmake-$$.out"
66
	local projprofile="${1}"
126
	local projprofile="${1}"
67
	[ -z ${projprofile} ] && projprofile="${PN}.pro"
127
	[[ -z ${projprofile} ]] && projprofile="${PN}.pro"
68
	shift 1
128
	shift 1
69
129
70
	ebegin "Processing qmake ${projprofile}"
130
	ebegin "Processing qmake ${projprofile}"
71
131
72
	# file exists?
132
	# file exists?
73
	if [ ! -f ${projprofile} ]; then
133
	if [[ ! -f ${projprofile} ]]; then
74
		echo
134
		echo
75
		eerror "Project .pro file \"${projprofile}\" does not exists"
135
		eerror "Project .pro file \"${projprofile}\" does not exists"
76
		eerror "qmake cannot handle non-existing .pro files"
136
		eerror "qmake cannot handle non-existing .pro files"
Lines 86-94 Link Here
86
146
87
	# as a workaround for broken qmake, put everything into file
147
	# as a workaround for broken qmake, put everything into file
88
	if has debug ${IUSE} && use debug; then
148
	if has debug ${IUSE} && use debug; then
89
		echo -e "$CONFIG -= release\nCONFIG += no_fixpath debug" >> ${projprofile}
149
		echo -e "\nCONFIG -= release\nCONFIG += no_fixpath debug" >> ${projprofile}
90
	else
150
	else
91
		echo -e "$CONFIG -= debug\nCONFIG += no_fixpath release" >> ${projprofile}
151
		echo -e "\nCONFIG -= debug\nCONFIG += no_fixpath release" >> ${projprofile}
92
	fi
152
	fi
93
153
94
	/usr/bin/qmake ${projprofile} \
154
	/usr/bin/qmake ${projprofile} \
Lines 110-116 Link Here
110
	eend ${result}
170
	eend ${result}
111
171
112
	# was qmake successful?
172
	# was qmake successful?
113
	if [ ${result} -ne 0 ]; then
173
	if [[ ${result} -ne 0 ]]; then
114
		echo
174
		echo
115
		eerror "Running qmake on \"${projprofile}\" has failed"
175
		eerror "Running qmake on \"${projprofile}\" has failed"
116
		echo
176
		echo

Return to bug 201772