/[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.11 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.11 2009/01/12 19:40:34 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
224# We set up KDEDIR according to the latest KDE version installed; installing our 159# We set up KDEDIR according to the latest KDE version installed; installing our
225# package for all available installs is just insane. 160# package for all available installs is just insane.
226# We can check for kdelibs because it is the most basic package; no KDE package 161# We can check for kdelibs because it is the most basic package; no KDE package
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 if [[ $NEED_KDE = latest && $KDEBASE != kde-base ]]; then
230 case ${KDE_WANTED} in 164 case ${KDE_WANTED} in
231 # 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
232 live) 166 live)
233 _versions="9999 4.1.69 4.1.0" 167 _versions="9999 4.2.61 4.2.0 4.1.0"
234 ;; 168 ;;
235 snapshot) 169 snapshot)
236 _versions="4.1.69 4.1.0 9999" 170 _versions="4.2.61 4.2.0 4.1.0 9999"
237 ;; 171 ;;
238 testing) 172 testing)
239 _versions="4.1.0 4.1.69 9999" 173 _versions="4.2.0 4.1.0 4.2.61 9999"
240 ;; 174 ;;
241 stable) 175 stable)
242 _versions="4.1.0 4.1.69 9999" 176 _versions="4.2.0 4.1.0 4.1.61 9999"
243 ;; 177 ;;
244 *) die "KDE_WANTED=${KDE_WANTED} not supported here." ;; 178 *) die "KDE_WANTED=${KDE_WANTED} not supported here." ;;
245 esac 179 esac
246 # check if exists and fallback as we go 180 # check if exists and fallback as we go
247 for X in ${_versions}; do 181 for X in ${_versions}; do
248 if has_version ">=kde-base/kdelibs-${X}"; then 182 if has_version ">=kde-base/kdelibs-${X}"; then
249 # figure out which X we are in and set it into _kdedir 183 # figure out which X we are in and set it into _kdedir
250 case ${X} in 184 case ${X} in
251 # also keep track here same for kde_wanted 185 # also keep track here same for kde_wanted
252 9999) 186 9999)
253 _kdedir="live" 187 _kdedir="live"
254 break 188 break
255 ;; 189 ;;
256 4.1.69) 190 4.3.0 | 4.2.61)
191 _kdedir="4.3"
192 break
193 ;;
194 4.2.0 | 4.1.61)
257 _kdedir="4.2" 195 _kdedir="4.2"
258 break 196 break
259 ;; 197 ;;
260 4.1.0) 198 4.1.0)
261 _kdedir="4.1" 199 _kdedir="4.1"
262 break 200 break
263 ;; 201 ;;
264 esac 202 esac
265 fi 203 fi
266 done 204 done
267 fi 205
206 debug-print-function ${FUNCNAME} "$@" "KDE_WANTED=${KDE_WANTED} -> _kdedir=${_kdedir}"
268} 207}
269 208
270# @FUNCTION: migrate_store_dir 209# @FUNCTION: migrate_store_dir
271# @DESCRIPTION: 210# @DESCRIPTION:
272# 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.11  
changed lines
  Added in v.1.13

  ViewVC Help
Powered by ViewVC 1.1.20