# Maintainer: Blake Romero pkgname=eza-git pkgver=0.20.10.r0.g0862493 pkgrel=1 pkgdesc="A modern replacement for ls" arch=('x86_64') url="https://github.com/eza-community/eza" license=('EUPL-1.2') groups=() depends=('gcc-libs' 'glibc' 'libgit2') makedepends=('cargo' 'git' 'pandoc') checkdepends=('cargo') optdepends=() provides=("${pkgname%-*}") conflicts=("${pkgname%-*}" "${pkgname}") replaces=() backup=() options=() install= source=("${pkgname%-*}::git+${url}") noextract=() sha256sums=('SKIP') pkgver() { cd "$srcdir/${pkgname%-*}" git describe --long --abbrev=7 | sed 's/\([^-]*-g\)/r\1/; s/-/./g; s/^v//' } prepare() { mkdir -p "$srcdir/${pkgname%-*}" cd "$srcdir/${pkgname%-*}" cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')" } build() { cd "$srcdir/${pkgname%-*}" export RUSTUP_TOOLCHAIN=stable export CARGO_TARGET_DIR=target export LIBGIT2_NO_VENDOR=1 export CFLAGS="${CFLAGS} -ffat-lto-objects" cargo build --frozen --release # Build man pages mkdir -p target/man for manpage in eza.1 eza_colors.5 eza_colors-explanation.5; do pandoc --standalone -f markdown -t man "man/${manpage}.md" > "target/man/${manpage}" done } check() { cd "$srcdir/${pkgname%-*}" export RUSTUP_TOOLCHAIN=stable export CARGO_TARGET_DIR=target export CFLAGS="${CFLAGS} -ffat-lto-objects" cargo test --frozen --release } package() { depends+=("libgit2.so") cd "$srcdir/${pkgname%-*}" # Binary install -Dm755 "target/release/${pkgname%-*}" "${pkgdir}/usr/bin/${pkgname%-*}" # Completions. install -Dm644 "completions/bash/${pkgname%-*}" "${pkgdir}/usr/share/bash-completion/completions/${pkgname%-*}" # Docs install -Dm644 target/man/*.1 -t "${pkgdir}/usr/share/man/man1" install -Dm644 target/man/*.5 -t "${pkgdir}/usr/share/man/man5" install -Dm644 "README.md" "${pkgdir}/usr/share/doc/${pkgname%-*}/README.md" install -Dm644 -t "${pkgdir}/usr/share/licenses/${pkgname}/" "LICENSE.txt" }