summarylogtreecommitdiffstats
path: root/brave-launcher
diff options
context:
space:
mode:
authorAnthony Wang2021-04-21 09:52:20 -0500
committerAnthony Wang2021-04-21 09:52:20 -0500
commit63f50444b5d16894be5d449c8d96285e8b5056dc (patch)
tree605a1751601c7eb70edfb3c37704820ac472bf9a /brave-launcher
parenta07dda9ccd67e0f3e6f355010012f848a9e00e39 (diff)
downloadaur-63f50444b5d16894be5d449c8d96285e8b5056dc.tar.gz
Rewrite PKGBUILD based on the normal brave package
Diffstat (limited to 'brave-launcher')
-rw-r--r--brave-launcher30
1 files changed, 25 insertions, 5 deletions
diff --git a/brave-launcher b/brave-launcher
index 78b8899a5c76..a1ddae8c7883 100644
--- a/brave-launcher
+++ b/brave-launcher
@@ -1,9 +1,29 @@
-#!/usr/bin/sh
+#!/usr/bin/env bash
+XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
+BRAVE_USE_FLASH_IF_AVAILABLE="${BRAVE_USE_FLASH_IF_AVAILABLE:-true}"
-FLAG="--no-sandbox"
+# Allow users to override command-line options
+USER_FLAGS_FILE="$XDG_CONFIG_HOME/brave-flags.conf"
+if [[ -f $USER_FLAGS_FILE ]]; then
+ USER_FLAGS="$(cat $USER_FLAGS_FILE | sed 's/#.*//')"
+fi
+
+[[
+ ( -r $(echo /proc/config.*)
+ && -z $(bsdcat /proc/config.* | grep CONFIG_USER_NS=y) )
+ || ( -r /proc/sys/kernel/unprivileged_userns_clone
+ && $(< /proc/sys/kernel/unprivileged_userns_clone) != 1 )
+]] && SANDBOX_FLAG="--no-sandbox" && echo "User namespaces are not detected as enabled on your system, Brave will run with the sandbox disabled"
-if [[ -r /proc/sys/kernel/unprivileged_userns_clone && $(< /proc/sys/kernel/unprivileged_userns_clone) == 1 && -n $(zcat /proc/config.gz | grep CONFIG_USER_NS=y) ]]; then
- FLAG=""
+BRAVE_PEPPER_FLASH_SO=${BRAVE_PEPPER_FLASH_SO:-/usr/lib/PepperFlash/libpepflashplayer.so}
+if [[ -f $BRAVE_PEPPER_FLASH_SO && $BRAVE_USE_FLASH_IF_AVAILABLE == "true" ]]; then
+ BRAVE_PEPPER_FLASH_VERSION=${BRAVE_PEPPER_FLASH_VERSION:-$(LANG=C pacman -Qi pepper-flash | grep Version | sed 's/.*: //; s/\-[^-]*$//')}
+ PEPPER_FLASH_FLAG="--ppapi-flash-path=$BRAVE_PEPPER_FLASH_SO --ppapi-flash-version=$BRAVE_PEPPER_FLASH_VERSION"
fi
-exec /usr/lib/brave/brave "$FLAG" -- "$@"
+# OR true included because Brave currently segfaults when a second
+# window is opened from running the brave binary.
+# GH Issue: https://github.com/brave/brave-browser/issues/4142
+# NOTE: Replace with an exec call once we don't have to work around
+# this bug by having the browser be a subprocess of this script
+/usr/lib/brave/brave $@ $SANDBOX_FLAG $PEPPER_FLASH_FLAG $USER_FLAGS || true