aports/community/jj_tui/APKBUILD

110 lines
2.6 KiB
Plaintext

# Contributor: Celeste <cielesti@protonmail.com>
# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=jj_tui
pkgver=0.7.4
pkgrel=0
pkgdesc="TUI for the Jujutsu version control system"
url="https://github.com/faldor20/jj_tui"
arch="all !armhf !armv7 !x86 !s390x" # jujutsu
license="MIT"
depends="jujutsu"
makedepends="
bash
dune
linux-headers
ocaml5-compiler-libs
opam-monorepo
"
subpackages="$pkgname-doc"
source="https://github.com/faldor20/jj_tui/archive/refs/tags/v$pkgver/jj_tui-$pkgver.tar.gz
jj_tui.opam.locked
opam-file.patch
"
export OPAMROOT="${OPAMROOT:-"$srcdir/opam-root"}"
export OPAMLOGS="${OPAMLOGS:-"$srcdir/opam-logs"}"
_opam_opts="-v -y --cli=2.2 --no-self-upgrade"
_lockfile_name="$pkgname.opam.locked"
_monorepo_opts="-v --lockfile=$_lockfile_name"
_minimal_update=true
recreate() {
_minimal_update=false
}
opam_init() {
opam init $_opam_opts \
--compiler=ocaml-system \
--disable-sandboxing \
--no-setup
}
opam_lock() {
[ -f "$OPAMROOT"/config ] || {
opam_init
opam repository $_opam_opts \
add dune-universe \
git+https://github.com/dune-universe/opam-overlays.git
}
[ -d "$builddir" ] || abuild unpack
msg "Freezing $pkgname dependencies"
# Resolve deps and update $pkgname.opam.locked, unless
# recreate() is called, in which case create it afresh.
(
cd "$builddir" || {
error 'Is $builddir set correctly?'
return 1
}
opam update $_opam_opts
if ! want_check; then
_monorepo_opts="$_monorepo_opts --build-only"
fi
if $_minimal_update; then
cp -v "$srcdir"/$_lockfile_name .
_monorepo_opts="$_monorepo_opts --minimal-update"
fi
opam-monorepo lock $_monorepo_opts
mv -v $_lockfile_name "$startdir"/
)
if ! abuild checksum; then
die "Failed to update checksum, run 'abuild checksum' manually"
fi
}
prepare() {
default_prepare
[ -f "$OPAMROOT"/config ] || opam_init
ln -svf "$srcdir"/$_lockfile_name "$builddir"/
opam-monorepo pull $_monorepo_opts --yes
}
build() {
dune build --release --verbose
}
check() {
dune runtest --build-dir=.testenv
}
package() {
dune install --destdir="$pkgdir" --sections=bin,doc
rm -v "$pkgdir"/usr/bin/widget_test
}
sha512sums="
c81de11e0affa726fa163e67afbca83c80ee5dbd548df5234d6cd1fb3a87275e68d03a88d16bbb362f1d6ce92ec52f7e8ef3c7ae1a76bbb0dd14e926b153a5da jj_tui-0.7.4.tar.gz
f0008ba5a36d7514e155d124fb59b7ef828b14d32a426c26e763031d0c2cb9914dd730ccf600f3de348f10e228fdf18077373fe128baeaa78acb082e0fb1cc32 jj_tui.opam.locked
2314828ef52d4d083dc7165e9e626e0c406ca0801bd3db0fa393e295705dad018bc888a740e72ca768f63662031e3b915970e8b323d87b1593c4dc2fb8d911a7 opam-file.patch
"