Implement doas support in build and setup scripts

pull/123/head
Newbyte 4 years ago
parent 0f695d76c7
commit 9f83e15750

@ -1,5 +1,11 @@
XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
MANGOHUD_CONFIG_DIR="$XDG_CONFIG_HOME/MangoHud"
SU_CMD=$(command -v sudo || command -v doas)
# doas requires a double dash if the command it runs will include any dashes,
# so append a double dash to the command
[[ $SU_CMD == *doas ]] && $SU_CMD="$SU_CMD -- "
mangohud_usage() {
echo 'Accepted arguments: "install", "uninstall".'
@ -20,7 +26,7 @@ mangohud_install() {
[ "$UID" -eq 0 ] || mangohud_config
[ "$UID" -eq 0 ] || tar xf MangoHud-package.tar
[ "$UID" -eq 0 ] || exec sudo bash "$0" install
[ "$UID" -eq 0 ] || exec $SU_CMD bash "$0" install
install -vm644 -D ./usr/lib/mangohud/lib32/libMangoHud.so /usr/lib/mangohud/lib32/libMangoHud.so
install -vm644 -D ./usr/lib/mangohud/lib64/libMangoHud.so /usr/lib/mangohud/lib64/libMangoHud.so
@ -35,7 +41,7 @@ mangohud_install() {
}
mangohud_uninstall() {
[ "$UID" -eq 0 ] || exec sudo bash "$0" uninstall
[ "$UID" -eq 0 ] || exec $SU_CMD bash "$0" uninstall
rm -rfv "/usr/lib/mangohud"
rm -fv "/usr/share/vulkan/implicit_layer.d/MangoHud.x86.json"
rm -fv "/usr/share/vulkan/implicit_layer.d/MangoHud.x86_64.json"
@ -56,4 +62,4 @@ done
if [ -z $@ ]; then
mangohud_usage
fi
fi

@ -8,6 +8,11 @@ LAYER="build/release/usr/share/vulkan/implicit_layer.d/mangohud.json"
INSTALL_DIR="build/package/"
IMPLICIT_LAYER_DIR="$XDG_DATA_HOME/vulkan/implicit_layer.d"
VERSION=$(git describe --long --tags --always | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/^v//')
SU_CMD=$(command -v sudo || command -v doas)
# doas requires a double dash if the command it runs will include any dashes,
# so append a double dash to the command
[[ $SU_CMD == *doas ]] && $SU_CMD="$SU_CMD -- "
# Correctly identify the os-release file.
for os_release in ${OS_RELEASE_FILES[@]} ; do
@ -37,7 +42,7 @@ dependencies() {
if [[ ! -z "$INSTALL" ]]; then
missing_deps
if [[ "$PERMISSION" == "Y" || "$PERMISSION" == "y" ]]; then
sudo $MANAGER_INSTALL $INSTALL
$SU_CMD $MANAGER_INSTALL $INSTALL
fi
fi
}
@ -66,13 +71,13 @@ dependencies() {
DEPS="{gcc,g++,gcc-multilib,g++-multilib,ninja-build,python3-pip,python3-setuptools,python3-wheel,pkg-config,mesa-common-dev,libx11-dev:i386}"
install
if [[ $(sudo pip3 show meson; echo $?) == 1 || $(sudo pip3 show mako; echo $?) == 1 ]]; then
sudo pip3 install meson mako
if [[ $($SU_CMD pip3 show meson; echo $?) == 1 || $($SU_CMD pip3 show mako; echo $?) == 1 ]]; then
$SU_CMD pip3 install meson mako
fi
if [[ ! -f /usr/local/bin/glslangValidator ]]; then
wget https://github.com/KhronosGroup/glslang/releases/download/master-tot/glslang-master-linux-Release.zip
unzip glslang-master-linux-Release.zip bin/glslangValidator
sudo install -m755 bin/glslangValidator /usr/local/bin/
$SU_CMD install -m755 bin/glslangValidator /usr/local/bin/
rm bin/glslangValidator glslang-master-linux-Release.zip
fi
;;
@ -160,7 +165,7 @@ install() {
rm -f "$HOME/.local/share/vulkan/implicit_layer.d/"{mangohud32.json,mangohud64.json}
[ "$UID" -eq 0 ] || mkdir -pv "${CONFIG_DIR}"
[ "$UID" -eq 0 ] || exec sudo bash "$0" install
[ "$UID" -eq 0 ] || exec $SU_CMD bash "$0" install
/usr/bin/install -vm644 -D ./build/release/usr/lib/mangohud/lib32/libMangoHud.so /usr/lib/mangohud/lib32/libMangoHud.so
/usr/bin/install -vm644 -D ./build/release/usr/lib/mangohud/lib64/libMangoHud.so /usr/lib/mangohud/lib64/libMangoHud.so
@ -179,7 +184,7 @@ clean() {
}
uninstall() {
[ "$UID" -eq 0 ] || exec sudo bash "$0" uninstall
[ "$UID" -eq 0 ] || exec $SU_CMD bash "$0" uninstall
rm -rfv "/usr/lib/mangohud"
rm -rfv "/usr/share/doc/mangohud"
rm -fv "/usr/share/vulkan/implicit_layer.d/mangohud.json"

Loading…
Cancel
Save