unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH 1/3] gnu: Add opusfile.
@ 2015-10-19 11:20 Paul van der Walt
  2015-10-19 11:20 ` [PATCH 2/3] gnu: Add libcue Paul van der Walt
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Paul van der Walt @ 2015-10-19 11:20 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/xiph.scm (opusfile): New variable.
---
 gnu/packages/xiph.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
index c4db640..78d4cfa 100644
--- a/gnu/packages/xiph.scm
+++ b/gnu/packages/xiph.scm
@@ -46,6 +46,7 @@
             libkate
             vorbis-tools
             opus
+            opusfile
             opus-tools))
 
 (define libogg
@@ -341,6 +342,33 @@ decoding .opus files.")
     (license license:bsd-3)
     (home-page "http://www.opus-codec.org")))
 
+(define opusfile
+  (package
+    (name "opusfile")
+    (version "0.6")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://downloads.xiph.org/releases/opus/opusfile-" version
+                    ".tar.gz"))
+              (sha256
+               (base32
+                "19iys2kld75k0210b807i4illrdmj3cmmnrgxlc9y4vf6mxp2a14"))))
+    (build-system gnu-build-system)
+    (propagated-inputs
+     `(("opus" ,opus)))
+    (inputs
+     `(("pkg-config" ,pkg-config)
+       ("libogg" ,libogg)
+       ("openssl" ,openssl)))
+    (synopsis "Versatile audio codec")
+    (description
+     "The opusfile library provides seeking, decode, and playback of Opus
+streams in the Ogg container (.opus files) including over http(s) on posix and
+windows systems.")
+    (license license:bsd-3)
+    (home-page "http://www.opus-codec.org")))
+
 (define-public icecast
   (package
     (name "icecast")
-- 
2.6.1

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

* [PATCH 2/3] gnu: Add libcue.
  2015-10-19 11:20 [PATCH 1/3] gnu: Add opusfile Paul van der Walt
@ 2015-10-19 11:20 ` Paul van der Walt
  2015-10-21 19:29   ` Ludovic Courtès
  2015-10-19 11:20 ` [PATCH 3/3] gnu: Add cmus Paul van der Walt
  2015-10-21 19:23 ` [PATCH 1/3] gnu: Add opusfile Ludovic Courtès
  2 siblings, 1 reply; 11+ messages in thread
From: Paul van der Walt @ 2015-10-19 11:20 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/cdrom.scm (libcue): New variable.
---
 gnu/packages/cdrom.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 62a6040..2453481 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -231,6 +231,28 @@ depend on the file system of the medium.  The maximum error correction
 capacity is user-selectable.")
     (license gpl2+)))
 
+(define-public libcue
+  (package
+    (name "libcue")
+    (version "1.4.0")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "mirror://sourceforge/libcue/libcue-"
+                                 version ".tar.bz2"))
+             (sha256
+              (base32
+               "17kjd7rjz1bvfn44n3n2bjb7a1ywd0yc0g4sqp5ihf9b5bn7cwlb"))))
+    (build-system gnu-build-system)
+    (home-page "http://libcue.sourceforge.net/")
+    (synopsis "C library to parse cue sheets")
+    (description "Libcue is intended to parse a so called cue sheet from a
+char string or a file pointer.  For handling of the parsed data a convenient
+API is available.
+
+This project is meant as a fork of cuetools by Svend Sorensen which saw its
+last release in 02/2006.")
+    (license gpl2+)))
+
 (define-public cd-discid
   (package
     (name "cd-discid")
-- 
2.6.1

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

* [PATCH 3/3] gnu: Add cmus.
  2015-10-19 11:20 [PATCH 1/3] gnu: Add opusfile Paul van der Walt
  2015-10-19 11:20 ` [PATCH 2/3] gnu: Add libcue Paul van der Walt
@ 2015-10-19 11:20 ` Paul van der Walt
  2015-10-21 19:35   ` Ludovic Courtès
  2015-10-22  6:41   ` Ricardo Wurmus
  2015-10-21 19:23 ` [PATCH 1/3] gnu: Add opusfile Ludovic Courtès
  2 siblings, 2 replies; 11+ messages in thread
From: Paul van der Walt @ 2015-10-19 11:20 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/music.scm (cmus): New variable.
---
 gnu/packages/music.scm | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index a72f754..9b785ef 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -33,6 +34,7 @@
   #:use-module (gnu packages base) ;libbdf
   #:use-module (gnu packages boost)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages cdrom)
   #:use-module (gnu packages code)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
@@ -55,6 +57,7 @@
   #:use-module (gnu packages linux) ; for alsa-utils
   #:use-module (gnu packages man)
   #:use-module (gnu packages mp3)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages netpbm)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
@@ -67,6 +70,7 @@
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages texlive)
+  #:use-module (gnu packages video)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
@@ -74,6 +78,67 @@
   #:use-module (gnu packages zip)
   #:use-module ((srfi srfi-1) #:select (last)))
 
+(define-public cmus
+  (package
+    (name "cmus")
+    (version "2.7.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/" name "/" name "/archive/v"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "0raixgjavkm7hxppzsc5zqbfbh2bhjcmbiplhnsxsmyj8flafyc1"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests?
+       #f                               ; cmus does not include tests
+       #:phases
+       (modify-phases %standard-phases
+         (replace
+          'configure
+          (lambda* (#:key outputs #:allow-other-keys)
+            (let ((out (assoc-ref outputs "out")))
+
+              ;; It's an idiosyncratic configure script that doesn't
+              ;; understand --prefix=..; it wants prefix=.. instead.
+              (setenv "CONFIG_SHELL" (which "bash"))
+              (zero?
+               (system* "./configure"
+                        (string-append "prefix=" out)))))))))
+    ;; TODO: cmus optionally supports the following formats, which haven't yet
+    ;; been added to Guix:
+    ;;
+    ;; - Roar, libroar
+    ;;
+    ;; - DISCID_LIBS, apparently different from cd-discid which is included in
+    ;;   Guix.  See <http://sourceforge.net/projects/discid/>
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("ao" ,ao)
+       ("ffmpeg" ,ffmpeg)
+       ("flac" ,flac)
+       ("jack" ,jack-1)
+       ("libcddb" ,libcddb)
+       ("libcdio-paranoia" ,libcdio-paranoia)
+       ("libcue" ,libcue)
+       ("libmad" ,libmad)
+       ("libmodplug" ,libmodplug)
+       ("libmpcdec" ,libmpcdec)
+       ("libsamplerate" ,libsamplerate)
+       ("libvorbis" ,libvorbis)
+       ("ncurses" ,ncurses)
+       ("opusfile" ,opusfile)
+       ("pkg-config" ,pkg-config)
+       ("pulseaudio" ,pulseaudio)
+       ("wavpack" ,wavpack)))
+     (home-page "https://cmus.github.io/")
+     (synopsis "Small, fast and powerful console music player")
+     (description "Cmus is a small, fast and powerful console music player for
+Unix-like operating systems.")
+     (license license:gpl2+)))
+
 (define-public hydrogen
   (package
     (name "hydrogen")
-- 
2.6.1

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

* Re: [PATCH 1/3] gnu: Add opusfile.
  2015-10-19 11:20 [PATCH 1/3] gnu: Add opusfile Paul van der Walt
  2015-10-19 11:20 ` [PATCH 2/3] gnu: Add libcue Paul van der Walt
  2015-10-19 11:20 ` [PATCH 3/3] gnu: Add cmus Paul van der Walt
@ 2015-10-21 19:23 ` Ludovic Courtès
  2015-10-21 19:35   ` Paul van der Walt
  2 siblings, 1 reply; 11+ messages in thread
From: Ludovic Courtès @ 2015-10-21 19:23 UTC (permalink / raw)
  To: Paul van der Walt; +Cc: guix-devel

Paul van der Walt <paul@denknerd.org> skribis:

> * gnu/packages/xiph.scm (opusfile): New variable.

[...]

> +    (inputs
> +     `(("pkg-config" ,pkg-config)

This one should be in ‘native-inputs’ (normally ‘guix lint’ warns about
it.)

OK to push with this change.

Thank you!

Ludo’.

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

* Re: [PATCH 2/3] gnu: Add libcue.
  2015-10-19 11:20 ` [PATCH 2/3] gnu: Add libcue Paul van der Walt
@ 2015-10-21 19:29   ` Ludovic Courtès
  2015-10-21 19:38     ` Paul van der Walt
  0 siblings, 1 reply; 11+ messages in thread
From: Ludovic Courtès @ 2015-10-21 19:29 UTC (permalink / raw)
  To: Paul van der Walt; +Cc: guix-devel

Paul van der Walt <paul@denknerd.org> skribis:

> * gnu/packages/cdrom.scm (libcue): New variable.

[...]

> +    (description "Libcue is intended to parse a so called cue sheet from a
> +char string or a file pointer.  For handling of the parsed data a convenient
> +API is available.

What about: “Libcue is C library to parse so-called @dfn{cue sheets},
which contain meta-data for CD/DVD tracks.  It provides an API to
manipulate the data.”

> +This project is meant as a fork of cuetools by Svend Sorensen which saw its
> +last release in 02/2006.")

I’d probably remove this paragraph.  

OK with a change along these lines, thanks!

Ludo’.

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

* Re: [PATCH 1/3] gnu: Add opusfile.
  2015-10-21 19:23 ` [PATCH 1/3] gnu: Add opusfile Ludovic Courtès
@ 2015-10-21 19:35   ` Paul van der Walt
  2015-10-22  0:05     ` Mark H Weaver
  0 siblings, 1 reply; 11+ messages in thread
From: Paul van der Walt @ 2015-10-21 19:35 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel


On 2015-10-21 at 21:23, quoth Ludovic Courtès:
>> +    (inputs
>> +     `(("pkg-config" ,pkg-config)
>
> This one should be in ‘native-inputs’ (normally ‘guix lint’ warns about
> it.)
>
> OK to push with this change.

Right, fixed and pushed.  Is it surprising that it worked as i had it,
though?

Thanks for the go-ahead!

p.

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

* Re: [PATCH 3/3] gnu: Add cmus.
  2015-10-19 11:20 ` [PATCH 3/3] gnu: Add cmus Paul van der Walt
@ 2015-10-21 19:35   ` Ludovic Courtès
  2015-10-22  6:41   ` Ricardo Wurmus
  1 sibling, 0 replies; 11+ messages in thread
From: Ludovic Courtès @ 2015-10-21 19:35 UTC (permalink / raw)
  To: Paul van der Walt; +Cc: guix-devel

Paul van der Walt <paul@denknerd.org> skribis:

> * gnu/packages/music.scm (cmus): New variable.

[...]

> +     `(#:tests?
> +       #f                               ; cmus does not include tests

Should be on one line.

> +              ;; It's an idiosyncratic configure script that doesn't
> +              ;; understand --prefix=..; it wants prefix=.. instead.
> +              (setenv "CONFIG_SHELL" (which "bash"))

It probably doesn’t honor ‘CONFIG_SHELL’ either, in which case this line
can be removed.

> +       ("pkg-config" ,pkg-config)

Should be ‘native-inputs’.

> +     (home-page "https://cmus.github.io/")
> +     (synopsis "Small, fast and powerful console music player")

“Small console music player”?

> +     (description "Cmus is a small, fast and powerful console music player for
> +Unix-like operating systems.")

What about something like:

  Cmus is a small and fast console music player.  It supports many
  input formats and output options and provides a customizable Vi-style
  user interface.

OK with these changes!

Ludo’.

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

* Re: [PATCH 2/3] gnu: Add libcue.
  2015-10-21 19:29   ` Ludovic Courtès
@ 2015-10-21 19:38     ` Paul van der Walt
  0 siblings, 0 replies; 11+ messages in thread
From: Paul van der Walt @ 2015-10-21 19:38 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel


On 2015-10-21 at 21:29, quoth Ludovic Courtès:
> What about: “Libcue is C library to parse so-called @dfn{cue sheets},
> which contain meta-data for CD/DVD tracks.  It provides an API to
> manipulate the data.”
>
> ...
> 
> OK with a change along these lines, thanks!

Thanks, done!

p.

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

* Re: [PATCH 1/3] gnu: Add opusfile.
  2015-10-21 19:35   ` Paul van der Walt
@ 2015-10-22  0:05     ` Mark H Weaver
  0 siblings, 0 replies; 11+ messages in thread
From: Mark H Weaver @ 2015-10-22  0:05 UTC (permalink / raw)
  To: Paul van der Walt; +Cc: guix-devel

Paul van der Walt <paul@denknerd.org> writes:

> On 2015-10-21 at 21:23, quoth Ludovic Courtès:
>>> +    (inputs
>>> +     `(("pkg-config" ,pkg-config)
>>
>> This one should be in ‘native-inputs’ (normally ‘guix lint’ warns about
>> it.)
>>
>> OK to push with this change.
>
> Right, fixed and pushed.  Is it surprising that it worked as i had it,
> though?

No.  The difference between 'inputs' and 'native-inputs' is noticeable
when cross-compiling.  'inputs' are built to run on the target machine,
and 'native-inputs' are built to run on the build machine.

For example, suppose you use an x86_64 machine to cross-compile this
package to run on armhf.  If you put 'pkg-config' in 'inputs', then it
would have been built to run on 'armhf', so when 'configure' tries to
run 'pkg-config' on the x86_64 build machine, it won't work.

      Mark

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

* Re: [PATCH 3/3] gnu: Add cmus.
  2015-10-19 11:20 ` [PATCH 3/3] gnu: Add cmus Paul van der Walt
  2015-10-21 19:35   ` Ludovic Courtès
@ 2015-10-22  6:41   ` Ricardo Wurmus
  2015-10-22  9:26     ` Paul van der Walt
  1 sibling, 1 reply; 11+ messages in thread
From: Ricardo Wurmus @ 2015-10-22  6:41 UTC (permalink / raw)
  To: Paul van der Walt; +Cc: guix-devel

Hi Paul,

> * gnu/packages/music.scm (cmus): New variable.
> ---
>  gnu/packages/music.scm | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 65 insertions(+)

[...]

> +(define-public cmus
> +  (package
> +    (name "cmus")
> +    (version "2.7.1")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    "https://github.com/" name "/" name "/archive/v"
> +                    version ".tar.gz"))

Please use ‘(file-name ...)’ here as the tarball is only named
‘v2.7.1.tar.gz’.

> +              (sha256
> +               (base32
> +                "0raixgjavkm7hxppzsc5zqbfbh2bhjcmbiplhnsxsmyj8flafyc1"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:tests?
> +       #f                               ; cmus does not include tests

Putting the ‘#f’ on a separate line looks odd.  Please put ‘#:tests? #f’
on one line together with the margin comment.

[...]

> +       ("pkg-config" ,pkg-config)

This should be in native-inputs instead.

> +       ("pulseaudio" ,pulseaudio)
> +       ("wavpack" ,wavpack)))
> +     (home-page "https://cmus.github.io/")
> +     (synopsis "Small, fast and powerful console music player")
> +     (description "Cmus is a small, fast and powerful console music player for
> +Unix-like operating systems.")

“for Unix-like operating systems” seems redundant as Guix only works on
GNU systems.

> +     (license license:gpl2+)))
> +
>  (define-public hydrogen
>    (package
>      (name "hydrogen")

~~ Ricardo

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

* Re: [PATCH 3/3] gnu: Add cmus.
  2015-10-22  6:41   ` Ricardo Wurmus
@ 2015-10-22  9:26     ` Paul van der Walt
  0 siblings, 0 replies; 11+ messages in thread
From: Paul van der Walt @ 2015-10-22  9:26 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

Hi Ricardo,

Thanks for your comments!  Last night i already fixed some of these
issues when Ludo pointed them out.

On 2015-10-22 at 08:41, quoth Ricardo Wurmus:
> Please use ‘(file-name ...)’ here as the tarball is only named
> ‘v2.7.1.tar.gz’.

OK, good point.  I admit that i wasn't sure about that (it was indeed in
the `guix lint` output), but i have now added that to both the dosbox
and cmus packages.  I'll email the patches shortly (since i had already
pushed cmus after getting approval from Ludo — sorry for my overly hasty
actions then!).

> Putting the ‘#f’ on a separate line looks odd.  Please put ‘#:tests? #f’
> on one line together with the margin comment.

Already done.

>> +       ("pkg-config" ,pkg-config)
>
> This should be in native-inputs instead.

Already done.

>> +     (description "Cmus is a small, fast and powerful console music player for
>> +Unix-like operating systems.")
>
> “for Unix-like operating systems” seems redundant as Guix only works on
> GNU systems.

Already done.

Thank you again!
p.

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

end of thread, other threads:[~2015-10-22  9:26 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-19 11:20 [PATCH 1/3] gnu: Add opusfile Paul van der Walt
2015-10-19 11:20 ` [PATCH 2/3] gnu: Add libcue Paul van der Walt
2015-10-21 19:29   ` Ludovic Courtès
2015-10-21 19:38     ` Paul van der Walt
2015-10-19 11:20 ` [PATCH 3/3] gnu: Add cmus Paul van der Walt
2015-10-21 19:35   ` Ludovic Courtès
2015-10-22  6:41   ` Ricardo Wurmus
2015-10-22  9:26     ` Paul van der Walt
2015-10-21 19:23 ` [PATCH 1/3] gnu: Add opusfile Ludovic Courtès
2015-10-21 19:35   ` Paul van der Walt
2015-10-22  0:05     ` 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).