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

Contents of /eclass/vdr-plugin.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.78 - (hide annotations) (download)
Sun Jan 15 17:11:08 2012 UTC (2 years, 9 months ago) by idl0r
Branch: MAIN
Changes since 1.77: +5 -5 lines
Add EAPI 4 support

1 idl0r 1.78 # Copyright 1999-2012 Gentoo Foundation
2 zzam 1.1 # Distributed under the terms of the GNU General Public License v2
3 idl0r 1.78 # $Header: /var/cvsroot/gentoo-x86/eclass/vdr-plugin.eclass,v 1.77 2011/12/31 01:01:56 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 idl0r 1.78 if ! has "${EAPI:-0}" 0 1 2 3 4; then
72 hd_brummy 1.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 hd_brummy 1.77 if has_version ">=media-video/vdr-1.7.22"; then
269     local i18n_tool="${ROOT}/usr/share/vdr/bin/i18n-to-gettext"
270     else
271     local i18n_tool="${ROOT}/usr/share/vdr/bin/i18n-to-gettext.pl"
272     fi
273 zzam 1.56
274     if [[ ${NO_GETTEXT_HACK} == "1" ]]; then
275     ewarn "Conversion to gettext disabled in ebuild"
276     return 1
277     fi
278    
279     if [[ ! -x ${i18n_tool} ]]; then
280     eerror "Missing ${i18n_tool}"
281     eerror "Please re-emerge vdr"
282     die "Missing ${i18n_tool}"
283     fi
284    
285     ebegin "Auto converting translations to gettext"
286     # call i18n-to-gettext tool
287     # take all texts missing tr call into special file
288     "${i18n_tool}" 2>/dev/null \
289     |sed -e '/^"/!d' \
290     -e '/^""$/d' \
291     -e 's/\(.*\)/trNOOP(\1)/' \
292     > dummy-translations-trNOOP.c
293    
294     # if there were untranslated texts just run it again
295     # now the missing calls are listed in
296     # dummy-translations-trNOOP.c
297     if [[ -s dummy-translations-trNOOP.c ]]; then
298     "${i18n_tool}" &>/dev/null
299     fi
300    
301     # now use the modified Makefile
302     if [[ -f Makefile.new ]]; then
303     mv Makefile.new Makefile
304     eend 0 ""
305     else
306     eend 1 "Conversion to gettext failed. Plugin needs fixing."
307     return 1
308     fi
309     }
310 zzam 1.55
311 zzam 1.56 vdr_i18n_disable_gettext() {
312 zzam 1.70 #einfo "Disabling gettext support in plugin"
313    
314 zzam 1.56 # Remove i18n Target if using older vdr
315     sed -i Makefile \
316     -e '/^all:/s/ i18n//'
317     }
318 zzam 1.55
319 zzam 1.56 vdr_i18n() {
320     if vdr_has_gettext; then
321 zzam 1.70 #einfo "VDR has gettext support"
322 zzam 1.56 if plugin_has_gettext; then
323 zzam 1.70 #einfo "Plugin has gettext support, fine"
324 zzam 1.62 if [[ ${NO_GETTEXT_HACK} == "1" ]]; then
325 zzam 1.70 ewarn "Please remove unneeded NO_GETTEXT_HACK from ebuild."
326 zzam 1.62 fi
327 zzam 1.55 else
328 zzam 1.56 vdr_i18n_convert_to_gettext
329     if [[ $? != 0 ]]; then
330 zzam 1.58 eerror ""
331     eerror "Plugin will have only english OSD texts"
332     eerror "it needs manual fixing."
333 zzam 1.56 fi
334     fi
335     else
336 zzam 1.70 #einfo "VDR has no gettext support"
337 zzam 1.56 if plugin_has_gettext; then
338     vdr_i18n_disable_gettext
339 zzam 1.55 fi
340     fi
341     }
342    
343     vdr-plugin_copy_source_tree() {
344     pushd . >/dev/null
345     cp -r "${S}" "${T}"/source-tree
346     cd "${T}"/source-tree
347     cp "${WORKDIR}"/Makefile.before Makefile
348 zzam 1.59 # TODO: Fix this, maybe no longer needed
349 zzam 1.55 sed -i Makefile \
350     -e "s:^DVBDIR.*$:DVBDIR = ${DVB_INCLUDE_DIR}:" \
351     -e 's:^CXXFLAGS:#CXXFLAGS:' \
352     -e 's:-I$(DVBDIR)/include:-I$(DVBDIR):' \
353     -e 's:-I$(VDRDIR) -I$(DVBDIR):-I$(DVBDIR) -I$(VDRDIR):'
354     popd >/dev/null
355     }
356    
357     vdr-plugin_install_source_tree() {
358     einfo "Installing sources"
359     destdir="${VDRSOURCE_DIR}/vdr-${VDRVERSION}/PLUGINS/src/${VDRPLUGIN}"
360     insinto "${destdir}-${PV}"
361     doins -r "${T}"/source-tree/*
362    
363     dosym "${VDRPLUGIN}-${PV}" "${destdir}"
364     }
365    
366     vdr-plugin_print_enable_command() {
367 zzam 1.64 local p_name c=0 l=""
368     for p_name in ${vdr_plugin_list}; do
369     c=$(( c+1 ))
370     l="$l ${p_name#vdr-}"
371     done
372    
373 zzam 1.55 elog
374 zzam 1.64 case $c in
375     1) elog "Installed plugin${l}" ;;
376     *) elog "Installed $c plugins:${l}" ;;
377     esac
378     elog "To activate a plugin execute this command:"
379     elog "\teselect vdr-plugin enable <plugin_name> ..."
380 zzam 1.55 elog
381     }
382    
383 zzam 1.69 has_vdr() {
384     [[ -f "${VDR_INCLUDE_DIR}"/config.h ]]
385     }
386 zzam 1.55
387     ## exported functions
388    
389 zzam 1.1 vdr-plugin_pkg_setup() {
390     # -fPIC is needed for shared objects on some platforms (amd64 and others)
391     append-flags -fPIC
392    
393 hd_brummy 1.72 # Plugins need to be compiled with position independent code, otherwise linking
394     # VDR against it will fail
395     if has_version ">=media-video/vdr-1.7.13"; then
396     append-flags -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
397     fi
398    
399 zzam 1.22 # Where should the plugins live in the filesystem
400     VDR_PLUGIN_DIR="/usr/$(get_libdir)/vdr/plugins"
401     VDR_CHECKSUM_DIR="${VDR_PLUGIN_DIR%/plugins}/checksums"
402    
403 zzam 1.35 # was /usr/lib/... some time ago
404     # since gentoo-vdr-scripts-0.3.6 it works with /usr/share/...
405     VDR_RC_DIR="/usr/share/vdr/rcscript"
406 zzam 1.22
407     # Pathes to includes
408 zzam 1.29 VDR_INCLUDE_DIR="/usr/include/vdr"
409 zzam 1.22 DVB_INCLUDE_DIR="/usr/include"
410    
411 zzam 1.48 TMP_LOCALE_DIR="${WORKDIR}/tmp-locale"
412 hd_brummy 1.75 if has_version ">=media-video/vdr-1.6.0_p2-r7"; then
413 hd_brummy 1.73 LOCDIR="/usr/share/locale"
414     else
415     LOCDIR="/usr/share/vdr/locale"
416     fi
417 zzam 1.48
418 zzam 1.69 if ! has_vdr; then
419     # set to invalid values to detect abuses
420     VDRVERSION="eclass_no_vdr_installed"
421     APIVERSION="eclass_no_vdr_installed"
422    
423     if [[ "${GENTOO_VDR_CONDITIONAL:-no}" = "yes" ]] && ! use vdr; then
424     einfo "VDR not found!"
425     else
426     # if vdr is required
427     die "VDR not found!"
428     fi
429     return
430     fi
431 maekke 1.71
432 zzam 1.50 VDRVERSION=$(awk -F'"' '/define VDRVERSION/ {print $2}' "${VDR_INCLUDE_DIR}"/config.h)
433     APIVERSION=$(awk -F'"' '/define APIVERSION/ {print $2}' "${VDR_INCLUDE_DIR}"/config.h)
434 zzam 1.18 [[ -z ${APIVERSION} ]] && APIVERSION="${VDRVERSION}"
435    
436 zzam 1.55 einfo "Compiling against"
437     einfo "\tvdr-${VDRVERSION} [API version ${APIVERSION}]"
438 zzam 1.1 }
439    
440 zzam 1.66 vdr-plugin_src_util() {
441 zzam 1.1
442     while [ "$1" ]; do
443    
444     case "$1" in
445 zzam 1.66 all)
446     vdr-plugin_src_util unpack add_local_patch patchmakefile i18n
447     ;;
448 zzam 1.68 prepare|all_but_unpack)
449 zzam 1.66 vdr-plugin_src_util add_local_patch patchmakefile i18n
450 zzam 1.34 ;;
451 zzam 1.1 unpack)
452 zzam 1.12 base_src_unpack
453 zzam 1.1 ;;
454 zzam 1.55 add_local_patch)
455     cd "${S}" || die "Could not change to plugin-source-directory!"
456     vdr_add_local_patch
457     ;;
458 zzam 1.1 patchmakefile)
459 zzam 1.55 cd "${S}" || die "Could not change to plugin-source-directory!"
460     vdr_patchmakefile
461 zzam 1.1 ;;
462 zzam 1.55 i18n)
463     cd "${S}" || die "Could not change to plugin-source-directory!"
464     vdr_i18n
465 hd_brummy 1.27 ;;
466 zzam 1.1 esac
467    
468     shift
469     done
470     }
471    
472 zzam 1.66 vdr-plugin_src_unpack() {
473     if [[ -z ${VDR_INCLUDE_DIR} ]]; then
474     eerror "Wrong use of vdr-plugin.eclass."
475     eerror "An ebuild for a vdr-plugin will not work without calling vdr-plugin_pkg_setup."
476     echo
477     eerror "Please report this at bugs.gentoo.org."
478     die "vdr-plugin_pkg_setup not called!"
479     fi
480     if [ -z "$1" ]; then
481     case "${EAPI:-0}" in
482 idl0r 1.78 2|3|4)
483 zzam 1.66 vdr-plugin_src_util unpack
484     ;;
485     *)
486     vdr-plugin_src_util all
487     ;;
488     esac
489    
490     else
491     vdr-plugin_src_util $@
492     fi
493     }
494    
495     vdr-plugin_src_prepare() {
496 zzam 1.67 base_src_prepare
497 zzam 1.68 vdr-plugin_src_util prepare
498 zzam 1.66 }
499    
500 zzam 1.1 vdr-plugin_src_compile() {
501 zzam 1.68 [ -z "$1" ] && vdr-plugin_src_compile copy_source compile
502 zzam 1.6
503 zzam 1.7 while [ "$1" ]; do
504    
505     case "$1" in
506 zzam 1.68 copy_source)
507 zzam 1.7 [[ -n "${VDRSOURCE_DIR}" ]] && vdr-plugin_copy_source_tree
508     ;;
509     compile)
510 zzam 1.33 if [[ ! -f ${WORKDIR}/.vdr-plugin_makefile_patched ]]; then
511 zzam 1.32 eerror "Wrong use of vdr-plugin.eclass."
512     eerror "An ebuild for a vdr-plugin will not work without"
513     eerror "calling vdr-plugin_src_unpack to patch the Makefile."
514     echo
515     eerror "Please report this at bugs.gentoo.org."
516     die "vdr-plugin_src_unpack not called!"
517     fi
518 zzam 1.50 cd "${S}"
519 zzam 1.7
520 zzam 1.65 BUILD_TARGETS=${BUILD_TARGETS:-${VDRPLUGIN_MAKE_TARGET:-all}}
521    
522 zzam 1.48 emake ${BUILD_PARAMS} \
523 zzam 1.65 ${BUILD_TARGETS} \
524 zzam 1.48 LOCALEDIR="${TMP_LOCALE_DIR}" \
525 zzam 1.61 LIBDIR="${S}" \
526 zzam 1.60 TMPDIR="${T}" \
527 zzam 1.48 || die "emake failed"
528 zzam 1.7 ;;
529     esac
530 zzam 1.1
531 zzam 1.7 shift
532     done
533 zzam 1.1 }
534    
535     vdr-plugin_src_install() {
536 zzam 1.6 [[ -n "${VDRSOURCE_DIR}" ]] && vdr-plugin_install_source_tree
537 zzam 1.46 cd "${WORKDIR}"
538 zzam 1.1
539 zzam 1.22 if [[ -n ${VDR_MAINTAINER_MODE} ]]; then
540 zzam 1.50 local mname="${P}-Makefile"
541     cp "${S}"/Makefile "${mname}.patched"
542     cp Makefile.before "${mname}.before"
543 zzam 1.22
544 zzam 1.50 diff -u "${mname}.before" "${mname}.patched" > "${mname}.diff"
545 zzam 1.22
546     insinto "/usr/share/vdr/maintainer-data/makefile-changes"
547 zzam 1.50 doins "${mname}.diff"
548 zzam 1.22
549     insinto "/usr/share/vdr/maintainer-data/makefile-before"
550 zzam 1.50 doins "${mname}.before"
551 zzam 1.22
552     insinto "/usr/share/vdr/maintainer-data/makefile-patched"
553 zzam 1.50 doins "${mname}.patched"
554 zzam 1.22
555     fi
556    
557 zzam 1.60
558 zzam 1.61
559     cd "${S}"
560     insinto "${VDR_PLUGIN_DIR}"
561     doins libvdr-*.so.*
562    
563     # create list of all created plugin libs
564 zzam 1.64 vdr_plugin_list=""
565     local p_name
566 zzam 1.60 for p in libvdr-*.so.*; do
567     p_name="${p%.so*}"
568     p_name="${p_name#lib}"
569 zzam 1.64 vdr_plugin_list="${vdr_plugin_list} ${p_name}"
570 zzam 1.60 done
571    
572 zzam 1.64 create_header_checksum_file ${vdr_plugin_list}
573     create_plugindb_file ${vdr_plugin_list}
574 zzam 1.48
575 zzam 1.56 if vdr_has_gettext && [[ -d ${TMP_LOCALE_DIR} ]]; then
576 zzam 1.48 einfo "Installing locales"
577     cd "${TMP_LOCALE_DIR}"
578     insinto "${LOCDIR}"
579     doins -r *
580     fi
581    
582     cd "${S}"
583 zzam 1.23 local docfile
584     for docfile in README* HISTORY CHANGELOG; do
585     [[ -f ${docfile} ]] && dodoc ${docfile}
586     done
587 zzam 1.2
588 zzam 1.17 # if VDR_CONFD_FILE is empty and ${FILESDIR}/confd exists take it
589     [[ -z ${VDR_CONFD_FILE} ]] && [[ -e ${FILESDIR}/confd ]] && VDR_CONFD_FILE=${FILESDIR}/confd
590    
591     if [[ -n ${VDR_CONFD_FILE} ]]; then
592 zzam 1.44 newconfd "${VDR_CONFD_FILE}" vdr.${VDRPLUGIN}
593 zzam 1.17 fi
594    
595    
596     # if VDR_RCADDON_FILE is empty and ${FILESDIR}/rc-addon.sh exists take it
597     [[ -z ${VDR_RCADDON_FILE} ]] && [[ -e ${FILESDIR}/rc-addon.sh ]] && VDR_RCADDON_FILE=${FILESDIR}/rc-addon.sh
598    
599     if [[ -n ${VDR_RCADDON_FILE} ]]; then
600     insinto "${VDR_RC_DIR}"
601     newins "${VDR_RCADDON_FILE}" plugin-${VDRPLUGIN}.sh
602     fi
603 zzam 1.1 }
604    
605 zzam 1.50 vdr-plugin_pkg_postinst() {
606     vdr-plugin_print_enable_command
607    
608 zzam 1.17 if [[ -n "${VDR_CONFD_FILE}" ]]; then
609 zzam 1.50 elog "Please have a look at the config-file"
610     elog "\t/etc/conf.d/vdr.${VDRPLUGIN}"
611 hd_brummy 1.40 elog
612 zzam 1.13 fi
613 zzam 1.1 }
614    
615 zzam 1.2 vdr-plugin_pkg_postrm() {
616 zzam 1.37 delete_orphan_plugindb_file
617 zzam 1.2 }
618    
619 zzam 1.36 vdr-plugin_pkg_config() {
620 zzam 1.54 ewarn "emerge --config ${PN} is no longer supported"
621 zzam 1.50 vdr-plugin_print_enable_command
622 zzam 1.36 }
623    
624 zzam 1.66 case "${EAPI:-0}" in
625 idl0r 1.78 2|3|4)
626 zzam 1.66 EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_compile src_install pkg_postinst pkg_postrm pkg_config
627     ;;
628     *)
629     EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postinst pkg_postrm pkg_config
630     ;;
631     esac

  ViewVC Help
Powered by ViewVC 1.1.20