pianobar: add pianobar, a pandora radio client (#10583, thanks lnxsrt)
authorStephen Walker <stephendwalker@gmail.com>
Fri, 17 Feb 2012 03:12:05 +0000 (03:12 +0000)
committerStephen Walker <stephendwalker@gmail.com>
Fri, 17 Feb 2012 03:12:05 +0000 (03:12 +0000)
SVN-Revision: 30607

sound/pianobar/Makefile [new file with mode: 0644]
sound/pianobar/patches/001-verbose.patch [new file with mode: 0644]

diff --git a/sound/pianobar/Makefile b/sound/pianobar/Makefile
new file mode 100644 (file)
index 0000000..e9c3e8e
--- /dev/null
@@ -0,0 +1,82 @@
+#
+# Copyright (C) 2012 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=pianobar
+PKG_VERSION:=2012.01.10
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=http://6xq.net/static/projects/pianobar
+PKG_MD5SUM:=448c57d65c71158674e8b30a8cfa217e
+
+PKG_BUILD_DEPENDS:=libao libfaad2 libmad
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/pianobar/Default
+  DEPENDS:=+libgnutls
+  TITLE:=Pandora radio
+  URL:=http://6xq.net/projects/pianobar/
+endef
+
+define Package/pianobar/Default/description
+  Pianobar is a free/open-source, console-based replacement for Pandora’s flash
+  player.
+endef
+
+define Package/pianobar
+  $(call Package/pianobar/Default)
+  SECTION:=sound
+  CATEGORY:=Sound
+  DEPENDS+= +libao +libfaad2 +libmad +libpiano +libpthread
+  TITLE+= console client
+endef
+
+define Package/pianobar/description
+  $(call Package/pianobar/Default/description)
+endef
+
+define Package/libpiano
+  $(call Package/pianobar/Default)
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE+= library
+endef
+
+define Package/libpiano/description
+  $(call Package/pianobar/Default/description)
+  This package contains the libpiano shared library.
+endef
+
+TARGET_CFLAGS += -std=c99
+
+MAKE_FLAGS += \
+       DYNLINK="1" \
+       PREFIX="/usr"
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpiano.{a,so*} $(1)/usr/lib/
+endef
+
+define Package/pianobar/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/pianobar $(1)/usr/bin/
+endef
+
+define Package/libpiano/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpiano.so.* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,pianobar))
+$(eval $(call BuildPackage,libpiano))
diff --git a/sound/pianobar/patches/001-verbose.patch b/sound/pianobar/patches/001-verbose.patch
new file mode 100644 (file)
index 0000000..ae4c4b5
--- /dev/null
@@ -0,0 +1,57 @@
+--- a/Makefile
++++ b/Makefile
+@@ -91,14 +91,12 @@ LIBGNUTLS_LDFLAGS=-lgnutls
+ # build pianobar
+ ifeq (${DYNLINK},1)
+ pianobar: ${PIANOBAR_OBJ} ${PIANOBAR_HDR} libpiano.so.0
+-      @echo "  LINK  $@"
+-      @${CC} -o $@ ${PIANOBAR_OBJ} ${LDFLAGS} -lao -lpthread -lm -L. -lpiano \
++      ${CC} -o $@ ${PIANOBAR_OBJ} ${LDFLAGS} -lao -lpthread -lm -L. -lpiano \
+                       ${LIBFAAD_LDFLAGS} ${LIBMAD_LDFLAGS} ${LIBGNUTLS_LDFLAGS}
+ else
+ pianobar: ${PIANOBAR_OBJ} ${PIANOBAR_HDR} ${LIBPIANO_OBJ} ${LIBWAITRESS_OBJ} \
+               ${LIBWAITRESS_HDR} ${LIBEZXML_OBJ} ${LIBEZXML_HDR}
+-      @echo "  LINK  $@"
+-      @${CC} ${CFLAGS} ${LDFLAGS} ${PIANOBAR_OBJ} ${LIBPIANO_OBJ} \
++      ${CC} ${CFLAGS} ${LDFLAGS} ${PIANOBAR_OBJ} ${LIBPIANO_OBJ} \
+                       ${LIBWAITRESS_OBJ} ${LIBEZXML_OBJ} -lao -lpthread -lm \
+                       ${LIBFAAD_LDFLAGS} ${LIBMAD_LDFLAGS} ${LIBGNUTLS_LDFLAGS} -o $@
+ endif
+@@ -107,30 +105,25 @@ endif
+ libpiano.so.0: ${LIBPIANO_RELOBJ} ${LIBPIANO_HDR} ${LIBWAITRESS_RELOBJ} \
+               ${LIBWAITRESS_HDR} ${LIBEZXML_RELOBJ} ${LIBEZXML_HDR} \
+               ${LIBPIANO_OBJ} ${LIBWAITRESS_OBJ} ${LIBEZXML_OBJ}
+-      @echo "  LINK  $@"
+-      @${CC} -shared -Wl,-soname,libpiano.so.0 ${CFLAGS} ${LDFLAGS} ${LIBGNUTLS_LDFLAGS} \
++      ${CC} -shared -Wl,-soname,libpiano.so.0 ${CFLAGS} ${LDFLAGS} ${LIBGNUTLS_LDFLAGS} \
+                       -o libpiano.so.0.0.0 ${LIBPIANO_RELOBJ} \
+                       ${LIBWAITRESS_RELOBJ} ${LIBEZXML_RELOBJ}
+-      @ln -s libpiano.so.0.0.0 libpiano.so.0
+-      @ln -s libpiano.so.0 libpiano.so
+-      @echo "    AR  libpiano.a"
+-      @${AR} rcs libpiano.a ${LIBPIANO_OBJ} ${LIBWAITRESS_OBJ} ${LIBEZXML_OBJ}
++      ln -s libpiano.so.0.0.0 libpiano.so.0
++      ln -s libpiano.so.0 libpiano.so
++      ${AR} rcs libpiano.a ${LIBPIANO_OBJ} ${LIBWAITRESS_OBJ} ${LIBEZXML_OBJ}
+ %.o: %.c
+-      @echo "    CC  $<"
+-      @${CC} ${CFLAGS} -I ${LIBPIANO_INCLUDE} -I ${LIBWAITRESS_INCLUDE} \
++      ${CC} ${CFLAGS} -I ${LIBPIANO_INCLUDE} -I ${LIBWAITRESS_INCLUDE} \
+                       -I ${LIBEZXML_INCLUDE} ${LIBFAAD_CFLAGS} \
+                       ${LIBMAD_CFLAGS} ${LIBGNUTLS_CFLAGS} -c -o $@ $<
+ # create position independent code (for shared libraries)
+ %.lo: %.c
+-      @echo "    CC  $< (PIC)"
+-      @${CC} ${CFLAGS} -I ${LIBPIANO_INCLUDE} -I ${LIBWAITRESS_INCLUDE} \
++      ${CC} ${CFLAGS} -I ${LIBPIANO_INCLUDE} -I ${LIBWAITRESS_INCLUDE} \
+                       -I ${LIBEZXML_INCLUDE} -c -fPIC -o $@ $<
+ clean:
+-      @echo " CLEAN"
+-      @${RM} ${PIANOBAR_OBJ} ${LIBPIANO_OBJ} ${LIBWAITRESS_OBJ} ${LIBWAITRESS_OBJ}/test.o \
++      ${RM} ${PIANOBAR_OBJ} ${LIBPIANO_OBJ} ${LIBWAITRESS_OBJ} ${LIBWAITRESS_OBJ}/test.o \
+                       ${LIBEZXML_OBJ} ${LIBPIANO_RELOBJ} ${LIBWAITRESS_RELOBJ} \
+                       ${LIBEZXML_RELOBJ} pianobar libpiano.so* libpiano.a waitress-test