all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add soundtouch.
@ 2015-02-21 23:23 Taylan Ulrich Bayırlı/Kammer
  2015-02-21 23:50 ` David Thompson
  0 siblings, 1 reply; 6+ messages in thread
From: Taylan Ulrich Bayırlı/Kammer @ 2015-02-21 23:23 UTC (permalink / raw)
  To: guix-devel

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: patch --]
[-- Type: text/x-diff, Size: 2361 bytes --]

From 78cad66d5bb8dd5b4e46595574a4e58ce68d7849 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 <taylanbayirli@gmail.com>
Date: Fri, 20 Feb 2015 21:44:57 +0100
Subject: [PATCH 5/9] gnu: Add soundtouch.

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

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 51157d0..7fb39bd 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -44,6 +44,7 @@
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages file)
   #:use-module (srfi srfi-1))
 
 (define-public aubio
@@ -681,3 +682,42 @@ stretching and pitch scaling of audio.  This package contains the library.")
     ;; There is no explicit declaration of a license, but a COPYING file
     ;; containing gpl2.
     (license license:gpl2)))
+
+(define-public soundtouch
+  (package
+    (name "soundtouch")
+    (version "1.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append
+         "http://www.surina.net/soundtouch/soundtouch-" version ".tar.gz"))
+       (sha256
+        (base32 "0sqn3wk4qz20vf0vz853l6dl1gnj1yhqxfwxqsc5lp529kbn2h9x"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("file" ,file)))
+    (arguments
+     '(#:phases
+       (alist-cons-before
+        'configure 'bootstrap
+        (lambda _
+          (and
+           (zero? (system* "sh" "bootstrap"))
+           (begin (substitute* '("configure")
+                    (("/usr/bin/file") "file"))
+                  #t)))
+        %standard-phases)))
+    (home-page "http://www.surina.net/soundtouch/")
+    (synopsis
+     "Audio processing library for changing tempo, pitch and playback rate")
+    (description
+     "SoundTouch is an audio processing library for changing the Tempo, Pitch
+and Playback Rates of audio streams or audio files.  It is intended for
+application developers writing sound processing tools that require tempo/pitch
+control functionality, or just for playing around with the sound effects.")
+    (license license:lgpl2.1+)))
-- 
2.2.1

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

* Re: [PATCH] gnu: Add soundtouch.
  2015-02-21 23:23 [PATCH] gnu: Add soundtouch Taylan Ulrich Bayırlı/Kammer
@ 2015-02-21 23:50 ` David Thompson
  2015-02-22  1:01   ` Taylan Ulrich Bayırlı/Kammer
  0 siblings, 1 reply; 6+ messages in thread
From: David Thompson @ 2015-02-21 23:50 UTC (permalink / raw)
  To: Taylan Ulrich Bayırlı/Kammer, guix-devel

"Taylan Ulrich Bayırlı/Kammer" <taylanbayirli@gmail.com> writes:

> From 78cad66d5bb8dd5b4e46595574a4e58ce68d7849 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
>  <taylanbayirli@gmail.com>
> Date: Fri, 20 Feb 2015 21:44:57 +0100
> Subject: [PATCH 5/9] gnu: Add soundtouch.
>
> * gnu/packages/audio.scm (soundtouch): New variable.
> ---
>  gnu/packages/audio.scm | 40 ++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 40 insertions(+)
>
> diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
> index 51157d0..7fb39bd 100644
> --- a/gnu/packages/audio.scm
> +++ b/gnu/packages/audio.scm
> @@ -44,6 +44,7 @@
>    #:use-module (gnu packages xiph)
>    #:use-module (gnu packages xml)
>    #:use-module (gnu packages autotools)
> +  #:use-module (gnu packages file)
>    #:use-module (srfi srfi-1))
>  
>  (define-public aubio
> @@ -681,3 +682,42 @@ stretching and pitch scaling of audio.  This package contains the library.")
>      ;; There is no explicit declaration of a license, but a COPYING file
>      ;; containing gpl2.
>      (license license:gpl2)))
> +
> +(define-public soundtouch
> +  (package
> +    (name "soundtouch")
> +    (version "1.8.0")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri
> +        (string-append
> +         "http://www.surina.net/soundtouch/soundtouch-" version ".tar.gz"))
> +       (sha256
> +        (base32 "0sqn3wk4qz20vf0vz853l6dl1gnj1yhqxfwxqsc5lp529kbn2h9x"))))
> +    (build-system gnu-build-system)
> +    (native-inputs
> +     `(("autoconf" ,autoconf)
> +       ("automake" ,automake)
> +       ("libtool" ,libtool)
> +       ("file" ,file)))
> +    (arguments
> +     '(#:phases
> +       (alist-cons-before
> +        'configure 'bootstrap
> +        (lambda _
> +          (and
> +           (zero? (system* "sh" "bootstrap"))
> +           (begin (substitute* '("configure")
> +                    (("/usr/bin/file") "file"))
> +                  #t)))

Is the 'begin' form necessary here?  Also, when substituting a single
file, you can just pass a string instead of a list of strings.

    (and
     (zero? (system* "sh" "bootstrap"))
     (substitute* "configure"
       (("/usr/bin/file") "file")))

> +        %standard-phases)))
> +    (home-page "http://www.surina.net/soundtouch/")
> +    (synopsis
> +     "Audio processing library for changing tempo, pitch and playback rate")
> +    (description
> +     "SoundTouch is an audio processing library for changing the Tempo, Pitch
> +and Playback Rates of audio streams or audio files.  It is intended for
> +application developers writing sound processing tools that require tempo/pitch
> +control functionality, or just for playing around with the sound effects.")
> +    (license license:lgpl2.1+)))
> -- 
> 2.2.1
>
>

-- 
David Thompson
Web Developer - Free Software Foundation - http://fsf.org
GPG Key: 0FF1D807
Support the FSF: https://fsf.org/donate

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

* Re: [PATCH] gnu: Add soundtouch.
  2015-02-21 23:50 ` David Thompson
@ 2015-02-22  1:01   ` Taylan Ulrich Bayırlı/Kammer
  2015-02-24 17:41     ` Taylan Ulrich Bayırlı/Kammer
  0 siblings, 1 reply; 6+ messages in thread
From: Taylan Ulrich Bayırlı/Kammer @ 2015-02-22  1:01 UTC (permalink / raw)
  To: David Thompson; +Cc: guix-devel

David Thompson <dthompson2@worcester.edu> writes:

> Is the 'begin' form necessary here?  Also, when substituting a single
> file, you can just pass a string instead of a list of strings.
>
>     (and
>      (zero? (system* "sh" "bootstrap"))
>      (substitute* "configure"
>        (("/usr/bin/file") "file")))

Since phase procedures are expected to return non-false and the return
value of `substitute*' is probably unspecified, one should provide an
explicit return value, but this is done pretty much nowhere so I guess
it was needless and if we'll fix it we'll have to do it some other way.

(I think it would have been better if Scheme specified zero return
values for procedures called only for side-effect, so the above would
raise an error and not trap the language's users into situations where
they write code that "works by chance", but I guess it's way too late
for such a thing, and in Guix's codebase we will just rely on Guile
returning the special *unspecified* value for such procedures, which
works as a non-false value.)

Taylan

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

* Re: [PATCH] gnu: Add soundtouch.
  2015-02-22  1:01   ` Taylan Ulrich Bayırlı/Kammer
@ 2015-02-24 17:41     ` Taylan Ulrich Bayırlı/Kammer
  2015-02-24 20:05       ` Andreas Enge
  2015-03-02 14:04       ` Mark H Weaver
  0 siblings, 2 replies; 6+ messages in thread
From: Taylan Ulrich Bayırlı/Kammer @ 2015-02-24 17:41 UTC (permalink / raw)
  To: guix-devel

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

Here's an updated patch with David's feedback to gently bump the
thread.  :-)  Will push if nobody has objections.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: patch --]
[-- Type: text/x-diff, Size: 2353 bytes --]

From d7ad03f88923b340357c929e438963e59f88ad24 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 <taylanbayirli@gmail.com>
Date: Fri, 20 Feb 2015 21:44:57 +0100
Subject: [PATCH 2/8] gnu: Add soundtouch.

* gnu/packages/audio.scm (soundtouch): 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 51157d0..4b281f0 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -44,6 +44,7 @@
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages file)
   #:use-module (srfi srfi-1))
 
 (define-public aubio
@@ -681,3 +682,41 @@ stretching and pitch scaling of audio.  This package contains the library.")
     ;; There is no explicit declaration of a license, but a COPYING file
     ;; containing gpl2.
     (license license:gpl2)))
+
+(define-public soundtouch
+  (package
+    (name "soundtouch")
+    (version "1.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append
+         "http://www.surina.net/soundtouch/soundtouch-" version ".tar.gz"))
+       (sha256
+        (base32 "0sqn3wk4qz20vf0vz853l6dl1gnj1yhqxfwxqsc5lp529kbn2h9x"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("file" ,file)))
+    (arguments
+     '(#:phases
+       (alist-cons-before
+        'configure 'bootstrap
+        (lambda _
+          (unless (zero? (system* "sh" "bootstrap"))
+            (error "bootstrap failed"))
+          (substitute* '("configure")
+            (("/usr/bin/file") "file")))
+        %standard-phases)))
+    (home-page "http://www.surina.net/soundtouch/")
+    (synopsis
+     "Audio processing library for changing tempo, pitch and playback rate")
+    (description
+     "SoundTouch is an audio processing library for changing the Tempo, Pitch
+and Playback Rates of audio streams or audio files.  It is intended for
+application developers writing sound processing tools that require tempo/pitch
+control functionality, or just for playing around with the sound effects.")
+    (license license:lgpl2.1+)))
-- 
2.2.1


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

* Re: [PATCH] gnu: Add soundtouch.
  2015-02-24 17:41     ` Taylan Ulrich Bayırlı/Kammer
@ 2015-02-24 20:05       ` Andreas Enge
  2015-03-02 14:04       ` Mark H Weaver
  1 sibling, 0 replies; 6+ messages in thread
From: Andreas Enge @ 2015-02-24 20:05 UTC (permalink / raw)
  To: Taylan Ulrich Bayırlı/Kammer; +Cc: guix-devel

On Tue, Feb 24, 2015 at 06:41:09PM +0100, Taylan Ulrich Bayırlı/Kammer wrote:
> +     "SoundTouch is an audio processing library for changing the Tempo, Pitch
> +and Playback Rates of audio streams or audio files.  It is intended for

Tempo, Pitch and Playback Rates should start with minuscule letters. Apart
from that, the package looks good.

Andreas

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

* Re: [PATCH] gnu: Add soundtouch.
  2015-02-24 17:41     ` Taylan Ulrich Bayırlı/Kammer
  2015-02-24 20:05       ` Andreas Enge
@ 2015-03-02 14:04       ` Mark H Weaver
  1 sibling, 0 replies; 6+ messages in thread
From: Mark H Weaver @ 2015-03-02 14:04 UTC (permalink / raw)
  To: Taylan Ulrich "Bayırlı/Kammer"; +Cc: guix-devel

taylanbayirli@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:

> +(define-public soundtouch
> +  (package
> +    (name "soundtouch")
> +    (version "1.8.0")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri
> +        (string-append
> +         "http://www.surina.net/soundtouch/soundtouch-" version ".tar.gz"))
> +       (sha256
> +        (base32 "0sqn3wk4qz20vf0vz853l6dl1gnj1yhqxfwxqsc5lp529kbn2h9x"))))
> +    (build-system gnu-build-system)
> +    (native-inputs
> +     `(("autoconf" ,autoconf)
> +       ("automake" ,automake)
> +       ("libtool" ,libtool)
> +       ("file" ,file)))
> +    (arguments
> +     '(#:phases
> +       (alist-cons-before
> +        'configure 'bootstrap
> +        (lambda _
> +          (unless (zero? (system* "sh" "bootstrap"))
> +            (error "bootstrap failed"))
> +          (substitute* '("configure")
> +            (("/usr/bin/file") "file")))

I've already fixed this in core-updates, but for the future: these
bootstrap phases should always go after 'unpack' instead of before
'configure'.  The reason is that there are several phases between
'unpack' and 'configure' that need to fix things up in the files
generated by autoconf/autoreconf/autogen/bootstrap.

I see that you did the /usr/bin/file substitution here, but we may add
more phases later and in general it would be better to use that
machinery.

In core-updates 722ec722441a, I fixed as many of these as I could find,
and here's what I did for 'soundtouch':

       (alist-cons-after
        'unpack 'bootstrap
        (lambda _
          (zero? (system* "sh" "bootstrap")))

I confess that this is not yet tested.  We'll see what happens when
Hydra builds all of core-updates.

     Thanks!
       Mark

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

end of thread, other threads:[~2015-03-02 14:04 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-21 23:23 [PATCH] gnu: Add soundtouch Taylan Ulrich Bayırlı/Kammer
2015-02-21 23:50 ` David Thompson
2015-02-22  1:01   ` Taylan Ulrich Bayırlı/Kammer
2015-02-24 17:41     ` Taylan Ulrich Bayırlı/Kammer
2015-02-24 20:05       ` Andreas Enge
2015-03-02 14:04       ` Mark H Weaver

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.