/[gentoo-x86]/eclass/nsplugins.eclass
Gentoo

Contents of /eclass/nsplugins.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.29 - (show annotations) (download)
Fri May 11 10:46:32 2012 UTC (2 years, 3 months ago) by scarabeus
Branch: MAIN
Changes since 1.28: +7 -2 lines
Actually check if the plugin file exist before creating symlink. Avoids broken symlinks.

1 # Copyright 1999-2012 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/eclass/nsplugins.eclass,v 1.28 2011/12/27 17:55:12 fauli Exp $
4 #
5 # @ECLASS: nsplugins.eclass
6 # @MAINTAINER:
7 # Mozilla Team <mozilla@gentoo.org>
8 # @AUTHOR:
9 # Original Author: Martin Schlemmer <azarah@gentoo.org>
10 # @BLURB: reusable functions for netscape/moz plugin sharing
11 # @DESCRIPTION:
12 # Reusable functions that promote sharing of netscape/moz plugins, also provides
13 # share_plugins_dir function for mozilla applications.
14
15 inherit eutils
16
17 DESCRIPTION="Based on the ${ECLASS} eclass"
18
19 PLUGINS_DIR="nsbrowser/plugins"
20
21 # This function move the plugin dir in src_install() to
22 # ${D}/usr/$(get_libdir)/${PLUGIN_DIR}. First argument should be
23 # the full path (without $D) to old plugin dir.
24 src_mv_plugins() {
25 has "${EAPI:-0}" 0 1 2 && ! use prefix && ED="${D}"
26
27 # Move plugins dir. We use keepdir so that it might not be unmerged
28 # by mistake ...
29 keepdir /usr/$(get_libdir)/${PLUGINS_DIR}
30 cp -a "${ED}"/$1/* "${ED}"/usr/$(get_libdir)/${PLUGINS_DIR}
31 rm -rf "${ED}"/$1
32 dosym /usr/$(get_libdir)/${PLUGINS_DIR} $1
33 }
34
35 # This function move plugins in pkg_preinst() in old dir to
36 # ${ROOT}/usr/$(get_libdir)/${PLUGIN_DIR}. First argument should be
37 # the full path (without $ROOT) to old plugin dir.
38 pkg_mv_plugins() {
39 has "${EAPI:-0}" 0 1 2 && ! use prefix && ED="${ROOT}"
40
41 # Move old plugins dir
42 if [ -d "${ROOT}/$1" -a ! -L "${ROOT}/$1" ]
43 then
44 mkdir -p "${EROOT}"/usr/$(get_libdir)/${PLUGINS_DIR}
45 cp -a "${EROOT}"/$1/* "${EROOT}"/usr/$(get_libdir)/${PLUGINS_DIR}
46 rm -rf "${EROOT}"/$1
47 fi
48 }
49
50 # This function installs a plugin with dosym to PLUGINS_DIR.
51 # First argument should be the plugin file.
52 inst_plugin() {
53 if [[ -z "${1}" ]]; then
54 eerror "The plugin file \"${1}\" does not exist."
55 die "No such file or directory."
56 fi
57
58 dodir /usr/$(get_libdir)/${PLUGINS_DIR}
59 dosym ${1} /usr/$(get_libdir)/${PLUGINS_DIR}/$(basename ${1})
60 }
61
62 # This function ensures we use proper plugin path for Gentoo.
63 # This should only be used by mozilla packages.
64 # ${MOZILLA_FIVE_HOME} must be defined in src_install to support
65 share_plugins_dir() {
66 if [[ ${PN} == seamonkey ]] ; then
67 rm -rf "${D}"${MOZILLA_FIVE_HOME}/plugins \
68 || die "failed to remove existing plugins dir"
69 fi
70
71 if [[ ${PN} == *-bin ]] ; then
72 PLUGIN_BASE_PATH="/usr/$(get_libdir)"
73 else
74 PLUGIN_BASE_PATH=".."
75 fi
76
77 dosym "${PLUGIN_BASE_PATH}/nsbrowser/plugins" "${MOZILLA_FIVE_HOME}/plugins"
78 }

  ViewVC Help
Powered by ViewVC 1.1.20