llvm.eclass: Add initial tests
[gentoo.git] / eclass / chromium-2.eclass
index 27275f283194325a0654d45a55c0bf2a51aa254d..c9cfe5acebee94795836941951bd237381c41a33 100644 (file)
@@ -1,6 +1,5 @@
 # Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Id$
 
 # @ECLASS: chromium-2.eclass
 # @MAINTAINER:
@@ -33,7 +32,8 @@ chromium_suid_sandbox_check_kernel_config() {
                # (bug #552576, bug #556286).
                ERROR_ADVISE_SYSCALLS="CONFIG_ADVISE_SYSCALLS is required for the renderer (bug #552576)"
                ERROR_COMPAT_VDSO="CONFIG_COMPAT_VDSO causes segfaults (bug #556286)"
-               CONFIG_CHECK="~PID_NS ~NET_NS ~SECCOMP_FILTER ~USER_NS ~ADVISE_SYSCALLS ~!COMPAT_VDSO"
+               ERROR_GRKERNSEC="CONFIG_GRKERNSEC breaks sandbox (bug #613668)"
+               CONFIG_CHECK="~PID_NS ~NET_NS ~SECCOMP_FILTER ~USER_NS ~ADVISE_SYSCALLS ~!COMPAT_VDSO ~!GRKERNSEC"
                check_extra_config
        fi
 }
@@ -50,7 +50,7 @@ _chromium_set_l10n_IUSE() {
        for lang in ${CHROMIUM_LANGS}; do
                # Default to enabled since we bundle them anyway.
                # USE-expansion will take care of disabling the langs the user has not
-               # selected via LINGUAS.
+               # selected via L10N.
                IUSE+=" +l10n_${lang}"
        done
 }
@@ -63,7 +63,7 @@ fi
 # @USAGE:
 # @DESCRIPTION:
 # Removes pak files from the current directory for languages that the user has
-# not selected via the LINGUAS variable.
+# not selected via the L10N variable.
 # Also performs QA checks to ensure CHROMIUM_LANGS has been set correctly.
 chromium_remove_language_paks() {
        local lang pak
@@ -71,12 +71,13 @@ chromium_remove_language_paks() {
        # Look for missing pak files.
        for lang in ${CHROMIUM_LANGS}; do
                if [[ ! -e ${lang}.pak ]]; then
-                       eqawarn "LINGUAS warning: no .pak file for ${lang} (${lang}.pak not found)"
+                       eqawarn "L10N warning: no .pak file for ${lang} (${lang}.pak not found)"
                fi
        done
 
        # Bug 588198
        rm -f fake-bidi.pak || die
+       rm -f fake-bidi.pak.info || die
 
        # Look for extra pak files.
        # Remove pak files that the user does not want.
@@ -86,12 +87,15 @@ chromium_remove_language_paks() {
                if [[ ${lang} == en-US ]]; then
                        continue
                fi
+
                if ! has ${lang} ${CHROMIUM_LANGS}; then
-                       eqawarn "LINGUAS warning: no ${lang} in LANGS"
+                       eqawarn "L10N warning: no ${lang} in LANGS"
                        continue
                fi
+
                if ! use l10n_${lang}; then
                        rm "${pak}" || die
+                       rm -f "${pak}.info" || die
                fi
        done
 }
@@ -102,8 +106,7 @@ chromium_pkg_die() {
        fi
 
        # Prevent user problems like bug #348235.
-       eshopts_push -s extglob
-       if is-flagq '-g?(gdb)?([1-9])'; then
+       if ( shopt -s extglob; is-flagq '-g?(gdb)?([1-9])' ); then
                ewarn
                ewarn "You have enabled debug info (i.e. -g or -ggdb in your CFLAGS/CXXFLAGS)."
                ewarn "This produces very large build files causes the linker to consume large"
@@ -112,7 +115,6 @@ chromium_pkg_die() {
                ewarn "Please try removing -g{,gdb} before reporting a bug."
                ewarn
        fi
-       eshopts_pop
 
        # ccache often causes bogus compile failures, especially when the cache gets
        # corrupted.