diff mbox

gnu: Add threaded variants of fftw and fftwf for Ardour and mod-host.

Message ID 20161125232836.13621-2-rekado@elephly.net
State New
Headers show

Commit Message

Ricardo Wurmus Nov. 25, 2016, 11:28 p.m. UTC
* gnu/packages/algebra.scm (fftw-with-threads, fftwf-with-threads): New
variables.
* gnu/packages/audio.scm (ardour)[inputs]: Replace "fftw" and "fftwf"
with "fftw-with-threads" and "fftwf-with-threads", respectively.
* gnu/packages/music.scm (mod-host)[inputs]: Likewise.
---
 gnu/packages/algebra.scm | 16 ++++++++++++++++
 gnu/packages/audio.scm   |  4 ++--
 gnu/packages/music.scm   |  4 ++--
 3 files changed, 20 insertions(+), 4 deletions(-)

Comments

Leo Famulari Nov. 26, 2016, 6:14 a.m. UTC | #1
On Sat, Nov 26, 2016 at 12:28:36AM +0100, Ricardo Wurmus wrote:
> * gnu/packages/algebra.scm (fftw-with-threads, fftwf-with-threads): New
> variables.
> * gnu/packages/audio.scm (ardour)[inputs]: Replace "fftw" and "fftwf"
> with "fftw-with-threads" and "fftwf-with-threads", respectively.
> * gnu/packages/music.scm (mod-host)[inputs]: Likewise.

LGTM. I don't see fftwf-with-threads on staging. Is that intentional?
Ricardo Wurmus Nov. 26, 2016, 8:40 a.m. UTC | #2
Leo Famulari <leo@famulari.name> writes:

> On Sat, Nov 26, 2016 at 12:28:36AM +0100, Ricardo Wurmus wrote:
>> * gnu/packages/algebra.scm (fftw-with-threads, fftwf-with-threads): New
>> variables.
>> * gnu/packages/audio.scm (ardour)[inputs]: Replace "fftw" and "fftwf"
>> with "fftw-with-threads" and "fftwf-with-threads", respectively.
>> * gnu/packages/music.scm (mod-host)[inputs]: Likewise.
>
> LGTM. I don't see fftwf-with-threads on staging. Is that intentional?

Yes.  On staging we change the flags of “fftw” only.  Since “fftwf”
inherits from “fftw” and only adds a single configure flag, “fftwf” will
be available with threading support as well.
Ricardo Wurmus Nov. 27, 2016, 10:47 a.m. UTC | #3
Ricardo Wurmus <rekado@elephly.net> writes:

> Leo Famulari <leo@famulari.name> writes:
>
>> On Sat, Nov 26, 2016 at 12:28:36AM +0100, Ricardo Wurmus wrote:
>>> * gnu/packages/algebra.scm (fftw-with-threads, fftwf-with-threads): New
>>> variables.
>>> * gnu/packages/audio.scm (ardour)[inputs]: Replace "fftw" and "fftwf"
>>> with "fftw-with-threads" and "fftwf-with-threads", respectively.
>>> * gnu/packages/music.scm (mod-host)[inputs]: Likewise.
>>
>> LGTM. I don't see fftwf-with-threads on staging. Is that intentional?
>
> Yes.  On staging we change the flags of “fftw” only.  Since “fftwf”
> inherits from “fftw” and only adds a single configure flag, “fftwf” will
> be available with threading support as well.

I pushed this as 45591fd7fde1a400a416cb99939f6dd766445f94.  When merging
“staging” in a couple of days this should be reverted.
diff mbox

Patch

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 76f385e..4288913 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -576,6 +576,22 @@  cosine/ sine transforms or DCT/DST).")
      (string-append (package-description fftw)
                     "  Single-precision version."))))
 
+;; FIXME: These packages are used temporarily by packages like Ardour until
+;; "--enable-flags" is added to the fftw and fftwf packages.
+(define-public fftw-with-threads
+  (package (inherit fftw)
+    (arguments
+     (substitute-keyword-arguments (package-arguments fftw)
+       ((#:configure-flags flags)
+        `(cons "--enable-threads" ,flags))))))
+
+(define-public fftwf-with-threads
+  (package (inherit fftwf)
+    (arguments
+     (substitute-keyword-arguments (package-arguments fftwf)
+       ((#:configure-flags flags)
+        `(cons "--enable-threads" ,flags))))))
+
 (define-public fftw-openmpi
   (package (inherit fftw)
     (name "fftw-openmpi")
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index b535448..66db4c5 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -238,8 +238,8 @@  namespace ARDOUR { const char* revision = \"5.4\" ; }"))))
        ("lv2" ,lv2)
        ("vamp" ,vamp)
        ("curl" ,curl)
-       ("fftw" ,fftw)
-       ("fftwf" ,fftwf)
+       ("fftw" ,fftw-with-threads)
+       ("fftwf" ,fftwf-with-threads)
        ("jack" ,jack-1)
        ("serd" ,serd)
        ("sord" ,sord)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 999b0f6..3a3c308 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -1817,8 +1817,8 @@  depend on it to run.")
                #t)))))
       (inputs
        `(("lilv" ,lilv)
-         ("fftw" ,fftw)
-         ("fftwf" ,fftwf)
+         ("fftw" ,fftw-with-threads)
+         ("fftwf" ,fftwf-with-threads)
          ("lv2" ,lv2)
          ("jack" ,jack-1)
          ("readline" ,readline)))