wluma/compilation.sh
2025-03-24 13:15:28 -05:00

41 lines
1.3 KiB
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
program_name="librewolf-allow-dark"
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
# prep
workdir=$(mktemp -d)
built_dir=${COMPILED_DIR:-/compiled}/$program_name
mkdir -p $built_dir
apt update && apt install curl jq -y
# check whether it's up-to-date
version_file=$built_dir/version
touch $version_file
# also available via gitlab.com/librewolf-community/browser/source/-/raw/main/{version,release}
version=$(curl 'https://api.github.com/repos/maximbaz/wluma/releases/latest' | jq '.tag_name' -r)
if grep -q $version $version_file; then
echo "already up to date, exiting"
exit
fi
## get source and build
# get build deps
apt install v4l-utils libv4l-dev libudev-dev libvulkan-dev libdbus-1-dev -y
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
. ~/.cargo/env
cd $workdir
curl -L $(curl 'https://api.github.com/repos/maximbaz/wluma/releases/latest' | jq '.tarball_url' -r) -o $program_name-$version.tar.gz
tar -xzf $program_name-$version.tar.gz
src_dir=$(find $(pwd) -name "maximbaz-wluma*")
cd $src_dir
cargo install --path .
# create .tar.zst archive
wluma_archive=$(mktemp -d)
cp $(which wluma) $wluma_archive
sed -i 's/\/usr\/bin\/wluma/\/usr\/bin\/env wluma/g' $src_dir/wluma.service
cp $src_dir/wluma.service $wluma_archive