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

Contents of /eclass/vdr-plugin.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.69 - (hide annotations) (download)
Tue Mar 24 21:10:13 2009 UTC (5 years, 8 months ago) by zzam
Branch: MAIN
Changes since 1.68: +27 -1 lines
Make vdr conditional when GENTOO_VDR_CONDITIONAL=yes is set. This is for cases like vdr-xineliboutput which want to compile vdr-plugins based on useflag vdr.

1 zzam 1.1 # Copyright 1999-2005 Gentoo Foundation
2     # Distributed under the terms of the GNU General Public License v2
3 zzam 1.69 # $Header: /var/cvsroot/gentoo-x86/eclass/vdr-plugin.eclass,v 1.68 2009/03/06 09:09:29 zzam Exp $
4 zzam 1.1 #
5     # Author:
6     # Matthias Schwarzott <zzam@gentoo.org>
7 hd_brummy 1.27 # Joerg Bornkessel <hd_brummy@gentoo.org>
8 zzam 1.1
9     # vdr-plugin.eclass
10     #
11     # eclass to create ebuilds for vdr plugins
12     #
13    
14     # Example ebuild (vdr-femon):
15     #
16     # inherit vdr-plugin
17     # IUSE=""
18     # SLOT="0"
19     # DESCRIPTION="vdr Plugin: DVB Frontend Status Monitor (signal strengt/noise)"
20     # HOMEPAGE="http://www.saunalahti.fi/~rahrenbe/vdr/femon/"
21     # SRC_URI="http://www.saunalahti.fi/~rahrenbe/vdr/femon/files/${P}.tgz"
22     # LICENSE="GPL-2"
23     # KEYWORDS="~x86"
24     # DEPEND=">=media-video/vdr-1.3.27"
25     #
26 swegener 1.4 #
27 zzam 1.1
28 zzam 1.17 # Installation of a config file for the plugin
29     #
30     # If ${VDR_CONFD_FILE} is set install this file
31     # else install ${FILESDIR}/confd if it exists.
32 zzam 1.2
33 zzam 1.17 # Gets installed as /etc/conf.d/vdr.${VDRPLUGIN}.
34     # For the plugin vdr-femon this would be /etc/conf.d/vdr.femon
35 zzam 1.2
36    
37 zzam 1.17 # Installation of an rc-addon file for the plugin
38     #
39     # If ${VDR_RCADDON_FILE} is set install this file
40     # else install ${FILESDIR}/rc-addon.sh if it exists.
41     #
42 zzam 1.22 # Gets installed under ${VDR_RC_DIR}/plugin-${VDRPLUGIN}.sh
43 zzam 1.35 # (in example vdr-femon this would be /usr/share/vdr/rcscript/plugin-femon.sh)
44 zzam 1.2 #
45     # This file is sourced by the startscript when plugin is activated in /etc/conf.d/vdr
46     # It could be used for special startup actions for this plugins, or to create the
47     # plugin command line options from a nicer version of a conf.d file.
48 zzam 1.1
49 hd_brummy 1.27 # HowTo use own local patches; Example
50     #
51     # Add to your /etc/make.conf:
52     # VDR_LOCAL_PATCHES_DIR="/usr/local/patch"
53     #
54     # Add two DIR's in your local patch dir, ${PN}/${PV},
55     # e.g for vdr-burn-0.1.0 should be:
56     # /usr/local/patch/vdr-burn/0.1.0/
57     #
58     # all patches which ending on diff or patch in this DIR will automatically applied
59     #
60    
61 zzam 1.22 inherit base multilib eutils flag-o-matic
62 zzam 1.1
63 zzam 1.39 IUSE=""
64 zzam 1.15
65 zzam 1.1 # Name of the plugin stripped from all vdrplugin-, vdr- and -cvs pre- and postfixes
66     VDRPLUGIN="${PN/#vdrplugin-/}"
67 zzam 1.2 VDRPLUGIN="${VDRPLUGIN/#vdr-/}"
68 zzam 1.1 VDRPLUGIN="${VDRPLUGIN/%-cvs/}"
69    
70     DESCRIPTION="vdr Plugin: ${VDRPLUGIN} (based on vdr-plugin.eclass)"
71    
72     # works in most cases
73     S="${WORKDIR}/${VDRPLUGIN}-${PV}"
74    
75     # depend on headers for DVB-driver
76 zzam 1.65 COMMON_DEPEND=">=media-tv/gentoo-vdr-scripts-0.4.2"
77    
78     DEPEND="${COMMON_DEPEND}
79 zzam 1.50 media-tv/linuxtv-dvb-headers"
80 zzam 1.65 RDEPEND="${COMMON_DEPEND}
81     >=app-admin/eselect-vdr-0.0.2"
82 zzam 1.2
83 zzam 1.69 # this is a hack for ebuilds like vdr-xineliboutput that want to
84     # conditionally install a vdr-plugin
85     if [[ "${GENTOO_VDR_CONDITIONAL:-no}" = "yes" ]]; then
86     # make DEPEND conditional
87     IUSE="${IUSE} vdr"
88     DEPEND="vdr? ( ${DEPEND} )"
89     RDEPEND="vdr? ( ${RDEPEND} )"
90     fi
91    
92 zzam 1.37 # New method of storing plugindb
93     # Called from src_install
94     # file maintained by normal portage-methods
95     create_plugindb_file() {
96     local NEW_VDRPLUGINDB_DIR=/usr/share/vdr/vdrplugin-rebuild/
97 zzam 1.50 local DB_FILE="${NEW_VDRPLUGINDB_DIR}/${CATEGORY}-${PF}"
98     insinto "${NEW_VDRPLUGINDB_DIR}"
99 zzam 1.52
100     # BUG: portage-2.1.4_rc9 will delete the EBUILD= line, so we cannot use this code.
101     # cat <<-EOT > "${D}/${DB_FILE}"
102     # VDRPLUGIN_DB=1
103     # CREATOR=ECLASS
104     # EBUILD=${CATEGORY}/${PN}
105     # EBUILD_V=${PVR}
106     # EOT
107     {
108     echo "VDRPLUGIN_DB=1"
109     echo "CREATOR=ECLASS"
110     echo "EBUILD=${CATEGORY}/${PN}"
111     echo "EBUILD_V=${PVR}"
112 zzam 1.60 echo "PLUGINS=\"$@\""
113 zzam 1.52 } > "${D}/${DB_FILE}"
114 zzam 1.37 }
115    
116     # Delete files created outside of vdr-plugin.eclass
117     # vdrplugin-rebuild.ebuild converted plugindb and files are
118     # not deleted by portage itself - should only be needed as
119     # long as not every system has switched over to
120 zzam 1.51 # vdrplugin-rebuild-0.2 / gentoo-vdr-scripts-0.4.2
121 zzam 1.37 delete_orphan_plugindb_file() {
122 hd_brummy 1.40 #elog Testing for orphaned plugindb file
123 zzam 1.37 local NEW_VDRPLUGINDB_DIR=/usr/share/vdr/vdrplugin-rebuild/
124 zzam 1.50 local DB_FILE="${ROOT}/${NEW_VDRPLUGINDB_DIR}/${CATEGORY}-${PF}"
125 zzam 1.37
126     # file exists
127     [[ -f ${DB_FILE} ]] || return
128    
129     # will portage handle the file itself
130 zzam 1.50 if grep -q CREATOR=ECLASS "${DB_FILE}"; then
131 hd_brummy 1.40 #elog file owned by eclass - don't touch it
132 zzam 1.37 return
133     fi
134    
135 hd_brummy 1.40 elog "Removing orphaned plugindb-file."
136 zzam 1.41 elog "\t#rm ${DB_FILE}"
137 zzam 1.50 rm "${DB_FILE}"
138 zzam 1.37 }
139    
140 zzam 1.45
141     create_header_checksum_file()
142     {
143     # Danger: Not using $ROOT here, as compile will also not use it !!!
144     # If vdr in $ROOT and / differ, plugins will not run anyway
145    
146 zzam 1.60 local CHKSUM="header-md5-vdr"
147    
148 zzam 1.45 if [[ -f ${VDR_CHECKSUM_DIR}/header-md5-vdr ]]; then
149 zzam 1.60 cp "${VDR_CHECKSUM_DIR}/header-md5-vdr" "${CHKSUM}"
150     elif type -p md5sum >/dev/null 2>&1; then
151     (
152     cd "${VDR_INCLUDE_DIR}"
153     md5sum *.h libsi/*.h|LC_ALL=C sort --key=2
154     ) > "${CHKSUM}"
155 zzam 1.45 else
156 zzam 1.60 die "Could not create md5 checksum of headers"
157 zzam 1.45 fi
158 zzam 1.60
159     insinto "${VDR_CHECKSUM_DIR}"
160     local p_name
161     for p_name; do
162     newins "${CHKSUM}" "header-md5-${p_name}"
163     done
164 zzam 1.45 }
165    
166 zzam 1.55 fix_vdr_libsi_include()
167     {
168     einfo "Fixing include of libsi-headers"
169     local f
170     for f; do
171     sed -i "${f}" \
172     -e '/#include/s:"\(.*libsi.*\)":<\1>:' \
173     -e '/#include/s:<.*\(libsi/.*\)>:<vdr/\1>:'
174     done
175     }
176    
177     vdr_patchmakefile() {
178     einfo "Patching Makefile"
179     [[ -e Makefile ]] || die "Makefile of plugin can not be found!"
180     cp Makefile "${WORKDIR}"/Makefile.before
181    
182 zzam 1.60 # plugin makefiles use VDRDIR in strange ways
183     # assumptions:
184     # 1. $(VDRDIR) contains Make.config
185     # 2. $(VDRDIR) contains config.h
186     # 3. $(VDRDIR)/include/vdr contains the headers
187     # 4. $(VDRDIR) contains main vdr Makefile
188     # 5. $(VDRDIR)/locale exists
189     # 6. $(VDRDIR) allows to access vdr source files
190     #
191     # We only have one directory (for now /usr/include/vdr),
192     # that contains vdr-headers and Make.config.
193     # To satisfy 1-3 we do this:
194     # Set VDRDIR=/usr/include/vdr
195     # Set VDRINCDIR=/usr/include
196     # Change $(VDRDIR)/include to $(VDRINCDIR)
197    
198 zzam 1.63 ebegin " Setting paths"
199 zzam 1.55 sed -i Makefile \
200     -e "s:^VDRDIR.*$:VDRDIR = ${VDR_INCLUDE_DIR}:" \
201 zzam 1.60 -e "/^VDRDIR/a VDRINCDIR = ${VDR_INCLUDE_DIR%/vdr}" \
202     -e '/VDRINCDIR.*=/!s:$(VDRDIR)/include:$(VDRINCDIR):' \
203     \
204 zzam 1.59 -e 's:-I$(DVBDIR)/include::' \
205     -e 's:-I$(DVBDIR)::'
206 zzam 1.60 eend 0
207 zzam 1.55
208     # maybe needed for multiproto:
209     #sed -i Makefile \
210     # -e "s:^DVBDIR.*$:DVBDIR = ${DVB_INCLUDE_DIR}:" \
211     # -e 's:-I$(DVBDIR)/include:-I$(DVBDIR):'
212    
213     if ! grep -q APIVERSION Makefile; then
214     ebegin " Converting to APIVERSION"
215     sed -i Makefile \
216     -e 's:^APIVERSION = :APIVERSION ?= :' \
217     -e 's:$(LIBDIR)/$@.$(VDRVERSION):$(LIBDIR)/$@.$(APIVERSION):' \
218     -e '/VDRVERSION =/a\APIVERSION = $(shell sed -ne '"'"'/define APIVERSION/s/^.*"\\(.*\\)".*$$/\\1/p'"'"' $(VDRDIR)/config.h)'
219     eend $?
220     fi
221    
222     # Correcting Compile-Flags
223     # Do not overwrite CXXFLAGS, add LDFLAGS if missing
224     sed -i Makefile \
225     -e '/^CXXFLAGS[[:space:]]*=/s/=/?=/' \
226     -e '/LDFLAGS/!s:-shared:$(LDFLAGS) -shared:'
227    
228     # Disabling file stripping, useful for debugging
229     sed -i Makefile \
230     -e '/@.*strip/d' \
231     -e '/strip \$(LIBDIR)\/\$@/d' \
232     -e '/@.*\$(STRIP)/d'
233    
234     # Use a file instead of a variable as single-stepping via ebuild
235     # destroys environment.
236     touch "${WORKDIR}"/.vdr-plugin_makefile_patched
237     }
238    
239     vdr_add_local_patch() {
240     if test -d "${VDR_LOCAL_PATCHES_DIR}/${PN}"; then
241     echo
242     einfo "Applying local patches"
243     for LOCALPATCH in "${VDR_LOCAL_PATCHES_DIR}/${PN}/${PV}"/*.{diff,patch}; do
244     test -f "${LOCALPATCH}" && epatch "${LOCALPATCH}"
245     done
246     fi
247     }
248    
249 zzam 1.56 vdr_has_gettext() {
250     has_version ">=media-video/vdr-1.5.7"
251     }
252    
253     plugin_has_gettext() {
254     [[ -d po ]]
255     }
256    
257     vdr_i18n_convert_to_gettext() {
258     local i18n_tool="${ROOT}/usr/share/vdr/bin/i18n-to-gettext.pl"
259    
260     if [[ ${NO_GETTEXT_HACK} == "1" ]]; then
261     ewarn "Conversion to gettext disabled in ebuild"
262     return 1
263     fi
264    
265     if [[ ! -x ${i18n_tool} ]]; then
266     eerror "Missing ${i18n_tool}"
267     eerror "Please re-emerge vdr"
268     die "Missing ${i18n_tool}"
269     fi
270    
271     ebegin "Auto converting translations to gettext"
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     if [[ -f Makefile.new ]]; then
289     mv Makefile.new Makefile
290     eend 0 ""
291     else
292     eend 1 "Conversion to gettext failed. Plugin needs fixing."
293     return 1
294     fi
295     }
296 zzam 1.55
297 zzam 1.56 vdr_i18n_disable_gettext() {
298 zzam 1.57 ebegin "Disabling gettext support in plugin"
299 zzam 1.56 # Remove i18n Target if using older vdr
300     sed -i Makefile \
301     -e '/^all:/s/ i18n//'
302     eend 0
303     }
304 zzam 1.55
305 zzam 1.56 vdr_i18n() {
306     if vdr_has_gettext; then
307     einfo "VDR has gettext support"
308     if plugin_has_gettext; then
309     einfo "Plugin has gettext support, fine"
310 zzam 1.62 if [[ ${NO_GETTEXT_HACK} == "1" ]]; then
311     ewarn "Please remove left over NO_GETTEXT_HACK."
312     fi
313 zzam 1.55 else
314 zzam 1.56 vdr_i18n_convert_to_gettext
315     if [[ $? != 0 ]]; then
316 zzam 1.58 eerror ""
317     eerror "Plugin will have only english OSD texts"
318     eerror "it needs manual fixing."
319 zzam 1.56 fi
320     fi
321     else
322     einfo "VDR has no gettext support"
323     if plugin_has_gettext; then
324     vdr_i18n_disable_gettext
325 zzam 1.55 fi
326     fi
327     }
328    
329     vdr-plugin_copy_source_tree() {
330     pushd . >/dev/null
331     cp -r "${S}" "${T}"/source-tree
332     cd "${T}"/source-tree
333     cp "${WORKDIR}"/Makefile.before Makefile
334 zzam 1.59 # TODO: Fix this, maybe no longer needed
335 zzam 1.55 sed -i Makefile \
336     -e "s:^DVBDIR.*$:DVBDIR = ${DVB_INCLUDE_DIR}:" \
337     -e 's:^CXXFLAGS:#CXXFLAGS:' \
338     -e 's:-I$(DVBDIR)/include:-I$(DVBDIR):' \
339     -e 's:-I$(VDRDIR) -I$(DVBDIR):-I$(DVBDIR) -I$(VDRDIR):'
340     popd >/dev/null
341     }
342    
343     vdr-plugin_install_source_tree() {
344     einfo "Installing sources"
345     destdir="${VDRSOURCE_DIR}/vdr-${VDRVERSION}/PLUGINS/src/${VDRPLUGIN}"
346     insinto "${destdir}-${PV}"
347     doins -r "${T}"/source-tree/*
348    
349     dosym "${VDRPLUGIN}-${PV}" "${destdir}"
350     }
351    
352     vdr-plugin_print_enable_command() {
353 zzam 1.64 local p_name c=0 l=""
354     for p_name in ${vdr_plugin_list}; do
355     c=$(( c+1 ))
356     l="$l ${p_name#vdr-}"
357     done
358    
359 zzam 1.55 elog
360 zzam 1.64 case $c in
361     1) elog "Installed plugin${l}" ;;
362     *) elog "Installed $c plugins:${l}" ;;
363     esac
364     elog "To activate a plugin execute this command:"
365     elog "\teselect vdr-plugin enable <plugin_name> ..."
366 zzam 1.55 elog
367     }
368    
369 zzam 1.69 has_vdr() {
370     [[ -f "${VDR_INCLUDE_DIR}"/config.h ]]
371     }
372 zzam 1.55
373     ## exported functions
374    
375 zzam 1.1 vdr-plugin_pkg_setup() {
376     # -fPIC is needed for shared objects on some platforms (amd64 and others)
377     append-flags -fPIC
378    
379 zzam 1.22 # Where should the plugins live in the filesystem
380     VDR_PLUGIN_DIR="/usr/$(get_libdir)/vdr/plugins"
381     VDR_CHECKSUM_DIR="${VDR_PLUGIN_DIR%/plugins}/checksums"
382    
383 zzam 1.35 # was /usr/lib/... some time ago
384     # since gentoo-vdr-scripts-0.3.6 it works with /usr/share/...
385     VDR_RC_DIR="/usr/share/vdr/rcscript"
386 zzam 1.22
387     # Pathes to includes
388 zzam 1.29 VDR_INCLUDE_DIR="/usr/include/vdr"
389 zzam 1.22 DVB_INCLUDE_DIR="/usr/include"
390    
391 zzam 1.48 TMP_LOCALE_DIR="${WORKDIR}/tmp-locale"
392     LOCDIR="/usr/share/vdr/locale"
393    
394 zzam 1.69 if ! has_vdr; then
395     # set to invalid values to detect abuses
396     VDRVERSION="eclass_no_vdr_installed"
397     APIVERSION="eclass_no_vdr_installed"
398    
399     if [[ "${GENTOO_VDR_CONDITIONAL:-no}" = "yes" ]] && ! use vdr; then
400     einfo "VDR not found!"
401     else
402     # if vdr is required
403     die "VDR not found!"
404     fi
405     return
406     fi
407    
408 zzam 1.50 VDRVERSION=$(awk -F'"' '/define VDRVERSION/ {print $2}' "${VDR_INCLUDE_DIR}"/config.h)
409     APIVERSION=$(awk -F'"' '/define APIVERSION/ {print $2}' "${VDR_INCLUDE_DIR}"/config.h)
410 zzam 1.18 [[ -z ${APIVERSION} ]] && APIVERSION="${VDRVERSION}"
411    
412 zzam 1.55 einfo "Compiling against"
413     einfo "\tvdr-${VDRVERSION} [API version ${APIVERSION}]"
414 zzam 1.1 }
415    
416 zzam 1.66 vdr-plugin_src_util() {
417 zzam 1.1
418     while [ "$1" ]; do
419    
420     case "$1" in
421 zzam 1.66 all)
422     vdr-plugin_src_util unpack add_local_patch patchmakefile i18n
423     ;;
424 zzam 1.68 prepare|all_but_unpack)
425 zzam 1.66 vdr-plugin_src_util add_local_patch patchmakefile i18n
426 zzam 1.34 ;;
427 zzam 1.1 unpack)
428 zzam 1.12 base_src_unpack
429 zzam 1.1 ;;
430 zzam 1.55 add_local_patch)
431     cd "${S}" || die "Could not change to plugin-source-directory!"
432     vdr_add_local_patch
433     ;;
434 zzam 1.1 patchmakefile)
435 zzam 1.55 cd "${S}" || die "Could not change to plugin-source-directory!"
436     vdr_patchmakefile
437 zzam 1.1 ;;
438 zzam 1.55 i18n)
439     cd "${S}" || die "Could not change to plugin-source-directory!"
440     vdr_i18n
441 hd_brummy 1.27 ;;
442 zzam 1.1 esac
443    
444     shift
445     done
446     }
447    
448 zzam 1.66 vdr-plugin_src_unpack() {
449     if [[ -z ${VDR_INCLUDE_DIR} ]]; then
450     eerror "Wrong use of vdr-plugin.eclass."
451     eerror "An ebuild for a vdr-plugin will not work without calling vdr-plugin_pkg_setup."
452     echo
453     eerror "Please report this at bugs.gentoo.org."
454     die "vdr-plugin_pkg_setup not called!"
455     fi
456     if [ -z "$1" ]; then
457     case "${EAPI:-0}" in
458     2)
459     vdr-plugin_src_util unpack
460     ;;
461     *)
462     vdr-plugin_src_util all
463     ;;
464     esac
465    
466     else
467     vdr-plugin_src_util $@
468     fi
469     }
470    
471     vdr-plugin_src_prepare() {
472 zzam 1.67 base_src_prepare
473 zzam 1.68 vdr-plugin_src_util prepare
474 zzam 1.66 }
475    
476 zzam 1.1 vdr-plugin_src_compile() {
477 zzam 1.68 [ -z "$1" ] && vdr-plugin_src_compile copy_source compile
478 zzam 1.6
479 zzam 1.7 while [ "$1" ]; do
480    
481     case "$1" in
482 zzam 1.68 copy_source)
483 zzam 1.7 [[ -n "${VDRSOURCE_DIR}" ]] && vdr-plugin_copy_source_tree
484     ;;
485     compile)
486 zzam 1.33 if [[ ! -f ${WORKDIR}/.vdr-plugin_makefile_patched ]]; then
487 zzam 1.32 eerror "Wrong use of vdr-plugin.eclass."
488     eerror "An ebuild for a vdr-plugin will not work without"
489     eerror "calling vdr-plugin_src_unpack to patch the Makefile."
490     echo
491     eerror "Please report this at bugs.gentoo.org."
492     die "vdr-plugin_src_unpack not called!"
493     fi
494 zzam 1.50 cd "${S}"
495 zzam 1.7
496 zzam 1.65 BUILD_TARGETS=${BUILD_TARGETS:-${VDRPLUGIN_MAKE_TARGET:-all}}
497    
498 zzam 1.48 emake ${BUILD_PARAMS} \
499 zzam 1.65 ${BUILD_TARGETS} \
500 zzam 1.48 LOCALEDIR="${TMP_LOCALE_DIR}" \
501 zzam 1.61 LIBDIR="${S}" \
502 zzam 1.60 TMPDIR="${T}" \
503 zzam 1.48 || die "emake failed"
504 zzam 1.7 ;;
505     esac
506 zzam 1.1
507 zzam 1.7 shift
508     done
509 zzam 1.1 }
510    
511     vdr-plugin_src_install() {
512 zzam 1.6 [[ -n "${VDRSOURCE_DIR}" ]] && vdr-plugin_install_source_tree
513 zzam 1.46 cd "${WORKDIR}"
514 zzam 1.1
515 zzam 1.22 if [[ -n ${VDR_MAINTAINER_MODE} ]]; then
516 zzam 1.50 local mname="${P}-Makefile"
517     cp "${S}"/Makefile "${mname}.patched"
518     cp Makefile.before "${mname}.before"
519 zzam 1.22
520 zzam 1.50 diff -u "${mname}.before" "${mname}.patched" > "${mname}.diff"
521 zzam 1.22
522     insinto "/usr/share/vdr/maintainer-data/makefile-changes"
523 zzam 1.50 doins "${mname}.diff"
524 zzam 1.22
525     insinto "/usr/share/vdr/maintainer-data/makefile-before"
526 zzam 1.50 doins "${mname}.before"
527 zzam 1.22
528     insinto "/usr/share/vdr/maintainer-data/makefile-patched"
529 zzam 1.50 doins "${mname}.patched"
530 zzam 1.22
531     fi
532    
533 zzam 1.60
534 zzam 1.61
535     cd "${S}"
536     insinto "${VDR_PLUGIN_DIR}"
537     doins libvdr-*.so.*
538    
539     # create list of all created plugin libs
540 zzam 1.64 vdr_plugin_list=""
541     local p_name
542 zzam 1.60 for p in libvdr-*.so.*; do
543     p_name="${p%.so*}"
544     p_name="${p_name#lib}"
545 zzam 1.64 vdr_plugin_list="${vdr_plugin_list} ${p_name}"
546 zzam 1.60 done
547    
548 zzam 1.64 create_header_checksum_file ${vdr_plugin_list}
549     create_plugindb_file ${vdr_plugin_list}
550 zzam 1.48
551 zzam 1.56 if vdr_has_gettext && [[ -d ${TMP_LOCALE_DIR} ]]; then
552 zzam 1.48 einfo "Installing locales"
553     cd "${TMP_LOCALE_DIR}"
554     insinto "${LOCDIR}"
555     doins -r *
556     fi
557    
558     cd "${S}"
559 zzam 1.23 local docfile
560     for docfile in README* HISTORY CHANGELOG; do
561     [[ -f ${docfile} ]] && dodoc ${docfile}
562     done
563 zzam 1.2
564 zzam 1.17 # if VDR_CONFD_FILE is empty and ${FILESDIR}/confd exists take it
565     [[ -z ${VDR_CONFD_FILE} ]] && [[ -e ${FILESDIR}/confd ]] && VDR_CONFD_FILE=${FILESDIR}/confd
566    
567     if [[ -n ${VDR_CONFD_FILE} ]]; then
568 zzam 1.44 newconfd "${VDR_CONFD_FILE}" vdr.${VDRPLUGIN}
569 zzam 1.17 fi
570    
571    
572     # if VDR_RCADDON_FILE is empty and ${FILESDIR}/rc-addon.sh exists take it
573     [[ -z ${VDR_RCADDON_FILE} ]] && [[ -e ${FILESDIR}/rc-addon.sh ]] && VDR_RCADDON_FILE=${FILESDIR}/rc-addon.sh
574    
575     if [[ -n ${VDR_RCADDON_FILE} ]]; then
576     insinto "${VDR_RC_DIR}"
577     newins "${VDR_RCADDON_FILE}" plugin-${VDRPLUGIN}.sh
578     fi
579 zzam 1.1 }
580    
581 zzam 1.50 vdr-plugin_pkg_postinst() {
582     vdr-plugin_print_enable_command
583    
584 zzam 1.17 if [[ -n "${VDR_CONFD_FILE}" ]]; then
585 zzam 1.50 elog "Please have a look at the config-file"
586     elog "\t/etc/conf.d/vdr.${VDRPLUGIN}"
587 hd_brummy 1.40 elog
588 zzam 1.13 fi
589 zzam 1.1 }
590    
591 zzam 1.2 vdr-plugin_pkg_postrm() {
592 zzam 1.37 delete_orphan_plugindb_file
593 zzam 1.2 }
594    
595 zzam 1.36 vdr-plugin_pkg_config() {
596 zzam 1.54 ewarn "emerge --config ${PN} is no longer supported"
597 zzam 1.50 vdr-plugin_print_enable_command
598 zzam 1.36 }
599    
600 zzam 1.66 case "${EAPI:-0}" in
601     2)
602     EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_compile src_install pkg_postinst pkg_postrm pkg_config
603     ;;
604     *)
605     EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postinst pkg_postrm pkg_config
606     ;;
607     esac

  ViewVC Help
Powered by ViewVC 1.1.20