/ protomd / PKGBUILD
PKGBUILD
 1  # Maintainer: Dominik Nakamura <dnaka91@gmail.com>
 2  # https://github.com/dnaka91/pkgbuilds
 3  
 4  pkgname=protomd
 5  pkgver=0.2.2
 6  pkgrel=2
 7  pkgdesc="Protobuf Markdown generator"
 8  arch=('aarch64' 'x86_64')
 9  url="https://forge.dnaka91.rocks/dnaka91/$pkgname"
10  license=('MIT')
11  depends=('libgcc')
12  makedepends=('cargo')
13  source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz")
14  b2sums=('4ac78de619f923ed0261178b5f4b015032b254ad08b92d429ab347a41dedfa167716460acda253ea0b0e0bbce5d23a59d888e1f0222a37dcc26def174d80b3d1')
15  
16  prepare() {
17    cd "$pkgname"
18    cargo fetch --locked --target "$CARCH-unknown-linux-gnu"
19  }
20  
21  build() {
22    cd "$pkgname"
23    export RUSTUP_TOOLCHAIN=stable
24    export CARGO_TARGET_DIR=target
25    cargo build --frozen --release --all-features
26  }
27  
28  check() {
29    cd "$pkgname"
30    export RUSTUP_TOOLCHAIN=stable
31    cargo test --frozen --all-features
32  }
33  
34  package() {
35    cd "$pkgname"
36    install -Dm 755 target/release/"$pkgname" -t "$pkgdir"/usr/bin
37    install -Dm 644 LICENSE.md -t "$pkgdir"/usr/share/licenses/"$pkgname"
38    install -Dm 644 README.md -t "$pkgdir"/usr/share/doc/"$pkgname"
39  
40    ./target/release/"$pkgname" completion completion
41    install -dm 755 "$pkgdir"/usr/share/{bash-completion/completions,elvish/lib,fish/vendor_completions.d,nushell/vendor/autoload,zsh/site-functions}/
42    install -Dm 644 completion/"$pkgname".bash "$pkgdir"/usr/share/bash-completion/completions/"$pkgname"
43    install -Dm 644 completion/"$pkgname".elv -t "$pkgdir"/usr/share/elvish/lib
44    install -Dm 644 completion/"$pkgname".fish -t "$pkgdir"/usr/share/fish/vendor_completions.d
45    install -Dm 644 completion/"$pkgname".nu -t "$pkgdir"/usr/share/nushell/vendor/autoload
46    install -Dm 644 completion/_"$pkgname" -t "$pkgdir"/usr/share/zsh/site-functions
47  
48    install -dm 755 "$pkgdir"/usr/share/man/man1/
49    ./target/release/"$pkgname" manpages "$pkgdir"/usr/share/man/man1
50  }