unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Guillaume Le Vaillant <glv@posteo.net>
To: jgart <jgart@dismail.de>
Cc: 52045@debbugs.gnu.org, Pierre Neidhardt <mail@ambrevar.xyz>
Subject: [bug#52045] [PATCH] gnu: Add cl-clm.
Date: Tue, 23 Nov 2021 13:00:45 +0000	[thread overview]
Message-ID: <87lf1fnh72.fsf@kitej> (raw)
In-Reply-To: <20211122204527.27050-1-jgart@dismail.de>


[-- Attachment #1.1: Type: text/plain, Size: 1847 bytes --]

jgart <jgart@dismail.de> skribis:

> Hi,
>
> This is another WIP patch for the Common Lisp Music package (CLM) for GNU Guix.
> It has a similar package definition to CMN which was successfully packaged and merged 
> today into Guix thanks to the help of Bill, Guillaume, and Pierre:
>
> https://en.wikipedia.org/wiki/Common_Lisp_Music
>
> My goal in packaging clm and cmn is to subsequently be able to package
> slippery-chicken for GNU Guix:
>
> https://github.com/mdedwards/slippery-chicken
>
> slippery-chicken hints at alsa headers required by clm on this line of its' install script:
>
> https://github.com/mdedwards/slippery-chicken/blob/master/sc-install#L29
>
> But, I think that the most immediate issue might be with the asd file in the clm repo:
>
> https://ccrma.stanford.edu/software/clm/clm-5.tar.gz
>
> Here is the asd file printed for convenience (delimited by backticks):
>
> [...]
>
> Guillaume, do you see this asd file as needing a similar fix to your previous patching?
>
> If so, I can try my hands at patching it myself while using your previous
> patch to Bill as a template I can follow. 
>
> I would send a patch to Bill afterwards for review and inclusion in the tarball.
>
> My knowledge of asd file configuration is rather limited. Any advice here is much appreciated.
>
> all best,
>
> jgart

Hi,

Making an asdf system definition for clm similar to the one for cmn
won't be enough, because in addition to compiling lisp files, the
"all.lisp" file is also calling the "configure" script and calling gcc
to compile C code and make a shared library.

The attached modified version of your patch seems to compile clm without
error (although some files end up in a different directory compared to
"regular" lisp libraries), but I have not tested if it works as expected.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-Add-cl-clm.patch --]
[-- Type: text/x-patch, Size: 2620 bytes --]

From 8a9880fcc51f33e0ad2f8fa1887b71c55a78ffb9 Mon Sep 17 00:00:00 2001
From: jgart <jgart@dismail.de>
Date: Mon, 22 Nov 2021 15:45:28 -0500
Subject: [PATCH] gnu: Add cl-clm.

* gnu/packages/lisp-xyz.scm (cl-clm, sbcl-clm): New variables.

Co-authored-by: Guillaume Le Vaillant <glv@posteo.net>
---
 gnu/packages/lisp-xyz.scm | 43 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index bb697c4c60..799d8f7bbc 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -69,6 +69,7 @@ (define-module (gnu packages lisp-xyz)
   #:use-module (gnu packages file)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
@@ -19721,6 +19722,48 @@ (define-public cl-cmn
 (define-public ecl-cmn
   (sbcl-package->ecl-package sbcl-cmn))
 
+(define-public sbcl-clm
+  (package
+    (name "sbcl-clm")
+    (version "5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri "https://ccrma.stanford.edu/software/clm/clm-5.tar.gz")
+       (sha256
+        (base32 "1ckgl7rsnxppnf47jqayrbyhm3hv6c4f7n2994ylva6wiy5w7wp8"))))
+    (build-system asdf-build-system/sbcl)
+    (native-inputs
+     `(("gcc" ,gcc)))
+    (inputs
+     `(("alsa-lib" ,alsa-lib)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-build
+           (lambda _
+             (substitute* "configure"
+               (("/bin/sh")
+                (which "bash")))
+             (substitute* '("all.lisp"
+                            "index.cl"
+                            "initmus.lisp")
+               (("/bin/csh")
+                (which "bash")))
+             (substitute* "all.lisp"
+               (("#\\+sbcl \\(shadowing-import 'clm:double\\)" all)
+                (string-append all
+                               " #+sbcl (shadowing-import 'clm:env)"))))))))
+    (home-page "https://ccrma.stanford.edu/software/clm/")
+    (synopsis "Music synthesis and signal processing package")
+    (description
+"Common Lisp Music is a music synthesis and signal processing package
+in the Music V family.")
+    (license license:expat)))
+
+(define-public cl-clm
+  (sbcl-package->cl-source-package sbcl-clm))
+
 (define-public sbcl-cl-https-everywhere
   ;; No release.
   ;; Don't forget to update the https-everywhere input.
-- 
2.33.1


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

  reply	other threads:[~2021-11-23 13:19 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-22 20:45 [bug#52045] [PATCH] gnu: Add cl-clm jgart via Guix-patches via
2021-11-23 13:00 ` Guillaume Le Vaillant [this message]
2022-04-09 22:18   ` jgart via Guix-patches via
2022-04-09 22:31     ` jgart via Guix-patches via
2022-04-09 22:33       ` jgart via Guix-patches via
2022-04-12 12:15         ` Guillaume Le Vaillant
2022-04-12 16:28           ` jgart via Guix-patches via
2022-07-07 18:23             ` Maxim Cournoyer
2022-07-08  0:16               ` jgart via Guix-patches via
2022-07-09  1:38                 ` bug#52045: " Maxim Cournoyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87lf1fnh72.fsf@kitej \
    --to=glv@posteo.net \
    --cc=52045@debbugs.gnu.org \
    --cc=jgart@dismail.de \
    --cc=mail@ambrevar.xyz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).