52 lines
1.4 KiB
Bash
52 lines
1.4 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
set -ex
|
||
|
|
||
|
PACKAGES=(
|
||
|
bc
|
||
|
btrfs-tools
|
||
|
dnsutils
|
||
|
libcap-ng-dev
|
||
|
libncursesw5-dev
|
||
|
libpam-dev
|
||
|
libudev-dev
|
||
|
gtk-doc-tools
|
||
|
mdadm
|
||
|
ntp
|
||
|
socat
|
||
|
)
|
||
|
|
||
|
PACKAGES_OPTIONAL=(
|
||
|
libsystemd-daemon-dev
|
||
|
libsystemd-journal-dev
|
||
|
)
|
||
|
|
||
|
|
||
|
COMPILER="${COMPILER:?}"
|
||
|
COMPILER_VERSION="${COMPILER_VERSION:?}"
|
||
|
RELEASE="$(lsb_release -cs)"
|
||
|
|
||
|
bash -c "echo 'deb-src http://archive.ubuntu.com/ubuntu/ $RELEASE main restricted universe multiverse' >>/etc/apt/sources.list"
|
||
|
|
||
|
if [[ "$COMPILER" == clang ]]; then
|
||
|
# Latest LLVM stack deb packages provided by https://apt.llvm.org/
|
||
|
# Following snippet was borrowed from https://apt.llvm.org/llvm.sh
|
||
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
|
||
|
add-apt-repository -y "deb http://apt.llvm.org/$RELEASE/ llvm-toolchain-$RELEASE-$COMPILER_VERSION main"
|
||
|
PACKAGES+=(clang-$COMPILER_VERSION lldb-$COMPILER_VERSION lld-$COMPILER_VERSION clangd-$COMPILER_VERSION)
|
||
|
elif [[ "$COMPILER" == gcc ]]; then
|
||
|
# Latest gcc stack deb packages provided by
|
||
|
# https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test
|
||
|
add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
||
|
PACKAGES+=(gcc-$COMPILER_VERSION)
|
||
|
else
|
||
|
fatal "Unknown compiler: $COMPILER"
|
||
|
fi
|
||
|
|
||
|
apt-get -y update --fix-missing
|
||
|
apt-get -y build-dep util-linux
|
||
|
apt-get -y install "${PACKAGES[@]}"
|
||
|
apt-get -y install "${PACKAGES_OPTIONAL[@]}" || true
|
||
|
|
||
|
export PATH="$HOME/.local/bin:$PATH"
|