summaryrefslogtreecommitdiff
path: root/eza/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'eza/PKGBUILD')
-rw-r--r--eza/PKGBUILD77
1 files changed, 77 insertions, 0 deletions
diff --git a/eza/PKGBUILD b/eza/PKGBUILD
new file mode 100644
index 0000000..22579cb
--- /dev/null
+++ b/eza/PKGBUILD
@@ -0,0 +1,77 @@
+# Maintainer: Blake Romero <blake@blkrom.com>
+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"
+ }