127 lines
4.1 KiB
Bash
Executable File
127 lines
4.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
set -o pipefail
|
|
set -x
|
|
pushd /tmp >/dev/null
|
|
|
|
# Needed for project infrastructure
|
|
wget -nv https://github.com/watchexec/watchexec/releases/download/1.13.1/watchexec-1.13.1-x86_64-unknown-linux-gnu.deb
|
|
dpkg -i watchexec-*.deb
|
|
rm watchexec-*.deb
|
|
|
|
git clone https://github.com/circulosmeos/gdown.pl.git
|
|
mv gdown.pl/gdown.pl /usr/bin/gdown
|
|
rm -rf gdown.pl
|
|
|
|
# Ada
|
|
wget -nv https://dl.bintray.com/reznikmm/ada-language-server/linux-latest.tar.gz
|
|
tar -xf linux-latest.tar.gz
|
|
mv linux/ada_language_server /usr/bin/ada_language_server
|
|
mv linux/*.so* /usr/lib/x86_64-linux-gnu/
|
|
rm linux-latest.tar.gz
|
|
|
|
# Clojure
|
|
wget -nv https://github.com/snoe/clojure-lsp/releases/download/release-20200629T153107/clojure-lsp
|
|
chmod +x clojure-lsp
|
|
mv clojure-lsp /usr/bin/clojure-lsp
|
|
|
|
# D
|
|
wget -nv http://downloads.dlang.org/releases/2.x/2.092.0/dmd_2.092.0-0_amd64.deb
|
|
dpkg -i dmd_*.deb
|
|
rm dmd_*.deb
|
|
|
|
# Elixir
|
|
wget -nv https://github.com/elixir-lsp/elixir-ls/releases/download/v0.5.0/elixir-ls.zip
|
|
unzip -d /opt/elixir-ls elixir-ls.zip
|
|
ln -s /opt/elixir-ls/language_server.sh /usr/bin/elixir-ls
|
|
rm elixir-ls.zip
|
|
|
|
# Elm
|
|
wget -nv https://github.com/elm/compiler/releases/download/0.19.1/binary-for-linux-64-bit.gz
|
|
gunzip binary-for-linux-64-bit.gz
|
|
chmod +x binary-for-linux-64-bit
|
|
mv binary-for-linux-64-bit /usr/bin/elm
|
|
|
|
# Erlang
|
|
wget -nv https://s3.amazonaws.com/rebar3/rebar3
|
|
chmod +x rebar3
|
|
mv rebar3 /usr/bin/rebar3
|
|
|
|
# Go
|
|
export GO111MODULE=on
|
|
export GOPATH=/tmp/go
|
|
mv /tmp/go/bin/gopls /usr/bin/gopls
|
|
rm -rf /tmp/go
|
|
|
|
# Haskell
|
|
wget https://get.haskellstack.org/stable/linux-x86_64-static.tar.gz
|
|
tar -xf linux-x86_64-static.tar.gz
|
|
mv stack-*-linux-x86_64-static/stack /usr/bin/stack
|
|
rm -rf stack-*-linux-x86_64-static linux-x86_64-static.tar.gz
|
|
|
|
mkdir -p /opt/haskell
|
|
gdown "https://drive.google.com/uc?export=download&id=1GPoR_ja4ns16KCamRgwB-JVag4HK0igz" /usr/bin/hie
|
|
gdown "https://drive.google.com/uc?export=download&id=1qSxj8JjAeetAmNjUGayX0RBARgr5R4Ij" /opt/haskell/hoogle.hoo
|
|
chmod +x /usr/bin/hie
|
|
|
|
# Ink
|
|
wget -nv https://github.com/thesephist/ink/releases/download/v0.1.7/ink-linux
|
|
wget -nv https://github.com/thesephist/ink/releases/download/v0.1.7/std.ink
|
|
wget -nv https://github.com/thesephist/ink/releases/download/v0.1.7/str.ink
|
|
chmod +x ink-linux
|
|
mv ink-linux /usr/bin/ink
|
|
mkdir /opt/ink
|
|
mv std.ink str.ink /opt/ink/
|
|
|
|
# Kotlin
|
|
wget -nv https://github.com/JetBrains/kotlin/releases/download/v1.3.72/kotlin-compiler-1.3.72.zip
|
|
unzip kotlin-*.zip
|
|
cp kotlinc/bin/* /usr/bin/
|
|
cp kotlinc/lib/* /usr/lib/
|
|
rm -rf kotlin-*.zip kotlinc
|
|
|
|
# Lua
|
|
wget -nv https://github.com/EmmyLua/EmmyLua-LanguageServer/releases/download/0.3.6/EmmyLua-LS-all.jar
|
|
mv EmmyLua-LS-all.jar /usr/lib/EmmyLua-LS.jar
|
|
|
|
# PowerShell
|
|
wget -nv https://github.com/PowerShell/PowerShell/releases/download/v7.0.1/powershell-7.0.1-linux-x64.tar.gz
|
|
mkdir /opt/powershell
|
|
tar -xf powershell-*.tar.gz -C /opt/powershell
|
|
ln -s /opt/powershell/pwsh /usr/bin/pwsh
|
|
rm powershell-*.tar.gz
|
|
|
|
wget -nv https://github.com/PowerShell/PowerShellEditorServices/releases/download/v2.2.0/PowerShellEditorServices.zip
|
|
unzip PowerShellEditorServices.zip
|
|
mv PowerShellEditorServices /opt/powershell-editor-services
|
|
|
|
# Python
|
|
xml="$(curl -sSL "https://pvsc.blob.core.windows.net/python-language-server-stable?restype=container&comp=list&prefix=Python-Language-Server-linux-x64")"
|
|
nupkg="$(echo "$xml" | grep -Eo 'https://[^<]+\.nupkg' | tail -n1)"
|
|
wget -nv "${nupkg}"
|
|
unzip -d /opt/mspyls Python-Language-Server-linux-x64.*.nupkg
|
|
chmod +x /opt/mspyls/Microsoft.Python.LanguageServer
|
|
ln -s /opt/mspyls/Microsoft.Python.LanguageServer /usr/bin/Microsoft.Python.LanguageServer
|
|
rm Python-Language-Server-linux-x64.*.nupkg
|
|
|
|
# SNOBOL
|
|
wget -nv ftp://ftp.snobol4.org/snobol/old/snobol4-2.1.4.tar.gz
|
|
tar -xf snobol4-*.tar.gz
|
|
rm snobol4-*.tar.gz
|
|
pushd snobol4-* >/dev/null
|
|
make || true
|
|
mv snobol4 /usr/bin/snobol4
|
|
popd >/dev/null
|
|
rm -rf snobol4-*
|
|
|
|
# Swift
|
|
gdown "https://drive.google.com/uc?export=download&id=1eE1-VuZz0gv-fITaGVT_r1UunCLjS-JT" swift.tar.gz
|
|
mkdir /opt/swift
|
|
tar -xf swift.tar.gz -C /opt/swift --strip-components=2
|
|
ln -s /opt/swift/bin/swiftc /usr/bin/swiftc
|
|
rm swift.tar.gz
|
|
|
|
popd >/dev/null
|
|
rm "$0"
|