squeezeclient: Add squeeze client (from #1717 with some changes)
authorRichard Purdie <rpurdie@rpsys.net>
Sun, 31 Dec 2006 17:49:09 +0000 (17:49 +0000)
committerRichard Purdie <rpurdie@rpsys.net>
Sun, 31 Dec 2006 17:49:09 +0000 (17:49 +0000)
packages/squeezeclient/.mtn2git_empty [new file with mode: 0644]
packages/squeezeclient/files/.mtn2git_empty [new file with mode: 0644]
packages/squeezeclient/files/makefile.patch [new file with mode: 0644]
packages/squeezeclient/files/runfix.patch [new file with mode: 0644]
packages/squeezeclient/files/varinit.patch [new file with mode: 0644]
packages/squeezeclient/squeezeslave_svn.bb [new file with mode: 0644]

diff --git a/packages/squeezeclient/.mtn2git_empty b/packages/squeezeclient/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/squeezeclient/files/.mtn2git_empty b/packages/squeezeclient/files/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/squeezeclient/files/makefile.patch b/packages/squeezeclient/files/makefile.patch
new file mode 100644 (file)
index 0000000..8e64a70
--- /dev/null
@@ -0,0 +1,57 @@
+---
+ makefile.linux |   30 +++++++++++++++++-------------
+ 1 file changed, 17 insertions(+), 13 deletions(-)
+
+Index: SlimProtoLib/makefile.linux
+===================================================================
+--- SlimProtoLib.orig/makefile.linux   2006-12-31 11:09:10.000000000 +0000
++++ SlimProtoLib/makefile.linux        2006-12-31 12:34:11.000000000 +0000
+@@ -1,6 +1,4 @@
+-CC=gcc
+-
+-CFLAGS=-Wall -Werror -DSLIMPROTO_DEBUG -g
++CFLAGS+=-Wall  -DSLIMPROTO_DEBUG -g
+ INCLUDE=-Ilib/portaudio_v18/pa_common -Ilib/portaudio_v18/pablio -Ilib/portmixer/px_common -Isrc
+@@ -20,24 +18,30 @@ SQUEEZESLAVEFILES:=src/squeezeslave/sque
+ all : bin/squeezeslave
+-lib/libportaudio.a: $(PORTAUDIOFILES:.c=.o)
+-      ar cru lib/libportaudio.a $^
+-      ranlib lib/libportaudio.a
++LIBVERSION:=3.0.0
+-lib/libslimproto.a: $(SLIMPROTOFILES:.c=.o)
+-      ar cru lib/libslimproto.a $^
+-      ranlib lib/libslimproto.a
++lib/libportaudio.so.$(LIBVERSION): $(PORTAUDIOFILES:.c=.o)
++      ${CC} $^ $(CFLAGS) $(LDFLAGS) $(INCLUDE) -shared -Wl,-soname,$(@F) -Wl,--as-needed -o $@
++      ln -s $(@F) lib/libportaudio.so 
+-bin/squeezeslave : $(SQUEEZESLAVEFILES:.c=.o) $(PORTMIXERFILES:.c=.o) lib/libslimproto.a lib/libportaudio.a
+-      ${CC} -o bin/squeezeslave $^ /usr/local/lib/libmad.a /usr/local/lib/libFLAC.a /usr/lib/libvorbisfile.a /usr/lib/libvorbis.a /usr/lib/libogg.a -lpthread -lm
++lib/libslimproto.so.$(LIBVERSION): $(SLIMPROTOFILES:.c=.o)
++      ${CC} $^ $(CFLAGS) $(LDFLAGS) $(INCLUDE) -shared -Wl,-soname,$(@F) -Wl,--as-needed -o $@
++      ln -s $(@F) lib/libslimproto.so
++lib/libportmixer.so.$(LIBVERSION): $(PORTMIXERFILES:.c=.o)
++      ${CC} $^ $(CFLAGS) $(LDFLAGS) $(INCLUDE) -shared -Wl,-soname,$(@F) -Wl,--as-needed -o $@
++      ln -s $(@F) lib/libportmixer.so
++
++bin/squeezeslave: $(SQUEEZESLAVEFILES:.c=.o) lib/libportaudio.so.$(LIBVERSION) lib/libportmixer.so.$(LIBVERSION) lib/libslimproto.so.$(LIBVERSION)
++      ${CC} -o bin/squeezeslave $(LDFLAGS) $(LDFLAGS) $^ -Llib -lmad -lFLAC -lvorbisfile -lvorbis -logg -lpthread -lm -lslimproto -lportaudio -lportmixer
+ clean:
+       @{ for FILE in $(PORTAUDIOFILES:.c=.o) \
+                      $(SLIMPROTOFILES:.c=.o) \
+                      $(SQUEEZESLAVEFILES:.c=.o) \
+-                     lib/libportaudio.a \
+-                     lib/libslimproto.a \
++                     lib/libportaudio*.so \
++                     lib/libportmixer*.so \
++                     lib/libslimproto*.so \
+                      bin/squeezeslave; do \
+         test -e $$FILE && echo $$FILE || true; \
+         test -e $$FILE && $(RM) $$FILE 2>/dev/null || true; \
diff --git a/packages/squeezeclient/files/runfix.patch b/packages/squeezeclient/files/runfix.patch
new file mode 100644 (file)
index 0000000..c2c4809
--- /dev/null
@@ -0,0 +1,17 @@
+---
+ src/squeezeslave/squeezeslave.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: SlimProtoLib/src/squeezeslave/squeezeslave.c
+===================================================================
+--- SlimProtoLib.orig/src/squeezeslave/squeezeslave.c  2006-12-31 11:09:09.000000000 +0000
++++ SlimProtoLib/src/squeezeslave/squeezeslave.c       2006-12-31 13:44:04.000000000 +0000
+@@ -41,7 +41,7 @@ char macaddress[6] = { 1, 1, 1, 1, 1, 1 
+ int main(int argc, char *argv[]) {\r
+       char *slimserver_address = "127.0.0.1";\r
+       int output_device_id = -1;\r
+-      char c;\r
++      int c;\r
+       int i;\r
+       \r
+       while (1) {\r
diff --git a/packages/squeezeclient/files/varinit.patch b/packages/squeezeclient/files/varinit.patch
new file mode 100644 (file)
index 0000000..5844dc6
--- /dev/null
@@ -0,0 +1,17 @@
+---
+ src/slimaudio/slimaudio_http.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: SlimProtoLib/src/slimaudio/slimaudio_http.c
+===================================================================
+--- SlimProtoLib.orig/src/slimaudio/slimaudio_http.c   2006-12-31 11:09:09.000000000 +0000
++++ SlimProtoLib/src/slimaudio/slimaudio_http.c        2006-12-31 11:16:37.000000000 +0000
+@@ -91,7 +91,7 @@ int slimaudio_http_close(slimaudio_t *au
+ static void *http_thread(void *ptr) {\r
+       slimaudio_t *audio = (slimaudio_t *) ptr;\r
+ #ifdef SLIMPROTO_DEBUG                                \r
+-      int last_state;\r
++      int last_state=0;\r
+ #endif\r
\r
+       pthread_mutex_lock(&audio->http_mutex);\r
diff --git a/packages/squeezeclient/squeezeslave_svn.bb b/packages/squeezeclient/squeezeslave_svn.bb
new file mode 100644 (file)
index 0000000..03fbb0e
--- /dev/null
@@ -0,0 +1,31 @@
+SECTION = "console/multimedia"
+DESCRIPTION = "command line audio playback client for SlimServer"
+LICENSE = "GPL"
+DEPENDS += "libmad flac libvorbis"
+PV = "3.0+svn-${SRCDATE}"
+PR = "r0"
+
+SRC_URI = "svn://svn.slimdevices.com/repos/slim/trunk/;module=softsqueeze;proto=http \
+           file://varinit.patch;patch=1 \
+           file://runfix.patch;patch=1 \
+           file://makefile.patch;patch=1"
+
+
+S = "${WORKDIR}/softsqueeze/SlimProtoLib"
+
+CFLAGS += "-D_GNU_SOURCE"
+
+inherit autotools
+
+do_compile() {
+        oe_runmake LDFLAGS=${TARGET_LDFLAGS} -f makefile.linux
+}
+
+do_install() {
+        install -d ${D}/${bindir}
+        install -m 0755 bin/squeezeslave ${D}/${bindir}
+       oe_libinstall -C lib -so libslimproto ${D}${libdir}
+       oe_libinstall -C lib -so libportaudio ${D}${libdir}
+       oe_libinstall -C lib -so libportmixer ${D}${libdir}
+}
+