Subject: [PATCH v2] testing/agda: new aport

From: River Dillon <[email-masked]>
Date: Tue, 30 Mar 2021 17:47:33 -0700

https://wiki.portal.chalmers.se/agda/pmwiki.php
a dependently typed functional programming language
---
The first patch was missing a build-time dependency (texlive) for the
documentation.

 testing/agda/APKBUILD | 67 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)
 create mode 100644 testing/agda/APKBUILD

diff --git a/testing/agda/APKBUILD b/testing/agda/APKBUILD
new file mode 100644
index 0000000000..12858c83b3
--- /dev/null
+++ b/testing/agda/APKBUILD
@@ -0,0 +1,67 @@
+# Contributor: River Dillon <[email-masked]>
+# Maintainer: River Dillon <[email-masked]>
+pkgname=agda
+pkgver=2.6.1.3
+pkgrel=0
+pkgdesc="a dependently typed functional programming language"
+url="https://wiki.portal.chalmers.se/agda/pmwiki.php"
+arch="x86_64"
+license="agda"
+makedepends="\
+	ghc \
+	cabal \
+	zlib-dev \
+	ncurses-dev \
+	icu-libs \
+	py3-sphinx \
+	py3-sphinx_rtd_theme \
+	texlive-full \
+	"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/agda/agda/archive/refs/tags/v$pkgver.tar.gz"
+export CABAL_DIR="$srcdir/cabal"
+export PATH="$PATH:$CABAL_DIR/bin"
+
+# Agda provides a 'test' target in the makefile, but I haven't been able to get
+# it working yet. Agda should support the nix-style cabal commands soon, which
+# will make this easier.
+options="!check"
+
+prepare() {
+	default_prepare
+	cabal v2-update
+	touch doc/user-manual.pdf # hack
+	cabal v2-install -j --only-dependencies
+	cabal v2-install alex happy # just to add to path
+}
+
+build() {
+	ghcver=$(runhaskell --version | awk '{print $2;}') # GHC version
+	runhaskell Setup.hs configure \
+		"--package-db=$CABAL_DIR/store/ghc-$ghcver/package.db" \
+		"--prefix=/usr" \
+		"--datasubdir=$pkgname" \
+		"--docdir=\$datadir/doc/$pkgname"
+	runhaskell Setup.hs build -j "--ghc-options=-j -O1"
+	make user-manual-pdf
+	make user-manual-html
+}
+
+package() {
+	# copy everything
+	runhaskell Setup.hs copy "--destdir=$pkgdir"
+
+	# install license in the correct location
+	rm -r "$pkgdir/usr/share/doc"
+	install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+
+	# don't need development files
+	rm -r "$pkgdir/usr/lib"
+
+	# documentation
+	install -Dm644 "doc/user-manual.pdf" \
+		"$pkgdir/usr/share/doc/$pkgname/pdf/user-manual.pdf"
+	cp -r "doc/user-manual/_build/html" "$pkgdir/usr/share/doc/$pkgname/html"
+}
+
+sha512sums="3c9ca47181aca143f717642c143fb6a8124eb0cffec2b2f05e7b257a252e9c3253982a05af177974bc16da9c44244bb38731dd032f4f0fb0ede3c0a4f7fb77ac  agda-2.6.1.3.tar.gz"
-- 
2.30.2