diff mbox series

[bug#74000,v3] gnu: Add owl.

Message ID f781f2b0af69d5d4518ec24330ad6d0143fc4e70.1729965281.git.juli@incana.org
State New
Headers show
Series [bug#74000,v3] gnu: Add owl. | expand

Commit Message

Juliana Sims Oct. 26, 2024, 5:54 p.m. UTC
* gnu/packages/scheme.scm (owl): New symbol.

Change-Id: I3dbbe1143f4928c3ecfc42c6a7a6be8a6b524629
---

Hi,

Thanks for the quick review!  When I finished packaging this on a whim at 01:30,
I thought to myself, "Gee, that was fast!  ...did I forget something?"  And
indeed I did; I forgot to run guix lint, cross-compile, build for different
architectures, ensure reproducibility, and argue with guix style.  So, here we
have a proper version of the patch!  (I disagreed with some of guix style's
opinions.)

Thanks again!
-Juli

 gnu/packages/scheme.scm | 40 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 39 insertions(+), 1 deletion(-)


base-commit: df666602c7936f7d87354374b148ef6269844c01
diff mbox series

Patch

diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 0d6a662aaa..29142f474b 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -21,7 +21,7 @@ 
 ;;; Copyright © 2022 jgart <jgart@dismail.de>
 ;;; Copyright © 2022 Robby Zambito <contact@robbyzambito.me>
 ;;; Copyright © 2023 Andrew Whatson <whatson@tailcall.au>
-;;; Copyright © 2023 Juliana Sims <juli@incana.org>
+;;; Copyright © 2023, 2024 Juliana Sims <juli@incana.org>
 ;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2024 Skylar Hill <stellarskylark@posteo.net>
 ;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
@@ -71,6 +71,7 @@  (define-module (gnu packages scheme)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages haskell-xyz)
   #:use-module (gnu packages image)
   #:use-module (gnu packages libedit)
   #:use-module (gnu packages libevent)
@@ -1273,6 +1274,43 @@  (define-public emacs-gerbil-mode
      "Gerbil mode provides font-lock, indentation, navigation, and REPL for
 Gerbil code within Emacs.")))
 
+(define-public owl
+  (package
+    (name "owl")
+    (version "0.2.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://gitlab.com/owl-lisp/owl.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0jlmpw14rg63m1q7pjmhjicaqbqgc6gnp53bph0giwg8ha8wxyqr"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
+                           (string-append "PREFIX=" #$output))
+      #:phases #~(modify-phases %standard-phases
+                   (delete 'configure)  ;No configure script
+                   (add-after 'patch-source-shebangs 'patch-ol-shebangs
+                     (lambda _
+                       (substitute* (list "bin/feather"
+                                          "tests/hashbang.scm"
+                                          "tests/theorem-rand.scm")
+                         (("/usr") #$output)))))
+      #:test-target "test"))
+    (native-inputs (list which))
+    (home-page "https://haltp.org/posts/owl.html")
+    (synopsis "Functional Scheme dialect")
+    (description
+     "Owl Lisp is a simple programming language.  It is intended to provide a
+portable system for writing standalone programs in a subjectively pleasant
+dialect of Lisp.  It has a minimal core and runtime, purely functional
+operation, immutable lists, and suppport for asynchronous evaluation.")
+    (license expat)))
+
 (define-public stklos
   (package
     (name "stklos")