diff mbox series

[bug#54392] gnu: cl-3bmd: Update to 4e08d82.

Message ID 20220314213548.22887-1-jgart@dismail.de
State Accepted
Headers show
Series [bug#54392] gnu: cl-3bmd: Update to 4e08d82. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

jgart March 14, 2022, 9:35 p.m. UTC
* gnu/packages/lisp-xyz.scm (cl-3bmd): Update to 4e08d82.
[inputs]: Add python, python-pygments, sbcl-fiasco, and use newer inputs
guix style.
[arguments]: Patch python executable and fill in asd-files and
test-asd-file keywords.
---
 gnu/packages/lisp-xyz.scm | 37 ++++++++++++++++++++++++++++---------
 1 file changed, 28 insertions(+), 9 deletions(-)

Comments

Guillaume Le Vaillant March 17, 2022, 9:04 a.m. UTC | #1
Patch pushed as a7b40dff2f03b070f848cd30833965541aa9bf7c with some
modifications.
By default asdf-build-system reads all the ".asd" files, so you don't
have to specify the 'asd-files' or 'test-asd-file' parameters, unless
there is a build failure with the default behavior (e.g. when there is
a ".asd" file that must not be read, or if they must be read is
a specific order).
I also moved sbcl-fiasco fo 'native-inputs' as it is used only for
testing.
Thanks.
jgart March 17, 2022, 2:57 p.m. UTC | #2
On Thu, 17 Mar 2022 09:04:08 +0000 Guillaume Le Vaillant <glv@posteo.net> wrote:
> Patch pushed as a7b40dff2f03b070f848cd30833965541aa9bf7c with some
> modifications.
> By default asdf-build-system reads all the ".asd" files, so you don't
> have to specify the 'asd-files' or 'test-asd-file' parameters, unless
> there is a build failure with the default behavior (e.g. when there is
> a ".asd" file that must not be read, or if they must be read is
> a specific order).
> I also moved sbcl-fiasco fo 'native-inputs' as it is used only for
> testing.

Hi Guillaume,

Thanks for the review and merge and thanks for clarifying that for me
with the asdf-build-system.

PS

I've been trying to package mondo, a nice CL repl. Here's a discussion about
it with fukumachi:

https://github.com/fukamachi/mondo/issues/5

I have a branch here for mondo here:

https://git.sr.ht/~whereiseveryone/guixrus/tree/mondo/item/guixrus/packages/lisp.scm#L1226

I was trying to use the build-program function to produce the CLI executable but
no luck yet.

I'd like to send it to upstream but I'm a bit stuck. Do you happen to know
what I might be missing?

Any help/advice is much appreciated.

all best,

jgart
Guillaume Le Vaillant March 18, 2022, 9:23 a.m. UTC | #3
jgart <jgart@dismail.de> skribis:

> I've been trying to package mondo, a nice CL repl. Here's a discussion about
> it with fukumachi:
>
> https://github.com/fukamachi/mondo/issues/5
>
> I have a branch here for mondo here:
>
> https://git.sr.ht/~whereiseveryone/guixrus/tree/mondo/item/guixrus/packages/lisp.scm#L1226
>
> I was trying to use the build-program function to produce the CLI executable but
> no luck yet.
>
> I'd like to send it to upstream but I'm a bit stuck. Do you happen to know
> what I might be missing?
>
> Any help/advice is much appreciated.
>
> all best,
>
> jgart

I took a look at "mondo.asd" and I think the 'make-cli-executable' phase
could be something like the following:

--8<---------------cut here---------------start------------->8---
(lambda* (#:key outputs #:allow-other-keys)
  (build-program
   (string-append (assoc-ref outputs "out") "/bin/mondo")
   outputs
   #:dependencies '("mondo/command")
   #:entry-program '((mondo/cli:main))))
--8<---------------cut here---------------end--------------->8---

However, the 'create-swank-server' function in "src/swank/server.lisp"
tries to run the ros program, which fails because it does not exist.
Maybe you could ask upstream if another way to start the swank server
could be added to the code in case ros is not available.
jgart March 18, 2022, 4:02 p.m. UTC | #4
On Fri, 18 Mar 2022 09:23:15 +0000 Guillaume Le Vaillant <glv@posteo.net> wrote:

Hi Guillaume,

Thanks for the help and advice.

I'll try the code you shared for the executable today and report back.

> However, the 'create-swank-server' function in "src/swank/server.lisp"
> tries to run the ros program, which fails because it does not exist.
> Maybe you could ask upstream if another way to start the swank server
> could be added to the code in case ros is not available.

Thanks for the info!

I opened a discussion here with fukumachi about it:

https://github.com/fukamachi/mondo/issues/4#issuecomment-1072424683
diff mbox series

Patch

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index d72d84d225..f52c37543d 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -1819,8 +1819,8 @@  (define-public ecl-colorize
   (sbcl-package->ecl-package sbcl-colorize))
 
 (define-public sbcl-3bmd
-  (let ((commit "6fc5759448f6f6df6f6df556e020a289a2643288")
-        (revision "2"))
+  (let ((commit "4e08d82d7c8fb1b8fc708c87f4d9d13a1ab490cb")
+        (revision "3"))
     (package
       (name "sbcl-3bmd")
       (version (git-version "0.0.0" revision commit))
@@ -1831,7 +1831,7 @@  (define-public sbcl-3bmd
                (url "https://github.com/3b/3bmd")
                (commit commit)))
          (sha256
-          (base32 "1avmbp8xdjlbqpqk7p3vmj7abiw5p3vb5mrxp4wlvgql4sf6z3p4"))
+          (base32 "1j885ykg2yds0l7dmw21lrhs7pd66lf541pf9lb677nkhc2f62jz"))
          (file-name (git-file-name "3bmd" version))))
       (build-system asdf-build-system/sbcl)
       (arguments
@@ -1842,12 +1842,31 @@  (define-public sbcl-3bmd
            "3bmd-ext-tables"
            "3bmd-ext-wiki-links"
            "3bmd-youtube"
-           "3bmd-ext-code-blocks")))
-      (inputs
-       `(("alexandria" ,sbcl-alexandria)
-         ("colorize" ,sbcl-colorize)
-         ("esrap" ,sbcl-esrap)
-         ("split-sequence" ,sbcl-split-sequence)))
+           "3bmd-ext-code-blocks")
+         #:asd-files
+         '("3bmd.asd"
+           "3bmd-youtube.asd"
+           "3bmd-ext-math.asd"
+           "3bmd-ext-tables.asd"
+           "3bmd-youtube-tests.asd"
+           "3bmd-ext-wiki-links.asd"
+           "3bmd-ext-code-blocks.asd"
+           "3bmd-ext-definition-lists.asd")
+        #:test-asd-file "3bmd-youtube-tests.asd"
+        #:phases
+        (modify-phases %standard-phases
+          (add-after 'unpack 'patch-python3-executable
+            (lambda _
+              (substitute* "code-blocks.lisp"
+                (("python3") (which "python3"))))))))
+     (inputs
+       (list python
+             python-pygments
+             sbcl-alexandria
+             sbcl-colorize
+             sbcl-split-sequence
+             sbcl-esrap
+             sbcl-fiasco))
       (home-page "https://github.com/3b/3bmd")
       (synopsis "Markdown processor in Command Lisp using esrap parser")
       (description