1
0
Fork 0
eza-docker-build/build.sh

52 lines
931 B
Bash
Executable File

#!/bin/bash
set -xeu
DEBIAN_FRONTEND=noninteractive
TARGET="$PWD"
export DEBIAN_FRONTEND
dependencies() {
# Update system and install basic tools
apt-get update -yq && apt-get install -yq aptitude curl git wget
# Install dependencies for Eza
aptitude --quiet --assume-yes install gcc libgit2-dev
}
install_rust() {
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-host x86_64-unknown-linux-gnu --default-toolchain nightly
. ~/.cargo/env
}
get_eza_sources() {
# Clone Eza repo
cd "$(mktemp -d)"
git clone https://github.com/eza-community/eza
cd eza
}
build_eza() {
# Build
cargo build --release
# Test
cargo test
}
copy() {
TARGET_UID="$(stat --printf %u "$TARGET")"
TARGET_GID="$(stat --printf %g "$TARGET")"
install -o "$TARGET_UID" -g "$TARGET_GID" -t "$TARGET/target" target/release/eza
}
main() {
dependencies
install_rust
get_eza_sources
build_eza
copy
}
main