2024-05-18 15:27:25 +00:00

84 lines
2.0 KiB
Plaintext

# Contributor: Celeste <cielesti@protonmail.com>
# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=glirc
pkgver=2.40.1
pkgrel=0
pkgdesc="Console IRC client written in Haskell"
url="https://github.com/glguy/irc-core"
arch="aarch64 x86_64" # ghc
license="ISC"
makedepends="
cabal
ghc
ncurses-dev
openssl-dev
"
subpackages="$pkgname-doc"
source="https://hackage.haskell.org/package/glirc-$pkgver/glirc-$pkgver.tar.gz
cabal.project.freeze
"
# Directory where cabal files are stored.
export CABAL_DIR="${CABAL_DIR:-"$srcdir/cabal"}"
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/}"
}
[ -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 glirc:exes \
--jobs=${JOBS:-1} \
--prefix=/usr \
--docdir=/usr/share/doc/$pkgname \
--sysconfdir=/etc
}
check() {
cabal test
}
package() {
install -Dvm755 "$(cabal list-bin $pkgname)" -t "$pkgdir"/usr/bin/
install -Dvm644 $pkgname.1 -t "$pkgdir"/usr/share/man/man1/
install -Dvm644 README.md -t "$pkgdir"/usr/share/doc/$pkgname/
install -Dvm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
}
sha512sums="
c2cd359e2a42b703fd82414a906e05f9652357a6b56995d57bec2404ef32c65dacc73d7c97db95d553e6219f0e749d37b9c5e6264a43217fe159407620afd3a5 glirc-2.40.1.tar.gz
09974888ccc6ad381751f45ff06e56f7806cb53968823721fdb80ad283d98bdd11d84d21637ffd797dc68f62b691b9df6cd22d48a834ebeda7bee21ea91cf3cc cabal.project.freeze
"