aports/community/darcs/APKBUILD

81 lines
2.2 KiB
Text

# Contributor: gay <gay@disroot.org>
# Maintainer: Celeste <cielesti@protonmail.com>
maintainer="Celeste <cielesti@protonmail.com>"
pkgname=darcs
pkgver=2.18.5
pkgrel=0
pkgdesc="Patch-based revision control system"
url="https://darcs.net/"
arch="aarch64 x86_64" # limited by ghc
license="GPL-2.0-or-later"
makedepends="cabal ghc curl-dev ncurses-dev zlib-dev"
#checkdepends="diffutils grep lighttpd musl-locales"
options="!check" # tests relying on presence of shell utils fail without giving detailed log
subpackages="$pkgname-doc"
source="https://hackage.haskell.org/package/darcs-$pkgver/darcs-$pkgver.tar.gz
cabal.project.freeze
"
# Directory where cabal files are stored.
export CABAL_DIR="${CABAL_DIR:-"$srcdir/dist"}"
cabal_update() {
local repo="hackage.haskell.org"
# Default config uses HTTP, change it to HTTPS.
[ -f "$CABAL_DIR"/config ] || {
cabal user-config init
cabal user-config update -a \
"repository $repo {url: https://$repo/}"
}
cd "$startdir"
[ -d "$builddir" ] || abuild unpack
msg "Freezing $pkgname dependencies"
# Resolve deps and generate fresh cabal.project.freeze with version constraints.
(
cd "$builddir" || {
error 'Is $builddir set correctly?'
return 1
}
cabal v2-update
cabal v2-freeze --shadow-installed-packages
mv -v cabal.project.freeze "$startdir"/
)
if ! abuild checksum; then
die "Failed to update checksum, run 'abuild checksum' manually"
fi
}
prepare() {
default_prepare
ln -svf "$srcdir"/cabal.project.freeze "$builddir"/
}
build() {
cabal v2-update
cabal v2-build darcs:exes \
--jobs=${JOBS:-1} \
--prefix=/usr \
--docdir=/usr/share/doc/$pkgname \
--sysconfdir=/etc
}
check() {
cabal test
}
package() {
cd dist-newstyle/build/*-linux/ghc-*/$pkgname-$pkgver/build/$pkgname
install -Dm755 $pkgname "$pkgdir"/usr/bin/$pkgname
install -Dm644 $pkgname.1 "$pkgdir"/usr/share/man/man1/$pkgname.1
}
sha512sums="
858d134e0ad4af1b4adeb4dd8250a34b12358de5993c34ee33c9ebbbe85f5b7bf49e219da7f0cdd254601095c4c70f41430871c2dd7508d5f02f1b141ff1ad4d darcs-2.18.5.tar.gz
79fc2487eb3e5cbe236a43825b28e1bc759db53a6df550be51f66324077c37640d51d1477ae6b344468d08dfe2ec8ecb19022711324667eaf072a7a1beed0483 cabal.project.freeze
"