| 1 | # Copyright 1999-2005 Gentoo Foundation |
1 | # Copyright 1999-2012 Gentoo Foundation |
| 2 | # Distributed under the terms of the GNU General Public License v2 |
2 | # Distributed under the terms of the GNU General Public License v2 |
| 3 | # $Header: /var/cvsroot/gentoo-x86/eclass/vdr-plugin.eclass,v 1.70 2009/10/08 08:12:50 zzam Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/vdr-plugin.eclass,v 1.78 2012/01/15 17:11:08 idl0r Exp $ |
| 4 | # |
4 | # |
| 5 | # Author: |
5 | # Author: |
| 6 | # Matthias Schwarzott <zzam@gentoo.org> |
6 | # Matthias Schwarzott <zzam@gentoo.org> |
| 7 | # Joerg Bornkessel <hd_brummy@gentoo.org> |
7 | # Joerg Bornkessel <hd_brummy@gentoo.org> |
| 8 | |
8 | |
| … | |
… | |
| 65 | # |
65 | # |
| 66 | # all patches which ending on diff or patch in this DIR will automatically applied |
66 | # all patches which ending on diff or patch in this DIR will automatically applied |
| 67 | # |
67 | # |
| 68 | |
68 | |
| 69 | inherit base multilib eutils flag-o-matic |
69 | inherit base multilib eutils flag-o-matic |
|
|
70 | |
|
|
71 | if ! has "${EAPI:-0}" 0 1 2 3 4; then |
|
|
72 | die "API of vdr-plugin.eclass in EAPI=\"${EAPI}\" not established" |
|
|
73 | fi |
| 70 | |
74 | |
| 71 | IUSE="" |
75 | IUSE="" |
| 72 | |
76 | |
| 73 | # Name of the plugin stripped from all vdrplugin-, vdr- and -cvs pre- and postfixes |
77 | # Name of the plugin stripped from all vdrplugin-, vdr- and -cvs pre- and postfixes |
| 74 | VDRPLUGIN="${PN/#vdrplugin-/}" |
78 | VDRPLUGIN="${PN/#vdrplugin-/}" |
| … | |
… | |
| 259 | plugin_has_gettext() { |
263 | plugin_has_gettext() { |
| 260 | [[ -d po ]] |
264 | [[ -d po ]] |
| 261 | } |
265 | } |
| 262 | |
266 | |
| 263 | vdr_i18n_convert_to_gettext() { |
267 | vdr_i18n_convert_to_gettext() { |
|
|
268 | if has_version ">=media-video/vdr-1.7.22"; then |
|
|
269 | local i18n_tool="${ROOT}/usr/share/vdr/bin/i18n-to-gettext" |
|
|
270 | else |
| 264 | local i18n_tool="${ROOT}/usr/share/vdr/bin/i18n-to-gettext.pl" |
271 | local i18n_tool="${ROOT}/usr/share/vdr/bin/i18n-to-gettext.pl" |
|
|
272 | fi |
| 265 | |
273 | |
| 266 | if [[ ${NO_GETTEXT_HACK} == "1" ]]; then |
274 | if [[ ${NO_GETTEXT_HACK} == "1" ]]; then |
| 267 | ewarn "Conversion to gettext disabled in ebuild" |
275 | ewarn "Conversion to gettext disabled in ebuild" |
| 268 | return 1 |
276 | return 1 |
| 269 | fi |
277 | fi |
| … | |
… | |
| 380 | |
388 | |
| 381 | vdr-plugin_pkg_setup() { |
389 | vdr-plugin_pkg_setup() { |
| 382 | # -fPIC is needed for shared objects on some platforms (amd64 and others) |
390 | # -fPIC is needed for shared objects on some platforms (amd64 and others) |
| 383 | append-flags -fPIC |
391 | append-flags -fPIC |
| 384 | |
392 | |
|
|
393 | # 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 | |
| 385 | # Where should the plugins live in the filesystem |
399 | # Where should the plugins live in the filesystem |
| 386 | VDR_PLUGIN_DIR="/usr/$(get_libdir)/vdr/plugins" |
400 | VDR_PLUGIN_DIR="/usr/$(get_libdir)/vdr/plugins" |
| 387 | VDR_CHECKSUM_DIR="${VDR_PLUGIN_DIR%/plugins}/checksums" |
401 | VDR_CHECKSUM_DIR="${VDR_PLUGIN_DIR%/plugins}/checksums" |
| 388 | |
402 | |
| 389 | # was /usr/lib/... some time ago |
403 | # was /usr/lib/... some time ago |
| … | |
… | |
| 393 | # Pathes to includes |
407 | # Pathes to includes |
| 394 | VDR_INCLUDE_DIR="/usr/include/vdr" |
408 | VDR_INCLUDE_DIR="/usr/include/vdr" |
| 395 | DVB_INCLUDE_DIR="/usr/include" |
409 | DVB_INCLUDE_DIR="/usr/include" |
| 396 | |
410 | |
| 397 | TMP_LOCALE_DIR="${WORKDIR}/tmp-locale" |
411 | TMP_LOCALE_DIR="${WORKDIR}/tmp-locale" |
|
|
412 | if has_version ">=media-video/vdr-1.6.0_p2-r7"; then |
|
|
413 | LOCDIR="/usr/share/locale" |
|
|
414 | else |
| 398 | LOCDIR="/usr/share/vdr/locale" |
415 | LOCDIR="/usr/share/vdr/locale" |
|
|
416 | fi |
| 399 | |
417 | |
| 400 | if ! has_vdr; then |
418 | if ! has_vdr; then |
| 401 | # set to invalid values to detect abuses |
419 | # set to invalid values to detect abuses |
| 402 | VDRVERSION="eclass_no_vdr_installed" |
420 | VDRVERSION="eclass_no_vdr_installed" |
| 403 | APIVERSION="eclass_no_vdr_installed" |
421 | APIVERSION="eclass_no_vdr_installed" |
| … | |
… | |
| 408 | # if vdr is required |
426 | # if vdr is required |
| 409 | die "VDR not found!" |
427 | die "VDR not found!" |
| 410 | fi |
428 | fi |
| 411 | return |
429 | return |
| 412 | fi |
430 | fi |
| 413 | |
431 | |
| 414 | VDRVERSION=$(awk -F'"' '/define VDRVERSION/ {print $2}' "${VDR_INCLUDE_DIR}"/config.h) |
432 | VDRVERSION=$(awk -F'"' '/define VDRVERSION/ {print $2}' "${VDR_INCLUDE_DIR}"/config.h) |
| 415 | APIVERSION=$(awk -F'"' '/define APIVERSION/ {print $2}' "${VDR_INCLUDE_DIR}"/config.h) |
433 | APIVERSION=$(awk -F'"' '/define APIVERSION/ {print $2}' "${VDR_INCLUDE_DIR}"/config.h) |
| 416 | [[ -z ${APIVERSION} ]] && APIVERSION="${VDRVERSION}" |
434 | [[ -z ${APIVERSION} ]] && APIVERSION="${VDRVERSION}" |
| 417 | |
435 | |
| 418 | einfo "Compiling against" |
436 | einfo "Compiling against" |
| … | |
… | |
| 459 | eerror "Please report this at bugs.gentoo.org." |
477 | eerror "Please report this at bugs.gentoo.org." |
| 460 | die "vdr-plugin_pkg_setup not called!" |
478 | die "vdr-plugin_pkg_setup not called!" |
| 461 | fi |
479 | fi |
| 462 | if [ -z "$1" ]; then |
480 | if [ -z "$1" ]; then |
| 463 | case "${EAPI:-0}" in |
481 | case "${EAPI:-0}" in |
| 464 | 2) |
482 | 2|3|4) |
| 465 | vdr-plugin_src_util unpack |
483 | vdr-plugin_src_util unpack |
| 466 | ;; |
484 | ;; |
| 467 | *) |
485 | *) |
| 468 | vdr-plugin_src_util all |
486 | vdr-plugin_src_util all |
| 469 | ;; |
487 | ;; |
| … | |
… | |
| 602 | ewarn "emerge --config ${PN} is no longer supported" |
620 | ewarn "emerge --config ${PN} is no longer supported" |
| 603 | vdr-plugin_print_enable_command |
621 | vdr-plugin_print_enable_command |
| 604 | } |
622 | } |
| 605 | |
623 | |
| 606 | case "${EAPI:-0}" in |
624 | case "${EAPI:-0}" in |
| 607 | 2) |
625 | 2|3|4) |
| 608 | EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_compile src_install pkg_postinst pkg_postrm pkg_config |
626 | EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_compile src_install pkg_postinst pkg_postrm pkg_config |
| 609 | ;; |
627 | ;; |
| 610 | *) |
628 | *) |
| 611 | EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postinst pkg_postrm pkg_config |
629 | EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postinst pkg_postrm pkg_config |
| 612 | ;; |
630 | ;; |