/[gentoo-x86]/eclass/kde4-functions.eclass
Gentoo

Diff of /eclass/kde4-functions.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.12 Revision 1.13
1# Copyright 1999-2008 Gentoo Foundation 1# Copyright 1999-2008 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/kde4-functions.eclass,v 1.12 2009/02/10 20:07:24 scarabeus Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.13 2009/03/01 11:44:09 scarabeus Exp $
4 4
5# @ECLASS: kde4-functions.eclass 5# @ECLASS: kde4-functions.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# kde@gentoo.org 7# kde@gentoo.org
8# @BLURB: Common ebuild functions for KDE 4 packages 8# @BLURB: Common ebuild functions for KDE 4 packages
36 36
37# @ECLASS-VARIABLE: KDE_SLOTS 37# @ECLASS-VARIABLE: KDE_SLOTS
38# @DESCRIPTION: 38# @DESCRIPTION:
39# The slots used by all KDE versions later than 4.0. The live-ebuilds use 39# The slots used by all KDE versions later than 4.0. The live-ebuilds use
40# KDE_LIVE_SLOTS instead. 40# KDE_LIVE_SLOTS instead.
41KDE_SLOTS=( kde-4 4.1 4.2 ) 41KDE_SLOTS=( kde-4 4.1 4.2 4.3 )
42 42
43# @ECLASS-VARIABLE: KDE_LIVE_SLOTS 43# @ECLASS-VARIABLE: KDE_LIVE_SLOTS
44# @DESCRIPTION: 44# @DESCRIPTION:
45# The slots used by all KDE live versions. 45# The slots used by all KDE live versions.
46KDE_LIVE_SLOTS=( live ) 46KDE_LIVE_SLOTS=( live )
62 # in the user's environment (through su [without '-']) may cause 62 # in the user's environment (through su [without '-']) may cause
63 # kbuildsycoca4 to hang. 63 # kbuildsycoca4 to hang.
64 64
65 ebegin "Running kbuildsycoca4 to build global database" 65 ebegin "Running kbuildsycoca4 to build global database"
66 # This is needed because we support multiple kde versions installed together. 66 # This is needed because we support multiple kde versions installed together.
67 XDG_DATA_DIRS="/usr/share:${KDEDIRS//:/\/share:}/share:/usr/local/share" \ 67 XDG_DATA_DIRS="/usr/share:${KDEDIR}/share:/usr/local/share" \
68 DISPLAY="" DBUS_SESSION_BUS_ADDRESS="" \ 68 DISPLAY="" DBUS_SESSION_BUS_ADDRESS="" \
69 ${KDEDIR}/bin/kbuildsycoca4 --global --noincremental &> /dev/null 69 ${KDEDIR}/bin/kbuildsycoca4 --global --noincremental &> /dev/null
70 eend $? 70 eend $?
71 fi 71 fi
72} 72}
100# Enable translations based on LINGUAS settings and translations supported by 100# Enable translations based on LINGUAS settings and translations supported by
101# the package (see KDE_LINGUAS). By default, translations are found in "${S}"/po 101# the package (see KDE_LINGUAS). By default, translations are found in "${S}"/po
102# but this default can be overridden by defining KDE_LINGUAS_DIR. 102# but this default can be overridden by defining KDE_LINGUAS_DIR.
103enable_selected_linguas() { 103enable_selected_linguas() {
104 local lingua sr_mess wp 104 local lingua sr_mess wp
105 # inform user about kde-l10n for full translation.
106 if ! has_version kde-base/kde-l10n; then
107 echo
108 elog "For fully translated application you should also emerge"
109 elog "kde-base/kde-l10n package which ships translated kde core"
110 elog "strings."
111 echo
112 fi
113 105
114 # ebuild overridable linguas directory definition 106 # ebuild overridable linguas directory definition
115 KDE_LINGUAS_DIR=${KDE_LINGUAS_DIR:=${S}/po} 107 KDE_LINGUAS_DIR=${KDE_LINGUAS_DIR:=${S}/po}
116 cd "$KDE_LINGUAS_DIR" || die "wrong linguas dir specified" 108 cd "$KDE_LINGUAS_DIR" || die "wrong linguas dir specified"
117 109
148 fi 140 fi
149 eend $? 141 eend $?
150 done 142 done
151} 143}
152 144
153# @FUNCTION: koffice_fix_libraries
154# @DESCRIPTION:
155# replace the weird koffice lib search with hardcoded one, so it
156# actually builds and works.
157koffice_fix_libraries() {
158 local LIB_ARRAY R_QT_kostore R_BAS_kostore R_BAS_koodf R_KROSS_kokross R_QT_komain
159 local R_CMS_pigmentcms R_BAS_pigmentcms R_BAS_koresources R_BAS_flake R_BAS_koguiutils
160 local R_BAS_kopageapp R_BAS_kotext R_BAS_kowmf libname R
161 case ${PN} in
162 koffice-data|koffice-libs)
163 ;;
164 *)
165 ### basic array
166 LIB_ARRAY="kostore koodf kokross komain pigmentcms koresources flake koguiutils kopageapp kotext kowmf"
167 ### dep array
168 R_QT_kostore="\"/usr/$(get_libdir)/qt4/libQtCore.so\"
169 \"/usr/$(get_libdir)/qt4/libQtXml.so\"
170 \"${KDEDIR}/$(get_libdir)/libkdecore.so\""
171 R_BAS_kostore="libkostore ${R_QT_kostore}"
172 R_BAS_koodf="libkoodf ${R_BAS_kostore}"
173 R_KROSS_kokross="
174 \"${KDEDIR}/$(get_libdir)/libkrossui.so\"
175 \"${KDEDIR}/$(get_libdir)/libkrosscore.so\""
176 R_BAS_kokross="libkokross ${R_BAS_koodf} ${R_KROSS_kokross}"
177 R_QT_komain="\"/usr/$(get_libdir)/qt4/libQtGui.so\""
178 R_BAS_komain="libkomain ${R_BAS_koodf} ${R_QT_komain}"
179 R_CMS_pigmentcms="\"/usr/$(get_libdir)/liblcms.so\""
180 R_BAS_pigmentcms="libpigmentcms ${R_BAS_komain} ${R_CMS_pigmentcms}"
181 R_BAS_koresources="libkoresources ${R_BAS_pigmentcms}"
182 R_BAS_flake="libflake ${R_BAS_pigmentcms}"
183 R_BAS_koguiutils="libkoguiutils libkoresources libflake ${R_BAS_pigmentcms}"
184 R_BAS_kopageapp="libkopageapp ${R_BAS_koguitls}"
185 R_BAS_kotext="libkotext libkoresources libflake ${R_BAS_pigmentcms}"
186 ### additional unmentioned stuff
187 R_BAS_kowmf="libkowmf"
188 for libname in ${LIB_ARRAY}; do
189 ebegin "Fixing library ${libname} with hardcoded path"
190 for libpath in $(eval "echo \$R_BAS_${libname}"); do
191 if [[ "${libpath}" != "\"/usr/"* ]]; then
192 R="${R} \"${KDEDIR}/$(get_libdir)/${libpath}.so\""
193 else
194 R="${R} ${libpath}"
195 fi
196 done
197 find "${S}" -name CMakeLists.txt -print| xargs -i \
198 sed -i \
199 -e "s: ${libname} : ${R} :g" \
200 -e "s: ${libname}): ${R}):g" \
201 -e "s:(${libname} :(${R} :g" \
202 -e "s:(${libname}):(${R}):g" \
203 -e "s: ${libname}$: ${R}:g" \
204 {} || die "Fixing library names failed."
205 eend $?
206 done
207 ;;
208 esac
209}
210# @FUNCTION: get_build_type 145# @FUNCTION: get_build_type
211# @DESCRIPTION: 146# @DESCRIPTION:
212# Determine whether we are using live ebuild or tbzs. 147# Determine whether we are using live ebuild or tbzs.
213get_build_type() { 148get_build_type() {
214 if [[ $SLOT = live || $PV = 9999* ]]; then 149 if [[ $SLOT = live || $PV = 9999* ]]; then
227# working without it. This might be changed in future. 162# working without it. This might be changed in future.
228get_latest_kdedir() { 163get_latest_kdedir() {
229 case ${KDE_WANTED} in 164 case ${KDE_WANTED} in
230 # note this will need to be updated as stable moves and so on 165 # note this will need to be updated as stable moves and so on
231 live) 166 live)
232 _versions="9999 4.1.69 4.1.0" 167 _versions="9999 4.2.61 4.2.0 4.1.0"
233 ;; 168 ;;
234 snapshot) 169 snapshot)
235 _versions="4.1.69 4.1.0 9999" 170 _versions="4.2.61 4.2.0 4.1.0 9999"
236 ;; 171 ;;
237 testing) 172 testing)
238 _versions="4.1.0 4.1.69 9999" 173 _versions="4.2.0 4.1.0 4.2.61 9999"
239 ;; 174 ;;
240 stable) 175 stable)
241 _versions="4.1.0 4.1.69 9999" 176 _versions="4.2.0 4.1.0 4.1.61 9999"
242 ;; 177 ;;
243 *) die "KDE_WANTED=${KDE_WANTED} not supported here." ;; 178 *) die "KDE_WANTED=${KDE_WANTED} not supported here." ;;
244 esac 179 esac
245 # check if exists and fallback as we go 180 # check if exists and fallback as we go
246 for X in ${_versions}; do 181 for X in ${_versions}; do
250 # also keep track here same for kde_wanted 185 # also keep track here same for kde_wanted
251 9999) 186 9999)
252 _kdedir="live" 187 _kdedir="live"
253 break 188 break
254 ;; 189 ;;
255 4.1.69) 190 4.3.0 | 4.2.61)
191 _kdedir="4.3"
192 break
193 ;;
194 4.2.0 | 4.1.61)
256 _kdedir="4.2" 195 _kdedir="4.2"
257 break 196 break
258 ;; 197 ;;
259 4.1.0) 198 4.1.0)
260 _kdedir="4.1" 199 _kdedir="4.1"
261 break 200 break
262 ;; 201 ;;
263 esac 202 esac
264 fi 203 fi
265 done 204 done
205
206 debug-print-function ${FUNCNAME} "$@" "KDE_WANTED=${KDE_WANTED} -> _kdedir=${_kdedir}"
266} 207}
267 208
268# @FUNCTION: migrate_store_dir 209# @FUNCTION: migrate_store_dir
269# @DESCRIPTION: 210# @DESCRIPTION:
270# Migrate the remnants of ${ESVN_STORE_DIR}/KDE/ to ${ESVN_STORE_DIR}/. 211# Migrate the remnants of ${ESVN_STORE_DIR}/KDE/ to ${ESVN_STORE_DIR}/.

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13

  ViewVC Help
Powered by ViewVC 1.1.20