diff options
author | Jack Todaro <solpeth@posteo.org> | 2020-12-17 16:29:59 +1100 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2020-12-17 07:29:32 +0000 |
commit | b89200027e54bf1a45ef3e227a88da56838d00ea (patch) | |
tree | 5082c77812102b601f70d642c4e5feab47d70858 /sci-mathematics/agda | |
parent | dev-haskell/cpphs: bump up to 1.20.9.1 (diff) | |
download | gentoo-b89200027e54bf1a45ef3e227a88da56838d00ea.tar.gz gentoo-b89200027e54bf1a45ef3e227a88da56838d00ea.tar.bz2 gentoo-b89200027e54bf1a45ef3e227a88da56838d00ea.zip |
sci-mathematics/agda: bump up to 2.6.1.2
Signed-off-by: Jack Todaro <solpeth@posteo.org>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'sci-mathematics/agda')
-rw-r--r-- | sci-mathematics/agda/Manifest | 1 | ||||
-rw-r--r-- | sci-mathematics/agda/agda-2.6.1.2.ebuild | 139 | ||||
-rw-r--r-- | sci-mathematics/agda/metadata.xml | 51 |
3 files changed, 173 insertions, 18 deletions
diff --git a/sci-mathematics/agda/Manifest b/sci-mathematics/agda/Manifest index 797f3b17f0d6..0514a033175f 100644 --- a/sci-mathematics/agda/Manifest +++ b/sci-mathematics/agda/Manifest @@ -1 +1,2 @@ DIST Agda-2.5.2.tar.gz 1240885 BLAKE2B bccdaa0c40b8e116f44ee436171cec0a8e1366d7b1f0b469bf459eacf4256e29a00c60a371dcf7971c499e948ce6264861016bb51fcad3251f62cb3e7370c19c SHA512 39ec73316eb7409f7f2618e86a9a3a2c420c93470bf46a1c37a4c4753c6c831d2d6da9ba007086ddee9defd481a695bf142a0a7d360dfa01bdb1fb92467af164 +DIST Agda-2.6.1.2.tar.gz 2722270 BLAKE2B cf8d4bff2c189d87696c3f03f1b32777e8bd060102f108e0b96aca87e6b3b1cc84077a1e0fe3f9ef42293f683aa855eb60ade8b0863b3f78c96b4ebb63e456a5 SHA512 5ab35d9b581ed918481dd25619739dfa43ea3d86b9522989fe8c83b3aa8749bee81fb12e7cd6b4270c4890a3719386c62b220163324407a1201273d1dfe9d615 diff --git a/sci-mathematics/agda/agda-2.6.1.2.ebuild b/sci-mathematics/agda/agda-2.6.1.2.ebuild new file mode 100644 index 000000000000..ab5ba3366d32 --- /dev/null +++ b/sci-mathematics/agda/agda-2.6.1.2.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# ebuild generated by hackport 0.6.6.9999 + +CABAL_FEATURES="lib profile haddock hoogle hscolour" +inherit haskell-cabal elisp-common + +MY_PN="Agda" +MY_P="${MY_PN}-${PV}" + +## shared with sci-mathematics/agda-stdlib +# upstream does not maintain version ordering: +# https://github.com/agda/agda-stdlib/releases +# 0.11 -> 2.5.0.20160213 -> 2.5.0.20160412 -> 0.12 +# As Agda-stdlib is tied to Agda version we encode +# both versions in gentoo version. +## +MY_UPSTREAM_AGDA_STDLIB_V="1.4" +MY_GENTOO_AGDA_STDLIB_V="${PV}.${MY_UPSTREAM_AGDA_STDLIB_V}" + +DESCRIPTION="A dependently typed functional programming language and proof assistant" +HOMEPAGE="https://wiki.portal.chalmers.se/agda/" +SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz" + +LICENSE="MIT" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~x86" +IUSE="+cpphs debug emacs enable-cluster-counting +stdlib" + +RDEPEND=">=dev-haskell/aeson-1.1.2.0:=[profile?] <dev-haskell/aeson-1.6:=[profile?] + >=dev-haskell/async-2.2:=[profile?] <dev-haskell/async-2.3:=[profile?] + >=dev-haskell/blaze-html-0.8:=[profile?] <dev-haskell/blaze-html-0.10:=[profile?] + >=dev-haskell/boxes-0.1.3:=[profile?] <dev-haskell/boxes-0.2:=[profile?] + >=dev-haskell/data-hash-0.2.0.0:=[profile?] <dev-haskell/data-hash-0.3:=[profile?] + >=dev-haskell/edit-distance-0.2.1.2:=[profile?] <dev-haskell/edit-distance-0.3:=[profile?] + >=dev-haskell/equivalence-0.3.2:=[profile?] <dev-haskell/equivalence-0.4:=[profile?] + >=dev-haskell/exceptions-0.8:=[profile?] <dev-haskell/exceptions-0.11:=[profile?] + >=dev-haskell/geniplate-mirror-0.6.0.6:=[profile?] <dev-haskell/geniplate-mirror-0.8:=[profile?] + >=dev-haskell/gitrev-1.3.1:=[profile?] <dev-haskell/gitrev-2.0:=[profile?] + >=dev-haskell/hashable-1.2.1.0:=[profile?] <dev-haskell/hashable-1.4:=[profile?] + >=dev-haskell/hashtables-1.2.0.2:=[profile?] <dev-haskell/hashtables-1.3:=[profile?] + >=dev-haskell/haskeline-0.7.2.3:=[profile?] <dev-haskell/haskeline-0.9:=[profile?] + >=dev-haskell/ieee754-0.7.8:=[profile?] <dev-haskell/ieee754-0.9:=[profile?] + >=dev-haskell/mtl-2.2.1:=[profile?] <dev-haskell/mtl-2.3:=[profile?] + >=dev-haskell/murmur-hash-0.1:=[profile?] <dev-haskell/murmur-hash-0.2:=[profile?] + >=dev-haskell/regex-tdfa-1.3.1.0:=[profile?] <dev-haskell/regex-tdfa-1.4:=[profile?] + >=dev-haskell/split-0.2.0.0:=[profile?] <dev-haskell/split-0.2.4:=[profile?] + >=dev-haskell/stm-2.4.4:=[profile?] <dev-haskell/stm-2.6:=[profile?] + >=dev-haskell/strict-0.3.2:=[profile?] <dev-haskell/strict-0.5:=[profile?] + >=dev-haskell/text-1.2.3.1:=[profile?] <dev-haskell/text-1.3:=[profile?] + >=dev-haskell/unordered-containers-0.2.5.0:=[profile?] <dev-haskell/unordered-containers-0.3:=[profile?] + >=dev-haskell/uri-encode-1.5.0.4:=[profile?] <dev-haskell/uri-encode-1.6:=[profile?] + >=dev-haskell/zlib-0.6:=[profile?] <dev-haskell/zlib-0.7:=[profile?] + >=dev-lang/ghc-8.0.2:= + enable-cluster-counting? ( >=dev-haskell/text-icu-0.7:=[profile?] <dev-haskell/text-icu-0.8:=[profile?] ) +" +RDEPEND+=" + emacs? ( + >=app-editors/emacs-23.1:* + app-emacs/haskell-mode ) +" +PDEPEND="stdlib? ( ~sci-mathematics/agda-stdlib-${MY_GENTOO_AGDA_STDLIB_V} )" +DEPEND="${RDEPEND} + dev-haskell/alex + >=dev-haskell/cabal-1.24.2.0 <dev-haskell/cabal-3.3 + dev-haskell/happy + cpphs? ( >=dev-haskell/cpphs-1.20.9 ) +" + +SITEFILE="50${PN}2-gentoo.el" +S="${WORKDIR}/${MY_P}" + +src_prepare() { + default + + if ! use emacs; then + sed -e '/.*emacs-mode.*$/d' \ + -i "${S}/${MY_PN}.cabal" \ + || die "Could not remove agda-mode from ${MY_PN}.cabal" + fi +} + +src_configure() { + haskell-cabal_src_configure \ + $(cabal_flag cpphs cpphs) \ + $(cabal_flag debug debug) \ + $(cabal_flag enable-cluster-counting enable-cluster-counting) +} + +src_compile() { + if use emacs; then + BYTECOMPFLAGS="-L ./src/data/emacs-mode" + elisp-compile src/data/emacs-mode/*.el \ + || die "Failed to compile emacs mode" + fi + export LD_LIBRARY_PATH="${S}/dist/build${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + haskell-cabal_src_compile +} + +src_install() { + local add="${ED}"/usr/share/"${P}/ghc-$(ghc-version)" + + haskell-cabal_src_install + + export LD_LIBRARY_PATH="${S}/dist/build${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + # compile Agda.Primitive and Agda.Builtin modules, emulate Setup.hs postinst phase + Agda_datadir="${add}" \ + "${ED}"/usr/bin/agda "${add}"/lib/prim/Agda/Primitive.agda \ + || die "Failed to build 'Primitive.agdai'" + for file in "${add}"/lib/prim/Agda/Builtin/*.agda; do + Agda_datadir="${add}" \ + "${ED}"/usr/bin/agda "${file}" \ + || die "Failed to build '${file}'" + done + + if use emacs; then + elisp-install ${PN} src/data/emacs-mode/*.el \ + || die "Failed to install emacs mode" + elisp-site-file-install "${FILESDIR}/${SITEFILE}" \ + || die "Failed to install elisp site file" + fi +} + +pkg_postinst() { + haskell-cabal_pkg_postinst + if use emacs; then + elisp-site-regen + fi +} + +pkg_postrm() { + haskell-cabal_pkg_postrm + if use emacs; then + elisp-site-regen + fi +} diff --git a/sci-mathematics/agda/metadata.xml b/sci-mathematics/agda/metadata.xml index ea96b9e3cce7..5606f0f0585e 100644 --- a/sci-mathematics/agda/metadata.xml +++ b/sci-mathematics/agda/metadata.xml @@ -1,22 +1,37 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>sci-mathematics@gentoo.org</email> - <name>Gentoo Mathematics Project</name> - </maintainer> -<maintainer type="project"> - <email>haskell@gentoo.org</email> - <name>Gentoo Haskell</name> - </maintainer> -<longdescription lang="en"> - Agda is an interactive proof editor, or proof assistant. Its input language, - called Agda language (or simply Agda), is based on a constructive type - theory á la Martin-Löf, extended with dependent record types, - inductive definitions, module structures and a class hierarchy mechanism. -</longdescription> -<use> - <flag name="cpphs">Use cpphs instead of cpp.</flag> - <flag name="stdlib">Install the standard library.</flag> -</use> + <maintainer type="project"> + <email>haskell@gentoo.org</email> + <name>Gentoo Haskell</name> + </maintainer> + <use> + <flag name="cpphs">Use cpphs instead of cpp.</flag> + <flag name="debug">Enable debugging features that may slow Agda down.</flag> + <flag name="enable-cluster-counting">Enable the --count-clusters flag. (If enable-cluster-counting is False, then the --count-clusters flag triggers an error message.)</flag> + <flag name="stdlib">Install the standard library.</flag> + </use> + <longdescription> + Agda is a dependently typed functional programming language: It has + inductive families, which are similar to Haskell's GADTs, but they + can be indexed by values and not just types. It also has + parameterised modules, mixfix operators, Unicode characters, and an + interactive Emacs interface (the type checker can assist in the + development of your code). + + Agda is also a proof assistant: It is an interactive system for + writing and checking proofs. Agda is based on intuitionistic type + theory, a foundational system for constructive mathematics developed + by the Swedish logician Per Martin-L&#xf6;f. It has many + similarities with other proof assistants based on dependent types, + such as Coq, Epigram and NuPRL. + + This package includes both a command-line program (agda) and an + Emacs mode. If you want to use the Emacs mode you can set it up by + running @agda-mode setup@ (see the README). + + Note that the Agda package does not follow the package versioning + policy, because it is not intended to be used by third-party + packages. + </longdescription> </pkgmetadata> |