guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

21/26: gnu: Add agda-stdlib.


From: guix-commits
Subject: 21/26: gnu: Add agda-stdlib.
Date: Sun, 4 Jun 2023 05:38:34 -0400 (EDT)

jpoiret pushed a commit to branch master
in repository guix.

commit c1f8bcbbda4d90dc98d5e808049f008dffe6b979
Author: Josselin Poiret <dev@jpoiret.xyz>
AuthorDate: Sat Apr 29 17:01:14 2023 +0200

    gnu: Add agda-stdlib.
    
    * gnu/packages/patches/agda-stdlib-use-runhaskell.patch: New patch.
    * gnu/local.mk (dist_patch_DATA): Register it.
    * gnu/packages/agda.scm: New variable agda-stdlib.
---
 gnu/local.mk                                       |  1 +
 gnu/packages/agda.scm                              | 38 ++++++++++++++++++++++
 .../patches/agda-stdlib-use-runhaskell.patch       | 28 ++++++++++++++++
 3 files changed, 67 insertions(+)

diff --git a/gnu/local.mk b/gnu/local.mk
index d38329ea95..2da6c5d59f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -886,6 +886,7 @@ dist_patch_DATA =                                           
\
   %D%/packages/patches/aegisub-boost68.patch                   \
   %D%/packages/patches/aegisub-make43.patch                    \
   %D%/packages/patches/agda-libdirs-env-variable.patch \
+  %D%/packages/patches/agda-stdlib-use-runhaskell.patch        \
   %D%/packages/patches/agg-am_c_prototype.patch                        \
   %D%/packages/patches/agg-2.5-gcc8.patch                      \
   %D%/packages/patches/akonadi-paths.patch             \
diff --git a/gnu/packages/agda.scm b/gnu/packages/agda.scm
index c73c238a35..dd427bff02 100644
--- a/gnu/packages/agda.scm
+++ b/gnu/packages/agda.scm
@@ -31,6 +31,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages sphinx)
   #:use-module (gnu packages texinfo)
+  #:use-module (guix build-system agda)
   #:use-module (guix build-system emacs)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system haskell)
@@ -194,3 +195,40 @@ of theorems for booleans, natural numbers, and lists.  It 
also has
 trees, tries, vectors, and rudimentary IO.  A number of good ideas
 come from Agda's standard library.")
     (license license:expat)))
+
+(define-public agda-stdlib
+  (package
+    (name "agda-stdlib")
+    (version "1.7.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/agda/agda-stdlib";)
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "065hf24xjpciwdrvk4isslgcgi01q0k93ql0y1sjqqvy5ryg5xmy"))))
+    (build-system agda-build-system)
+    (arguments
+     (list
+      #:plan '(("^\\./README.agda$" "-i."))
+      #:gnu-and-haskell? #t
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'build 'generate-everything
+            (lambda* (#:key inputs native-inputs #:allow-other-keys)
+              (invoke
+               (search-input-file (or native-inputs inputs) "/bin/runhaskell")
+               "GenerateEverything.hs"))))))
+    (native-inputs (list ghc-filemanip))
+    (synopsis "The Agda Standard Library")
+    (description
+     "The standard library aims to contain all the tools needed to write
+both programs and proofs easily.  While we always try and write efficient
+code, we prioritize ease of proof over type-checking and normalization
+performance.  If computational performance is important to you, then perhaps
+try agda-prelude instead.")
+    (home-page "https://wiki.portal.chalmers.se/agda/pmwiki.php";)
+    (license license:expat)))
+
diff --git a/gnu/packages/patches/agda-stdlib-use-runhaskell.patch 
b/gnu/packages/patches/agda-stdlib-use-runhaskell.patch
new file mode 100644
index 0000000000..21ce16689f
--- /dev/null
+++ b/gnu/packages/patches/agda-stdlib-use-runhaskell.patch
@@ -0,0 +1,28 @@
+From 3dc3c0856906d25bb697a4480a8457a69637cd51 Mon Sep 17 00:00:00 2001
+Message-Id: 
<3dc3c0856906d25bb697a4480a8457a69637cd51.1682798848.git.dev@jpoiret.xyz>
+From: Josselin Poiret <dev@jpoiret.xyz>
+Date: Sat, 29 Apr 2023 22:06:55 +0200
+Subject: [PATCH] Makefile: use runhaskell instead of cabal
+
+From: Josselin Poiret <dev@jpoiret.xyz>
+
+---
+ GNUmakefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/GNUmakefile b/GNUmakefile
+index c5d886e03..f3cb2a1e7 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -21,7 +21,7 @@ Everything.agda:
+ # command `cabal install` is needed by cabal-install <= 2.4.*. I did
+ # not found any problem running both commands with different versions
+ # of cabal-install. See Issue #1001.
+-      cabal run GenerateEverything
++      runhaskell GenerateEverything
+ 
+ .PHONY: listings
+ listings: Everything.agda
+-- 
+2.39.2
+



reply via email to

[Prev in Thread] Current Thread [Next in Thread]