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

Contents of /eclass/vdr-plugin.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.73 - (hide annotations) (download)
Sun Mar 13 19:06:26 2011 UTC (3 years, 7 months ago) by hd_brummy
Branch: MAIN
Changes since 1.72: +6 -2 lines
addapted to the new vdr locale DIR, used up from vdr-1.7.17

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

  ViewVC Help
Powered by ViewVC 1.1.20