unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Alexandros Theodotou <alex@zrythm.org>
To: Efraim Flashner <efraim@flashner.co.il>
Cc: 43310@debbugs.gnu.org
Subject: [bug#43310] [PATCH] gnu: Add lsp-dsp-lib.
Date: Mon, 14 Sep 2020 15:17:48 +0100	[thread overview]
Message-ID: <3128d450cf954008cadc7c24d9817c5e88a6b4ea.camel@zrythm.org> (raw)
In-Reply-To: <20200914140203.GB17272@E5400>


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

Hi Efraim,

Thanks for the review.

On Mon, 2020-09-14 at 17:02 +0300, Efraim Flashner wrote:
> It looks like everything in the modules directory is vendored. Can we
> build it separately and link it in? 

I asked the author something similar a while back 
https://github.com/sadko4u/lsp-dsp-lib/issues/1#issuecomment-676517050
I think the build system just expects those modules to be there as
sources - not sure if they even build anything to link to. BTW, this is
my initial patch, before the author started to provide an all-inclusive 
tarball in the github releases page:

```scheme
(define-public lsp-dsp-lib
  (package
    (name "lsp-dsp-lib")
    (version "0.5.6")
    (source
      (origin
        (method git-fetch)
        (uri (git-reference
               (url "https://github.com/sadko4u/lsp-dsp-lib")
               (commit (string-append "lsp-dsp-lib-" version))))
        (file-name (git-file-name name version))
        (sha256
         (base32
          "1n5qp9bjsgg1ziy9mqnx034qlzbsp7yl473vk9aigzkyj883dfpj"))))
    (build-system gnu-build-system)
    (arguments
     `(#:tests? #f ; no tests
       #:make-flags
       (list "CC=gcc")
       #:phases
       (modify-phases %standard-phases
         (add-before 'build 'copy-modules
           (lambda* (#:key inputs #:allow-other-keys)
             (copy-recursively (assoc-ref inputs "lsp-common-lib")
                               "modules/lsp-common-lib")
             (copy-recursively (assoc-ref inputs "lsp-test-fw")
                               "modules/lsp-test-fw")
             #t))
         (replace 'configure
           (lambda _
             (invoke "make" "config" (string-append "PREFIX=" (assoc-
ref %outputs "out")))
             #t)))))
    (inputs
     `(("lsp-common-lib" ,(origin
         (method git-fetch)
         (uri (git-reference
                (url "https://github.com/sadko4u/lsp-common-lib")
                (commit "lsp-common-lib-1.0.7")))
         (file-name (git-file-name name version))
         (sha256
           (base32
             "1alxv2ryivbj122gryxrrvyicw6zgbdk15wp010lrq6r1nj7mjxh"))))
       ("lsp-test-fw" ,(origin
         (method git-fetch)
         (uri (git-reference
                (url "https://github.com/sadko4u/lsp-test-fw")
                (commit "lsp-test-fw-1.0.5")))
         (file-name (git-file-name name version))
         (sha256
           (base32
             "0n4ircp9bgzwfaa6023bvfsb90qvl2iawbihnwivr5id1js5jq3p"))))
       ))
    (home-page "https://github.com/sadko4u/lsp-dsp-lib")
    (synopsis "Digital signal processing library")
    (description "The LSP DSP library provides a set of functions that
perform
SIMD-optimized computing on several hardware architectures.  All
functions
currently operate on IEEE-754 single-precision floating-point
numbers.")
    (license license:lgpl3+)))
```

> Also, I saw that there were a few
> test directories. Are there tests to be built?

Not sure - I don't see a check/test make target (see `make help`)


> > +    (arguments
> > +     `(#:tests? #f ; no tests
> > +       #:make-flags
> > +       (list "CC=gcc")
> 
> This can be cc-for-target
>          (list (string-append "CC=" ,(cc-for-target)))

ACK

> > +       (modify-phases %standard-phases
> > +         (replace 'configure
> > +           (lambda _
> > +             (invoke "make" "config" (string-append "PREFIX="
> > (assoc-ref %outputs "out")))
> > +             #t)))))
> 
> We'd rather not use %outputs if possible, but to add it to the
> lambda.
> Also invoke already returns #t
> 
>            (lambda* (#:key outputs #:allow-other-keys)
>              (invoke "make" "config"
>                      (string-append "PREFIX=" (assoc-ref outputs
> "out"))))))))

ACK

Please find the updated patch attached.

Thanks,
Alex

[-- Attachment #1.2: 0001-gnu-Add-lsp-dsp-lib.patch --]
[-- Type: text/x-patch, Size: 1977 bytes --]

From 2efb2e2dfbfe4cd82b90fef44f6d6919a5cac865 Mon Sep 17 00:00:00 2001
From: Alexandros Theodotou <alex@zrythm.org>
Date: Mon, 14 Sep 2020 15:16:30 +0100
Subject: [PATCH] gnu: Add lsp-dsp-lib.

* gnu/packages/audio.scm (lsp-dsp-lib): New variable.
---
 gnu/packages/audio.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 5e6008f31e..38ee4f8bcc 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -4778,6 +4778,37 @@ edited, converted, compressed and saved.")
        ,@(package-inputs ztoolkit)))
     (synopsis "ZToolkit with SVG support")))
 
+(define-public lsp-dsp-lib
+  (package
+    (name "lsp-dsp-lib")
+    (version "0.5.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "https://github.com/sadko4u/lsp-dsp-lib/"
+                            "releases/download/lsp-dsp-lib-" version
+                            "/lsp-dsp-lib-" version "-src.tar.gz"))
+        (sha256
+         (base32
+          "07w3d2i0z0xmvi1ngcgs7lc5a0da8jvf7rv4dnjk01md43b7fkh1"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; no tests
+       #:make-flags
+       (list (string-append "CC=" ,(cc-for-target)))
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (invoke "make" "config"
+                     (string-append "PREFIX=" (assoc-ref outputs "out"))))))))
+    (home-page "https://github.com/sadko4u/lsp-dsp-lib")
+    (synopsis "Digital signal processing library")
+    (description "The LSP DSP library provides a set of functions that perform
+SIMD-optimized computing on several hardware architectures.  All functions
+currently operate on IEEE-754 single-precision floating-point numbers.")
+    (license license:lgpl3+)))
+
 (define-public codec2
   (package
     (name "codec2")
-- 
2.27.0


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  reply	other threads:[~2020-09-14 14:42 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-10 15:19 [bug#43310] [PATCH] gnu: Add lsp-dsp-lib Alexandros Theodotou
2020-09-14 14:02 ` Efraim Flashner
2020-09-14 14:17   ` Alexandros Theodotou [this message]
2020-09-14 14:35     ` bug#43310: " Efraim Flashner

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=3128d450cf954008cadc7c24d9817c5e88a6b4ea.camel@zrythm.org \
    --to=alex@zrythm.org \
    --cc=43310@debbugs.gnu.org \
    --cc=efraim@flashner.co.il \
    /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).