gnu: Add asunder.

Message ID 20161217092040.3112-2-cmmarusich@gmail.com
State New
Headers

Commit Message

Chris Marusich Dec. 17, 2016, 9:20 a.m. UTC
  * gnu/packages/cdrom.scm (asunder): New variable.
---
 gnu/packages/cdrom.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)
  

Comments

John Darrington Dec. 17, 2016, 9:46 a.m. UTC | #1
On Sat, Dec 17, 2016 at 01:20:40AM -0800, Chris Marusich wrote:

     +(define-public asunder
     +  (package
     +    (name "asunder")
     +    (version "2.8")
     +    (home-page "http://www.littlesvr.ca/asunder/index.php")
     +    (source (origin
     +              (method url-fetch)

It's unueual to have the home-page field here.  Most package definitions place it just
before the synopsis.

J'
  
Hartmut Goebel Dec. 17, 2016, 4:14 p.m. UTC | #2
Am 17.12.2016 um 10:20 schrieb Chris Marusich:
> +    (home-page "http://www.littlesvr.ca/asunder/index.php")

I'd leave of the "index.php" here. Its uselass and ugly :-)
  
Leo Famulari Dec. 17, 2016, 6:56 p.m. UTC | #3
On Sat, Dec 17, 2016 at 01:20:40AM -0800, Chris Marusich wrote:
> * gnu/packages/cdrom.scm (asunder): New variable.

Thanks!

> +    (home-page "http://www.littlesvr.ca/asunder/index.php")

I agree with the other reviewers about the home-page.

> +    (inputs `(("gtk+-2" ,gtk+-2)
> +              ("glib" ,glib)
> +              ("libcddb" ,libcddb)
> +              ("cdparanoia" ,cdparanoia)
> +              ("lame" ,lame)
> +              ("vorbis-tools" ,vorbis-tools)
> +              ("flac" ,flac)
> +              ("opus" ,opus)
> +              ("wavpack" ,wavpack)
> +              ("libmpcdec" ,libmpcdec)))

I checked the references of the built package:
$ guix gc --references $(./pre-inst-env guix build asunder)
/gnu/store/1jh6z732id8w014i66abm2h2iivkwk8v-gdk-pixbuf+svg-2.34.0
/gnu/store/46kis1wxzqfk3yysaz6ds0pc7w195a3b-gtk+-2.24.31
/gnu/store/4glf79v1r1l4k7by4vf1lfldq7n0yafw-libcddb-1.3.2
/gnu/store/7m55pyfv0rm19rqrrr7xx0c2irsvaq3y-pango-1.40.1
/gnu/store/cd92wyv466fcfnavx3wcjcr8qln4ycix-atk-2.20.0
/gnu/store/cdi08kw7r6r684w8mk0xq0dkgpjhfpmd-gcc-4.9.4-lib
/gnu/store/hmc1jiyr29mk9cl2d9j0jwf0dim1q76g-freetype-2.6.3
/gnu/store/iwgi9001dmmihrjg4rqhd6pa6788prjw-glibc-2.24
/gnu/store/n56vagr3zv7ildvh9b7mzvk7h4bgwjpf-shared-mime-info-1.7
/gnu/store/p56ai0sj3bbh8hdqc9qigdp91gj73brp-glib-2.48.2
/gnu/store/pkv2qqgprp4zxcqfspwwx81qm9lng0da-fontconfig-2.12.1
/gnu/store/qkw4zrwfybxww8f56nkb6hggxambk89b-bash-4.4.0
/gnu/store/y30l675nz41p87pmvzscqhhyhik626na-cairo-1.14.6
/gnu/store/zfm6sgn6mpv8yqfjwk23i7hnjib2rc30-asunder-2.8

Several inputs are missing from this list, so they will be garbage
collected when the user runs `guix gc`. Can you look into that?

> +    ;; Asunder can also encode to AAC using neroAacEnc and to Monkey's audio
> +    ;; using mac, but we do not include those libraries as they are non-free.

This comment isn't necessary, in my opinion.

> +    (description
> +     "Asunder is a graphical Audio CD ripper and encoder.  It can save audio

Does audio need to be capitalized here?
  

Patch

diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 829156a7c..b78382ec6 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -28,14 +28,18 @@ 
   #:use-module ((guix licenses) #:select (lgpl2.1+ gpl2 gpl2+ gpl3+))
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (gnu packages)
   #:use-module (gnu packages acl)
+  #:use-module (gnu packages audio)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages glib)
   #:use-module (gnu packages man)
+  #:use-module (gnu packages mp3)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages elf)
   #:use-module (gnu packages pkg-config)
@@ -395,3 +399,43 @@  for bootable CD-ROMs.
 Image data is written to standard output by default and all other
 information is written to standard error.")
     (license gpl2+)))
+
+(define-public asunder
+  (package
+    (name "asunder")
+    (version "2.8")
+    (home-page "http://www.littlesvr.ca/asunder/index.php")
+    (source (origin
+              (method url-fetch)
+              (uri
+               (string-append "http://www.littlesvr.ca/asunder/releases/asunder-"
+                              version
+                              ".tar.bz2"))
+              (sha256
+               (base32
+                "1nq9kd4rd4k2kibf57gdbm0zw2gxa234vvvdhxkm8g5bhx5h3iyq"))))
+    (build-system glib-or-gtk-build-system)
+    ;; Asunder fails to build when built outside of its source directory.
+    (arguments `(#:out-of-source? #f))
+    (native-inputs `(("intltool" ,intltool)
+                     ("pkg-config" ,pkg-config)))
+    (inputs `(("gtk+-2" ,gtk+-2)
+              ("glib" ,glib)
+              ("libcddb" ,libcddb)
+              ("cdparanoia" ,cdparanoia)
+              ("lame" ,lame)
+              ("vorbis-tools" ,vorbis-tools)
+              ("flac" ,flac)
+              ("opus" ,opus)
+              ("wavpack" ,wavpack)
+              ("libmpcdec" ,libmpcdec)))
+    (synopsis "Graphical Audio CD ripper and encoder")
+    ;; Asunder can also encode to AAC using neroAacEnc and to Monkey's audio
+    ;; using mac, but we do not include those libraries as they are non-free.
+    (description
+     "Asunder is a graphical Audio CD ripper and encoder.  It can save audio
+tracks as WAV, MP3, Ogg Vorbis, FLAC, Opus, Wavpack, and Musepack.  It can use
+CDDB to name and tag each track automatically, and it allows for each track to
+be by a different artist.  Asunder can encode to multiple formats in one
+session, and it can create M3U playlists.")
+    (license gpl2)))