summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: cd6dd57c45b2b266c27719504669e68e8df1370c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# Maintainer: Akshat Ayush <akshatayush07 at gmail dot com>

pkgname=zsa-zapp-git
pkgver=1.0.1.r0.gc1dd545
pkgrel=1
pkgdesc="Flash ZSA keyboards from your terminal."
arch=('x86_64')
url="https://github.com/zsa/zapp"
license=('LicenseRef-MIT-Commons-Clause')
depends=('glibc' 'libgcc' 'systemd-libs')
makedepends=('git' 'cargo')
provides=("${pkgname%-git}=${pkgver}")
conflicts=("${pkgname%-git}")
source=("$pkgname::git+$url")
sha256sums=('SKIP')

pkgver() {
  cd "$pkgname"
  git describe --long --tags --abbrev=7 | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}

prepare() { # ^[1]
  cd "$pkgname"

  export RUSTUP_TOOLCHAIN=stable
  # Temporary fix for an upstream Cargo.lock mismatch
  cargo update
  cargo fetch --locked --target host-tuple
}

check() {
  cd "$pkgname"

  export RUSTUP_TOOLCHAIN=stable
  cargo test --frozen
}

build() {
  cd "$pkgname"

  export RUSTUP_TOOLCHAIN=stable
  # Prevent makepkg's flags from breaking aws-lc-sys build
  unset CFLAGS CXXFLAGS LDFLAGS
  cargo build --release --frozen --manifest-path zapp/Cargo.toml
}

package() {
  cd "$pkgname"

  install -vDm 755 "target/release/zapp" "$pkgdir/usr/bin/zapp"
  install -vDm 644 "udev/50-zsa.rules" "$pkgdir/usr/lib/udev/rules.d/50-zsa-zapp.rules"
  install -vDm 644 LICENSE.md "$pkgdir/usr/share/licenses/$pkgname/LICENSE"

  depends+=('libudev.so') # ^[1]
}

# [1]: Graciously provided by @trumpetrespas [https://aur.archlinux.org/packages/zsa-zapp]