/[gentoo-x86]/eclass/vdr-plugin.eclass
Gentoo

Diff of /eclass/vdr-plugin.eclass

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

Revision 1.51 Revision 1.63
1# Copyright 1999-2005 Gentoo Foundation 1# Copyright 1999-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/Attic/vdr-plugin.eclass,v 1.51 2007/10/08 14:58:14 zzam Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/Attic/vdr-plugin.eclass,v 1.63 2008/06/24 16:43:38 zzam Exp $
4# 4#
5# Author: 5# Author:
6# Matthias Schwarzott <zzam@gentoo.org> 6# Matthias Schwarzott <zzam@gentoo.org>
7# Joerg Bornkessel <hd_brummy@gentoo.org> 7# Joerg Bornkessel <hd_brummy@gentoo.org>
8 8
84# file maintained by normal portage-methods 84# file maintained by normal portage-methods
85create_plugindb_file() { 85create_plugindb_file() {
86 local NEW_VDRPLUGINDB_DIR=/usr/share/vdr/vdrplugin-rebuild/ 86 local NEW_VDRPLUGINDB_DIR=/usr/share/vdr/vdrplugin-rebuild/
87 local DB_FILE="${NEW_VDRPLUGINDB_DIR}/${CATEGORY}-${PF}" 87 local DB_FILE="${NEW_VDRPLUGINDB_DIR}/${CATEGORY}-${PF}"
88 insinto "${NEW_VDRPLUGINDB_DIR}" 88 insinto "${NEW_VDRPLUGINDB_DIR}"
89
90# BUG: portage-2.1.4_rc9 will delete the EBUILD= line, so we cannot use this code.
89 cat <<-EOT > "${D}/${DB_FILE}" 91# cat <<-EOT > "${D}/${DB_FILE}"
90 VDRPLUGIN_DB=1 92# VDRPLUGIN_DB=1
91 CREATOR=ECLASS 93# CREATOR=ECLASS
92 EBUILD=${CATEGORY}/${PN} 94# EBUILD=${CATEGORY}/${PN}
93 EBUILD_V=${PVR} 95# EBUILD_V=${PVR}
94 EOT 96# EOT
97 {
98 echo "VDRPLUGIN_DB=1"
99 echo "CREATOR=ECLASS"
100 echo "EBUILD=${CATEGORY}/${PN}"
101 echo "EBUILD_V=${PVR}"
102 echo "PLUGINS=\"$@\""
103 } > "${D}/${DB_FILE}"
95} 104}
96 105
97# Delete files created outside of vdr-plugin.eclass 106# Delete files created outside of vdr-plugin.eclass
98# vdrplugin-rebuild.ebuild converted plugindb and files are 107# vdrplugin-rebuild.ebuild converted plugindb and files are
99# not deleted by portage itself - should only be needed as 108# not deleted by portage itself - should only be needed as
122create_header_checksum_file() 131create_header_checksum_file()
123{ 132{
124 # Danger: Not using $ROOT here, as compile will also not use it !!! 133 # Danger: Not using $ROOT here, as compile will also not use it !!!
125 # If vdr in $ROOT and / differ, plugins will not run anyway 134 # If vdr in $ROOT and / differ, plugins will not run anyway
126 135
136 local CHKSUM="header-md5-vdr"
137
138 if [[ -f ${VDR_CHECKSUM_DIR}/header-md5-vdr ]]; then
139 cp "${VDR_CHECKSUM_DIR}/header-md5-vdr" "${CHKSUM}"
140 elif type -p md5sum >/dev/null 2>&1; then
141 (
142 cd "${VDR_INCLUDE_DIR}"
143 md5sum *.h libsi/*.h|LC_ALL=C sort --key=2
144 ) > "${CHKSUM}"
145 else
146 die "Could not create md5 checksum of headers"
147 fi
148
127 insinto "${VDR_CHECKSUM_DIR}" 149 insinto "${VDR_CHECKSUM_DIR}"
128 if [[ -f ${VDR_CHECKSUM_DIR}/header-md5-vdr ]]; then 150 local p_name
129 newins "${VDR_CHECKSUM_DIR}/header-md5-vdr header-md5-${PN}" 151 for p_name; do
152 newins "${CHKSUM}" "header-md5-${p_name}"
153 done
154}
155
156fix_vdr_libsi_include()
157{
158 einfo "Fixing include of libsi-headers"
159 local f
160 for f; do
161 sed -i "${f}" \
162 -e '/#include/s:"\(.*libsi.*\)":<\1>:' \
163 -e '/#include/s:<.*\(libsi/.*\)>:<vdr/\1>:'
164 done
165}
166
167vdr_patchmakefile() {
168 einfo "Patching Makefile"
169 [[ -e Makefile ]] || die "Makefile of plugin can not be found!"
170 cp Makefile "${WORKDIR}"/Makefile.before
171
172 # plugin makefiles use VDRDIR in strange ways
173 # assumptions:
174 # 1. $(VDRDIR) contains Make.config
175 # 2. $(VDRDIR) contains config.h
176 # 3. $(VDRDIR)/include/vdr contains the headers
177 # 4. $(VDRDIR) contains main vdr Makefile
178 # 5. $(VDRDIR)/locale exists
179 # 6. $(VDRDIR) allows to access vdr source files
180 #
181 # We only have one directory (for now /usr/include/vdr),
182 # that contains vdr-headers and Make.config.
183 # To satisfy 1-3 we do this:
184 # Set VDRDIR=/usr/include/vdr
185 # Set VDRINCDIR=/usr/include
186 # Change $(VDRDIR)/include to $(VDRINCDIR)
187
188 ebegin " Setting paths"
189 sed -i Makefile \
190 -e "s:^VDRDIR.*$:VDRDIR = ${VDR_INCLUDE_DIR}:" \
191 -e "/^VDRDIR/a VDRINCDIR = ${VDR_INCLUDE_DIR%/vdr}" \
192 -e '/VDRINCDIR.*=/!s:$(VDRDIR)/include:$(VDRINCDIR):' \
193 \
194 -e 's:-I$(DVBDIR)/include::' \
195 -e 's:-I$(DVBDIR)::'
196 eend 0
197
198 # maybe needed for multiproto:
199 #sed -i Makefile \
200 # -e "s:^DVBDIR.*$:DVBDIR = ${DVB_INCLUDE_DIR}:" \
201 # -e 's:-I$(DVBDIR)/include:-I$(DVBDIR):'
202
203 if ! grep -q APIVERSION Makefile; then
204 ebegin " Converting to APIVERSION"
205 sed -i Makefile \
206 -e 's:^APIVERSION = :APIVERSION ?= :' \
207 -e 's:$(LIBDIR)/$@.$(VDRVERSION):$(LIBDIR)/$@.$(APIVERSION):' \
208 -e '/VDRVERSION =/a\APIVERSION = $(shell sed -ne '"'"'/define APIVERSION/s/^.*"\\(.*\\)".*$$/\\1/p'"'"' $(VDRDIR)/config.h)'
209 eend $?
210 fi
211
212 # Correcting Compile-Flags
213 # Do not overwrite CXXFLAGS, add LDFLAGS if missing
214 sed -i Makefile \
215 -e '/^CXXFLAGS[[:space:]]*=/s/=/?=/' \
216 -e '/LDFLAGS/!s:-shared:$(LDFLAGS) -shared:'
217
218 # Disabling file stripping, useful for debugging
219 sed -i Makefile \
220 -e '/@.*strip/d' \
221 -e '/strip \$(LIBDIR)\/\$@/d' \
222 -e '/@.*\$(STRIP)/d'
223
224 # Use a file instead of a variable as single-stepping via ebuild
225 # destroys environment.
226 touch "${WORKDIR}"/.vdr-plugin_makefile_patched
227}
228
229vdr_add_local_patch() {
230 if test -d "${VDR_LOCAL_PATCHES_DIR}/${PN}"; then
231 echo
232 einfo "Applying local patches"
233 for LOCALPATCH in "${VDR_LOCAL_PATCHES_DIR}/${PN}/${PV}"/*.{diff,patch}; do
234 test -f "${LOCALPATCH}" && epatch "${LOCALPATCH}"
235 done
236 fi
237}
238
239vdr_has_gettext() {
240 has_version ">=media-video/vdr-1.5.7"
241}
242
243plugin_has_gettext() {
244 [[ -d po ]]
245}
246
247vdr_i18n_convert_to_gettext() {
248 local i18n_tool="${ROOT}/usr/share/vdr/bin/i18n-to-gettext.pl"
249
250 if [[ ${NO_GETTEXT_HACK} == "1" ]]; then
251 ewarn "Conversion to gettext disabled in ebuild"
252 return 1
253 fi
254
255 if [[ ! -x ${i18n_tool} ]]; then
256 eerror "Missing ${i18n_tool}"
257 eerror "Please re-emerge vdr"
258 die "Missing ${i18n_tool}"
259 fi
260
261 ebegin "Auto converting translations to gettext"
262 # call i18n-to-gettext tool
263 # take all texts missing tr call into special file
264 "${i18n_tool}" 2>/dev/null \
265 |sed -e '/^"/!d' \
266 -e '/^""$/d' \
267 -e 's/\(.*\)/trNOOP(\1)/' \
268 > dummy-translations-trNOOP.c
269
270 # if there were untranslated texts just run it again
271 # now the missing calls are listed in
272 # dummy-translations-trNOOP.c
273 if [[ -s dummy-translations-trNOOP.c ]]; then
274 "${i18n_tool}" &>/dev/null
275 fi
276
277 # now use the modified Makefile
278 if [[ -f Makefile.new ]]; then
279 mv Makefile.new Makefile
280 eend 0 ""
130 else 281 else
131 if type -p md5sum >/dev/null 2>&1; then 282 eend 1 "Conversion to gettext failed. Plugin needs fixing."
132 cd "${S}" 283 return 1
133 ( 284 fi
134 cd "${VDR_INCLUDE_DIR}" 285}
135 md5sum *.h libsi/*.h|LC_ALL=C sort --key=2 286
136 ) > header-md5-${PN} 287vdr_i18n_disable_gettext() {
137 doins header-md5-${PN} 288 ebegin "Disabling gettext support in plugin"
289 # Remove i18n Target if using older vdr
290 sed -i Makefile \
291 -e '/^all:/s/ i18n//'
292 eend 0
293}
294
295vdr_i18n() {
296 if vdr_has_gettext; then
297 einfo "VDR has gettext support"
298 if plugin_has_gettext; then
299 einfo "Plugin has gettext support, fine"
300 if [[ ${NO_GETTEXT_HACK} == "1" ]]; then
301 ewarn "Please remove left over NO_GETTEXT_HACK."
302 fi
303 else
304 vdr_i18n_convert_to_gettext
305 if [[ $? != 0 ]]; then
306 eerror ""
307 eerror "Plugin will have only english OSD texts"
308 eerror "it needs manual fixing."
309 fi
138 fi 310 fi
311 else
312 einfo "VDR has no gettext support"
313 if plugin_has_gettext; then
314 vdr_i18n_disable_gettext
139 fi 315 fi
316 fi
140} 317}
318
319vdr-plugin_copy_source_tree() {
320 pushd . >/dev/null
321 cp -r "${S}" "${T}"/source-tree
322 cd "${T}"/source-tree
323 cp "${WORKDIR}"/Makefile.before Makefile
324 # TODO: Fix this, maybe no longer needed
325 sed -i Makefile \
326 -e "s:^DVBDIR.*$:DVBDIR = ${DVB_INCLUDE_DIR}:" \
327 -e 's:^CXXFLAGS:#CXXFLAGS:' \
328 -e 's:-I$(DVBDIR)/include:-I$(DVBDIR):' \
329 -e 's:-I$(VDRDIR) -I$(DVBDIR):-I$(DVBDIR) -I$(VDRDIR):'
330 popd >/dev/null
331}
332
333vdr-plugin_install_source_tree() {
334 einfo "Installing sources"
335 destdir="${VDRSOURCE_DIR}/vdr-${VDRVERSION}/PLUGINS/src/${VDRPLUGIN}"
336 insinto "${destdir}-${PV}"
337 doins -r "${T}"/source-tree/*
338
339 dosym "${VDRPLUGIN}-${PV}" "${destdir}"
340}
341
342vdr-plugin_print_enable_command() {
343 elog
344 elog "To activate this vdr-plugin execute the following command:"
345 elog "\teselect vdr-plugin enable ${PN#vdr-}"
346 elog
347}
348
349
350## exported functions
141 351
142vdr-plugin_pkg_setup() { 352vdr-plugin_pkg_setup() {
143 # -fPIC is needed for shared objects on some platforms (amd64 and others) 353 # -fPIC is needed for shared objects on some platforms (amd64 and others)
144 append-flags -fPIC 354 append-flags -fPIC
145 355
153 363
154 # Pathes to includes 364 # Pathes to includes
155 VDR_INCLUDE_DIR="/usr/include/vdr" 365 VDR_INCLUDE_DIR="/usr/include/vdr"
156 DVB_INCLUDE_DIR="/usr/include" 366 DVB_INCLUDE_DIR="/usr/include"
157 367
158
159 TMP_LOCALE_DIR="${WORKDIR}/tmp-locale" 368 TMP_LOCALE_DIR="${WORKDIR}/tmp-locale"
160 LOCDIR="/usr/share/vdr/locale" 369 LOCDIR="/usr/share/vdr/locale"
161 if has_version ">=media-video/vdr-1.5.7"; then
162 USE_GETTEXT=1
163 else
164 USE_GETTEXT=0
165 fi
166 370
167 VDRVERSION=$(awk -F'"' '/define VDRVERSION/ {print $2}' "${VDR_INCLUDE_DIR}"/config.h) 371 VDRVERSION=$(awk -F'"' '/define VDRVERSION/ {print $2}' "${VDR_INCLUDE_DIR}"/config.h)
168 APIVERSION=$(awk -F'"' '/define APIVERSION/ {print $2}' "${VDR_INCLUDE_DIR}"/config.h) 372 APIVERSION=$(awk -F'"' '/define APIVERSION/ {print $2}' "${VDR_INCLUDE_DIR}"/config.h)
169 [[ -z ${APIVERSION} ]] && APIVERSION="${VDRVERSION}" 373 [[ -z ${APIVERSION} ]] && APIVERSION="${VDRVERSION}"
170 374
171 einfo "Building ${PF} against vdr-${VDRVERSION}" 375 einfo "Compiling against"
172 einfo "APIVERSION: ${APIVERSION}" 376 einfo "\tvdr-${VDRVERSION} [API version ${APIVERSION}]"
173} 377}
174 378
175vdr-plugin_src_unpack() { 379vdr-plugin_src_unpack() {
176 if [[ -z ${VDR_INCLUDE_DIR} ]]; then 380 if [[ -z ${VDR_INCLUDE_DIR} ]]; then
177 eerror "Wrong use of vdr-plugin.eclass." 381 eerror "Wrong use of vdr-plugin.eclass."
189 vdr-plugin_src_unpack add_local_patch patchmakefile i18n 393 vdr-plugin_src_unpack add_local_patch patchmakefile i18n
190 ;; 394 ;;
191 unpack) 395 unpack)
192 base_src_unpack 396 base_src_unpack
193 ;; 397 ;;
398 add_local_patch)
399 cd "${S}" || die "Could not change to plugin-source-directory!"
400 vdr_add_local_patch
401 ;;
194 patchmakefile) 402 patchmakefile)
195 if ! cd "${S}"; then
196 ewarn "There seems to be no plugin-directory with the name ${S##*/}"
197 ewarn "Perhaps you find one among these:"
198 cd "${WORKDIR}"
199 ewarn "$(/bin/ls -1 "${WORKDIR}")"
200 die "Could not change to plugin-source-directory!" 403 cd "${S}" || die "Could not change to plugin-source-directory!"
201 fi 404 vdr_patchmakefile
202
203 einfo "Patching Makefile"
204 [[ -e Makefile ]] || die "Makefile of plugin can not be found!"
205 cp Makefile "${WORKDIR}"/Makefile.before
206
207 sed -i Makefile \
208 -e '1i\#Makefile was patched by vdr-plugin.eclass'
209
210 ebegin " Setting Pathes"
211 sed -i Makefile \
212 -e "s:^VDRDIR.*$:VDRDIR = ${VDR_INCLUDE_DIR}:" \
213 -e "s:^DVBDIR.*$:DVBDIR = ${DVB_INCLUDE_DIR}:" \
214 -e "s:^LIBDIR.*$:LIBDIR = ${S}:" \
215 -e "s:^TMPDIR.*$:TMPDIR = ${T}:" \
216 -e 's:-I$(VDRDIR)/include -I$(DVBDIR)/include:-I$(DVBDIR)/include -I$(VDRDIR)/include:' \
217 -e 's:-I$(VDRDIR)/include:-I'"${VDR_INCLUDE_DIR%vdr}"':' \
218 -e 's:-I$(DVBDIR)/include:-I$(DVBDIR):'
219 eend $?
220
221 ebegin " Converting to APIVERSION"
222 sed -i Makefile \
223 -e 's:^APIVERSION = :APIVERSION ?= :' \
224 -e 's:$(LIBDIR)/$@.$(VDRVERSION):$(LIBDIR)/$@.$(APIVERSION):' \
225 -e '2i\APIVERSION = '"${APIVERSION}"
226 eend $?
227
228 ebegin " Correcting Compile-Flags"
229 sed -i Makefile \
230 -e 's:^CXXFLAGS:#CXXFLAGS:' \
231 -e '/LDFLAGS/!s:-shared:$(LDFLAGS) -shared:'
232 eend $?
233
234 ebegin " Disabling file stripping"
235 sed -i Makefile \
236 -e '/@.*strip/d' \
237 -e '/strip \$(LIBDIR)\/\$@/d' \
238 -e '/^STRIP =/d' \
239 -e '/@.*\$(STRIP)/d'
240 eend $?
241
242 # Use a file instead of an variable as single-stepping via ebuild
243 # destroys environment.
244 touch ${WORKDIR}/.vdr-plugin_makefile_patched
245 ;;
246 add_local_patch)
247 cd "${S}"
248 if test -d "${VDR_LOCAL_PATCHES_DIR}/${PN}"; then
249 echo
250 einfo "Applying local patches"
251 for LOCALPATCH in "${VDR_LOCAL_PATCHES_DIR}/${PN}/${PV}"/*.{diff,patch}; do
252 test -f "${LOCALPATCH}" && epatch "${LOCALPATCH}"
253 done
254 fi
255 ;; 405 ;;
256 i18n) 406 i18n)
257 cd "${S}" 407 cd "${S}" || die "Could not change to plugin-source-directory!"
258 if [[ ${USE_GETTEXT} = 0 ]]; then 408 vdr_i18n
259 # Remove i18n Target if using older vdr 409 ;;
260 sed -i Makefile \
261 -e '/^all:/s/ i18n//'
262 elif [[ ${USE_GETTEXT} = 1 && ! -d po && ${NO_GETTEXT_HACK} != 1 ]]; then
263 einfo "Converting translations to gettext"
264
265 local i18n_tool="${ROOT}/usr/share/vdr/bin/i18n-to-gettext.pl"
266 if [[ ! -x ${i18n_tool} ]]; then
267 eerror "Missing ${i18n_tool}"
268 eerror "Please re-emerge vdr"
269 die "Missing ${i18n_tool}"
270 fi
271
272 # call i18n-to-gettext tool
273 # take all texts missing tr call into special file
274 "${i18n_tool}" 2>/dev/null \
275 |sed -e '/^"/!d' \
276 -e '/^""$/d' \
277 -e 's/\(.*\)/trNOOP(\1)/' \
278 > dummy-translations-trNOOP.c
279
280 # if there were untranslated texts just run it again
281 # now the missing calls are listed in
282 # dummy-translations-trNOOP.c
283 if [[ -s dummy-translations-trNOOP.c ]]; then
284 "${i18n_tool}" &>/dev/null
285 fi
286
287 # now use the modified Makefile
288 mv Makefile.new Makefile
289 fi
290 esac 410 esac
291 411
292 shift 412 shift
293 done 413 done
294}
295
296vdr-plugin_copy_source_tree() {
297 pushd . >/dev/null
298 cp -r "${S}" "${T}"/source-tree
299 cd "${T}"/source-tree
300 cp "${WORKDIR}"/Makefile.before Makefile
301 sed -i Makefile \
302 -e "s:^DVBDIR.*$:DVBDIR = ${DVB_INCLUDE_DIR}:" \
303 -e 's:^CXXFLAGS:#CXXFLAGS:' \
304 -e 's:-I$(DVBDIR)/include:-I$(DVBDIR):' \
305 -e 's:-I$(VDRDIR) -I$(DVBDIR):-I$(DVBDIR) -I$(VDRDIR):'
306 popd >/dev/null
307}
308
309vdr-plugin_install_source_tree() {
310 einfo "Installing sources"
311 destdir="${VDRSOURCE_DIR}/vdr-${VDRVERSION}/PLUGINS/src/${VDRPLUGIN}"
312 insinto "${destdir}-${PV}"
313 doins -r "${T}"/source-tree/*
314
315 dosym "${VDRPLUGIN}-${PV}" "${destdir}"
316} 414}
317 415
318vdr-plugin_src_compile() { 416vdr-plugin_src_compile() {
319 [ -z "$1" ] && vdr-plugin_src_compile prepare compile 417 [ -z "$1" ] && vdr-plugin_src_compile prepare compile
320 418
336 cd "${S}" 434 cd "${S}"
337 435
338 emake ${BUILD_PARAMS} \ 436 emake ${BUILD_PARAMS} \
339 ${VDRPLUGIN_MAKE_TARGET:-all} \ 437 ${VDRPLUGIN_MAKE_TARGET:-all} \
340 LOCALEDIR="${TMP_LOCALE_DIR}" \ 438 LOCALEDIR="${TMP_LOCALE_DIR}" \
439 LIBDIR="${S}" \
440 TMPDIR="${T}" \
341 || die "emake failed" 441 || die "emake failed"
342 ;; 442 ;;
343 esac 443 esac
344 444
345 shift 445 shift
366 insinto "/usr/share/vdr/maintainer-data/makefile-patched" 466 insinto "/usr/share/vdr/maintainer-data/makefile-patched"
367 doins "${mname}.patched" 467 doins "${mname}.patched"
368 468
369 fi 469 fi
370 470
471
472
371 cd "${S}" 473 cd "${S}"
372 insinto "${VDR_PLUGIN_DIR}" 474 insinto "${VDR_PLUGIN_DIR}"
373 doins libvdr-*.so.* 475 doins libvdr-*.so.*
374 476
375 if [[ ${USE_GETTEXT} = 1 && -d ${TMP_LOCALE_DIR} ]]; then 477 # create list of all created plugin libs
478 local p_list="" p_name
479 for p in libvdr-*.so.*; do
480 p_name="${p%.so*}"
481 p_name="${p_name#lib}"
482 p_list="${p_list} ${p_name}"
483 done
484
485 create_header_checksum_file ${p_list}
486 create_plugindb_file ${p_list}
487
488 if vdr_has_gettext && [[ -d ${TMP_LOCALE_DIR} ]]; then
376 einfo "Installing locales" 489 einfo "Installing locales"
377 cd "${TMP_LOCALE_DIR}" 490 cd "${TMP_LOCALE_DIR}"
378 insinto "${LOCDIR}" 491 insinto "${LOCDIR}"
379 doins -r * 492 doins -r *
380 fi 493 fi
398 511
399 if [[ -n ${VDR_RCADDON_FILE} ]]; then 512 if [[ -n ${VDR_RCADDON_FILE} ]]; then
400 insinto "${VDR_RC_DIR}" 513 insinto "${VDR_RC_DIR}"
401 newins "${VDR_RCADDON_FILE}" plugin-${VDRPLUGIN}.sh 514 newins "${VDR_RCADDON_FILE}" plugin-${VDRPLUGIN}.sh
402 fi 515 fi
403
404 create_header_checksum_file
405 create_plugindb_file
406}
407
408vdr-plugin_print_enable_command() {
409 ewarn "emerge --config ${PN} is deprecated"
410 elog
411 elog "To activate this vdr-plugin execute the following command:"
412 elog "\teselect vdr-plugin enable ${PN#vdr-}"
413 elog
414} 516}
415 517
416vdr-plugin_pkg_postinst() { 518vdr-plugin_pkg_postinst() {
417 vdr-plugin_print_enable_command 519 vdr-plugin_print_enable_command
418 520
425 527
426vdr-plugin_pkg_postrm() { 528vdr-plugin_pkg_postrm() {
427 delete_orphan_plugindb_file 529 delete_orphan_plugindb_file
428} 530}
429 531
430vdr-plugin_pkg_config_legacy() {
431 elog "Using old interface to gentoo-vdr-scripts-0.3.7"
432 if [[ -z "${INSTALLPLUGIN}" ]]; then
433 INSTALLPLUGIN="${VDRPLUGIN}"
434 fi
435
436 active=0
437 # First test if plugin is already inside PLUGINS
438 local conf=/etc/conf.d/vdr.plugins
439 exec 3<${conf}
440 while read -u 3 line; do
441 [[ ${line} == "" ]] && continue
442 [[ ${line:0:1} == "#" ]] && continue
443 set -- ${line}
444 [[ ${1} == ${INSTALLPLUGIN} ]] && active=1
445 done
446 exec 3<&-
447
448 if [[ $active == 0 ]]; then
449 elog "Adding ${INSTALLPLUGIN} to active plugins."
450
451 # The pure edit process.
452 echo "${INSTALLPLUGIN}" >> "${conf}"
453 else
454 elog "${INSTALLPLUGIN} already activated"
455 echo
456 read -p "Do you want to deactivate ${INSTALLPLUGIN} (yes/no) " answer
457 if [[ "${answer}" != "yes" ]]; then
458 elog "aborted"
459 return
460 fi
461 elog "Removing ${INSTALLPLUGIN} from active plugins."
462
463 # The pure edit process
464 sed -i "${conf}" -e "/^[[:space:]]*${INSTALLPLUGIN}[[:space:]]*\$/d"
465 fi
466}
467
468vdr-plugin_pkg_config() { 532vdr-plugin_pkg_config() {
533 ewarn "emerge --config ${PN} is no longer supported"
469 vdr-plugin_print_enable_command 534 vdr-plugin_print_enable_command
470
471 einfo "Calling this now"
472 eselect vdr-plugin enable "${PN#vdr-}"
473}
474
475fix_vdr_libsi_include()
476{
477 einfo "Fixing include of libsi-headers"
478 local f
479 for f; do
480 sed -i "${f}" \
481 -e '/#include/s:"\(.*libsi.*\)":<\1>:' \
482 -e '/#include/s:<.*\(libsi/.*\)>:<vdr/\1>:'
483 done
484} 535}
485 536
486EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postinst pkg_postrm pkg_config 537EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postinst pkg_postrm pkg_config

Legend:
Removed from v.1.51  
changed lines
  Added in v.1.63

  ViewVC Help
Powered by ViewVC 1.1.20