File 010_build_system.patch of Package cdparanoia

Fix build system to be usable by compiling shared libs as -fPIC and
using DESTDIR for installing. Patch by Samuli Suominen <ssuominen AT
gentoo.org> and Alexis Ballier <aballier AT gentoo.org>. See,

http://trac.xiph.org/ticket/1368 (upstream bug)

diff -ur cdparanoia-III-10.2.orig/interface/Makefile.in cdparanoia-III-10.2/interface/Makefile.in
--- cdparanoia-III-10.2.orig/interface/Makefile.in	2008-08-21 19:08:54.000000000 +0300
+++ cdparanoia-III-10.2/interface/Makefile.in	2009-06-20 20:43:39.000000000 +0300
@@ -10,6 +10,7 @@
 FLAGS=@SBPCD_H@ @UCDROM_H@ @TYPESIZES@ @CFLAGS@
 OPT=@OPT@ $(FLAGS)
 DEBUG=@DEBUG@ -DCDDA_TEST
+LIBFLAGS = -fPIC
 CC=@CC@
 LD=@CC@
 LDFLAGS=@LDFLAGS@ $(FLAGS)
@@ -20,6 +21,8 @@
 
 OFILES = scan_devices.o	common_interface.o cooked_interface.o interface.o\
 	scsi_interface.o smallft.o toc.o test_interface.o
+LOFILES = scan_devices.lo common_interface.lo cooked_interface.lo interface.lo\
+	scsi_interface.lo smallft.lo toc.lo test_interface.lo
 
 export VERSION
 
@@ -32,8 +35,7 @@
 	$(MAKE) libcdda_interface.a CFLAGS="$(OPT)" 
 
 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:	
@@ -45,14 +47,17 @@
 	$(AR) -r libcdda_interface.a $(OFILES)
 	$(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)
+libcdda_interface.so: 	$(LOFILES)	
+	$(CC) $(LDFLAGS) $(LIBFLAGS) -shared -o libcdda_interface.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_interface.so.0 $(LOFILES) $(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
 
 .c.o:
 	$(CC) $(CFLAGS) -c $<
 
+%.lo: %.c
+	$(CC) $(CFLAGS) $(LIBFLAGS) -c $< -o $@
+
 lessmessy:
 	-rm  -f *.o core *~ *.out
 
diff -ur cdparanoia-III-10.2.orig/Makefile.in cdparanoia-III-10.2/Makefile.in
--- cdparanoia-III-10.2.orig/Makefile.in	2008-09-11 23:33:30.000000000 +0300
+++ cdparanoia-III-10.2/Makefile.in	2009-06-20 20:43:17.000000000 +0300
@@ -63,28 +63,28 @@
 	cd paranoia && $(MAKE) slib
 
 install:
-	$(INSTALL) -d -m 0755 $(BINDIR)
-	$(INSTALL) -m 755 $(srcdir)/cdparanoia $(BINDIR)
-	$(INSTALL) -d -m 0755 $(MANDIR)
-	$(INSTALL) -d -m 0755 $(MANDIR)/man1
-	$(INSTALL) -m 0644 $(srcdir)/cdparanoia.1 $(MANDIR)/man1
-	$(INSTALL) -d -m 0755 $(INCLUDEDIR)
-	$(INSTALL) -m 0644 $(srcdir)/paranoia/cdda_paranoia.h $(INCLUDEDIR)
-	$(INSTALL) -d -m 0755 $(LIBDIR)
-	$(INSTALL) -m 0644 $(srcdir)/paranoia/libcdda_paranoia.so.0.$(VERSION) $(LIBDIR)
-	$(INSTALL) -m 0644 $(srcdir)/paranoia/libcdda_paranoia.a $(LIBDIR)
-	$(INSTALL) -m 0644 $(srcdir)/interface/cdda_interface.h $(INCLUDEDIR)
-	$(INSTALL) -m 0644 $(srcdir)/interface/libcdda_interface.so.0.$(VERSION) $(LIBDIR)
-	$(INSTALL) -m 0644 $(srcdir)/interface/libcdda_interface.a $(LIBDIR)
-	$(INSTALL) -m 0644 $(srcdir)/utils.h $(INCLUDEDIR)
+	$(INSTALL) -d -m 0755 $(DESTDIR)$(BINDIR)
+	$(INSTALL) -m 755 $(srcdir)/cdparanoia $(DESTDIR)$(BINDIR)
+	$(INSTALL) -d -m 0755 $(DESTDIR)$(MANDIR)
+	$(INSTALL) -d -m 0755 $(DESTDIR)$(MANDIR)/man1
+	$(INSTALL) -m 0644 $(srcdir)/cdparanoia.1 $(DESTDIR)$(MANDIR)/man1
+	$(INSTALL) -d -m 0755 $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL) -m 0644 $(srcdir)/paranoia/cdda_paranoia.h $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL) -d -m 0755 $(DESTDIR)$(LIBDIR)
+	$(INSTALL) -m 0644 $(srcdir)/paranoia/libcdda_paranoia.so.0.$(VERSION) $(DESTDIR)$(LIBDIR)
+	$(INSTALL) -m 0644 $(srcdir)/paranoia/libcdda_paranoia.a $(DESTDIR)$(LIBDIR)
+	$(INSTALL) -m 0644 $(srcdir)/interface/cdda_interface.h $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL) -m 0644 $(srcdir)/interface/libcdda_interface.so.0.$(VERSION) $(DESTDIR)$(LIBDIR)
+	$(INSTALL) -m 0644 $(srcdir)/interface/libcdda_interface.a $(DESTDIR)$(LIBDIR)
+	$(INSTALL) -m 0644 $(srcdir)/utils.h $(DESTDIR)$(INCLUDEDIR)
 	ln -fs libcdda_interface.so.0.$(VERSION) \
-		$(LIBDIR)/libcdda_interface.so.0
+		$(DESTDIR)$(LIBDIR)/libcdda_interface.so.0
 	ln -fs libcdda_interface.so.0.$(VERSION) \
-		$(LIBDIR)/libcdda_interface.so
+		$(DESTDIR)$(LIBDIR)/libcdda_interface.so
 	ln -fs libcdda_paranoia.so.0.$(VERSION) \
-		$(LIBDIR)/libcdda_paranoia.so.0
+		$(DESTDIR)$(LIBDIR)/libcdda_paranoia.so.0
 	ln -fs libcdda_paranoia.so.0.$(VERSION) \
-		$(LIBDIR)/libcdda_paranoia.so
+		$(DESTDIR)$(LIBDIR)/libcdda_paranoia.so
 
 cdparanoia:	$(OFILES) $(LIBDEP)
 		$(LD) $(CFLAGS) $(LDFLAGS) $(OFILES) \
diff -ur cdparanoia-III-10.2.orig/paranoia/Makefile.in cdparanoia-III-10.2/paranoia/Makefile.in
--- cdparanoia-III-10.2.orig/paranoia/Makefile.in	2008-09-04 22:02:47.000000000 +0300
+++ cdparanoia-III-10.2/paranoia/Makefile.in	2009-06-20 20:43:39.000000000 +0300
@@ -11,6 +11,7 @@
 FLAGS=@TYPESIZES@ @CFLAGS@
 OPT=@OPT@ $(FLAGS)
 DEBUG=@DEBUG@ 
+LIBFLAGS = -fPIC
 CC=@CC@
 LD=@CC@
 LDFLAGS=@LDFLAGS@ $(FLAGS)
@@ -20,8 +21,9 @@
 
 OFILES = paranoia.o p_block.o overlap.o gap.o isort.o 
 #TFILES = isort.t gap.t p_block.t paranoia.t
+LOFILES = paranoia.lo p_block.lo overlap.lo gap.lo isort.lo 
 
-LIBS = ../interface/libcdda_interface.a -lm
+LIBS = ../interface/libcdda_interface.so -lm
 export VERSION
 
 all: lib slib
@@ -33,8 +35,7 @@
 	$(MAKE) libcdda_paranoia.a CFLAGS="$(OPT)" 
 
 slib:	
-	$(MAKE) lessmessy
-	$(MAKE) libcdda_paranoia.so CFLAGS="$(OPT) -fpic" 
+	$(MAKE) libcdda_paranoia.so CFLAGS="$(OPT)" 
 
 #test:	$(TFILES)
 #
@@ -43,14 +44,17 @@
 	$(AR) -r libcdda_paranoia.a $(OFILES)
 	$(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
+libcdda_paranoia.so: 	$(LOFILES)	
+	$(CC) $(LDFLAGS) $(LIBSFLAGS) -shared -o libcdda_paranoia.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_paranoia.so.0 $(LOFILES) -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
 
 .c.o:
 	$(CC) $(CFLAGS) -c $<
 
+%.lo: %.c
+	$(CC) $(CFLAGS) $(LIBFLAGS) -c $< -o $@
+
 .c.t:
 	$(CC) -g -DTEST $(DEBUG) -o $@ $< $(LIBS)
 	$@