| 1 | # Copyright 1999-2012 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/chromium.eclass,v 1.3 2012/03/23 19:53:51 floppym Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/chromium.eclass,v 1.6 2012/07/17 03:56:26 floppym Exp $ |
| 4 | |
4 | |
| 5 | # @ECLASS: chromium.eclass |
5 | # @ECLASS: chromium.eclass |
| 6 | # @MAINTAINER: |
6 | # @MAINTAINER: |
| 7 | # Chromium Herd <chromium@gentoo.org> |
7 | # Chromium Herd <chromium@gentoo.org> |
| 8 | # @AUTHOR: |
8 | # @AUTHOR: |
| … | |
… | |
| 15 | |
15 | |
| 16 | if [[ ${PN} == chromium ]]; then |
16 | if [[ ${PN} == chromium ]]; then |
| 17 | IUSE+=" custom-cflags" |
17 | IUSE+=" custom-cflags" |
| 18 | fi |
18 | fi |
| 19 | |
19 | |
| 20 | # @FUNCTION: chromium_check_kernel_config |
20 | # @FUNCTION: chromium_suid_sandbox_check_kernel_config |
| 21 | # @USAGE: |
21 | # @USAGE: |
| 22 | # @DESCRIPTION: |
22 | # @DESCRIPTION: |
| 23 | # Ensures the system kernel is configured for full Chromium functionality. |
23 | # Ensures the system kernel supports features needed for SUID sandbox to work. |
| 24 | chromium_check_kernel_config() { |
24 | chromium_suid_sandbox_check_kernel_config() { |
| 25 | has "${EAPI:-0}" 0 1 2 3 && die "EAPI=${EAPI} is not supported" |
25 | has "${EAPI:-0}" 0 1 2 3 && die "EAPI=${EAPI} is not supported" |
| 26 | |
26 | |
| 27 | if [[ "${MERGE_TYPE}" == "source" || "${MERGE_TYPE}" == "binary" ]]; then |
27 | if [[ "${MERGE_TYPE}" == "source" || "${MERGE_TYPE}" == "binary" ]]; then |
| 28 | # Warn if the kernel does not support features needed for sandboxing. |
28 | # Warn if the kernel does not support features needed for sandboxing. |
| 29 | # Bug #363987. |
29 | # Bug #363987. |
| 30 | ERROR_PID_NS="PID_NS is required for sandbox to work" |
30 | ERROR_PID_NS="PID_NS is required for sandbox to work" |
| 31 | ERROR_NET_NS="NET_NS is required for sandbox to work" |
31 | ERROR_NET_NS="NET_NS is required for sandbox to work" |
| 32 | CONFIG_CHECK="~PID_NS ~NET_NS" |
32 | CONFIG_CHECK="~PID_NS ~NET_NS" |
| 33 | check_extra_config |
33 | check_extra_config |
| 34 | fi |
34 | fi |
|
|
35 | } |
|
|
36 | |
|
|
37 | # @FUNCTION: chromium_check_kernel_config |
|
|
38 | # @USAGE: |
|
|
39 | # @DESCRIPTION: |
|
|
40 | # Ensures the system kernel is configured for full Chromium functionality. |
|
|
41 | chromium_check_kernel_config() { |
|
|
42 | eqawarn "chromium_check_kernel_config is deprecated." |
|
|
43 | eqawarn "Please use chromium_suid_sandbox_check_kernel_config if applicable." |
|
|
44 | chromium_suid_sandbox_check_kernel_config |
| 35 | } |
45 | } |
| 36 | |
46 | |
| 37 | # @ECLASS-VARIABLE: CHROMIUM_LANGS |
47 | # @ECLASS-VARIABLE: CHROMIUM_LANGS |
| 38 | # @DEFAULT_UNSET |
48 | # @DEFAULT_UNSET |
| 39 | # @DESCRIPTION: |
49 | # @DESCRIPTION: |
| … | |
… | |
| 110 | if ! has ${lang} ${CHROMIUM_LANGS}; then |
120 | if ! has ${lang} ${CHROMIUM_LANGS}; then |
| 111 | eqawarn "LINGUAS warning: no ${lang} in LANGS" |
121 | eqawarn "LINGUAS warning: no ${lang} in LANGS" |
| 112 | continue |
122 | continue |
| 113 | fi |
123 | fi |
| 114 | if ! use linguas_${lang}; then |
124 | if ! use linguas_${lang}; then |
| 115 | rm -v "$(_chromium_crlang ${lang}).pak" || die |
125 | rm "$(_chromium_crlang ${lang}).pak" || die |
| 116 | fi |
126 | fi |
| 117 | done |
127 | done |
| 118 | } |
128 | } |
| 119 | |
129 | |
| 120 | chromium_pkg_preinst() { |
130 | chromium_pkg_preinst() { |
| … | |
… | |
| 124 | chromium_pkg_postinst() { |
134 | chromium_pkg_postinst() { |
| 125 | fdo-mime_desktop_database_update |
135 | fdo-mime_desktop_database_update |
| 126 | gnome2_icon_cache_update |
136 | gnome2_icon_cache_update |
| 127 | |
137 | |
| 128 | # For more info see bug #292201, bug #352263, bug #361859. |
138 | # For more info see bug #292201, bug #352263, bug #361859. |
|
|
139 | if ! has_version x11-themes/gnome-icon-theme && |
|
|
140 | ! has_version x11-themes/oxygen-icons ; then |
| 129 | elog |
141 | elog |
| 130 | elog "Depending on your desktop environment, you may need" |
142 | elog "Depending on your desktop environment, you may need" |
| 131 | elog "to install additional packages to get icons on the Downloads page." |
143 | elog "to install additional packages to get icons on the Downloads page." |
| 132 | elog |
144 | elog |
| 133 | elog "For KDE, the required package is kde-base/oxygen-icons." |
145 | elog "For KDE, the required package is kde-base/oxygen-icons." |
| 134 | elog |
146 | elog |
| 135 | elog "For other desktop environments, try one of the following:" |
147 | elog "For other desktop environments, try one of the following:" |
| 136 | elog " - x11-themes/gnome-icon-theme" |
148 | elog " - x11-themes/gnome-icon-theme" |
| 137 | elog " - x11-themes/tango-icon-theme" |
149 | elog " - x11-themes/tango-icon-theme" |
|
|
150 | fi |
| 138 | |
151 | |
| 139 | # For more info see bug #359153. |
152 | # For more info see bug #359153. |
| 140 | elog |
153 | elog |
| 141 | elog "Some web pages may require additional fonts to display properly." |
154 | elog "Some web pages may require additional fonts to display properly." |
| 142 | elog "Try installing some of the following packages if some characters" |
155 | elog "Try installing some of the following packages if some characters" |