blob: c3b0a7590a26c93d2b9ffd04b1daa2f3849ee245 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
# Copyright 2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/eclass/qt3.eclass,v 1.32 2008/03/06 01:22:36 zlin Exp $
# @ECLASS: qt3.eclass
# @MAINTAINER:
# Caleb Tennis <caleb@gentoo.org>
# @BLURB: Eclass for Qt3 packages
# @DESCRIPTION:
# This eclass contains various functions that may be useful
# when dealing with packages using Qt3 libraries.
inherit toolchain-funcs versionator
QTPKG="x11-libs/qt-"
QT3MAJORVERSIONS="3.3 3.2 3.1 3.0"
QT3VERSIONS="3.3.8-r4 3.3.8-r3 3.3.8-r2 3.3.8-r1 3.3.8 3.3.6-r5 3.3.6-r4 3.3.6-r3 3.3.6-r2 3.3.6-r1 3.3.6 3.3.5-r1 3.3.5 3.3.4-r9 3.3.4-r8 3.3.4-r7 3.3.4-r6 3.3.4-r5 3.3.4-r4 3.3.4-r3 3.3.4-r2 3.3.4-r1 3.3.4 3.3.3-r3 3.3.3-r2 3.3.3-r1 3.3.3 3.3.2 3.3.1-r2 3.3.1-r1 3.3.1 3.3.0-r1 3.3.0 3.2.3-r1 3.2.3 3.2.2-r1 3.2.2 3.2.1-r2 3.2.1-r1 3.2.1 3.2.0 3.1.2-r4 3.1.2-r3 3.1.2-r2 3.1.2-r1 3.1.2 3.1.1-r2 3.1.1-r1 3.1.1 3.1.0-r3 3.1.0-r2 3.1.0-r1 3.1.0"
if [[ -z "${QTDIR}" ]]; then
QTDIR="/usr/qt/3"
fi
addwrite "${QTDIR}/etc/settings"
addpredict "${QTDIR}/etc/settings"
# @FUNCTION: qt_min_version
# @USAGE: [minimum version]
# @DESCRIPTION:
# This function is simple. In your depend, do something like this:
# DEPEND="$(qt_min_version 3.1)"
# and it handles the rest for you. Currently, the eclass assumes
# that a minimum version of Qt3 is not satisfied by Qt4.
qt_min_version() {
local list=$(qt_min_version_list "$@")
if [[ ${list%% *} == "${list}" ]]; then
echo "${list}"
else
echo "|| ( ${list} )"
fi
}
qt_min_version_list() {
local MINVER="$1"
local VERSIONS=""
case "${MINVER}" in
3|3.0|3.0.0) VERSIONS="=${QTPKG}3*";;
3.1|3.1.0|3.2|3.2.0|3.3|3.3.0)
for x in ${QT3MAJORVERSIONS}; do
if $(version_is_at_least "${MINVER}" "${x}"); then
VERSIONS="${VERSIONS} =${QTPKG}${x}*"
fi
done
;;
3*)
for x in ${QT3VERSIONS}; do
if $(version_is_at_least "${MINVER}" "${x}"); then
VERSIONS="${VERSIONS} =${QTPKG}${x}"
fi
done
;;
*) VERSIONS="=${QTPKG}3*";;
esac
echo ${VERSIONS}
}
# @FUNCTION: eqmake3
# @USAGE: [.pro file] [additional parameters to qmake]
# @MAINTAINER:
# Przemyslaw Maciag <troll@gentoo.org>
# Davide Pesavento <davidepesa@gmail.com>
# @DESCRIPTION:
# Runs qmake on the specified .pro file (defaults to
# ${PN}.pro if eqmake3 was called with no argument).
# Additional parameters are passed unmodified to qmake.
eqmake3() {
local LOGFILE="${T}/qmake-$$.out"
local projprofile="${1}"
[[ -z ${projprofile} ]] && projprofile="${PN}.pro"
shift 1
ebegin "Processing qmake ${projprofile}"
# file exists?
if [[ ! -f ${projprofile} ]]; then
echo
eerror "Project .pro file \"${projprofile}\" does not exists"
eerror "qmake cannot handle non-existing .pro files"
echo
eerror "This shouldn't happen - please send a bug report to bugs.gentoo.org"
echo
die "Project file not found in ${PN} sources"
fi
echo >> ${LOGFILE}
echo "****** qmake ${projprofile} ******" >> ${LOGFILE}
echo >> ${LOGFILE}
# some standard config options
local configoptplus="CONFIG += no_fixpath"
local configoptminus="CONFIG -="
if has debug ${IUSE} && use debug; then
configoptplus="${configoptplus} debug"
configoptminus="${configoptminus} release"
else
configoptplus="${configoptplus} release"
configoptminus="${configoptminus} debug"
fi
${QTDIR}/bin/qmake ${projprofile} \
QTDIR=${QTDIR} \
QMAKE=${QTDIR}/bin/qmake \
QMAKE_CC=$(tc-getCC) \
QMAKE_CXX=$(tc-getCXX) \
QMAKE_LINK=$(tc-getCXX) \
QMAKE_CFLAGS_RELEASE="${CFLAGS}" \
QMAKE_CFLAGS_DEBUG="${CFLAGS}" \
QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS}" \
QMAKE_CXXFLAGS_DEBUG="${CXXFLAGS}" \
QMAKE_LFLAGS_RELEASE="${LDFLAGS}" \
QMAKE_LFLAGS_DEBUG="${LDFLAGS}" \
"${configoptminus}" \
"${configoptplus}" \
QMAKE_RPATH= \
${@} >> ${LOGFILE} 2>&1
local result=$?
eend ${result}
# was qmake successful?
if [[ ${result} -ne 0 ]]; then
echo
eerror "Running qmake on \"${projprofile}\" has failed"
echo
eerror "This shouldn't happen - please send a bug report to bugs.gentoo.org"
echo
die "qmake failed on ${projprofile}"
fi
return ${result}
}
|