Date: Friday, July 1, 2022 @ 07:13:25 Author: grawlinson Revision: 1243155
addpkg: bupstash 0.11.0-2 Added: bupstash/ bupstash/repos/ bupstash/trunk/ bupstash/trunk/PKGBUILD ----------+ PKGBUILD | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) Added: bupstash/trunk/PKGBUILD =================================================================== --- bupstash/trunk/PKGBUILD (rev 0) +++ bupstash/trunk/PKGBUILD 2022-07-01 07:13:25 UTC (rev 1243155) @@ -0,0 +1,84 @@ +# Maintainer: George Rawlinson <[email protected]> + +pkgname=bupstash +pkgver=0.11.0 +pkgrel=2 +pkgdesc='A tool for encrypted backups' +arch=('x86_64') +url='https://bupstash.io' +license=('MIT') +depends=('libsodium' 'gcc-libs') +makedepends=('git' 'rust' 'ruby-ronn-ng') +checkdepends=('bash-bats' 'python') # if you hate yourself, add procps-ng + bubblewrap +options=('!lto') +_commit='534c10a86af420b9edf2835c5232b085c38b79fc' +source=("$pkgname::git+https://github.com/andrewchambers/bupstash.git#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd "$pkgname" + + git describe --tags | sed 's/^v//' +} + +prepare() { + cd "$pkgname" + + # download dependencies + cargo fetch --locked --target "$CARCH-unknown-linux-gnu" +} +build() { + cd "$pkgname" + + cargo build --release --frozen --all-features +} + +check() { + cd "$pkgname" + + # run cargo tests + cargo test + + # run cli tests + # ensure recently-built binary is first in $PATH + PATH="$(pwd)/target/release:$PATH" + bats ./cli-tests +} + +package() { + cd "$pkgname" + + # binary + install -vDm755 -t "$pkgdir/usr/bin" "target/release/$pkgname" + + # license + install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE + + # documentation + install -vd "$pkgdir/usr/share/doc/$pkgname" + cp -vr doc/* "$pkgdir/usr/share/doc/$pkgname" + rm -vrf "$pkgdir/usr/share/doc/$pkgname/man" + + # man pages + OLDIFS="$IFS" + IFS="." + cd doc/man + for filename in *; do + read -ra PART <<< "$filename" + + title="${PART[0]}" + section="${PART[1]}" + + # generate man directory if required + if [ ! -d "$pkgdir/usr/share/man/man${section}" ]; then + install -vd "$pkgdir/usr/share/man/man${section}" + fi + + # generate man page + ronn --roff \ + <"$filename" \ + >"$pkgdir/usr/share/man/man${section}/${title}.${section}" + done + IFS="$OLDIFS" + unset OLDIFS +}
