GNU bug report logs - #57348
[PATCH] gnu: Add eisl

Previous Next

Package: guix-patches;

Reported by: Joeke <joeke <at> posteo.net>

Date: Mon, 22 Aug 2022 23:00:02 UTC

Severity: normal

Tags: patch

Done: Guillaume Le Vaillant <glv <at> posteo.net>

Bug is archived. No further changes may be made.

Full log


Message #11 received at 57348 <at> debbugs.gnu.org (full text, mbox):

From: Joeke <joeke <at> posteo.net>
To: 57348 <at> debbugs.gnu.org
Subject: Re: [bug#57348] [PATCH] gnu: Add eisl
Date: Tue, 30 Aug 2022 19:38:28 +0000
[Message part 1 (text/plain, inline)]
Hi,

Guillaume Le Vaillant <glv <at> posteo.net> writes:

>> +    (build-system gnu-build-system)
>> +    (native-inputs
>> +     (list gcc ncurses cppcheck))
>
> Adding gcc to 'native-inputs' is not necessary, and ncurses should
> probably be in 'inputs' instead of 'native-inputs'.

Right, fixed.

>> +    (arguments
>> +     `(#:modules
>> +       ((guix build utils)
>> +        (guix build gnu-build-system))
>
> Specifying 'modules' here is not necessary.

I removed this as well.

>> +    (home-page "https://github.com/sasagawa888/eisl")
>> +    (synopsis "Implementation of ISLisp")
>> +    (description "Easy ISLISP (eisl) is an implementation of ISLisp which
>> +includes a compiler as well as an interpreter.")
>> +    (license license:bsd-2)))
>
> It looks like some code in "cii/" is under the expat license, and some
> code in "nana/" is under bsd-3, so they should be added to the 'license'
> field.

You're right. I also found some gpl2+ code under nana/.


> Also, it looks like the files in "library/" are not compiled/installed.
> Is it on purpose?

This certainly was not intentional. In my new patch I somewhat hackily
copy the "library" and "bench" directories over to the output
directory. If there is a better way to do this, please let me know.


Dankon por la revizio,


Joeke de Graaf

[0001-gnu-Add-eisl.patch (text/x-patch, inline)]
From 0162b638d42d02b4ed11db77b2ad46179f673f03 Mon Sep 17 00:00:00 2001
From: Joeke de Graaf <joeke <at> posteo.net>
Date: Tue, 30 Aug 2022 21:27:24 +0200
Subject: [PATCH] gnu: Add eisl

---
 gnu/packages/lisp.scm | 59 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 2f37b82..ad57d45 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -21,6 +21,7 @@
 ;;; Copyright © 2021 Paul A. Patience <paul <at> apatience.com>
 ;;; Copyright © 2021 Charles Jackson <charles.b.jackson <at> protonmail.com>
 ;;; Copyright © 2021 jgart <jgart <at> dismail.de>
+;;; Copyright © 2022 Joeke de Graaf <joeke <at> posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -59,6 +60,7 @@ (define-module (gnu packages lisp)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages bdw-gc)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages ed)
   #:use-module (gnu packages fontutils)
@@ -1351,3 +1353,60 @@ (define-public buildapp
      "Buildapp is an application for SBCL or CCL that configures and saves an
 executable Common Lisp image.  It is similar to cl-launch and hu.dwim.build.")
     (license license:bsd-2)))
+
+
+(define-public eisl
+  (package
+    (name "eisl")
+    (version "2.60")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/sasagawa888/eisl")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32 "0qrmy6myyac38q3kf26axmxpmq9srhc6qy0ykfcsng50jzcdg1mn"))))
+    (build-system gnu-build-system)
+    (inputs
+     (list ncurses))
+    (native-inputs
+     (list cppcheck))
+    (arguments
+     `(#:make-flags
+       (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+             (string-append "CC=" ,(cc-for-target)))
+
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'install 'create-store-directory
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref %outputs "out"))
+                    (bin (string-append out "/bin"))
+                    (lib (string-append out "/library"))
+                    (ben (string-append out "/bench")))
+               (map mkdir-p (list out bin lib ben)))))
+         (add-after 'install 'install-lib-and-bench
+           (lambda* (#:key build-inputs outputs #:allow-other-keys)
+             (let* ((source (assoc-ref %build-inputs "source"))
+                    (out (assoc-ref %outputs "out"))
+                    (libstring "/library/")
+                    (benchstring "/bench/"))
+               (map (lambda (subdir-name)
+                      (let ((sourcedir (opendir (string-append source subdir-name))))
+                        (do ((file (readdir sourcedir) (readdir sourcedir)))
+                            ((eof-object? file))
+                          (when (not (member file '("." "..")))
+                            (copy-file (string-append source subdir-name file)
+				        (string-append out subdir-name file))))))
+                    (list libstring benchstring)))))
+         (delete 'configure))))
+    (home-page "https://github.com/sasagawa888/eisl")
+    (synopsis "Implementation of ISLisp")
+    (description "Easy ISLISP (eisl) is an implementation of ISLisp which
+includes a compiler as well as an interpreter.")
+    (license (list license:bsd-2 ;; documents/license.txt
+                   license:expat ;; cii/LICENSE
+                   license:gpl2+ ;; nana/gdb/test.c and others under nana/
+                   license:bsd-3 ;; bench/*
+))))
-- 
2.37.2


This bug report was last modified 2 years and 314 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.