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

Contents of /eclass/vdr-plugin.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.72 - (hide annotations) (download)
Fri Jan 28 17:07:03 2011 UTC (3 years, 9 months ago) by hd_brummy
Branch: MAIN
Changes since 1.71: +13 -3 lines
addapted to EAPI=3

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.72 # $Header: /var/cvsroot/gentoo-x86/eclass/vdr-plugin.eclass,v 1.71 2009/10/11 11:49:05 maekke 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     LOCDIR="/usr/share/vdr/locale"
409    
410 zzam 1.69 if ! has_vdr; then
411     # set to invalid values to detect abuses
412     VDRVERSION="eclass_no_vdr_installed"
413     APIVERSION="eclass_no_vdr_installed"
414    
415     if [[ "${GENTOO_VDR_CONDITIONAL:-no}" = "yes" ]] && ! use vdr; then
416     einfo "VDR not found!"
417     else
418     # if vdr is required
419     die "VDR not found!"
420     fi
421     return
422     fi
423 maekke 1.71
424 zzam 1.50 VDRVERSION=$(awk -F'"' '/define VDRVERSION/ {print $2}' "${VDR_INCLUDE_DIR}"/config.h)
425     APIVERSION=$(awk -F'"' '/define APIVERSION/ {print $2}' "${VDR_INCLUDE_DIR}"/config.h)
426 zzam 1.18 [[ -z ${APIVERSION} ]] && APIVERSION="${VDRVERSION}"
427    
428 zzam 1.55 einfo "Compiling against"
429     einfo "\tvdr-${VDRVERSION} [API version ${APIVERSION}]"
430 zzam 1.1 }
431    
432 zzam 1.66 vdr-plugin_src_util() {
433 zzam 1.1
434     while [ "$1" ]; do
435    
436     case "$1" in
437 zzam 1.66 all)
438     vdr-plugin_src_util unpack add_local_patch patchmakefile i18n
439     ;;
440 zzam 1.68 prepare|all_but_unpack)
441 zzam 1.66 vdr-plugin_src_util add_local_patch patchmakefile i18n
442 zzam 1.34 ;;
443 zzam 1.1 unpack)
444 zzam 1.12 base_src_unpack
445 zzam 1.1 ;;
446 zzam 1.55 add_local_patch)
447     cd "${S}" || die "Could not change to plugin-source-directory!"
448     vdr_add_local_patch
449     ;;
450 zzam 1.1 patchmakefile)
451 zzam 1.55 cd "${S}" || die "Could not change to plugin-source-directory!"
452     vdr_patchmakefile
453 zzam 1.1 ;;
454 zzam 1.55 i18n)
455     cd "${S}" || die "Could not change to plugin-source-directory!"
456     vdr_i18n
457 hd_brummy 1.27 ;;
458 zzam 1.1 esac
459    
460     shift
461     done
462     }
463    
464 zzam 1.66 vdr-plugin_src_unpack() {
465     if [[ -z ${VDR_INCLUDE_DIR} ]]; then
466     eerror "Wrong use of vdr-plugin.eclass."
467     eerror "An ebuild for a vdr-plugin will not work without calling vdr-plugin_pkg_setup."
468     echo
469     eerror "Please report this at bugs.gentoo.org."
470     die "vdr-plugin_pkg_setup not called!"
471     fi
472     if [ -z "$1" ]; then
473     case "${EAPI:-0}" in
474 hd_brummy 1.72 2|3)
475 zzam 1.66 vdr-plugin_src_util unpack
476     ;;
477     *)
478     vdr-plugin_src_util all
479     ;;
480     esac
481    
482     else
483     vdr-plugin_src_util $@
484     fi
485     }
486    
487     vdr-plugin_src_prepare() {
488 zzam 1.67 base_src_prepare
489 zzam 1.68 vdr-plugin_src_util prepare
490 zzam 1.66 }
491    
492 zzam 1.1 vdr-plugin_src_compile() {
493 zzam 1.68 [ -z "$1" ] && vdr-plugin_src_compile copy_source compile
494 zzam 1.6
495 zzam 1.7 while [ "$1" ]; do
496    
497     case "$1" in
498 zzam 1.68 copy_source)
499 zzam 1.7 [[ -n "${VDRSOURCE_DIR}" ]] && vdr-plugin_copy_source_tree
500     ;;
501     compile)
502 zzam 1.33 if [[ ! -f ${WORKDIR}/.vdr-plugin_makefile_patched ]]; then
503 zzam 1.32 eerror "Wrong use of vdr-plugin.eclass."
504     eerror "An ebuild for a vdr-plugin will not work without"
505     eerror "calling vdr-plugin_src_unpack to patch the Makefile."
506     echo
507     eerror "Please report this at bugs.gentoo.org."
508     die "vdr-plugin_src_unpack not called!"
509     fi
510 zzam 1.50 cd "${S}"
511 zzam 1.7
512 zzam 1.65 BUILD_TARGETS=${BUILD_TARGETS:-${VDRPLUGIN_MAKE_TARGET:-all}}
513    
514 zzam 1.48 emake ${BUILD_PARAMS} \
515 zzam 1.65 ${BUILD_TARGETS} \
516 zzam 1.48 LOCALEDIR="${TMP_LOCALE_DIR}" \
517 zzam 1.61 LIBDIR="${S}" \
518 zzam 1.60 TMPDIR="${T}" \
519 zzam 1.48 || die "emake failed"
520 zzam 1.7 ;;
521     esac
522 zzam 1.1
523 zzam 1.7 shift
524     done
525 zzam 1.1 }
526    
527     vdr-plugin_src_install() {
528 zzam 1.6 [[ -n "${VDRSOURCE_DIR}" ]] && vdr-plugin_install_source_tree
529 zzam 1.46 cd "${WORKDIR}"
530 zzam 1.1
531 zzam 1.22 if [[ -n ${VDR_MAINTAINER_MODE} ]]; then
532 zzam 1.50 local mname="${P}-Makefile"
533     cp "${S}"/Makefile "${mname}.patched"
534     cp Makefile.before "${mname}.before"
535 zzam 1.22
536 zzam 1.50 diff -u "${mname}.before" "${mname}.patched" > "${mname}.diff"
537 zzam 1.22
538     insinto "/usr/share/vdr/maintainer-data/makefile-changes"
539 zzam 1.50 doins "${mname}.diff"
540 zzam 1.22
541     insinto "/usr/share/vdr/maintainer-data/makefile-before"
542 zzam 1.50 doins "${mname}.before"
543 zzam 1.22
544     insinto "/usr/share/vdr/maintainer-data/makefile-patched"
545 zzam 1.50 doins "${mname}.patched"
546 zzam 1.22
547     fi
548    
549 zzam 1.60
550 zzam 1.61
551     cd "${S}"
552     insinto "${VDR_PLUGIN_DIR}"
553     doins libvdr-*.so.*
554    
555     # create list of all created plugin libs
556 zzam 1.64 vdr_plugin_list=""
557     local p_name
558 zzam 1.60 for p in libvdr-*.so.*; do
559     p_name="${p%.so*}"
560     p_name="${p_name#lib}"
561 zzam 1.64 vdr_plugin_list="${vdr_plugin_list} ${p_name}"
562 zzam 1.60 done
563    
564 zzam 1.64 create_header_checksum_file ${vdr_plugin_list}
565     create_plugindb_file ${vdr_plugin_list}
566 zzam 1.48
567 zzam 1.56 if vdr_has_gettext && [[ -d ${TMP_LOCALE_DIR} ]]; then
568 zzam 1.48 einfo "Installing locales"
569     cd "${TMP_LOCALE_DIR}"
570     insinto "${LOCDIR}"
571     doins -r *
572     fi
573    
574     cd "${S}"
575 zzam 1.23 local docfile
576     for docfile in README* HISTORY CHANGELOG; do
577     [[ -f ${docfile} ]] && dodoc ${docfile}
578     done
579 zzam 1.2
580 zzam 1.17 # if VDR_CONFD_FILE is empty and ${FILESDIR}/confd exists take it
581     [[ -z ${VDR_CONFD_FILE} ]] && [[ -e ${FILESDIR}/confd ]] && VDR_CONFD_FILE=${FILESDIR}/confd
582    
583     if [[ -n ${VDR_CONFD_FILE} ]]; then
584 zzam 1.44 newconfd "${VDR_CONFD_FILE}" vdr.${VDRPLUGIN}
585 zzam 1.17 fi
586    
587    
588     # if VDR_RCADDON_FILE is empty and ${FILESDIR}/rc-addon.sh exists take it
589     [[ -z ${VDR_RCADDON_FILE} ]] && [[ -e ${FILESDIR}/rc-addon.sh ]] && VDR_RCADDON_FILE=${FILESDIR}/rc-addon.sh
590    
591     if [[ -n ${VDR_RCADDON_FILE} ]]; then
592     insinto "${VDR_RC_DIR}"
593     newins "${VDR_RCADDON_FILE}" plugin-${VDRPLUGIN}.sh
594     fi
595 zzam 1.1 }
596    
597 zzam 1.50 vdr-plugin_pkg_postinst() {
598     vdr-plugin_print_enable_command
599    
600 zzam 1.17 if [[ -n "${VDR_CONFD_FILE}" ]]; then
601 zzam 1.50 elog "Please have a look at the config-file"
602     elog "\t/etc/conf.d/vdr.${VDRPLUGIN}"
603 hd_brummy 1.40 elog
604 zzam 1.13 fi
605 zzam 1.1 }
606    
607 zzam 1.2 vdr-plugin_pkg_postrm() {
608 zzam 1.37 delete_orphan_plugindb_file
609 zzam 1.2 }
610    
611 zzam 1.36 vdr-plugin_pkg_config() {
612 zzam 1.54 ewarn "emerge --config ${PN} is no longer supported"
613 zzam 1.50 vdr-plugin_print_enable_command
614 zzam 1.36 }
615    
616 zzam 1.66 case "${EAPI:-0}" in
617 hd_brummy 1.72 2|3)
618 zzam 1.66 EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_compile src_install pkg_postinst pkg_postrm pkg_config
619     ;;
620     *)
621     EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postinst pkg_postrm pkg_config
622     ;;
623     esac

  ViewVC Help
Powered by ViewVC 1.1.20