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

Contents of /eclass/vdr-plugin.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.79 - (hide annotations) (download)
Sun Jan 15 20:54:56 2012 UTC (2 years, 6 months ago) by idl0r
Branch: MAIN
Changes since 1.78: +9 -7 lines
Add maintainer, description tags etc.

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

  ViewVC Help
Powered by ViewVC 1.1.20