diff options
Diffstat (limited to 'community/hledger/APKBUILD')
-rw-r--r-- | community/hledger/APKBUILD | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/community/hledger/APKBUILD b/community/hledger/APKBUILD new file mode 100644 index 00000000000..2be6ca23816 --- /dev/null +++ b/community/hledger/APKBUILD @@ -0,0 +1,130 @@ +# Contributor: Dhruvin Gandhi <contact@dhruvin.dev> +# Maintainer: Dhruvin Gandhi <contact@dhruvin.dev> +pkgname=hledger +pkgver=1.33 +pkgrel=0 +pkgdesc="Command-line interface for the hledger accounting system" +_uipkgdesc="Curses-style terminal interface for the hledger accounting system" +_webpkgdesc="Web interface for the hledger accounting system" +url="https://hledger.org/hledger.html" +_uiurl="https://hledger.org/hledger-ui.html" +_weburl="https://hledger.org/hledger-web.html" +arch="aarch64 x86_64" # limited by ghc +license="GPL-3.0-only" +makedepends=" + ghc + cabal + libffi-dev + ncurses-dev + zlib-dev + " +_llvmver=15 +subpackages=" + $pkgname-doc + $pkgname-bash-completion + $pkgname-ui + $pkgname-ui-doc:uidoc + $pkgname-web + $pkgname-web-doc:webdoc + $pkgname-web-openrc:webopenrc + " +source="https://github.com/simonmichael/hledger/archive/refs/tags/$pkgver/hledger-$pkgver.tar.gz + cabal.project.freeze + hledger-web.initd + hledger-web.pre-install" +options="net" + +export CABAL_DIR="$srcdir"/cabal +export PATH="/usr/lib/llvm$_llvmver/bin:$PATH" + +cabal_update() { + cd $builddir + cabal v2-update + ( + cd "$builddir" + cabal v2-freeze --shadow-installed-packages + mv cabal.project.freeze "$startdir/" + ) +} + +prepare() { + default_prepare + cp "$srcdir"/cabal.project.freeze . +} + +build() { + cabal update + cabal build --prefix=/usr --enable-relocatable all +} + +check() { + cabal test all +} + +package() { + # hledger + install -Dm755 "$(cabal list-bin hledger)" "$pkgdir"/usr/bin/hledger + install -Dm644 hledger/hledger.1 "$pkgdir"/usr/share/man/man1/hledger.1 + install -Dm644 hledger/hledger.info "$pkgdir"/usr/share/info/hledger.info + install -Dm644 hledger/shell-completion/hledger-completion.bash \ + "$pkgdir"/usr/share/bash-completion/completions/hledger + # hledger-ui + install -Dm755 "$(cabal list-bin hledger-ui)" "$pkgdir"/usr/bin/hledger-ui + install -Dm644 hledger-ui/hledger-ui.1 "$pkgdir"/usr/share/man/man1/hledger-ui.1 + install -Dm644 hledger-ui/hledger-ui.info "$pkgdir"/usr/share/info/hledger-ui.info + # hledger-web + install -Dm755 "$(cabal list-bin hledger-web)" "$pkgdir"/usr/bin/hledger-web + install -Dm644 hledger-web/hledger-web.1 "$pkgdir"/usr/share/man/man1/hledger-web.1 + install -Dm644 hledger-web/hledger-web.info "$pkgdir"/usr/share/info/hledger-web.info + install -Dm755 "$srcdir"/hledger-web.initd "$pkgdir"/etc/init.d/hledger-web +} + +doc() { + pkgdesc="$pkgdesc (documentation)" + install_if="docs $pkgname=$pkgver-r$pkgrel" + amove /usr/share/man/man1/hledger.1 /usr/share/info/hledger.info + $(command -v pigz || echo gzip) -n -9 "$subpkgdir"/usr/share/man/man1/hledger.1 +} + +ui() { + pkgdesc="$_uipkgdesc" + url="$_uiurl" + amove /usr/bin/hledger-ui +} + +uidoc() { + pkgdesc="$_uipkgdesc (documentation)" + url="$_uiurl" + install_if="docs $pkgname-ui=$pkgver-r$pkgrel" + amove /usr/share/man/man1/hledger-ui.1 /usr/share/info/hledger-ui.info + $(command -v pigz || echo gzip) -n -9 "$subpkgdir"/usr/share/man/man1/hledger-ui.1 +} + +web() { + pkgdesc="$_webpkgdesc" + url="$_weburl" + install="$pkgname-web.pre-install" + amove /usr/bin/hledger-web +} + +webdoc() { + pkgdesc="$_webpkgdesc (documentation)" + url="$_weburl" + install_if="docs $pkgname-web=$pkgver-r$pkgrel" + amove /usr/share/man/man1/hledger-web.1 /usr/share/info/hledger-web.info + $(command -v pigz || echo gzip) -n -9 "$subpkgdir"/usr/share/man/man1/hledger-web.1 +} + +webopenrc() { + pkgdesc="$_webpkgdesc (OpenRC init scripts)" + url="$_weburl" + install_if="openrc $pkgname-web=$pkgver-r$pkgrel" + amove /etc/init.d/hledger-web +} + +sha512sums=" +bb8968a64a90ab725249e800feab96ffc30b019c8ee8471f475b8492645c5ce9afc0f5f0eae851517450b6043ce341fb204151967a504120d2331ac1c1e279b7 hledger-1.33.tar.gz +d7c41b3c84708ce93ed66f21d41e19f81b7c9909986b56f701bafb1f61a7c5dec0b4e07d6aaf1a9ed62c63287e55ff6a1cbfdb70b84b9e999d3cf19303435f92 cabal.project.freeze +4fd0898b29736c1d7f5b41b1ccca8734f38999e5ba88656e092724a7ce4ed346b4f86d627c99be77934eaa7cd86e33ce20a33a60650f1ad8a527c57387179365 hledger-web.initd +9049869dc413c840928b6868547b0de87c624401eeebbd56a7626744634e6e65f6375ca3cf42e8d307fcc8653fbeaf231dde2b597c482176bbb0ba4034cb2c27 hledger-web.pre-install +" |