From a0ed04b55463cc1d48ecd72fd5a185332f85002e Mon Sep 17 00:00:00 2001 From: Load Accumulator Date: Thu, 2 Nov 2023 19:30:24 +0100 Subject: [PATCH] trying --- setup | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100755 setup diff --git a/setup b/setup new file mode 100755 index 0000000..82131e6 --- /dev/null +++ b/setup @@ -0,0 +1,60 @@ +#!/bin/bash + +COMPILER=$2 +SSL=$3 + +DISTRO=$(grep -E '^NAME=' /etc/os-release | + cut -d'=' -f2 | + tr -d '"') + +# Installs a package using the native OS's package manager. +install_pkg() { + case $DISTRO in + "Ubuntu") + "Debian GNU/Linux" ) + apt install -y $1 + ;; + "Arch Linux" ) + pacman -Syu --noconfirm $1 + ;; + esac +} + +install_compiler() { + echo '::group::Setting up a compiler' + case $DISTRO in + "Ubuntu" ) + "Debian GNU/Linux" ) + install_pkg build-essential + [ $COMPILER = 'clang' ] && install_pkg clang + + CC=gcc + [ $COMPILER = 'clang' ] && CC=clang + ;; + "Arch Linux" ) + install_pkg $COMPILER make + CC=gcc + [ $COMPILER = 'clang' ] && CC=clang + esac + echo '::endgroup::' +} +install_ssl() { + echo '::group::Setting up SSL' + case $DISTRO in + "Ubuntu" ) + "Debian GNU/Linux" ) + # Doesn't seem like Debian got LibreSSL + [ $SSL = 'libressl' ] && echo "::error ::LibreSSL is not on Debian" + install_pkg openssl + ;; + "Arch Linux" ) + install_pkg $SSL + esac + echo '::endgroup::' +} + +# Install the compiler and SSL +install_compiler +install_ssl + +echo "compiler=$CC" >> "$GITHUB_OUTPUT"