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

Contents of /eclass/vdr-plugin.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.80 - (hide annotations) (download)
Sat Feb 11 20:44:40 2012 UTC (2 years, 5 months ago) by idl0r
Branch: MAIN
Changes since 1.79: +43 -71 lines
Remove vdr_add_local_patch() and use epatch_user() from eutils instead. Issue a error in case the old variable to pass user patches is still used. Also the example has been removed as it was actually a common ebuild example, nothing specific. Update descriptions.

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

  ViewVC Help
Powered by ViewVC 1.1.20