mirror of
https://github.com/PapirusDevelopmentTeam/papirus-folders.git
synced 2024-09-19 11:08:48 -04:00
6837aa9ca9
wget -qO- https://git.io/papirus-folders-install | env PREFIX=$HOME/.local sh
107 lines
2.5 KiB
Bash
Executable file
107 lines
2.5 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
# these variables can be overwritten
|
|
: "${PREFIX:=/usr}"
|
|
: "${TAG:=master}"
|
|
: "${uninstall:=false}"
|
|
|
|
bin_name="papirus-folders"
|
|
gh_url="https://github.com/PapirusDevelopmentTeam"
|
|
gh_repo="$bin_name"
|
|
gh_desc="Papirus Folders"
|
|
|
|
cat <<- EOF
|
|
|
|
|
|
|
|
ppppp ii
|
|
pp pp aaaaa ppppp rr rrr uu uu sssss
|
|
ppppp aa aa pp pp ii rrrr uu uu ssss
|
|
pp aa aa pp pp ii rr uu uu ssss
|
|
pp aaaaa ppppp ii rr uuuuu sssss
|
|
pp
|
|
pp
|
|
|
|
|
|
|
|
$gh_desc
|
|
$gh_url/$gh_repo
|
|
|
|
|
|
EOF
|
|
|
|
_msg() {
|
|
echo "=>" "$@"
|
|
}
|
|
|
|
_sudo() {
|
|
if [ -w "$PREFIX" ] || [ -w "$(dirname "$PREFIX")" ]; then
|
|
"$@"
|
|
else
|
|
sudo "$@"
|
|
fi
|
|
}
|
|
|
|
_rm() {
|
|
# removes parent directories if empty
|
|
_sudo rm -rf "$1"
|
|
_sudo rmdir -p "$(dirname "$1")" 2>/dev/null || true
|
|
}
|
|
|
|
_download() {
|
|
_msg "Getting the latest version from GitHub ..."
|
|
wget -O "$temp_file" \
|
|
"$gh_url/$gh_repo/archive/$TAG.tar.gz"
|
|
_msg "Unpacking archive ..."
|
|
tar -xzf "$temp_file" -C "$temp_dir"
|
|
}
|
|
|
|
_uninstall() {
|
|
_msg "Deleting $gh_desc ..."
|
|
_rm "$PREFIX/bin/$bin_name"
|
|
_rm "$PREFIX/share/bash-completion/completions/$bin_name"
|
|
_rm "$PREFIX/share/zsh/site-functions/_$bin_name"
|
|
_rm "$PREFIX/share/zsh/vendor-completions/_$bin_name"
|
|
}
|
|
|
|
_install() {
|
|
# strip leading `v` symbol
|
|
tag="${TAG#v}"
|
|
|
|
_msg "Installing ..."
|
|
_sudo mkdir -p "$PREFIX/bin"
|
|
_sudo install -m 755 "$temp_dir/$gh_repo-$tag/$bin_name" \
|
|
"$PREFIX/bin/$bin_name"
|
|
_sudo mkdir -p "$PREFIX/share/bash-completion/completions"
|
|
_sudo install -m 644 "$temp_dir/$gh_repo-$tag/completion/$bin_name" \
|
|
"$PREFIX/share/bash-completion/completions"
|
|
if [ -d "$PREFIX/share/zsh/site-functions" ]; then
|
|
_sudo install -m 644 "$temp_dir/$gh_repo-$tag/completion/_$bin_name" \
|
|
"$PREFIX/share/zsh/site-functions"
|
|
elif [ -d "$PREFIX/share/zsh/vendor-completions" ]; then
|
|
_sudo install -m 644 "$temp_dir/$gh_repo-$tag/completion/_$bin_name" \
|
|
"$PREFIX/share/zsh/vendor-completions"
|
|
else :
|
|
fi
|
|
}
|
|
|
|
_cleanup() {
|
|
_msg "Clearing cache ..."
|
|
rm -rf "$temp_file" "$temp_dir"
|
|
_msg "Done!"
|
|
}
|
|
|
|
trap _cleanup EXIT HUP INT TERM
|
|
|
|
temp_file="$(mktemp -u)"
|
|
temp_dir="$(mktemp -d)"
|
|
|
|
if [ "$uninstall" = "false" ]; then
|
|
_download
|
|
_uninstall
|
|
_install
|
|
else
|
|
_uninstall
|
|
fi
|