/[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.50 Revision 1.64
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.50 2007/10/05 13:56:49 zzam Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/Attic/vdr-plugin.eclass,v 1.64 2008/06/25 21:35:27 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
72# works in most cases 72# works in most cases
73S="${WORKDIR}/${VDRPLUGIN}-${PV}" 73S="${WORKDIR}/${VDRPLUGIN}-${PV}"
74 74
75# depend on headers for DVB-driver 75# depend on headers for DVB-driver
76DEPEND=">=media-tv/gentoo-vdr-scripts-0.3.8 76DEPEND=">=media-tv/gentoo-vdr-scripts-0.3.8
77 >=media-tv/vdrplugin-rebuild-0.2 77 || ( >=media-tv/gentoo-vdr-scripts-0.4.2 >=media-tv/vdrplugin-rebuild-0.2 )
78 >=app-admin/eselect-vdr-0.0.2 78 >=app-admin/eselect-vdr-0.0.2
79 media-tv/linuxtv-dvb-headers" 79 media-tv/linuxtv-dvb-headers"
80 80
81 81
82# New method of storing plugindb 82# New method of storing plugindb
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
100# long as not every system has switched over to 109# long as not every system has switched over to
101# vdrplugin-rebuild-0.2 110# vdrplugin-rebuild-0.2 / gentoo-vdr-scripts-0.4.2
102delete_orphan_plugindb_file() { 111delete_orphan_plugindb_file() {
103 #elog Testing for orphaned plugindb file 112 #elog Testing for orphaned plugindb file
104 local NEW_VDRPLUGINDB_DIR=/usr/share/vdr/vdrplugin-rebuild/ 113 local NEW_VDRPLUGINDB_DIR=/usr/share/vdr/vdrplugin-rebuild/
105 local DB_FILE="${ROOT}/${NEW_VDRPLUGINDB_DIR}/${CATEGORY}-${PF}" 114 local DB_FILE="${ROOT}/${NEW_VDRPLUGINDB_DIR}/${CATEGORY}-${PF}"
106 115
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 local p_name c=0 l=""
344 for p_name in ${vdr_plugin_list}; do
345 c=$(( c+1 ))
346 l="$l ${p_name#vdr-}"
347 done
348
349 elog
350 case $c in
351 1) elog "Installed plugin${l}" ;;
352 *) elog "Installed $c plugins:${l}" ;;
353 esac
354 elog "To activate a plugin execute this command:"
355 elog "\teselect vdr-plugin enable <plugin_name> ..."
356 elog
357}
358
359
360## exported functions
141 361
142vdr-plugin_pkg_setup() { 362vdr-plugin_pkg_setup() {
143 # -fPIC is needed for shared objects on some platforms (amd64 and others) 363 # -fPIC is needed for shared objects on some platforms (amd64 and others)
144 append-flags -fPIC 364 append-flags -fPIC
145 365
153 373
154 # Pathes to includes 374 # Pathes to includes
155 VDR_INCLUDE_DIR="/usr/include/vdr" 375 VDR_INCLUDE_DIR="/usr/include/vdr"
156 DVB_INCLUDE_DIR="/usr/include" 376 DVB_INCLUDE_DIR="/usr/include"
157 377
158
159 TMP_LOCALE_DIR="${WORKDIR}/tmp-locale" 378 TMP_LOCALE_DIR="${WORKDIR}/tmp-locale"
160 LOCDIR="/usr/share/vdr/locale" 379 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 380
167 VDRVERSION=$(awk -F'"' '/define VDRVERSION/ {print $2}' "${VDR_INCLUDE_DIR}"/config.h) 381 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) 382 APIVERSION=$(awk -F'"' '/define APIVERSION/ {print $2}' "${VDR_INCLUDE_DIR}"/config.h)
169 [[ -z ${APIVERSION} ]] && APIVERSION="${VDRVERSION}" 383 [[ -z ${APIVERSION} ]] && APIVERSION="${VDRVERSION}"
170 384
171 einfo "Building ${PF} against vdr-${VDRVERSION}" 385 einfo "Compiling against"
172 einfo "APIVERSION: ${APIVERSION}" 386 einfo "\tvdr-${VDRVERSION} [API version ${APIVERSION}]"
173} 387}
174 388
175vdr-plugin_src_unpack() { 389vdr-plugin_src_unpack() {
176 if [[ -z ${VDR_INCLUDE_DIR} ]]; then 390 if [[ -z ${VDR_INCLUDE_DIR} ]]; then
177 eerror "Wrong use of vdr-plugin.eclass." 391 eerror "Wrong use of vdr-plugin.eclass."
189 vdr-plugin_src_unpack add_local_patch patchmakefile i18n 403 vdr-plugin_src_unpack add_local_patch patchmakefile i18n
190 ;; 404 ;;
191 unpack) 405 unpack)
192 base_src_unpack 406 base_src_unpack
193 ;; 407 ;;
408 add_local_patch)
409 cd "${S}" || die "Could not change to plugin-source-directory!"
410 vdr_add_local_patch
411 ;;
194 patchmakefile) 412 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!" 413 cd "${S}" || die "Could not change to plugin-source-directory!"
201 fi 414 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 ;; 415 ;;
256 i18n) 416 i18n)
257 cd "${S}" 417 cd "${S}" || die "Could not change to plugin-source-directory!"
258 if [[ ${USE_GETTEXT} = 0 ]]; then 418 vdr_i18n
259 # Remove i18n Target if using older vdr 419 ;;
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 420 esac
291 421
292 shift 422 shift
293 done 423 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} 424}
317 425
318vdr-plugin_src_compile() { 426vdr-plugin_src_compile() {
319 [ -z "$1" ] && vdr-plugin_src_compile prepare compile 427 [ -z "$1" ] && vdr-plugin_src_compile prepare compile
320 428
336 cd "${S}" 444 cd "${S}"
337 445
338 emake ${BUILD_PARAMS} \ 446 emake ${BUILD_PARAMS} \
339 ${VDRPLUGIN_MAKE_TARGET:-all} \ 447 ${VDRPLUGIN_MAKE_TARGET:-all} \
340 LOCALEDIR="${TMP_LOCALE_DIR}" \ 448 LOCALEDIR="${TMP_LOCALE_DIR}" \
449 LIBDIR="${S}" \
450 TMPDIR="${T}" \
341 || die "emake failed" 451 || die "emake failed"
342 ;; 452 ;;
343 esac 453 esac
344 454
345 shift 455 shift
366 insinto "/usr/share/vdr/maintainer-data/makefile-patched" 476 insinto "/usr/share/vdr/maintainer-data/makefile-patched"
367 doins "${mname}.patched" 477 doins "${mname}.patched"
368 478
369 fi 479 fi
370 480
481
482
371 cd "${S}" 483 cd "${S}"
372 insinto "${VDR_PLUGIN_DIR}" 484 insinto "${VDR_PLUGIN_DIR}"
373 doins libvdr-*.so.* 485 doins libvdr-*.so.*
374 486
375 if [[ ${USE_GETTEXT} = 1 && -d ${TMP_LOCALE_DIR} ]]; then 487 # create list of all created plugin libs
488 vdr_plugin_list=""
489 local p_name
490 for p in libvdr-*.so.*; do
491 p_name="${p%.so*}"
492 p_name="${p_name#lib}"
493 vdr_plugin_list="${vdr_plugin_list} ${p_name}"
494 done
495
496 create_header_checksum_file ${vdr_plugin_list}
497 create_plugindb_file ${vdr_plugin_list}
498
499 if vdr_has_gettext && [[ -d ${TMP_LOCALE_DIR} ]]; then
376 einfo "Installing locales" 500 einfo "Installing locales"
377 cd "${TMP_LOCALE_DIR}" 501 cd "${TMP_LOCALE_DIR}"
378 insinto "${LOCDIR}" 502 insinto "${LOCDIR}"
379 doins -r * 503 doins -r *
380 fi 504 fi
398 522
399 if [[ -n ${VDR_RCADDON_FILE} ]]; then 523 if [[ -n ${VDR_RCADDON_FILE} ]]; then
400 insinto "${VDR_RC_DIR}" 524 insinto "${VDR_RC_DIR}"
401 newins "${VDR_RCADDON_FILE}" plugin-${VDRPLUGIN}.sh 525 newins "${VDR_RCADDON_FILE}" plugin-${VDRPLUGIN}.sh
402 fi 526 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} 527}
415 528
416vdr-plugin_pkg_postinst() { 529vdr-plugin_pkg_postinst() {
417 vdr-plugin_print_enable_command 530 vdr-plugin_print_enable_command
418 531
425 538
426vdr-plugin_pkg_postrm() { 539vdr-plugin_pkg_postrm() {
427 delete_orphan_plugindb_file 540 delete_orphan_plugindb_file
428} 541}
429 542
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() { 543vdr-plugin_pkg_config() {
544 ewarn "emerge --config ${PN} is no longer supported"
469 vdr-plugin_print_enable_command 545 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} 546}
485 547
486EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postinst pkg_postrm pkg_config 548EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postinst pkg_postrm pkg_config

Legend:
Removed from v.1.50  
changed lines
  Added in v.1.64

  ViewVC Help
Powered by ViewVC 1.1.20