wip3
This commit is contained in:
+67
-34
@@ -1,45 +1,78 @@
|
||||
#!/usr/bin/env bash
|
||||
##makedesc: Install Sublime Merge
|
||||
source "$( dirname $(readlink -e -- "${BASH_SOURCE}"))/../helpers.sh" || exit 255
|
||||
|
||||
# https://www.sublimemerge.com/download
|
||||
# https://gist.github.com/lugrus2000/1fc55158b87f94d799392a6dd1ac0ce2
|
||||
# https://gist.github.com/maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47
|
||||
set -eo pipefail
|
||||
|
||||
[ "$1" ] && SMVER="$1" || SMVER='2102'
|
||||
installed() { command -v "$1" >/dev/null 2>&1; }
|
||||
|
||||
title
|
||||
download() {
|
||||
if installed wget; then
|
||||
wget -q --show-progress "$1" -O "$2"
|
||||
else
|
||||
curl -fsSL "$1" -o "$2"
|
||||
fi
|
||||
}
|
||||
|
||||
mkdir -p "$HOME/install"
|
||||
DEB_PATH="$HOME/install/sublime-merge_build-${SMVER}_amd64.deb"
|
||||
BIN_PATH="/opt/sublime_merge/sublime_merge"
|
||||
install() {
|
||||
if [ "$(uname -s)" = "Darwin" ]; then
|
||||
if installed brew; then
|
||||
brew install --cask sublime-merge
|
||||
else
|
||||
echo "ERROR: Install Homebrew first." >&2
|
||||
exit 1
|
||||
fi
|
||||
return
|
||||
fi
|
||||
|
||||
if [[ ! -f "$DEB_PATH" ]]; then
|
||||
download https://download.sublimetext.com/sublime-merge_build-${SMVER}_amd64.deb "$DEB_PATH"
|
||||
fi
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Installing Sublime Merge"
|
||||
echo "==============================================="
|
||||
echo
|
||||
|
||||
sudo dpkg -i "$DEB_PATH"
|
||||
# sudo cp -f $BIN_PATH $BIN_PATH.old
|
||||
# https://www.sublimemerge.com/download
|
||||
|
||||
# if [[ $SMVER = 2102 ]]; then
|
||||
#TODO not working
|
||||
# printf '\x48\xC7\xC0\x19\x01\x00\x00\xC3' | sudo dd of=$BIN_PATH bs=1 seek=$((0x003A5400)) conv=notrunc
|
||||
# printf '\x90\x90\x90\x90\x90' | sudo dd of=$BIN_PATH bs=1 seek=$((0x003A7EC9)) conv=notrunc
|
||||
# printf '\x90\x90\x90\x90\x90' | sudo dd of=$BIN_PATH bs=1 seek=$((0x003A7EE4)) conv=notrunc
|
||||
# printf '\x48\x31\xC0\x48\xFF\xC0\xC3' | sudo dd of=$BIN_PATH bs=1 seek=$((0x003A67FE)) conv=notrunc
|
||||
# printf '\xC3' | sudo dd of=$BIN_PATH bs=1 seek=$((0x003A514E)) conv=notrunc
|
||||
# printf '\xC3' | sudo dd of=$BIN_PATH bs=1 seek=$((0x003A40D2)) conv=notrunc
|
||||
SMVER='2102'
|
||||
|
||||
#TODO segfault
|
||||
# echo 0045a360: 48 C7 C0 19 01 00 00 C3 | sudo xxd -r - $BIN_PATH
|
||||
# echo 0045d21d: 90 90 90 90 90 | sudo xxd -r - $BIN_PATH
|
||||
# echo 0045d23a: 90 90 90 90 90 | sudo xxd -r - $BIN_PATH
|
||||
# echo 0045b990: C3 | sudo xxd -r - $BIN_PATH
|
||||
# echo 0045a05a: C3 | sudo xxd -r - $BIN_PATH
|
||||
# echo 00459aba: C3 | sudo xxd -r - $BIN_PATH
|
||||
# fi
|
||||
mkdir -p "$HOME/install"
|
||||
DEB_PATH="$HOME/install/sublime-merge_build-${SMVER}_amd64.deb"
|
||||
BIN_PATH="/opt/sublime_merge/sublime_merge"
|
||||
|
||||
echo
|
||||
success "Sublime Merge installed!"
|
||||
$BIN_PATH --version
|
||||
echo
|
||||
if [[ ! -f "$DEB_PATH" ]]; then
|
||||
download "https://download.sublimetext.com/sublime-merge_build-${SMVER}_amd64.deb" "$DEB_PATH"
|
||||
fi
|
||||
|
||||
sudo dpkg -i "$DEB_PATH"
|
||||
|
||||
echo
|
||||
echo "Finish!"
|
||||
$BIN_PATH --version
|
||||
echo
|
||||
}
|
||||
|
||||
remove() {
|
||||
if [ "$(uname -s)" = "Darwin" ]; then
|
||||
if installed brew; then
|
||||
brew uninstall --cask sublime-merge
|
||||
fi
|
||||
return
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Removing Sublime Merge"
|
||||
echo "==============================================="
|
||||
echo
|
||||
|
||||
sudo dpkg -r sublime-merge 2>/dev/null || true
|
||||
sudo rm -rf /opt/sublime_merge
|
||||
|
||||
echo
|
||||
echo "Finish!"
|
||||
echo
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
r|remove|d|delete|p|purge) remove ;;
|
||||
*) install ;;
|
||||
esac
|
||||
|
||||
Reference in New Issue
Block a user