summaryrefslogtreecommitdiff
path: root/gnu/packages/cdrom.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/cdrom.scm')
-rw-r--r--gnu/packages/cdrom.scm111
1 files changed, 108 insertions, 3 deletions
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 29def9b6aa..6187f871af 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -32,7 +32,11 @@
#:use-module (gnu packages elf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages readline)
- #:use-module (gnu packages which))
+ #:use-module (gnu packages which)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages wget)
+ #:use-module (gnu packages xiph))
(define-public libcddb
(package
@@ -68,14 +72,14 @@ caching facility provided by the library.")
(define-public libcdio
(package
(name "libcdio")
- (version "0.92")
+ (version "0.93")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libcdio/libcdio-"
version ".tar.gz"))
(sha256
(base32
- "1b9zngn8nnxb1yyngi1kwi73nahp4lsx59j17q1bahzz58svydik"))))
+ "0xb9km1750ndr7nglgbv1smv03dy8nkcfd9djbzqn3ldzlicswj9"))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)
@@ -217,3 +221,104 @@ files. Dvdisaster works at the image level so that the recovery does not
depend on the file system of the medium. The maximum error correction
capacity is user-selectable.")
(license gpl2+)))
+
+(define-public cd-discid
+ (package
+ (name "cd-discid")
+ (version "1.4")
+ (home-page "http://linukz.org/cd-discid.shtml")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://linukz.org/download/cd-discid-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0qrcvn7227qaayjcd5rm7z0k5q89qfy5qkdgwr5pd7ih0va8rmpz"))
+ (modules '((guix build utils)))
+ (snippet
+ '(substitute* "Makefile"
+ (("/usr/bin/install")
+ "install")))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f
+ #:phases (alist-delete 'configure %standard-phases)
+ #:make-flags (list "CC=gcc"
+ (string-append "PREFIX="
+ (assoc-ref %outputs "out")))))
+ (synopsis "Get CDDB discid information from an audio CD")
+ (description
+ "cd-discid is a command-line tool to retrieve CDDB discid information
+from an audio CD.")
+ (license gpl2+)))
+
+(define-public abcde
+ (package
+ (name "abcde")
+ (version "2.6")
+ (home-page "http://abcde.einval.com/")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append home-page "/download/abcde-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0y2cg233n2hixs0ji76dggpzgf52v4c4mnpwiai889ql2piafgk8"))
+ (modules '((guix build utils)))
+ (snippet
+ '(substitute* "Makefile"
+ (("/usr/bin/install")
+ "install")
+ (("^etcdir = .*$")
+ (string-append "etcdir = $(prefix)/etc\n"))))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases (alist-replace
+ 'configure
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("^prefix = .*$")
+ (string-append "prefix = "
+ (assoc-ref outputs "out")
+ "\n"))))
+ (alist-cons-after
+ 'install 'wrap
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((wget (assoc-ref inputs "wget"))
+ (vorbis (assoc-ref inputs "vorbis-tools"))
+ (parano (assoc-ref inputs "cdparanoia"))
+ (which (assoc-ref inputs "which"))
+ (discid (assoc-ref inputs "cd-discid"))
+ (out (assoc-ref outputs "out")))
+ (define (wrap file)
+ (wrap-program file
+ `("PATH" ":" prefix
+ (,(string-append out "/bin:"
+ wget "/bin:"
+ which "/bin:"
+ vorbis "/bin:"
+ discid "/bin:"
+ parano "/bin")))))
+
+ (for-each wrap
+ (find-files (string-append out "/bin")
+ ".*"))))
+ %standard-phases))
+ #:tests? #f))
+
+ (inputs `(("wget" ,wget)
+ ("which" ,which)
+ ("cdparanoia" ,cdparanoia)
+ ("cd-discid" ,cd-discid)
+ ("vorbis-tools" ,vorbis-tools)
+
+ ;; A couple of Python and Perl scripts are included.
+ ("python" ,python)
+ ("perl" ,perl)))
+
+ (synopsis "Command-line audio CD ripper")
+ (description
+ "abcde is a front-end command-line utility (actually, a shell script)
+that grabs tracks off a CD, encodes them to Ogg/Vorbis, MP3, FLAC, Ogg/Speex
+and/or MPP/MP+ (Musepack) format, and tags them, all in one go.")
+ (license gpl2+)))