summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/cdrom.scm31
-rw-r--r--gnu/packages/patches/cdparanoia-fpic.patch60
3 files changed, 91 insertions, 1 deletions
diff --git a/gnu-system.am b/gnu-system.am
index 6b10c8508d..6285033eb8 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -177,6 +177,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/automake-skip-amhello-tests.patch	\
   gnu/packages/patches/bigloo-gc-shebangs.patch			\
   gnu/packages/patches/binutils-ld-new-dtags.patch		\
+  gnu/packages/patches/cdparanoia-fpic.patch       \
   gnu/packages/patches/cmake-fix-tests.patch			\
   gnu/packages/patches/cpio-gets-undeclared.patch		\
   gnu/packages/patches/diffutils-gets-undeclared.patch		\
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index d6b0a846e6..f881e7ab3a 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -19,7 +20,7 @@
 (define-module (gnu packages cdrom)
   #:use-module (guix download)
   #:use-module (guix packages)
-  #:use-module ((guix licenses) #:select (lgpl2.1+ gpl3+))
+  #:use-module ((guix licenses) #:select (lgpl2.1+ gpl2 gpl3+))
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
   #:use-module (gnu packages acl)
@@ -113,3 +114,31 @@ images and it writes the session results to optical media or to filesystem
 objects.  Vice versa xorriso is able to copy file objects out of ISO 9660
 filesystems.")
     (license gpl3+)))
+
+(define-public cdparanoia
+  (package
+    (name "cdparanoia")
+    (version "10.2")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "http://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-"
+                                 version ".src.tgz"))
+             (sha256
+              (base32
+               "1pv4zrajm46za0f6lv162iqffih57a8ly4pc69f7y0gfyigb8p80"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("patch/fpic" ,(search-patch "cdparanoia-fpic.patch"))))
+    (arguments
+     `(#:tests? #f ; there is no check target
+       #:patches (list (assoc-ref %build-inputs "patch/fpic"))))
+    (home-page "http://www.xiph.org/paranoia/")
+    (synopsis "audio CD reading utility which includes extra data verification features")
+    (description "Cdparanoia retrieves audio tracks from CDDA capable CDROM
+drives.  The data can be saved to a file or directed to standard output
+in WAV, AIFF, AIFF-C or raw format.  Most ATAPI, SCSI and  several
+proprietary CDROM drive makes are supported; cdparanoia can determine if the
+target drive is CDDA capable.  In addition to simple reading, cdparanoia adds
+extra-robust data verification, synchronization, error handling and scratch
+reconstruction capability.")
+    (license gpl2))) ; libraries under lgpl2.1
diff --git a/gnu/packages/patches/cdparanoia-fpic.patch b/gnu/packages/patches/cdparanoia-fpic.patch
new file mode 100644
index 0000000000..7230bda7e8
--- /dev/null
+++ b/gnu/packages/patches/cdparanoia-fpic.patch
@@ -0,0 +1,60 @@
+diff -r -u cdparanoia-III-10.2.old/interface/Makefile.in cdparanoia-III-10.2.new/interface/Makefile.in
+--- cdparanoia-III-10.2.old/interface/Makefile.in	2008-08-21 18:08:54.000000000 +0200
++++ cdparanoia-III-10.2.new/interface/Makefile.in	2013-08-07 18:48:32.000000000 +0200
+@@ -7,7 +7,7 @@
+ srcdir=@srcdir@
+ 
+ @SET_MAKE@
+-FLAGS=@SBPCD_H@ @UCDROM_H@ @TYPESIZES@ @CFLAGS@
++FLAGS=@SBPCD_H@ @UCDROM_H@ @TYPESIZES@ @CFLAGS@ -fPIC
+ OPT=@OPT@ $(FLAGS)
+ DEBUG=@DEBUG@ -DCDDA_TEST
+ CC=@CC@
+@@ -33,7 +33,7 @@
+ 
+ slib:	
+ 	$(MAKE) lessmessy
+-	$(MAKE) libcdda_interface.so CFLAGS="$(OPT) -fpic" 
++	$(MAKE) libcdda_interface.so CFLAGS="$(OPT)" 
+ 	[ -e libcdda_interface.so.0 ] || ln -s libcdda_interface.so libcdda_interface.so.0
+ 
+ test:	
+@@ -46,7 +46,7 @@
+ 	$(RANLIB) libcdda_interface.a
+ 
+ libcdda_interface.so: 	$(OFILES)	
+-	$(CC) -fpic -shared -o libcdda_interface.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_interface.so.0 $(OFILES) $(LIBS)
++	$(CC) -fPIC -shared -o libcdda_interface.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_interface.so.0 $(OFILES) $(LIBS)
+ 	[ -e libcdda_interface.so.0 ] || ln -s libcdda_interface.so.0.$(VERSION) libcdda_interface.so.0
+ 	[ -e libcdda_interface.so ] || ln -s libcdda_interface.so.0.$(VERSION) libcdda_interface.so
+ 
+diff -r -u cdparanoia-III-10.2.old/paranoia/Makefile.in cdparanoia-III-10.2.new/paranoia/Makefile.in
+--- cdparanoia-III-10.2.old/paranoia/Makefile.in	2008-09-04 21:02:47.000000000 +0200
++++ cdparanoia-III-10.2.new/paranoia/Makefile.in	2013-08-07 18:49:54.000000000 +0200
+@@ -9,7 +9,7 @@
+ 
+ @SET_MAKE@
+ FLAGS=@TYPESIZES@ @CFLAGS@
+-OPT=@OPT@ $(FLAGS)
++OPT=@OPT@ $(FLAGS) -fPIC
+ DEBUG=@DEBUG@ 
+ CC=@CC@
+ LD=@CC@
+@@ -34,7 +34,7 @@
+ 
+ slib:	
+ 	$(MAKE) lessmessy
+-	$(MAKE) libcdda_paranoia.so CFLAGS="$(OPT) -fpic" 
++	$(MAKE) libcdda_paranoia.so CFLAGS="$(OPT)" 
+ 
+ #test:	$(TFILES)
+ #
+@@ -44,7 +44,7 @@
+ 	$(RANLIB) libcdda_paranoia.a
+ 
+ libcdda_paranoia.so: 	$(OFILES)	
+-	$(CC) -fpic -shared -o libcdda_paranoia.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_paranoia.so.0 $(OFILES) -L ../interface -lcdda_interface
++	$(CC) -fPIC -shared -o libcdda_paranoia.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_paranoia.so.0 $(OFILES) -L ../interface -lcdda_interface
+ 	[ -e libcdda_paranoia.so.0 ] || ln -s libcdda_paranoia.so.0.$(VERSION) libcdda_paranoia.so.0
+ 	[ -e libcdda_paranoia.so ] || ln -s libcdda_paranoia.so.0.$(VERSION) libcdda_paranoia.so
+