diff mbox series

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

Message ID 63a80a5b13302fb6cf77802eccffc484512773ea.1729835294.git.juli@incana.org
State New
Headers show
Series [bug#74000,v2] gnu: Add owl. | expand

Commit Message

Juliana Sims Oct. 25, 2024, 5:48 a.m. UTC
* gnu/packages/scheme.scm (owl): New symbol.

Change-Id: I3dbbe1143f4928c3ecfc42c6a7a6be8a6b524629
---

Woops, Emacs decided to reindent unrelated code!

This version is clean of such errors :)

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


base-commit: 2394a7f5fbf60dd6adc0a870366adb57166b6d8b

Comments

Z572 Oct. 26, 2024, 2:22 p.m. UTC | #1
Juliana Sims via Guix-patches via <guix-patches@gnu.org> writes:

> * gnu/packages/scheme.scm (owl): New symbol.
>
> Change-Id: I3dbbe1143f4928c3ecfc42c6a7a6be8a6b524629
> ---
>
> Woops, Emacs decided to reindent unrelated code!
>
> This version is clean of such errors :)
>
> -Juli
>  gnu/packages/scheme.scm | 40 +++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 39 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
> index 0d6a662aaa..637893e0f1 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))))
> +              (sha256
> +               (base32 "0jlmpw14rg63m1q7pjmhjicaqbqgc6gnp53bph0giwg8ha8wxyqr"))
> +              (file-name (git-file-name name version))))

usually we put file-name after uri

> +    (build-system gnu-build-system)
> +    (arguments
> +     (list
> +      #:make-flags #~`(,(string-append "PREFIX=" #$output))

please set (string-append "CC=" #$(cc-for-target)) , allow cross-compiling.

like: #~(list (string-append "CC=" #$(cc-for-target))
              (string-append "PREFIX=" #$output))

> +      #:phases #~(modify-phases %standard-phases
> +                   (delete 'configure)

please add ; No configure script
Let us know why it was deleted.

> +                   (add-after 'patch-source-shebangs 'patch-ol-shebangs
> +                     (lambda _
> +                       (map (lambda (f)
> +                              (substitute* f
> +                                (("/usr") #$output)))
> +                            (list "bin/feather"
> +                                  "tests/hashbang.scm"
> +                                  "tests/theorem-rand.scm")))))
just

(substitute* (list "bin/feather"
                   "tests/hashbang.scm"
                   "tests/theorem-rand.scm")
   (("/usr") #$output))

> +      #:test-target "test"))
> +    (native-inputs (list pandoc which))

pandoc is development dependence, so no needed add it.


> +    (home-page "https://haltp.org/owl")

guix lint say: https://haltp.org/owl/

> +    (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, and suppport for asynchronous evaluation.")
> +    (license expat)))
> +
>  (define-public stklos
>    (package
>      (name "stklos")
>
> base-commit: 2394a7f5fbf60dd6adc0a870366adb57166b6d8b
diff mbox series

Patch

diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 0d6a662aaa..637893e0f1 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))))
+              (sha256
+               (base32 "0jlmpw14rg63m1q7pjmhjicaqbqgc6gnp53bph0giwg8ha8wxyqr"))
+              (file-name (git-file-name name version))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:make-flags #~`(,(string-append "PREFIX=" #$output))
+      #:phases #~(modify-phases %standard-phases
+                   (delete 'configure)
+                   (add-after 'patch-source-shebangs 'patch-ol-shebangs
+                     (lambda _
+                       (map (lambda (f)
+                              (substitute* f
+                                (("/usr") #$output)))
+                            (list "bin/feather"
+                                  "tests/hashbang.scm"
+                                  "tests/theorem-rand.scm")))))
+      #:test-target "test"))
+    (native-inputs (list pandoc which))
+    (home-page "https://haltp.org/owl")
+    (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, and suppport for asynchronous evaluation.")
+    (license expat)))
+
 (define-public stklos
   (package
     (name "stklos")