unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH 1/2] gnu: Add zita-alsa-pcmi.
@ 2015-02-21 20:54 Ricardo Wurmus
  2015-02-21 20:54 ` [PATCH 2/2] gnu: Add AlsaModularSynth Ricardo Wurmus
  0 siblings, 1 reply; 19+ messages in thread
From: Ricardo Wurmus @ 2015-02-21 20:54 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/audio.scm (zita-alsa-pcmi): New variable.
---
 gnu/packages/audio.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 7d7a248..ea497de 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -771,3 +771,42 @@ analysis plugins or audio feature extraction plugins.")
     (license
      (license:x11-style
       "https://code.soundsoftware.ac.uk/projects/vamp-plugin-sdk/repository/entry/COPYING"))))
+
+(define-public zita-alsa-pcmi
+  (package
+    (name "zita-alsa-pcmi")
+    (version "0.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://kokkinizita.linuxaudio.org"
+                    "/linuxaudio/downloads/zita-alsa-pcmi-"
+                    version ".tar.bz2"))
+              (sha256
+               (base32
+                "1rgv332g82rrrlm4vdam6p2pyrisxbi7b3izfaa0pcjglafsy7j9"))
+              (modules '((guix build utils)))
+              (snippet
+               '(substitute* "libs/Makefile"
+                  (("ldconfig") "true")))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; no "check" target
+       #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+       #:phases
+       (alist-cons-after
+        'unpack
+        'enter-directory
+        (lambda _ (chdir "libs"))
+        (alist-delete 'configure %standard-phases))))
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("fftw" ,fftw)))
+    (home-page "http://kokkinizita.linuxaudio.org")
+    (synopsis "C++ wrapper around the ALSA API")
+    (description
+     "Zita-alsa-pcmi is a C++ wrapper around the ALSA API.  It provides easy
+access to ALSA PCM devices, taking care of the many functions required to
+open, initialise and use a hw: device in mmap mode, and providing floating
+point audio data.")
+    (license license:gpl3)))
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 2/2] gnu: Add AlsaModularSynth.
  2015-02-21 20:54 [PATCH 1/2] gnu: Add zita-alsa-pcmi Ricardo Wurmus
@ 2015-02-21 20:54 ` Ricardo Wurmus
  2015-02-21 21:09   ` Ricardo Wurmus
  0 siblings, 1 reply; 19+ messages in thread
From: Ricardo Wurmus @ 2015-02-21 20:54 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/audio.scm (alsa-modular-synth): New variable.
---
 gnu/packages/audio.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index ea497de..44d11f1 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -48,6 +48,38 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public alsa-modular-synth
+  (package
+    (name "alsa-modular-synth")
+    (version "2.1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/alsamodular/ams-"
+                                  version ".tar.bz2"))
+              (sha256
+               (base32
+                "1nb7qzzqlqa2x8h797jbwi18ihnfkxqg9lyi0c4nvf8ybwzxkzd2"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("fftw" ,fftw)
+       ("jack" ,jack-1)
+       ("ladspa" ,ladspa)
+       ("liblo" ,liblo)
+       ("qt" ,qt-4)
+       ("zita-alsa-pcmi" ,zita-alsa-pcmi)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://alsamodular.sourceforge.net/")
+    (synopsis "Realtime modular synthesizer and effect processor")
+    (description
+     "AlsaModularSynth is a digital implementation of a classical analog
+modular synthesizer system.  It uses virtual control voltages to control the
+parameters of the modules.  The control voltages which control the frequency
+e.g. of the VCO (Voltage Controlled Oscillator) and VCF (Voltage Controlled
+Filter) modules follow the convention of 1V / Octave.")
+    (license license:gpl2)))
+
 (define-public aubio
   (package
     (name "aubio")
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/2] gnu: Add AlsaModularSynth.
  2015-02-21 20:54 ` [PATCH 2/2] gnu: Add AlsaModularSynth Ricardo Wurmus
@ 2015-02-21 21:09   ` Ricardo Wurmus
  2015-02-22 20:54     ` Ricardo Wurmus
  0 siblings, 1 reply; 19+ messages in thread
From: Ricardo Wurmus @ 2015-02-21 21:09 UTC (permalink / raw)
  To: guix-devel

I'm actually getting an error when running "ams":

  /home/rekado/.guix-profile/bin/ams: error while loading shared libraries: libzita-alsa-pcmi.so.0: cannot open shared object file: No such file or directory

The library installed by the first patch is called
libzita-alsa-pcmi.so.0.2.0 and there's a link called
libzita-alsa-pcmi.so.

Should "zita-alsa-pcmi" also install a link called
"libzita-alsa-pcmi.so.0" or what is the preferred way to fix this?

~~ Ricardo

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/2] gnu: Add AlsaModularSynth.
  2015-02-21 21:09   ` Ricardo Wurmus
@ 2015-02-22 20:54     ` Ricardo Wurmus
  2015-02-25 14:00       ` Ludovic Courtès
  0 siblings, 1 reply; 19+ messages in thread
From: Ricardo Wurmus @ 2015-02-22 20:54 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 665 bytes --]


Ricardo Wurmus writes:

> I'm actually getting an error when running "ams":
>
>   /home/rekado/.guix-profile/bin/ams: error while loading shared libraries: libzita-alsa-pcmi.so.0: cannot open shared object file: No such file or directory
>
> The library installed by the first patch is called
> libzita-alsa-pcmi.so.0.2.0 and there's a link called
> libzita-alsa-pcmi.so.
>
> Should "zita-alsa-pcmi" also install a link called
> "libzita-alsa-pcmi.so.0" or what is the preferred way to fix this?

I went ahead and added a phase to zita-alsa-pcmi that creates the
symlink.  With this change I can use alsa-modular-synth.

Attached are the new patches.

~~ Ricardo


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-zita-alsa-pcmi.patch --]
[-- Type: text/x-patch, Size: 2497 bytes --]

From 79a6aa562688c02bd4c50035a971478a2f2331e1 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Sat, 21 Feb 2015 21:52:10 +0100
Subject: [PATCH 1/2] gnu: Add zita-alsa-pcmi.

* gnu/packages/audio.scm (zita-alsa-pcmi): New variable.
---
 gnu/packages/audio.scm | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 4cca793..e2f00b2 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -789,3 +789,50 @@ analysis plugins or audio feature extraction plugins.")
     (license
      (license:x11-style
       "https://code.soundsoftware.ac.uk/projects/vamp-plugin-sdk/repository/entry/COPYING"))))
+
+(define-public zita-alsa-pcmi
+  (package
+    (name "zita-alsa-pcmi")
+    (version "0.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://kokkinizita.linuxaudio.org"
+                    "/linuxaudio/downloads/zita-alsa-pcmi-"
+                    version ".tar.bz2"))
+              (sha256
+               (base32
+                "1rgv332g82rrrlm4vdam6p2pyrisxbi7b3izfaa0pcjglafsy7j9"))
+              (modules '((guix build utils)))
+              (snippet
+               '(substitute* "libs/Makefile"
+                  (("ldconfig") "true")))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; no "check" target
+       #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+       #:phases
+       (alist-cons-after
+        'unpack
+        'enter-directory
+        (lambda _ (chdir "libs"))
+        (alist-cons-after
+         'install
+         'install-symlink
+         (lambda _
+           (symlink "libzita-alsa-pcmi.so"
+                    (string-append (assoc-ref %outputs "out")
+                                   "/lib/libzita-alsa-pcmi.so.0")))
+         ;; no configure script
+         (alist-delete 'configure %standard-phases)))))
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("fftw" ,fftw)))
+    (home-page "http://kokkinizita.linuxaudio.org")
+    (synopsis "C++ wrapper around the ALSA API")
+    (description
+     "Zita-alsa-pcmi is a C++ wrapper around the ALSA API.  It provides easy
+access to ALSA PCM devices, taking care of the many functions required to
+open, initialise and use a hw: device in mmap mode, and providing floating
+point audio data.")
+    (license license:gpl3)))
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-gnu-Add-AlsaModularSynth.patch --]
[-- Type: text/x-patch, Size: 1916 bytes --]

From ca099ed2ea8f270ca0e980b17599895f39489d61 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Sat, 21 Feb 2015 21:53:02 +0100
Subject: [PATCH 2/2] gnu: Add AlsaModularSynth.

* gnu/packages/audio.scm (alsa-modular-synth): New variable.
---
 gnu/packages/audio.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index e2f00b2..49ebf98 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -48,6 +48,38 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public alsa-modular-synth
+  (package
+    (name "alsa-modular-synth")
+    (version "2.1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/alsamodular/ams-"
+                                  version ".tar.bz2"))
+              (sha256
+               (base32
+                "1nb7qzzqlqa2x8h797jbwi18ihnfkxqg9lyi0c4nvf8ybwzxkzd2"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("fftw" ,fftw)
+       ("jack" ,jack-1)
+       ("ladspa" ,ladspa)
+       ("liblo" ,liblo)
+       ("qt" ,qt-4)
+       ("zita-alsa-pcmi" ,zita-alsa-pcmi)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://alsamodular.sourceforge.net/")
+    (synopsis "Realtime modular synthesizer and effect processor")
+    (description
+     "AlsaModularSynth is a digital implementation of a classical analog
+modular synthesizer system.  It uses virtual control voltages to control the
+parameters of the modules.  The control voltages which control the frequency
+e.g. of the VCO (Voltage Controlled Oscillator) and VCF (Voltage Controlled
+Filter) modules follow the convention of 1V / Octave.")
+    (license license:gpl2)))
+
 (define-public aubio
   (package
     (name "aubio")
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/2] gnu: Add AlsaModularSynth.
  2015-02-22 20:54     ` Ricardo Wurmus
@ 2015-02-25 14:00       ` Ludovic Courtès
  2015-02-25 22:03         ` Ricardo Wurmus
  0 siblings, 1 reply; 19+ messages in thread
From: Ludovic Courtès @ 2015-02-25 14:00 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

Ricardo Wurmus <rekado@elephly.net> skribis:

> From 79a6aa562688c02bd4c50035a971478a2f2331e1 Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus <rekado@elephly.net>
> Date: Sat, 21 Feb 2015 21:52:10 +0100
> Subject: [PATCH 1/2] gnu: Add zita-alsa-pcmi.
>
> * gnu/packages/audio.scm (zita-alsa-pcmi): New variable.

[...]

> +    (license license:gpl3)))

GPLv3-only?

> From ca099ed2ea8f270ca0e980b17599895f39489d61 Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus <rekado@elephly.net>
> Date: Sat, 21 Feb 2015 21:53:02 +0100
> Subject: [PATCH 2/2] gnu: Add AlsaModularSynth.
>
> * gnu/packages/audio.scm (alsa-modular-synth): New variable.

[...]

> +    (inputs
> +     `(("alsa-lib" ,alsa-lib)
> +       ("fftw" ,fftw)
> +       ("jack" ,jack-1)
> +       ("ladspa" ,ladspa)
> +       ("liblo" ,liblo)
> +       ("qt" ,qt-4)
> +       ("zita-alsa-pcmi" ,zita-alsa-pcmi)))
> +    (native-inputs
> +     `(("pkg-config" ,pkg-config)))
> +    (home-page "http://alsamodular.sourceforge.net/")
> +    (synopsis "Realtime modular synthesizer and effect processor")
> +    (description
> +     "AlsaModularSynth is a digital implementation of a classical analog
> +modular synthesizer system.  It uses virtual control voltages to control the
> +parameters of the modules.  The control voltages which control the frequency
> +e.g. of the VCO (Voltage Controlled Oscillator) and VCF (Voltage Controlled
> +Filter) modules follow the convention of 1V / Octave.")
> +    (license license:gpl2)))

This one must be GPLv2+, otherwise there’d be problems combining it with
the first one.

Other than that LGTM.

Thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/2] gnu: Add AlsaModularSynth.
  2015-02-25 14:00       ` Ludovic Courtès
@ 2015-02-25 22:03         ` Ricardo Wurmus
  2015-02-26 17:08           ` Ludovic Courtès
  0 siblings, 1 reply; 19+ messages in thread
From: Ricardo Wurmus @ 2015-02-25 22:03 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel


Ludovic Courtès writes:

>> From 79a6aa562688c02bd4c50035a971478a2f2331e1 Mon Sep 17 00:00:00 2001
>> From: Ricardo Wurmus <rekado@elephly.net>
>> Date: Sat, 21 Feb 2015 21:52:10 +0100
>> Subject: [PATCH 1/2] gnu: Add zita-alsa-pcmi.
>>
>> * gnu/packages/audio.scm (zita-alsa-pcmi): New variable.
>
> [...]
>
>> +    (license license:gpl3)))
>
> GPLv3-only?

No, the files in the tarball say "or later".  Sorry about that.

>> +    (inputs
>> +     `(("alsa-lib" ,alsa-lib)
>> +       ("fftw" ,fftw)
>> +       ("jack" ,jack-1)
>> +       ("ladspa" ,ladspa)
>> +       ("liblo" ,liblo)
>> +       ("qt" ,qt-4)
>> +       ("zita-alsa-pcmi" ,zita-alsa-pcmi)))
>
> This one must be GPLv2+, otherwise there’d be problems combining it with
> the first one.

Indeed.  Unfortunately, GPLv2-only is actually correct.  The file
headers all say

  ams is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License version 2 as
  published by the Free Software Foundation.

I contacted the author to ask if relicensing is an option, but it seems
that at least two more authors are involved.

Luckily, AMS could also be built against clalsadrv, the deprecated
predecessor of zita-alsa-pcmi.  I'll package that up and replace the
input for alsa-modular-synth.

~~ Ricardo

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/2] gnu: Add AlsaModularSynth.
  2015-02-25 22:03         ` Ricardo Wurmus
@ 2015-02-26 17:08           ` Ludovic Courtès
  2015-03-01 13:49             ` Ricardo Wurmus
  0 siblings, 1 reply; 19+ messages in thread
From: Ludovic Courtès @ 2015-02-26 17:08 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

Ricardo Wurmus <rekado@elephly.net> skribis:

> Ludovic Courtès writes:

[...]

>>> +    (inputs
>>> +     `(("alsa-lib" ,alsa-lib)
>>> +       ("fftw" ,fftw)
>>> +       ("jack" ,jack-1)
>>> +       ("ladspa" ,ladspa)
>>> +       ("liblo" ,liblo)
>>> +       ("qt" ,qt-4)
>>> +       ("zita-alsa-pcmi" ,zita-alsa-pcmi)))
>>
>> This one must be GPLv2+, otherwise there’d be problems combining it with
>> the first one.
>
> Indeed.  Unfortunately, GPLv2-only is actually correct.  The file
> headers all say
>
>   ams is free software: you can redistribute it and/or modify
>   it under the terms of the GNU General Public License version 2 as
>   published by the Free Software Foundation.
>
> I contacted the author to ask if relicensing is an option, but it seems
> that at least two more authors are involved.

OK.

> Luckily, AMS could also be built against clalsadrv, the deprecated
> predecessor of zita-alsa-pcmi.  I'll package that up and replace the
> input for alsa-modular-synth.

Good, thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/2] gnu: Add AlsaModularSynth.
  2015-02-26 17:08           ` Ludovic Courtès
@ 2015-03-01 13:49             ` Ricardo Wurmus
  2015-03-01 14:59               ` Ludovic Courtès
  2015-03-02  6:14               ` Mark H Weaver
  0 siblings, 2 replies; 19+ messages in thread
From: Ricardo Wurmus @ 2015-03-01 13:49 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 240 bytes --]


> Luckily, AMS could also be built against clalsadrv, the deprecated
> predecessor of zita-alsa-pcmi.  I'll package that up and replace the
> input for alsa-modular-synth.

Attached are updated patches for AMS with clalsadrv.

~~ Ricardo


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-clalsadrv.patch --]
[-- Type: text/x-patch, Size: 2263 bytes --]

From dbf194fdfd5baf9b79ebc7ba3c60835421cce12a Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Sun, 1 Mar 2015 13:35:06 +0100
Subject: [PATCH 1/2] gnu: Add clalsadrv.

* gnu/packages/audio.scm (clalsadrv): New variable.
---
 gnu/packages/audio.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index ac6bc25..b7e74ca 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -199,6 +199,49 @@ bass section with five drawbars.  A standalone JACK application and LV2
 plugins are provided.")
     (license license:gpl2)))
 
+(define-public clalsadrv
+  (package
+    (name "clalsadrv")
+    (version "2.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://kokkinizita.linuxaudio.org"
+                    "/linuxaudio/downloads/clalsadrv-"
+                    version ".tar.bz2"))
+              (sha256
+               (base32
+                "0bsacx3l9065gk8g4137qmz2ij7s9x06aldvacinzlcslw7bd1kq"))
+              (modules '((guix build utils)))
+              (snippet
+               '(substitute* "libs/Makefile"
+                  (("/sbin/ldconfig") "true")))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; no "check" target
+       #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+       #:phases
+       (alist-cons-after
+        'unpack
+        'enter-directory
+        (lambda _ (chdir "libs"))
+        (alist-cons-after
+         'install
+         'install-symlink
+         (lambda _
+           (symlink "libclalsadrv.so"
+                    (string-append (assoc-ref %outputs "out")
+                                   "/lib/libclalsadrv.so.2")))
+         ;; no configure script
+         (alist-delete 'configure %standard-phases)))))
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("fftw" ,fftw)))
+    (home-page "http://kokkinizita.linuxaudio.org")
+    (synopsis "C++ wrapper around the ALSA API")
+    (description "clalsadrv is a C++ wrapper around the ALSA API.")
+    (license license:gpl2+)))
+
 (define-public freepats
   (package
     (name "freepats")
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-gnu-Add-AlsaModularSynth.patch --]
[-- Type: text/x-patch, Size: 2020 bytes --]

From 40b455e2008c149d708c2e31ec883d90b943b032 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Sat, 21 Feb 2015 21:53:02 +0100
Subject: [PATCH 2/2] gnu: Add AlsaModularSynth.

* gnu/packages/audio.scm (alsa-modular-synth): New variable.
---
 gnu/packages/audio.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index b7e74ca..a9c66d1 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -53,6 +53,40 @@
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
 
+(define-public alsa-modular-synth
+  (package
+    (name "alsa-modular-synth")
+    (version "2.1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/alsamodular/ams-"
+                                  version ".tar.bz2"))
+              (sha256
+               (base32
+                "1nb7qzzqlqa2x8h797jbwi18ihnfkxqg9lyi0c4nvf8ybwzxkzd2"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ;; We cannot use zita-alsa-pcmi (the successor of clalsadrv) due to
+       ;; license incompatibility.
+       ("clalsadrv" ,clalsadrv)
+       ("fftw" ,fftw)
+       ("jack" ,jack-1)
+       ("ladspa" ,ladspa)
+       ("liblo" ,liblo)
+       ("qt" ,qt-4)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://alsamodular.sourceforge.net/")
+    (synopsis "Realtime modular synthesizer and effect processor")
+    (description
+     "AlsaModularSynth is a digital implementation of a classical analog
+modular synthesizer system.  It uses virtual control voltages to control the
+parameters of the modules.  The control voltages which control the frequency
+e.g. of the VCO (Voltage Controlled Oscillator) and VCF (Voltage Controlled
+Filter) modules follow the convention of 1V / Octave.")
+    (license license:gpl2)))
+
 (define-public aubio
   (package
     (name "aubio")
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/2] gnu: Add AlsaModularSynth.
  2015-03-01 13:49             ` Ricardo Wurmus
@ 2015-03-01 14:59               ` Ludovic Courtès
  2015-03-02  6:14               ` Mark H Weaver
  1 sibling, 0 replies; 19+ messages in thread
From: Ludovic Courtès @ 2015-03-01 14:59 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

Ricardo Wurmus <rekado@elephly.net> skribis:

> From dbf194fdfd5baf9b79ebc7ba3c60835421cce12a Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus <rekado@elephly.net>
> Date: Sun, 1 Mar 2015 13:35:06 +0100
> Subject: [PATCH 1/2] gnu: Add clalsadrv.
>
> * gnu/packages/audio.scm (clalsadrv): New variable.

[...]

> +    (home-page "http://kokkinizita.linuxaudio.org")
> +    (synopsis "C++ wrapper around the ALSA API")
> +    (description "clalsadrv is a C++ wrapper around the ALSA API.")

Please expound a bit on the description such that one can have some
answer to “why would one want to wrap ALSA?”.  Is just C++ bindings that
provide an idiomatic C++ API?

OK to push with an appropriate description.

[...]

> From 40b455e2008c149d708c2e31ec883d90b943b032 Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus <rekado@elephly.net>
> Date: Sat, 21 Feb 2015 21:53:02 +0100
> Subject: [PATCH 2/2] gnu: Add AlsaModularSynth.
>
> * gnu/packages/audio.scm (alsa-modular-synth): New variable.

OK!

Thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/2] gnu: Add AlsaModularSynth.
  2015-03-01 13:49             ` Ricardo Wurmus
  2015-03-01 14:59               ` Ludovic Courtès
@ 2015-03-02  6:14               ` Mark H Weaver
  2015-03-04  7:08                 ` Ricardo Wurmus
  1 sibling, 1 reply; 19+ messages in thread
From: Mark H Weaver @ 2015-03-02  6:14 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

Ricardo Wurmus <rekado@elephly.net> writes:

> From dbf194fdfd5baf9b79ebc7ba3c60835421cce12a Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus <rekado@elephly.net>
> Date: Sun, 1 Mar 2015 13:35:06 +0100
> Subject: [PATCH 1/2] gnu: Add clalsadrv.
>
> * gnu/packages/audio.scm (clalsadrv): New variable.
> ---
>  gnu/packages/audio.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 43 insertions(+)
>
> diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
> index ac6bc25..b7e74ca 100644
> --- a/gnu/packages/audio.scm
> +++ b/gnu/packages/audio.scm
> @@ -199,6 +199,49 @@ bass section with five drawbars.  A standalone JACK application and LV2
>  plugins are provided.")
>      (license license:gpl2)))
>  
> +(define-public clalsadrv
> +  (package
> +    (name "clalsadrv")
> +    (version "2.0.0")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    "http://kokkinizita.linuxaudio.org"
> +                    "/linuxaudio/downloads/clalsadrv-"
> +                    version ".tar.bz2"))
> +              (sha256
> +               (base32
> +                "0bsacx3l9065gk8g4137qmz2ij7s9x06aldvacinzlcslw7bd1kq"))
> +              (modules '((guix build utils)))
> +              (snippet
> +               '(substitute* "libs/Makefile"
> +                  (("/sbin/ldconfig") "true")))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:tests? #f ; no "check" target
> +       #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
> +       #:phases
> +       (alist-cons-after
> +        'unpack
> +        'enter-directory
> +        (lambda _ (chdir "libs"))
> +        (alist-cons-after
> +         'install
> +         'install-symlink
> +         (lambda _
> +           (symlink "libclalsadrv.so"
> +                    (string-append (assoc-ref %outputs "out")
> +                                   "/lib/libclalsadrv.so.2")))

On Hydra, this 'symlink' call is failing on both x86_64 and mips64el.
See:

  http://hydra.gnu.org/build/263381/log/tail-reload
  http://hydra.gnu.org/build/263382/log/tail-reload

Can you look into it?

      Mark

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/2] gnu: Add AlsaModularSynth.
  2015-03-02  6:14               ` Mark H Weaver
@ 2015-03-04  7:08                 ` Ricardo Wurmus
  2015-03-04  7:14                   ` Ricardo Wurmus
  0 siblings, 1 reply; 19+ messages in thread
From: Ricardo Wurmus @ 2015-03-04  7:08 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel


Mark H Weaver writes:

>> From dbf194fdfd5baf9b79ebc7ba3c60835421cce12a Mon Sep 17 00:00:00 2001
>> From: Ricardo Wurmus <rekado@elephly.net>
>> Date: Sun, 1 Mar 2015 13:35:06 +0100
>> Subject: [PATCH 1/2] gnu: Add clalsadrv.
>>
>> * gnu/packages/audio.scm (clalsadrv): New variable.
>> ---
>>  gnu/packages/audio.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 43 insertions(+)
>>
[...]
>> +        (alist-cons-after
>> +         'install
>> +         'install-symlink
>> +         (lambda _
>> +           (symlink "libclalsadrv.so"
>> +                    (string-append (assoc-ref %outputs "out")
>> +                                   "/lib/libclalsadrv.so.2")))
>
> On Hydra, this 'symlink' call is failing on both x86_64 and mips64el.
> See:
>
>   http://hydra.gnu.org/build/263381/log/tail-reload
>   http://hydra.gnu.org/build/263382/log/tail-reload
>
> Can you look into it?

The problem here is that the library is not installed to /lib, but to
/lib64 or /libmips64.  I'll see if I can coerce it to install the
library to /lib on all platforms.

~~ Ricardo

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/2] gnu: Add AlsaModularSynth.
  2015-03-04  7:08                 ` Ricardo Wurmus
@ 2015-03-04  7:14                   ` Ricardo Wurmus
  2015-03-04 11:09                     ` Ricardo Wurmus
  0 siblings, 1 reply; 19+ messages in thread
From: Ricardo Wurmus @ 2015-03-04  7:14 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel


Ricardo Wurmus writes:

> The problem here is that the library is not installed to /lib, but to
> /lib64 or /libmips64.  I'll see if I can coerce it to install the
> library to /lib on all platforms.

zita-alsa-pcmi has the very same problem.  I'll take care of both of
them.

~~ Ricardo

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/2] gnu: Add AlsaModularSynth.
  2015-03-04  7:14                   ` Ricardo Wurmus
@ 2015-03-04 11:09                     ` Ricardo Wurmus
  2015-03-05 18:38                       ` RFC: Build system hacks for Guix do not belong in 'source' Mark H Weaver
  0 siblings, 1 reply; 19+ messages in thread
From: Ricardo Wurmus @ 2015-03-04 11:09 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 390 bytes --]


Ricardo Wurmus writes:

>> The problem here is that the library is not installed to /lib, but to
>> /lib64 or /libmips64.  I'll see if I can coerce it to install the
>> library to /lib on all platforms.
>
> zita-alsa-pcmi has the very same problem.  I'll take care of both of
> them.

Attached are patches for both zita-alsa-pcmi and clalsadrv that should
fix these failures.

~~ Ricardo


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-zita-alsa-pcmi-set-LIBDIR-to-lib.patch --]
[-- Type: text/x-patch, Size: 920 bytes --]

From f5e35f488fd1b4f5d916476d7c522783809b0f82 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Wed, 4 Mar 2015 11:50:26 +0100
Subject: [PATCH 1/2] gnu: zita-alsa-pcmi: set LIBDIR to "lib".

* gnu/packages/audio.scm (zita-alsa-pcmi)[source]: Set LIBDIR to "lib".
---
 gnu/packages/audio.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 2783643..66bcdcc 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1119,7 +1119,8 @@ interface.")
               (modules '((guix build utils)))
               (snippet
                '(substitute* "libs/Makefile"
-                  (("ldconfig") "true")))))
+                  (("ldconfig") "true")
+                  (("^LIBDIR =.*") "LIBDIR = lib\n")))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; no "check" target
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-gnu-clalsadrv-set-LIBDIR-to-lib.patch --]
[-- Type: text/x-patch, Size: 931 bytes --]

From e2f8a5cdbfb490c1d3c180c58fcf990ca403bd90 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Wed, 4 Mar 2015 11:52:07 +0100
Subject: [PATCH 2/2] gnu: clalsadrv: set LIBDIR to "lib".

* gnu/packages/audio.scm (clalsadrv)[source]: Set LIBDIR to "lib".
---
 gnu/packages/audio.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 66bcdcc..29f08ff 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -254,7 +254,8 @@ plugins are provided.")
               (modules '((guix build utils)))
               (snippet
                '(substitute* "libs/Makefile"
-                  (("/sbin/ldconfig") "true")))))
+                  (("/sbin/ldconfig") "true")
+                  (("^LIBDIR =.*") "LIBDIR = lib\n")))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; no "check" target
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* RFC: Build system hacks for Guix do not belong in 'source'
  2015-03-04 11:09                     ` Ricardo Wurmus
@ 2015-03-05 18:38                       ` Mark H Weaver
  2015-03-05 19:30                         ` Thompson, David
                                           ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Mark H Weaver @ 2015-03-05 18:38 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

Hi Ricardo,

Thanks for investigating.  Please see below for comments.

Ricardo Wurmus <rekado@elephly.net> writes:

> From f5e35f488fd1b4f5d916476d7c522783809b0f82 Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus <rekado@elephly.net>
> Date: Wed, 4 Mar 2015 11:50:26 +0100
> Subject: [PATCH 1/2] gnu: zita-alsa-pcmi: set LIBDIR to "lib".
>
> * gnu/packages/audio.scm (zita-alsa-pcmi)[source]: Set LIBDIR to "lib".
> ---
>  gnu/packages/audio.scm | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
> index 2783643..66bcdcc 100644
> --- a/gnu/packages/audio.scm
> +++ b/gnu/packages/audio.scm
> @@ -1119,7 +1119,8 @@ interface.")
>                (modules '((guix build utils)))
>                (snippet
>                 '(substitute* "libs/Makefile"
> -                  (("ldconfig") "true")))))
> +                  (("ldconfig") "true")
> +                  (("^LIBDIR =.*") "LIBDIR = lib\n")))))
>      (build-system gnu-build-system)
>      (arguments
>       `(#:tests? #f ; no "check" target
> -- 
> 2.1.0
>
> From e2f8a5cdbfb490c1d3c180c58fcf990ca403bd90 Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus <rekado@elephly.net>
> Date: Wed, 4 Mar 2015 11:52:07 +0100
> Subject: [PATCH 2/2] gnu: clalsadrv: set LIBDIR to "lib".
>
> * gnu/packages/audio.scm (clalsadrv)[source]: Set LIBDIR to "lib".
> ---
>  gnu/packages/audio.scm | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
> index 66bcdcc..29f08ff 100644
> --- a/gnu/packages/audio.scm
> +++ b/gnu/packages/audio.scm
> @@ -254,7 +254,8 @@ plugins are provided.")
>                (modules '((guix build utils)))
>                (snippet
>                 '(substitute* "libs/Makefile"
> -                  (("/sbin/ldconfig") "true")))))
> +                  (("/sbin/ldconfig") "true")
> +                  (("^LIBDIR =.*") "LIBDIR = lib\n")))))
>      (build-system gnu-build-system)
>      (arguments
>       `(#:tests? #f ; no "check" target

I don't think we should be making these kinds of changes in 'snippets'.

When I ask for the source code via "guix build -S <package>", I expect
freedom fixes and other bug fixes, and maybe even enhancements needed
for Guix that would also work fine on other systems (e.g. adding an
environment variable).

However, the package 'source' should not include build system hacks that
are specific to Guix and would interfere with the package functionality
on other platforms, IMO.

I think that both the 'ldconfig -> true' hack and the LIBDIR
substitution should be moved to a build phase for both of these
packages.

Other opinions?

     Mark

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: RFC: Build system hacks for Guix do not belong in 'source'
  2015-03-05 18:38                       ` RFC: Build system hacks for Guix do not belong in 'source' Mark H Weaver
@ 2015-03-05 19:30                         ` Thompson, David
  2015-03-05 22:05                         ` Ludovic Courtès
  2015-03-10  8:31                         ` Ricardo Wurmus
  2 siblings, 0 replies; 19+ messages in thread
From: Thompson, David @ 2015-03-05 19:30 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel

On Thu, Mar 5, 2015 at 1:38 PM, Mark H Weaver <mhw@netris.org> wrote:

> I don't think we should be making these kinds of changes in 'snippets'.
>
> When I ask for the source code via "guix build -S <package>", I expect
> freedom fixes and other bug fixes, and maybe even enhancements needed
> for Guix that would also work fine on other systems (e.g. adding an
> environment variable).
>
> However, the package 'source' should not include build system hacks that
> are specific to Guix and would interfere with the package functionality
> on other platforms, IMO.

I agree.

- Dave

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: RFC: Build system hacks for Guix do not belong in 'source'
  2015-03-05 18:38                       ` RFC: Build system hacks for Guix do not belong in 'source' Mark H Weaver
  2015-03-05 19:30                         ` Thompson, David
@ 2015-03-05 22:05                         ` Ludovic Courtès
  2015-03-05 23:10                           ` Ricardo Wurmus
  2015-03-10  8:31                         ` Ricardo Wurmus
  2 siblings, 1 reply; 19+ messages in thread
From: Ludovic Courtès @ 2015-03-05 22:05 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel

Mark H Weaver <mhw@netris.org> skribis:

> I don't think we should be making these kinds of changes in 'snippets'.
>
> When I ask for the source code via "guix build -S <package>", I expect
> freedom fixes and other bug fixes, and maybe even enhancements needed
> for Guix that would also work fine on other systems (e.g. adding an
> environment variable).
>
> However, the package 'source' should not include build system hacks that
> are specific to Guix and would interfere with the package functionality
> on other platforms, IMO.
>
> I think that both the 'ldconfig -> true' hack and the LIBDIR
> substitution should be moved to a build phase for both of these
> packages.
>
> Other opinions?

I think one of the goals of ‘guix build -S’ is that you can take the
source and build it *on GuixSD* with hopefully few additional
modifications.

From that perspective, the “hacks” are really fixes or workarounds
(/sbin/ldconfig doesn’t exist on GuixSD.)

Now, granted, there are inelegant workarounds that we’d rather hide;
these two may well fall into this category, so I’m fine with moving them
to a build phase.  Ricardo?

Still, it’s not obvious to me where to draw the line in the
general case.

Ludo’.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: RFC: Build system hacks for Guix do not belong in 'source'
  2015-03-05 22:05                         ` Ludovic Courtès
@ 2015-03-05 23:10                           ` Ricardo Wurmus
  0 siblings, 0 replies; 19+ messages in thread
From: Ricardo Wurmus @ 2015-03-05 23:10 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel


Ludovic Courtès writes:

> Mark H Weaver <mhw@netris.org> skribis:
>
>> I don't think we should be making these kinds of changes in 'snippets'.
>>
>> When I ask for the source code via "guix build -S <package>", I expect
>> freedom fixes and other bug fixes, and maybe even enhancements needed
>> for Guix that would also work fine on other systems (e.g. adding an
>> environment variable).
>>
>> However, the package 'source' should not include build system hacks that
>> are specific to Guix and would interfere with the package functionality
>> on other platforms, IMO.
>>
>> I think that both the 'ldconfig -> true' hack and the LIBDIR
>> substitution should be moved to a build phase for both of these
>> packages.
>>
>> Other opinions?
>
> I think one of the goals of ‘guix build -S’ is that you can take the
> source and build it *on GuixSD* with hopefully few additional
> modifications.
>
> From that perspective, the “hacks” are really fixes or workarounds
> (/sbin/ldconfig doesn’t exist on GuixSD.)
>
> Now, granted, there are inelegant workarounds that we’d rather hide;
> these two may well fall into this category, so I’m fine with moving them
> to a build phase.  Ricardo?

I was operating from the perspective that anything relying on "dynamic"
build information (like paths to inputs) must necessarily be implemented
in build phases, but that anything of a more static nature
(e.g. removing build time stamping, fixing Makefile problems, removing
bundled software) should be implemented with snippets.

I don't like the ldconfig hack myself (and I would be happy if we had a
replacement that would do the right thing in these cases without
requiring patching), so I'm okay with moving this into a build phase.
Expect updated patches.

It would be helpful to know where to draw the line, though, or if
there's a line at all.

~~ Ricardo

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: RFC: Build system hacks for Guix do not belong in 'source'
  2015-03-05 18:38                       ` RFC: Build system hacks for Guix do not belong in 'source' Mark H Weaver
  2015-03-05 19:30                         ` Thompson, David
  2015-03-05 22:05                         ` Ludovic Courtès
@ 2015-03-10  8:31                         ` Ricardo Wurmus
  2015-03-10 16:23                           ` Mark H Weaver
  2 siblings, 1 reply; 19+ messages in thread
From: Ricardo Wurmus @ 2015-03-10  8:31 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 264 bytes --]


Mark H Weaver writes:

> I think that both the 'ldconfig -> true' hack and the LIBDIR
> substitution should be moved to a build phase for both of these
> packages.

Attached are updated patches, moving the build hacks from snippets to a
build phase.

~~ Ricardo


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-zita-alsa-pcmi-set-LIBDIR-to-lib.patch --]
[-- Type: text/x-patch, Size: 1542 bytes --]

From abdbfec11164c61cfdb6fc88ddf9abd2e58aa027 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Wed, 4 Mar 2015 11:50:26 +0100
Subject: [PATCH 1/2] gnu: zita-alsa-pcmi: set LIBDIR to "lib".

* gnu/packages/audio.scm (zita-alsa-pcmi)[source, arguments]: Set LIBDIR to
  "lib" in build phase.  Remove snippet.
---
 gnu/packages/audio.scm | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 64bde2e..c440c4a 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1032,11 +1032,7 @@ interface.")
                     version ".tar.bz2"))
               (sha256
                (base32
-                "1rgv332g82rrrlm4vdam6p2pyrisxbi7b3izfaa0pcjglafsy7j9"))
-              (modules '((guix build utils)))
-              (snippet
-               '(substitute* "libs/Makefile"
-                  (("ldconfig") "true")))))
+                "1rgv332g82rrrlm4vdam6p2pyrisxbi7b3izfaa0pcjglafsy7j9"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; no "check" target
@@ -1044,8 +1040,12 @@ interface.")
        #:phases
        (alist-cons-after
         'unpack
-        'enter-directory
-        (lambda _ (chdir "libs"))
+        'fix-makefile
+        (lambda _
+          (substitute* "libs/Makefile"
+            (("ldconfig") "true")
+            (("^LIBDIR =.*") "LIBDIR = lib\n"))
+          (chdir "libs"))
         (alist-cons-after
          'install
          'install-symlink
-- 
2.1.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-gnu-clalsadrv-set-LIBDIR-to-lib.patch --]
[-- Type: text/x-patch, Size: 1562 bytes --]

From c114d1fbeda081c13e60a0ec1f776fcf783f1c48 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Wed, 4 Mar 2015 11:52:07 +0100
Subject: [PATCH 2/2] gnu: clalsadrv: set LIBDIR to "lib".

* gnu/packages/audio.scm (clalsadrv)[source, arguments]: Set LIBDIR to "lib"
  in build phase.  Remove snippet.
---
 gnu/packages/audio.scm | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index c440c4a..ebbf728 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -244,11 +244,7 @@ plugins are provided.")
                     version ".tar.bz2"))
               (sha256
                (base32
-                "0bsacx3l9065gk8g4137qmz2ij7s9x06aldvacinzlcslw7bd1kq"))
-              (modules '((guix build utils)))
-              (snippet
-               '(substitute* "libs/Makefile"
-                  (("/sbin/ldconfig") "true")))))
+                "0bsacx3l9065gk8g4137qmz2ij7s9x06aldvacinzlcslw7bd1kq"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; no "check" target
@@ -256,8 +252,12 @@ plugins are provided.")
        #:phases
        (alist-cons-after
         'unpack
-        'enter-directory
-        (lambda _ (chdir "libs"))
+        'fix-makefile
+        (lambda _
+          (substitute* "libs/Makefile"
+            (("/sbin/ldconfig") "true")
+            (("^LIBDIR =.*") "LIBDIR = lib\n"))
+          (chdir "libs"))
         (alist-cons-after
          'install
          'install-symlink
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: RFC: Build system hacks for Guix do not belong in 'source'
  2015-03-10  8:31                         ` Ricardo Wurmus
@ 2015-03-10 16:23                           ` Mark H Weaver
  0 siblings, 0 replies; 19+ messages in thread
From: Mark H Weaver @ 2015-03-10 16:23 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> writes:

> Mark H Weaver writes:
>
>> I think that both the 'ldconfig -> true' hack and the LIBDIR
>> substitution should be moved to a build phase for both of these
>> packages.
>
> Attached are updated patches, moving the build hacks from snippets to a
> build phase.
>
> ~~ Ricardo
>
> From abdbfec11164c61cfdb6fc88ddf9abd2e58aa027 Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus <rekado@elephly.net>
> Date: Wed, 4 Mar 2015 11:50:26 +0100
> Subject: [PATCH 1/2] gnu: zita-alsa-pcmi: set LIBDIR to "lib".
>
> * gnu/packages/audio.scm (zita-alsa-pcmi)[source, arguments]: Set LIBDIR to
>   "lib" in build phase.  Remove snippet.

I wouldn't write [source, arguments] here when the first sentence that
follows doesn't relate to 'source' at all.  Also, instead of "Remove
snippet", how about "Move snippet to build phase"?  Maybe something like
this:

--8<---------------cut here---------------start------------->8---
gnu: zita-alsa-pcmi: Move snippet to build phase and set LIBDIR.

* gnu/packages/audio.scm (zita-alsa-pcmi): Move snippet to build phase
  and set LIBDIR.
--8<---------------cut here---------------end--------------->8---

> @@ -1044,8 +1040,12 @@ interface.")
>         #:phases
>         (alist-cons-after
>          'unpack
> -        'enter-directory
> -        (lambda _ (chdir "libs"))
> +        'fix-makefile
> +        (lambda _
> +          (substitute* "libs/Makefile"
> +            (("ldconfig") "true")
> +            (("^LIBDIR =.*") "LIBDIR = lib\n"))
> +          (chdir "libs"))

It still enters the directory, so 'fix-makefile' doesn't quite cover it.
How about 'patch-Makefile-and-enter-directory' ?

Also, 'chdir' returns an unspecified value, but phases must return a
true value to indicate success.  So please add #t after the chdir,
maybe something like this:

--8<---------------cut here---------------start------------->8---
       (alist-cons-after
        'unpack 'patch-makefile-and-enter-directory
        (lambda _
          (substitute* "libs/Makefile"
            (("ldconfig") "true")
            (("^LIBDIR =.*") "LIBDIR = lib\n"))
          (chdir "libs")
          #t)
--8<---------------cut here---------------end--------------->8---

(It is true that in Guile, "an unspecified value" is normally a true
value, but it's bad practice to write code that depends on that).

All of these comments apply to the other patch as well.
After considering these suggestions, okay to push.

    Thanks!
      Mark

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2015-03-10 16:23 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-21 20:54 [PATCH 1/2] gnu: Add zita-alsa-pcmi Ricardo Wurmus
2015-02-21 20:54 ` [PATCH 2/2] gnu: Add AlsaModularSynth Ricardo Wurmus
2015-02-21 21:09   ` Ricardo Wurmus
2015-02-22 20:54     ` Ricardo Wurmus
2015-02-25 14:00       ` Ludovic Courtès
2015-02-25 22:03         ` Ricardo Wurmus
2015-02-26 17:08           ` Ludovic Courtès
2015-03-01 13:49             ` Ricardo Wurmus
2015-03-01 14:59               ` Ludovic Courtès
2015-03-02  6:14               ` Mark H Weaver
2015-03-04  7:08                 ` Ricardo Wurmus
2015-03-04  7:14                   ` Ricardo Wurmus
2015-03-04 11:09                     ` Ricardo Wurmus
2015-03-05 18:38                       ` RFC: Build system hacks for Guix do not belong in 'source' Mark H Weaver
2015-03-05 19:30                         ` Thompson, David
2015-03-05 22:05                         ` Ludovic Courtès
2015-03-05 23:10                           ` Ricardo Wurmus
2015-03-10  8:31                         ` Ricardo Wurmus
2015-03-10 16:23                           ` Mark H Weaver

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).