/[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.60
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.60 2008/05/15 14:03:15 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 Pathes"
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 else
301 vdr_i18n_convert_to_gettext
302 if [[ $? != 0 ]]; then
303 eerror ""
304 eerror "Plugin will have only english OSD texts"
305 eerror "it needs manual fixing."
306 fi
138 fi 307 fi
308 else
309 einfo "VDR has no gettext support"
310 if plugin_has_gettext; then
311 vdr_i18n_disable_gettext
139 fi 312 fi
313 fi
140} 314}
315
316vdr-plugin_copy_source_tree() {
317 pushd . >/dev/null
318 cp -r "${S}" "${T}"/source-tree
319 cd "${T}"/source-tree
320 cp "${WORKDIR}"/Makefile.before Makefile
321 # TODO: Fix this, maybe no longer needed
322 sed -i Makefile \
323 -e "s:^DVBDIR.*$:DVBDIR = ${DVB_INCLUDE_DIR}:" \
324 -e 's:^CXXFLAGS:#CXXFLAGS:' \
325 -e 's:-I$(DVBDIR)/include:-I$(DVBDIR):' \
326 -e 's:-I$(VDRDIR) -I$(DVBDIR):-I$(DVBDIR) -I$(VDRDIR):'
327 popd >/dev/null
328}
329
330vdr-plugin_install_source_tree() {
331 einfo "Installing sources"
332 destdir="${VDRSOURCE_DIR}/vdr-${VDRVERSION}/PLUGINS/src/${VDRPLUGIN}"
333 insinto "${destdir}-${PV}"
334 doins -r "${T}"/source-tree/*
335
336 dosym "${VDRPLUGIN}-${PV}" "${destdir}"
337}
338
339vdr-plugin_print_enable_command() {
340 elog
341 elog "To activate this vdr-plugin execute the following command:"
342 elog "\teselect vdr-plugin enable ${PN#vdr-}"
343 elog
344}
345
346
347## exported functions
141 348
142vdr-plugin_pkg_setup() { 349vdr-plugin_pkg_setup() {
143 # -fPIC is needed for shared objects on some platforms (amd64 and others) 350 # -fPIC is needed for shared objects on some platforms (amd64 and others)
144 append-flags -fPIC 351 append-flags -fPIC
145 352
153 360
154 # Pathes to includes 361 # Pathes to includes
155 VDR_INCLUDE_DIR="/usr/include/vdr" 362 VDR_INCLUDE_DIR="/usr/include/vdr"
156 DVB_INCLUDE_DIR="/usr/include" 363 DVB_INCLUDE_DIR="/usr/include"
157 364
158
159 TMP_LOCALE_DIR="${WORKDIR}/tmp-locale" 365 TMP_LOCALE_DIR="${WORKDIR}/tmp-locale"
160 LOCDIR="/usr/share/vdr/locale" 366 LOCDIR="/usr/share/vdr/locale"
161 if has_version ">=media-video/vdr-1.5.7"; then 367
162 USE_GETTEXT=1 368 TMP_LIBDIR="${WORKDIR}/tmp-libdir"
163 else
164 USE_GETTEXT=0
165 fi
166 369
167 VDRVERSION=$(awk -F'"' '/define VDRVERSION/ {print $2}' "${VDR_INCLUDE_DIR}"/config.h) 370 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) 371 APIVERSION=$(awk -F'"' '/define APIVERSION/ {print $2}' "${VDR_INCLUDE_DIR}"/config.h)
169 [[ -z ${APIVERSION} ]] && APIVERSION="${VDRVERSION}" 372 [[ -z ${APIVERSION} ]] && APIVERSION="${VDRVERSION}"
170 373
171 einfo "Building ${PF} against vdr-${VDRVERSION}" 374 einfo "Compiling against"
172 einfo "APIVERSION: ${APIVERSION}" 375 einfo "\tvdr-${VDRVERSION} [API version ${APIVERSION}]"
173} 376}
174 377
175vdr-plugin_src_unpack() { 378vdr-plugin_src_unpack() {
176 if [[ -z ${VDR_INCLUDE_DIR} ]]; then 379 if [[ -z ${VDR_INCLUDE_DIR} ]]; then
177 eerror "Wrong use of vdr-plugin.eclass." 380 eerror "Wrong use of vdr-plugin.eclass."
189 vdr-plugin_src_unpack add_local_patch patchmakefile i18n 392 vdr-plugin_src_unpack add_local_patch patchmakefile i18n
190 ;; 393 ;;
191 unpack) 394 unpack)
192 base_src_unpack 395 base_src_unpack
193 ;; 396 ;;
397 add_local_patch)
398 cd "${S}" || die "Could not change to plugin-source-directory!"
399 vdr_add_local_patch
400 ;;
194 patchmakefile) 401 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!" 402 cd "${S}" || die "Could not change to plugin-source-directory!"
201 fi 403 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 ;; 404 ;;
256 i18n) 405 i18n)
257 cd "${S}" 406 cd "${S}" || die "Could not change to plugin-source-directory!"
258 if [[ ${USE_GETTEXT} = 0 ]]; then 407 vdr_i18n
259 # Remove i18n Target if using older vdr 408 ;;
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 409 esac
291 410
292 shift 411 shift
293 done 412 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} 413}
317 414
318vdr-plugin_src_compile() { 415vdr-plugin_src_compile() {
319 [ -z "$1" ] && vdr-plugin_src_compile prepare compile 416 [ -z "$1" ] && vdr-plugin_src_compile prepare compile
320 417
333 eerror "Please report this at bugs.gentoo.org." 430 eerror "Please report this at bugs.gentoo.org."
334 die "vdr-plugin_src_unpack not called!" 431 die "vdr-plugin_src_unpack not called!"
335 fi 432 fi
336 cd "${S}" 433 cd "${S}"
337 434
435 mkdir -p "${TMP_LIBDIR}"
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="${TMP_LIBDIR}" \
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
371 cd "${S}" 471
472 local p_list="" p_name
473
474 cd "${TMP_LIBDIR}"
475 for p in libvdr-*.so.*; do
476 p_name="${p%.so*}"
477 p_name="${p_name#lib}"
478 p_list="${p_list} ${p_name}"
479
372 insinto "${VDR_PLUGIN_DIR}" 480 insinto "${VDR_PLUGIN_DIR}"
373 doins libvdr-*.so.* 481 doins "$p"
482 done
374 483
375 if [[ ${USE_GETTEXT} = 1 && -d ${TMP_LOCALE_DIR} ]]; then 484 create_header_checksum_file ${p_list}
485 create_plugindb_file ${p_list}
486
487 if vdr_has_gettext && [[ -d ${TMP_LOCALE_DIR} ]]; then
376 einfo "Installing locales" 488 einfo "Installing locales"
377 cd "${TMP_LOCALE_DIR}" 489 cd "${TMP_LOCALE_DIR}"
378 insinto "${LOCDIR}" 490 insinto "${LOCDIR}"
379 doins -r * 491 doins -r *
380 fi 492 fi
398 510
399 if [[ -n ${VDR_RCADDON_FILE} ]]; then 511 if [[ -n ${VDR_RCADDON_FILE} ]]; then
400 insinto "${VDR_RC_DIR}" 512 insinto "${VDR_RC_DIR}"
401 newins "${VDR_RCADDON_FILE}" plugin-${VDRPLUGIN}.sh 513 newins "${VDR_RCADDON_FILE}" plugin-${VDRPLUGIN}.sh
402 fi 514 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} 515}
415 516
416vdr-plugin_pkg_postinst() { 517vdr-plugin_pkg_postinst() {
417 vdr-plugin_print_enable_command 518 vdr-plugin_print_enable_command
418 519
425 526
426vdr-plugin_pkg_postrm() { 527vdr-plugin_pkg_postrm() {
427 delete_orphan_plugindb_file 528 delete_orphan_plugindb_file
428} 529}
429 530
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() { 531vdr-plugin_pkg_config() {
532 ewarn "emerge --config ${PN} is no longer supported"
469 vdr-plugin_print_enable_command 533 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} 534}
485 535
486EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postinst pkg_postrm pkg_config 536EXPORT_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.60

  ViewVC Help
Powered by ViewVC 1.1.20