* [Buildroot] [pull request] Pull request for branch xbmc
@ 2013-02-21 14:58 Maxime Hadjinlian
2013-02-21 14:58 ` [Buildroot] [PATCH 01/13] libenca: new package Maxime Hadjinlian
` (12 more replies)
0 siblings, 13 replies; 30+ messages in thread
From: Maxime Hadjinlian @ 2013-02-21 14:58 UTC (permalink / raw)
To: buildroot
Hello All!
This series introduces a number of packages that are necessary to push XBMC
later on.
The main reason to push this series without XBMC patch is to lighten the
maintenance on my branch.
The patch introducing XBMC still need some works, I'm currently unable to
dedicate all the time I would like to it, but I hope to push it in 2/3 weeks.
Thanks
The following changes since commit 54d68be3072fbb8306e217b203e3197c9cc66f6f:
jasper: new package (2013-02-20 10:06:33 +0100)
are available in the git repository at:
git://github.com/maximeh/buildroot.git xbmc
for you to fetch changes up to ba6371a6ed52c760f18dbf14b662f6310b29f776:
Install libfribidi to staging (2013-02-20 10:08:03 +0100)
----------------------------------------------------------------
Maxime Hadjinlian (13):
libenca: new package
libass: new package
libbluray: new package
libcdio: new package
lockdev: new package
libcec: new package
libmodplug: new package
libnfs: new package
libplist: new package
librtmp: new package
libshairport: new package
tinyxml: new package
Install libfribidi to staging
package/Config.in | 12 +
package/libass/Config.in | 10 +
package/libass/libass.mk | 14 +
package/libbluray/Config.in | 6 +
package/libbluray/libbluray.mk | 14 +
package/libcdio/Config.in | 11 +
package/libcdio/libcdio.mk | 18 +
package/libcec/Config.in | 30 +
package/libcec/libcec.mk | 22 +
package/libenca/Config.in | 6 +
package/libenca/libenca-1.9-dont-build-tools.patch | 33 +
package/libenca/libenca-1.9-fix-clean.patch | 22 +
package/libenca/libenca-1.9-fix-prefix.patch | 19 +
package/libenca/libenca.mk | 26 +
package/libfribidi/libfribidi.mk | 1 +
package/libmodplug/Config.in | 11 +
package/libmodplug/libmodplug.mk | 11 +
package/libnfs/Config.in | 11 +
package/libnfs/libnfs.mk | 16 +
package/libplist/Config.in | 12 +
package/libplist/libplist.mk | 15 +
package/librtmp/Config.in | 8 +
package/librtmp/librtmp.mk | 27 +
package/libshairport/Config.in | 12 +
.../libshairport-1.2.0.20310_lib-001_add_ao.patch | 270 +++++++
...rt-1.2.0.20310_lib-002_fix_install_header.patch | 12 +
...hairport-1.2.0.20310_lib-003_fix_deadlock.patch | 10 +
...irport-1.2.0.20310_lib-004_fix_bad_access.patch | 22 +
...hairport-1.2.0.20310_lib-005_fix_shutdown.patch | 10 +
...ibshairport-1.2.0.20310_lib-006_no_printf.patch | 843 ++++++++++++++++++++
...rt-1.2.0.20310_lib-007_fix_syslog_defines.patch | 24 +
...port-1.2.0.20310_lib-008-add-missing-libs.patch | 21 +
...libshairport-1.2.0.20310_lib-009_fix_ipv6.patch | 22 +
package/libshairport/libshairport.mk | 13 +
package/lockdev/Config.in | 6 +
package/lockdev/lockdev.mk | 30 +
package/tinyxml/Config.in | 12 +
package/tinyxml/tinyxml.mk | 12 +
38 files changed, 1674 insertions(+)
create mode 100644 package/libass/Config.in
create mode 100644 package/libass/libass.mk
create mode 100644 package/libbluray/Config.in
create mode 100644 package/libbluray/libbluray.mk
create mode 100644 package/libcdio/Config.in
create mode 100644 package/libcdio/libcdio.mk
create mode 100644 package/libcec/Config.in
create mode 100644 package/libcec/libcec.mk
create mode 100644 package/libenca/Config.in
create mode 100644 package/libenca/libenca-1.9-dont-build-tools.patch
create mode 100644 package/libenca/libenca-1.9-fix-clean.patch
create mode 100644 package/libenca/libenca-1.9-fix-prefix.patch
create mode 100644 package/libenca/libenca.mk
create mode 100644 package/libmodplug/Config.in
create mode 100644 package/libmodplug/libmodplug.mk
create mode 100644 package/libnfs/Config.in
create mode 100644 package/libnfs/libnfs.mk
create mode 100644 package/libplist/Config.in
create mode 100644 package/libplist/libplist.mk
create mode 100644 package/librtmp/Config.in
create mode 100644 package/librtmp/librtmp.mk
create mode 100644 package/libshairport/Config.in
create mode 100644 package/libshairport/libshairport-1.2.0.20310_lib-001_add_ao.patch
create mode 100644 package/libshairport/libshairport-1.2.0.20310_lib-002_fix_install_header.patch
create mode 100644 package/libshairport/libshairport-1.2.0.20310_lib-003_fix_deadlock.patch
create mode 100644 package/libshairport/libshairport-1.2.0.20310_lib-004_fix_bad_access.patch
create mode 100644 package/libshairport/libshairport-1.2.0.20310_lib-005_fix_shutdown.patch
create mode 100644 package/libshairport/libshairport-1.2.0.20310_lib-006_no_printf.patch
create mode 100644 package/libshairport/libshairport-1.2.0.20310_lib-007_fix_syslog_defines.patch
create mode 100644 package/libshairport/libshairport-1.2.0.20310_lib-008-add-missing-libs.patch
create mode 100644 package/libshairport/libshairport-1.2.0.20310_lib-009_fix_ipv6.patch
create mode 100644 package/libshairport/libshairport.mk
create mode 100644 package/lockdev/Config.in
create mode 100644 package/lockdev/lockdev.mk
create mode 100644 package/tinyxml/Config.in
create mode 100644 package/tinyxml/tinyxml.mk
Regards,
Maxime Hadjinlian
--
^ permalink raw reply [flat|nested] 30+ messages in thread* [Buildroot] [PATCH 01/13] libenca: new package 2013-02-21 14:58 [Buildroot] [pull request] Pull request for branch xbmc Maxime Hadjinlian @ 2013-02-21 14:58 ` Maxime Hadjinlian 2013-02-21 18:35 ` Yann E. MORIN 2013-02-21 14:58 ` [Buildroot] [PATCH 02/13] libass: " Maxime Hadjinlian ` (11 subsequent siblings) 12 siblings, 1 reply; 30+ messages in thread From: Maxime Hadjinlian @ 2013-02-21 14:58 UTC (permalink / raw) To: buildroot Extremely Naive Charset Analyser. This package was originally found at : https://github.com/huceke/buildroot-rbp By gimli <ebsi4711@gmail.com> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> --- package/Config.in | 1 + package/libenca/Config.in | 6 ++++ package/libenca/libenca-1.9-dont-build-tools.patch | 33 ++++++++++++++++++++ package/libenca/libenca-1.9-fix-clean.patch | 22 +++++++++++++ package/libenca/libenca-1.9-fix-prefix.patch | 19 +++++++++++ package/libenca/libenca.mk | 26 +++++++++++++++ 6 files changed, 107 insertions(+) create mode 100644 package/libenca/Config.in create mode 100644 package/libenca/libenca-1.9-dont-build-tools.patch create mode 100644 package/libenca/libenca-1.9-fix-clean.patch create mode 100644 package/libenca/libenca-1.9-fix-prefix.patch create mode 100644 package/libenca/libenca.mk diff --git a/package/Config.in b/package/Config.in index 3d7866a..e56c13f 100644 --- a/package/Config.in +++ b/package/Config.in @@ -569,6 +569,7 @@ source "package/liblog4c-localtime/Config.in" endmenu menu "Text and terminal handling" +source "package/libenca/Config.in" source "package/enchant/Config.in" source "package/libfribidi/Config.in" source "package/icu/Config.in" diff --git a/package/libenca/Config.in b/package/libenca/Config.in new file mode 100644 index 0000000..5e951ed --- /dev/null +++ b/package/libenca/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_LIBENCA + bool "libenca" + help + Extremely Naive Charset Analyser + + http://cihar.com/software/enca/ diff --git a/package/libenca/libenca-1.9-dont-build-tools.patch b/package/libenca/libenca-1.9-dont-build-tools.patch new file mode 100644 index 0000000..16c3747 --- /dev/null +++ b/package/libenca/libenca-1.9-dont-build-tools.patch @@ -0,0 +1,33 @@ +diff -ruN libenca-1.9.orig/Makefile.in libenca-1.9/Makefile.in +--- libenca-1.9.orig/Makefile.in 2011-07-23 20:02:58.304328321 -0400 ++++ libenca-1.9/Makefile.in 2011-07-23 20:03:34.246328297 -0400 +@@ -78,7 +78,7 @@ + DATA = $(pkgconfig_DATA) + ETAGS = etags + CTAGS = ctags +-DIST_SUBDIRS = tools script lib src devel-docs test data ++DIST_SUBDIRS = script lib src devel-docs test data + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + distdir = $(PACKAGE)-$(VERSION) + top_distdir = $(distdir) +@@ -207,10 +207,10 @@ + sharedstatedir = @sharedstatedir@ + sysconfdir = @sysconfdir@ + target_alias = @target_alias@ +- at MAINTAINER_MODE_FALSE@SUBDIRS = tools script lib src devel-docs test ++ at MAINTAINER_MODE_FALSE@SUBDIRS = script lib src devel-docs test + + # @(#) $Id: Makefile.am,v 1.35 2005/11/24 10:21:32 yeti Exp $ +- at MAINTAINER_MODE_TRUE@SUBDIRS = tools data script lib src devel-docs test ++ at MAINTAINER_MODE_TRUE@SUBDIRS = data script lib src devel-docs test + man_MANS = man/enca.1 + DISTCHECK_CONFIGURE_FLAGS = --enable-maintainer-mode + M4TESTS = \ +@@ -223,7 +223,6 @@ + m4/long-text.l2 \ + m4/recode-bugs.m4 \ + m4/scanf.m4 \ +- m4/tools.m4 \ + m4/typevar.m4 + + EXTRA_DIST = \ diff --git a/package/libenca/libenca-1.9-fix-clean.patch b/package/libenca/libenca-1.9-fix-clean.patch new file mode 100644 index 0000000..9c6f097 --- /dev/null +++ b/package/libenca/libenca-1.9-fix-clean.patch @@ -0,0 +1,22 @@ +--- libenca-1.9.orig/src/Makefile.in 2011-07-23 20:19:28.744327998 -0400 ++++ libenca-1.9/src/Makefile.in 2011-07-23 20:22:47.894327936 -0400 +@@ -694,7 +694,7 @@ + cd $(DESTDIR)$(bindir); \ + inst1=`echo enca | sed '$(transform)'`; \ + inst2=`echo enconv | sed '$(transform)'`; \ +- $(LN_S) $$inst1$(EXEEXT) $$inst2$(EXEEXT) ++ ln -sf $$inst1$(EXEEXT) $$inst2$(EXEEXT) + + uninstall-hook: + inst=`echo enconv | sed '$(transform)'`; \ +--- libenca-1.9.orig/Makefile.in 2011-07-23 20:19:28.746327999 -0400 ++++ libenca-1.9/Makefile.in 2011-07-23 20:36:48.742327668 -0400 +@@ -768,7 +768,7 @@ + cd $(DESTDIR)$(man1dir); \ + inst1=`echo enca | sed '$(transform)'`.1; \ + inst2=`echo enconv | sed '$(transform)'`.1; \ +- $(LN_S) $$inst1 $$inst2 ++ $(LN_S)f $$inst1 $$inst2 + + uninstall-hook: + inst=`echo enconv | sed '$(transform)'`.1; \ diff --git a/package/libenca/libenca-1.9-fix-prefix.patch b/package/libenca/libenca-1.9-fix-prefix.patch new file mode 100644 index 0000000..d268b5d --- /dev/null +++ b/package/libenca/libenca-1.9-fix-prefix.patch @@ -0,0 +1,19 @@ +--- libenca-1.9.orig/configure ++++ libenca-1.9/configure + +@@ -20808,15 +20808,6 @@ _ACEOF + fi + + +-if test "$prefix" = "NONE"; then +- LDFLAGS="$LDFLAGS -L$ac_default_prefix/lib" +- CPPFLAGS="$CPPFLAGS -I$ac_default_prefix/include" +-else +- LDFLAGS="$LDFLAGS -L$prefix/lib" +- CPPFLAGS="$CPPFLAGS -I$prefix/include" +-fi +- +- + case "$target" in + NONE) yeti_libm_target="$host" ;; + *) yeti_libm_target="$target" ;; diff --git a/package/libenca/libenca.mk b/package/libenca/libenca.mk new file mode 100644 index 0000000..e9dba18 --- /dev/null +++ b/package/libenca/libenca.mk @@ -0,0 +1,26 @@ +############################################################# +# +# libenca +# +############################################################# + +LIBENCA_VERSION = 1.9 +LIBENCA_SITE = http://dl.cihar.com/enca +LIBENCA_SOURCE = enca-$(LIBENCA_VERSION).tar.bz2 +LIBENCA_INSTALL_STAGING = YES +LIBENCA_LICENSE = GPLv2 +LIBENCA_LICENSE_FILES = COPYING + +LIBENCA_CONF_ENV += ac_cv_file__dev_random=yes +LIBENCA_CONF_ENV += ac_cv_file__dev_urandom=yes +LIBENCA_CONF_ENV += ac_cv_file__dev_arandom=no +LIBENCA_CONF_ENV += ac_cv_file__dev_srandom=no +LIBENCA_CONF_ENV += yeti_cv_func_scanf_modif_size_t=yes + +define LIBENCA_MAKE_HOST_TOOL +cd $(@D)/tools && $(HOSTCC) -o make_hash make_hash.c +endef + +LIBENCA_POST_CONFIGURE_HOOKS += LIBENCA_MAKE_HOST_TOOL + +$(eval $(autotools-package)) -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 01/13] libenca: new package 2013-02-21 14:58 ` [Buildroot] [PATCH 01/13] libenca: new package Maxime Hadjinlian @ 2013-02-21 18:35 ` Yann E. MORIN 0 siblings, 0 replies; 30+ messages in thread From: Yann E. MORIN @ 2013-02-21 18:35 UTC (permalink / raw) To: buildroot Maxime, All, I'm eager to see the following patch(es) finally adding XBMC! ;-) On Thursday 21 February 2013 Maxime Hadjinlian wrote: > Extremely Naive Charset Analyser. [--SNIP--] > diff --git a/package/Config.in b/package/Config.in > index 3d7866a..e56c13f 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -569,6 +569,7 @@ source "package/liblog4c-localtime/Config.in" > endmenu > > menu "Text and terminal handling" > +source "package/libenca/Config.in" > source "package/enchant/Config.in" > source "package/libfribidi/Config.in" > source "package/icu/Config.in" Order alphabetically, even taking account of the 'lib' prefix, please. The order should be: enchant libenca libfribidi [--SNIP--] > diff --git a/package/libenca/libenca-1.9-dont-build-tools.patch b/package/libenca/libenca-1.9-dont-build-tools.patch > new file mode 100644 > index 0000000..16c3747 Please, format patches as you would for commit message. Do not forget to also SoB the patches. [--SNIP--] > diff --git a/package/libenca/libenca-1.9-fix-clean.patch b/package/libenca/libenca-1.9-fix-clean.patch > new file mode 100644 > index 0000000..9c6f097 > --- /dev/null > +++ b/package/libenca/libenca-1.9-fix-clean.patch > @@ -0,0 +1,22 @@ > +--- libenca-1.9.orig/src/Makefile.in 2011-07-23 20:19:28.744327998 -0400 > ++++ libenca-1.9/src/Makefile.in 2011-07-23 20:22:47.894327936 -0400 > +@@ -694,7 +694,7 @@ > + cd $(DESTDIR)$(bindir); \ > + inst1=`echo enca | sed '$(transform)'`; \ > + inst2=`echo enconv | sed '$(transform)'`; \ > +- $(LN_S) $$inst1$(EXEEXT) $$inst2$(EXEEXT) > ++ ln -sf $$inst1$(EXEEXT) $$inst2$(EXEEXT) > + > + uninstall-hook: > + inst=`echo enconv | sed '$(transform)'`; \ > +--- libenca-1.9.orig/Makefile.in 2011-07-23 20:19:28.746327999 -0400 > ++++ libenca-1.9/Makefile.in 2011-07-23 20:36:48.742327668 -0400 > +@@ -768,7 +768,7 @@ > + cd $(DESTDIR)$(man1dir); \ > + inst1=`echo enca | sed '$(transform)'`.1; \ > + inst2=`echo enconv | sed '$(transform)'`.1; \ > +- $(LN_S) $$inst1 $$inst2 > ++ $(LN_S)f $$inst1 $$inst2 Please, be consistent. In src/Makefile.in, you hard-code 'ln -sf', while in Makefile.in, you use '$(LN_S)f' (which I find dubious, I'd rather that you use '$(LN_S) -f' > diff --git a/package/libenca/libenca.mk b/package/libenca/libenca.mk > new file mode 100644 > index 0000000..e9dba18 > --- /dev/null > +++ b/package/libenca/libenca.mk > @@ -0,0 +1,26 @@ > +############################################################# > +# > +# libenca > +# > +############################################################# > + > +LIBENCA_VERSION = 1.9 > +LIBENCA_SITE = http://dl.cihar.com/enca > +LIBENCA_SOURCE = enca-$(LIBENCA_VERSION).tar.bz2 > +LIBENCA_INSTALL_STAGING = YES > +LIBENCA_LICENSE = GPLv2 > +LIBENCA_LICENSE_FILES = COPYING > + > +LIBENCA_CONF_ENV += ac_cv_file__dev_random=yes > +LIBENCA_CONF_ENV += ac_cv_file__dev_urandom=yes > +LIBENCA_CONF_ENV += ac_cv_file__dev_arandom=no > +LIBENCA_CONF_ENV += ac_cv_file__dev_srandom=no > +LIBENCA_CONF_ENV += yeti_cv_func_scanf_modif_size_t=yes Please explain that yeti one. Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 02/13] libass: new package 2013-02-21 14:58 [Buildroot] [pull request] Pull request for branch xbmc Maxime Hadjinlian 2013-02-21 14:58 ` [Buildroot] [PATCH 01/13] libenca: new package Maxime Hadjinlian @ 2013-02-21 14:58 ` Maxime Hadjinlian 2013-02-21 14:58 ` [Buildroot] [PATCH 03/13] libbluray: " Maxime Hadjinlian ` (10 subsequent siblings) 12 siblings, 0 replies; 30+ messages in thread From: Maxime Hadjinlian @ 2013-02-21 14:58 UTC (permalink / raw) To: buildroot libass is a portable subtitle renderer for the ASS/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format. This package was originally found at : https://github.com/huceke/buildroot-rbp By gimli <ebsi4711@gmail.com> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> --- package/Config.in | 1 + package/libass/Config.in | 10 ++++++++++ package/libass/libass.mk | 14 ++++++++++++++ 3 files changed, 25 insertions(+) create mode 100644 package/libass/Config.in create mode 100644 package/libass/libass.mk diff --git a/package/Config.in b/package/Config.in index e56c13f..0da1905 100644 --- a/package/Config.in +++ b/package/Config.in @@ -473,6 +473,7 @@ source "package/jsmin/Config.in" endmenu menu "Multimedia" +source "package/libass/Config.in" source "package/libdvdread/Config.in" source "package/libdvdnav/Config.in" source "package/libebml/Config.in" diff --git a/package/libass/Config.in b/package/libass/Config.in new file mode 100644 index 0000000..ff34b64 --- /dev/null +++ b/package/libass/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_LIBASS + bool "libass" + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_FONTCONFIG + select BR2_PACKAGE_LIBENCA + help + libass is a portable subtitle renderer for the ASS/SSA + (Advanced Substation Alpha/Substation Alpha) subtitle format + + http://code.google.com/p/libass/ diff --git a/package/libass/libass.mk b/package/libass/libass.mk new file mode 100644 index 0000000..3fd748a --- /dev/null +++ b/package/libass/libass.mk @@ -0,0 +1,14 @@ +############################################################# +# +# libass +# +############################################################# + +LIBASS_VERSION = 0.9.12 +LIBASS_SITE = http://libass.googlecode.com/files +LIBASS_INSTALL_STAGING = YES +LIBASS_DEPENDENCIES = freetype fontconfig libenca +LIBASS_LICENSE = BSD-3c +LIBASS_LICENSE_FILES = COPYING + +$(eval $(autotools-package)) -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 03/13] libbluray: new package 2013-02-21 14:58 [Buildroot] [pull request] Pull request for branch xbmc Maxime Hadjinlian 2013-02-21 14:58 ` [Buildroot] [PATCH 01/13] libenca: new package Maxime Hadjinlian 2013-02-21 14:58 ` [Buildroot] [PATCH 02/13] libass: " Maxime Hadjinlian @ 2013-02-21 14:58 ` Maxime Hadjinlian 2013-02-21 18:44 ` Yann E. MORIN 2013-02-21 14:58 ` [Buildroot] [PATCH 04/13] libcdio: " Maxime Hadjinlian ` (9 subsequent siblings) 12 siblings, 1 reply; 30+ messages in thread From: Maxime Hadjinlian @ 2013-02-21 14:58 UTC (permalink / raw) To: buildroot LIBBLURAY is a client library for accessing bluray disks. This package was originally found at : https://github.com/huceke/buildroot-rbp By gimli <ebsi4711@gmail.com> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> --- package/Config.in | 1 + package/libbluray/Config.in | 6 ++++++ package/libbluray/libbluray.mk | 14 ++++++++++++++ 3 files changed, 21 insertions(+) create mode 100644 package/libbluray/Config.in create mode 100644 package/libbluray/libbluray.mk diff --git a/package/Config.in b/package/Config.in index 0da1905..5682cd2 100644 --- a/package/Config.in +++ b/package/Config.in @@ -474,6 +474,7 @@ endmenu menu "Multimedia" source "package/libass/Config.in" +source "package/libbluray/Config.in" source "package/libdvdread/Config.in" source "package/libdvdnav/Config.in" source "package/libebml/Config.in" diff --git a/package/libbluray/Config.in b/package/libbluray/Config.in new file mode 100644 index 0000000..eeb93dc --- /dev/null +++ b/package/libbluray/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_LIBBLURAY + bool "libbluray" + help + libbluray is a client library for accessing bluray disks. + + http://www.videolan.org/developers/libbluray.html diff --git a/package/libbluray/libbluray.mk b/package/libbluray/libbluray.mk new file mode 100644 index 0000000..a1fc69b --- /dev/null +++ b/package/libbluray/libbluray.mk @@ -0,0 +1,14 @@ +############################################################# +# +# libbluray +# +############################################################# + +LIBBLURAY_VERSION = 0.2.2 +LIBBLURAY_SITE = ftp://ftp.videolan.org/pub/videolan/libbluray/$(LIBBLURAY_VERSION) +LIBBLURAY_SOURCE = libbluray-$(LIBBLURAY_VERSION).tar.bz2 +LIBBLURAY_INSTALL_STAGING = YES +LIBBLURAY_LICENSE = LGPLv2.1 +LIBBLURAY_LICENSE_FILES = COPYING + +$(eval $(autotools-package)) -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 03/13] libbluray: new package 2013-02-21 14:58 ` [Buildroot] [PATCH 03/13] libbluray: " Maxime Hadjinlian @ 2013-02-21 18:44 ` Yann E. MORIN 0 siblings, 0 replies; 30+ messages in thread From: Yann E. MORIN @ 2013-02-21 18:44 UTC (permalink / raw) To: buildroot Maxime, All, On Thursday 21 February 2013 Maxime Hadjinlian wrote: > LIBBLURAY is a client library for accessing bluray disks. > This package was originally found at : https://github.com/huceke/buildroot-rbp > By gimli <ebsi4711@gmail.com> [--SNIP--] > diff --git a/package/libbluray/libbluray.mk b/package/libbluray/libbluray.mk > new file mode 100644 > index 0000000..a1fc69b > --- /dev/null > +++ b/package/libbluray/libbluray.mk > @@ -0,0 +1,14 @@ > +############################################################# > +# > +# libbluray > +# > +############################################################# > + > +LIBBLURAY_VERSION = 0.2.2 > +LIBBLURAY_SITE = ftp://ftp.videolan.org/pub/videolan/libbluray/$(LIBBLURAY_VERSION) > +LIBBLURAY_SOURCE = libbluray-$(LIBBLURAY_VERSION).tar.bz2 > +LIBBLURAY_INSTALL_STAGING = YES > +LIBBLURAY_LICENSE = LGPLv2.1 It is LGPLv2.1+. Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 04/13] libcdio: new package 2013-02-21 14:58 [Buildroot] [pull request] Pull request for branch xbmc Maxime Hadjinlian ` (2 preceding siblings ...) 2013-02-21 14:58 ` [Buildroot] [PATCH 03/13] libbluray: " Maxime Hadjinlian @ 2013-02-21 14:58 ` Maxime Hadjinlian 2013-02-21 18:47 ` Yann E. MORIN 2013-02-21 14:58 ` [Buildroot] [PATCH 05/13] lockdev: " Maxime Hadjinlian ` (8 subsequent siblings) 12 siblings, 1 reply; 30+ messages in thread From: Maxime Hadjinlian @ 2013-02-21 14:58 UTC (permalink / raw) To: buildroot The GNU Compact Disc Input and Control library. This package was originally found at : https://github.com/huceke/buildroot-rbp By gimli <ebsi4711@gmail.com> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> --- package/Config.in | 1 + package/libcdio/Config.in | 11 +++++++++++ package/libcdio/libcdio.mk | 18 ++++++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 package/libcdio/Config.in create mode 100644 package/libcdio/libcdio.mk diff --git a/package/Config.in b/package/Config.in index 5682cd2..01eeee8 100644 --- a/package/Config.in +++ b/package/Config.in @@ -350,6 +350,7 @@ source "package/audiofile/Config.in" source "package/celt051/Config.in" source "package/libao/Config.in" source "package/libcdaudio/Config.in" +source "package/libcdio/Config.in" source "package/libcue/Config.in" source "package/libcuefile/Config.in" source "package/libid3tag/Config.in" diff --git a/package/libcdio/Config.in b/package/libcdio/Config.in new file mode 100644 index 0000000..4e6c800 --- /dev/null +++ b/package/libcdio/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_LIBCDIO + bool "libcdio" + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE + depends on BR2_INSTALL_LIBSTDCPP + help + The GNU Compact Disc Input and Control library. + + http://www.gnu.org/software/libcdio/ + +comment "libcdio requires C++ support in toolchain" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/libcdio/libcdio.mk b/package/libcdio/libcdio.mk new file mode 100644 index 0000000..71ffe91 --- /dev/null +++ b/package/libcdio/libcdio.mk @@ -0,0 +1,18 @@ +############################################################# +# +# libcdio +# +############################################################# + +LIBCDIO_VERSION = 0.82 +LIBCDIO_SITE = $(BR2_GNU_MIRROR)/libcdio +LIBCDIO_INSTALL_STAGING = YES +LIBCDIO_LICENSE = GPLv3 +LIBCDIO_LICENSE_FILES = COPYING +LIBCDIO_CONF_OPT = --disable-example-progs + +ifeq ($(BR2_ENABLE_LOCALE),) +LIBCDIO_DEPENDENCIES = libiconv +endif + +$(eval $(autotools-package)) -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 04/13] libcdio: new package 2013-02-21 14:58 ` [Buildroot] [PATCH 04/13] libcdio: " Maxime Hadjinlian @ 2013-02-21 18:47 ` Yann E. MORIN 0 siblings, 0 replies; 30+ messages in thread From: Yann E. MORIN @ 2013-02-21 18:47 UTC (permalink / raw) To: buildroot Maxime, All, On Thursday 21 February 2013 Maxime Hadjinlian wrote: > The GNU Compact Disc Input and Control library. > This package was originally found at : https://github.com/huceke/buildroot-rbp > By gimli <ebsi4711@gmail.com> [--SNIP--] > diff --git a/package/libcdio/libcdio.mk b/package/libcdio/libcdio.mk > new file mode 100644 > index 0000000..71ffe91 > --- /dev/null > +++ b/package/libcdio/libcdio.mk > @@ -0,0 +1,18 @@ > +############################################################# > +# > +# libcdio > +# > +############################################################# > + > +LIBCDIO_VERSION = 0.82 > +LIBCDIO_SITE = $(BR2_GNU_MIRROR)/libcdio > +LIBCDIO_INSTALL_STAGING = YES > +LIBCDIO_LICENSE = GPLv3 It is GPLv3+. Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 05/13] lockdev: new package 2013-02-21 14:58 [Buildroot] [pull request] Pull request for branch xbmc Maxime Hadjinlian ` (3 preceding siblings ...) 2013-02-21 14:58 ` [Buildroot] [PATCH 04/13] libcdio: " Maxime Hadjinlian @ 2013-02-21 14:58 ` Maxime Hadjinlian 2013-02-21 18:54 ` Yann E. MORIN 2013-02-21 14:58 ` [Buildroot] [PATCH 06/13] libcec: " Maxime Hadjinlian ` (7 subsequent siblings) 12 siblings, 1 reply; 30+ messages in thread From: Maxime Hadjinlian @ 2013-02-21 14:58 UTC (permalink / raw) To: buildroot library for locking devices This package was originally found at : https://github.com/huceke/buildroot-rbp By gimli <ebsi4711@gmail.com> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> --- package/Config.in | 1 + package/lockdev/Config.in | 6 ++++++ package/lockdev/lockdev.mk | 30 ++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 package/lockdev/Config.in create mode 100644 package/lockdev/lockdev.mk diff --git a/package/Config.in b/package/Config.in index 01eeee8..2106391 100644 --- a/package/Config.in +++ b/package/Config.in @@ -555,6 +555,7 @@ source "package/libffi/Config.in" source "package/gsl/Config.in" source "package/libglib2/Config.in" source "package/libical/Config.in" +source "package/lockdev/Config.in" source "package/libnspr/Config.in" source "package/libsigc/Config.in" source "package/libtpl/Config.in" diff --git a/package/lockdev/Config.in b/package/lockdev/Config.in new file mode 100644 index 0000000..abb640c --- /dev/null +++ b/package/lockdev/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_LOCKDEV + bool "lockdev" + help + library for locking devices + + http://packages.debian.org/source/sid/lockdev diff --git a/package/lockdev/lockdev.mk b/package/lockdev/lockdev.mk new file mode 100644 index 0000000..2012211 --- /dev/null +++ b/package/lockdev/lockdev.mk @@ -0,0 +1,30 @@ +############################################################# +# +# lockdev +# +############################################################# + +LOCKDEV_VERSION = 1.0.3 +LOCKDEV_SITE = http://ftp.de.debian.org/debian/pool/main/l/lockdev +LOCKDEV_SOURCE = lockdev_$(LOCKDEV_VERSION).orig.tar.gz +LOCKDEV_INSTALL_STAGING = YES +LOCKDEV_LICENSE = LGPLv2.1 +LOCKDEV_LICENSE_FILES = LICENSE + +define LOCKDEV_BUILD_CMDS + $(MAKE) $(TARGET_CONFIGURE_OPTS) OPTIM= -C $(@D) V=1 shared +endef + +define LOCKDEV_INSTALL_STAGING_CMDS + $(MAKE) basedir=$(STAGING_DIR)/usr -C $(@D) install + ln -s $(STAGING_DIR)/usr/lib/liblockdev.$(LOCKDEV_VERSION).so $(STAGING_DIR)/usr/lib/liblockdev.so + ln -s $(STAGING_DIR)/usr/lib/liblockdev.$(LOCKDEV_VERSION).so $(STAGING_DIR)/usr/lib/liblockdev.so.1 +endef + +define LOCKDEV_INSTALL_TARGET_CMDS + $(MAKE) basedir=$(TARGET_DIR)/usr -C $(@D) install + ln -s $(TARGET_DIR)/usr/lib/liblockdev.$(LOCKDEV_VERSION).so $(TARGET_DIR)/usr/lib/liblockdev.so + ln -s $(TARGET_DIR)/usr/lib/liblockdev.$(LOCKDEV_VERSION).so $(TARGET_DIR)/usr/lib/liblockdev.so.1 +endef + +$(eval $(generic-package)) -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 05/13] lockdev: new package 2013-02-21 14:58 ` [Buildroot] [PATCH 05/13] lockdev: " Maxime Hadjinlian @ 2013-02-21 18:54 ` Yann E. MORIN 0 siblings, 0 replies; 30+ messages in thread From: Yann E. MORIN @ 2013-02-21 18:54 UTC (permalink / raw) To: buildroot Maxime, All, On Thursday 21 February 2013 Maxime Hadjinlian wrote: > library for locking devices > This package was originally found at : https://github.com/huceke/buildroot-rbp > By gimli <ebsi4711@gmail.com> [--SNIP--] > diff --git a/package/Config.in b/package/Config.in > index 01eeee8..2106391 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -555,6 +555,7 @@ source "package/libffi/Config.in" > source "package/gsl/Config.in" > source "package/libglib2/Config.in" > source "package/libical/Config.in" > +source "package/lockdev/Config.in" Alphabetical order, please. [--SNIP--] > diff --git a/package/lockdev/lockdev.mk b/package/lockdev/lockdev.mk > new file mode 100644 > index 0000000..2012211 > --- /dev/null > +++ b/package/lockdev/lockdev.mk > @@ -0,0 +1,30 @@ > +############################################################# > +# > +# lockdev > +# > +############################################################# > + > +LOCKDEV_VERSION = 1.0.3 > +LOCKDEV_SITE = http://ftp.de.debian.org/debian/pool/main/l/lockdev > +LOCKDEV_SOURCE = lockdev_$(LOCKDEV_VERSION).orig.tar.gz > +LOCKDEV_INSTALL_STAGING = YES > +LOCKDEV_LICENSE = LGPLv2.1 > +LOCKDEV_LICENSE_FILES = LICENSE > + > +define LOCKDEV_BUILD_CMDS > + $(MAKE) $(TARGET_CONFIGURE_OPTS) OPTIM= -C $(@D) V=1 shared No 'V=1' please. Add building the static version (if possible). > +endef > + > +define LOCKDEV_INSTALL_STAGING_CMDS > + $(MAKE) basedir=$(STAGING_DIR)/usr -C $(@D) install > + ln -s $(STAGING_DIR)/usr/lib/liblockdev.$(LOCKDEV_VERSION).so $(STAGING_DIR)/usr/lib/liblockdev.so > + ln -s $(STAGING_DIR)/usr/lib/liblockdev.$(LOCKDEV_VERSION).so $(STAGING_DIR)/usr/lib/liblockdev.so.1 And install the static version, too. ;-) > +endef > + > +define LOCKDEV_INSTALL_TARGET_CMDS > + $(MAKE) basedir=$(TARGET_DIR)/usr -C $(@D) install > + ln -s $(TARGET_DIR)/usr/lib/liblockdev.$(LOCKDEV_VERSION).so $(TARGET_DIR)/usr/lib/liblockdev.so > + ln -s $(TARGET_DIR)/usr/lib/liblockdev.$(LOCKDEV_VERSION).so $(TARGET_DIR)/usr/lib/liblockdev.so.1 > +endef > + > +$(eval $(generic-package)) Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 06/13] libcec: new package 2013-02-21 14:58 [Buildroot] [pull request] Pull request for branch xbmc Maxime Hadjinlian ` (4 preceding siblings ...) 2013-02-21 14:58 ` [Buildroot] [PATCH 05/13] lockdev: " Maxime Hadjinlian @ 2013-02-21 14:58 ` Maxime Hadjinlian 2013-02-21 19:03 ` Yann E. MORIN 2013-02-21 14:58 ` [Buildroot] [PATCH 07/13] libmodplug: " Maxime Hadjinlian ` (6 subsequent siblings) 12 siblings, 1 reply; 30+ messages in thread From: Maxime Hadjinlian @ 2013-02-21 14:58 UTC (permalink / raw) To: buildroot libCEC allows you in combination with the right hardware to control your device with your TV remote control. Utilising your existing HDMI cabling This package was originally found at : https://github.com/huceke/buildroot-rbp By gimli <ebsi4711@gmail.com> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> --- package/Config.in | 1 + package/libcec/Config.in | 30 ++++++++++++++++++++++++++++++ package/libcec/libcec.mk | 22 ++++++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 package/libcec/Config.in create mode 100644 package/libcec/libcec.mk diff --git a/package/Config.in b/package/Config.in index 2106391..c6e1fd4 100644 --- a/package/Config.in +++ b/package/Config.in @@ -448,6 +448,7 @@ source "package/imx-lib/Config.in" source "package/lcdapi/Config.in" source "package/libaio/Config.in" source "package/libatasmart/Config.in" +source "package/libcec/Config.in" source "package/libraw1394/Config.in" source "package/tslib/Config.in" source "package/libfreefare/Config.in" diff --git a/package/libcec/Config.in b/package/libcec/Config.in new file mode 100644 index 0000000..5051b94 --- /dev/null +++ b/package/libcec/Config.in @@ -0,0 +1,30 @@ +config BR2_PACKAGE_LIBCEC + bool "libcec" + select BR2_PACKAGE_LOCKDEV + depends on BR2_USE_WCHAR + depends on BR2_INSTALL_LIBSTDCPP + help + libCEC allows you in combination with the right hardware to + control your device with your TV remote control. Utilising your + existing HDMI cabling. + + https://github.com/Pulse-Eight/libcec + +if BR2_PACKAGE_LIBCEC && BR2_arm + +config BR2_PACKAGE_LIBCEC_RBP + bool "rpi support" + depends on BR2_LARGEFILE + depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_RPI_USERLAND + help + Enable RasberryPi support + +comment "rpi support requires a toolchain with LARGEFILE and C++ support" + depends on !(BR2_INSTALL_LIBSTDCPP && BR2_LARGEFILE) + +endif + +comment "libcec requires a toolchain with WCHAR and C++ support" + depends on !(BR2_USE_WCHAR && BR2_INSTALL_LIBSTDCPP) + diff --git a/package/libcec/libcec.mk b/package/libcec/libcec.mk new file mode 100644 index 0000000..2974cbf --- /dev/null +++ b/package/libcec/libcec.mk @@ -0,0 +1,22 @@ +############################################################# +# +# libcec +# +############################################################# + +LIBCEC_VERSION = 89ea1724e7a4bde3f7a4f958b414889cefddb841 +LIBCEC_SITE = http://github.com/Pulse-Eight/libcec/tarball/master +LIBCEC_INSTALL_STAGING = YES +LIBCEC_AUTORECONF = YES +LIBCEC_LICENSE = GPLv2 +LIBCEC_LICENSE_FILES = COPYING +LIBCEC_DEPENDENCIES = lockdev host-pkgconf + +ifeq ($(BR2_PACKAGE_LIBCEC_RBP),y) +LIBCEC_DEPENDENCIES += rpi-userland +LIBCEC_CONF_OPT += --enable-rpi \ + --with-rpi-lib-path=$(STAGING_DIR)/usr/lib \ + --with-rpi-include-path=$(STAGING_DIR)/usr/include +endif + +$(eval $(autotools-package)) -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 06/13] libcec: new package 2013-02-21 14:58 ` [Buildroot] [PATCH 06/13] libcec: " Maxime Hadjinlian @ 2013-02-21 19:03 ` Yann E. MORIN 0 siblings, 0 replies; 30+ messages in thread From: Yann E. MORIN @ 2013-02-21 19:03 UTC (permalink / raw) To: buildroot Maxime, All, On Thursday 21 February 2013 Maxime Hadjinlian wrote: > libCEC allows you in combination with the right hardware to control your device > with your TV remote control. Utilising your existing HDMI cabling > This package was originally found at : https://github.com/huceke/buildroot-rbp > By gimli <ebsi4711@gmail.com> [--SNIP--] > diff --git a/package/libcec/Config.in b/package/libcec/Config.in > new file mode 100644 > index 0000000..5051b94 > --- /dev/null > +++ b/package/libcec/Config.in > @@ -0,0 +1,30 @@ > +config BR2_PACKAGE_LIBCEC > + bool "libcec" > + select BR2_PACKAGE_LOCKDEV > + depends on BR2_USE_WCHAR > + depends on BR2_INSTALL_LIBSTDCPP > + help > + libCEC allows you in combination with the right hardware to > + control your device with your TV remote control. Utilising your > + existing HDMI cabling. > + > + https://github.com/Pulse-Eight/libcec > + > +if BR2_PACKAGE_LIBCEC && BR2_arm > + > +config BR2_PACKAGE_LIBCEC_RBP > + bool "rpi support" > + depends on BR2_LARGEFILE > + depends on BR2_INSTALL_LIBSTDCPP No need for 'depends on BR2_INSTALL_LIBSTDCPP', it's guaranteed by the same depends on for the main symbol. > + select BR2_PACKAGE_RPI_USERLAND > + help > + Enable RasberryPi support > + > +comment "rpi support requires a toolchain with LARGEFILE and C++ support" > + depends on !(BR2_INSTALL_LIBSTDCPP && BR2_LARGEFILE) Ditto, just mention LARGEFILE. [--SNIP--] > diff --git a/package/libcec/libcec.mk b/package/libcec/libcec.mk > new file mode 100644 > index 0000000..2974cbf > --- /dev/null > +++ b/package/libcec/libcec.mk > @@ -0,0 +1,22 @@ > +############################################################# > +# > +# libcec > +# > +############################################################# > + > +LIBCEC_VERSION = 89ea1724e7a4bde3f7a4f958b414889cefddb841 > +LIBCEC_SITE = http://github.com/Pulse-Eight/libcec/tarball/master > +LIBCEC_INSTALL_STAGING = YES > +LIBCEC_AUTORECONF = YES > +LIBCEC_LICENSE = GPLv2 It's GPLv2+ (The rest of the series I'll look at after dinner. Hang on tight! ;-) ) Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 07/13] libmodplug: new package 2013-02-21 14:58 [Buildroot] [pull request] Pull request for branch xbmc Maxime Hadjinlian ` (5 preceding siblings ...) 2013-02-21 14:58 ` [Buildroot] [PATCH 06/13] libcec: " Maxime Hadjinlian @ 2013-02-21 14:58 ` Maxime Hadjinlian 2013-02-21 19:49 ` Yann E. MORIN 2013-02-21 14:58 ` [Buildroot] [PATCH 08/13] libnfs: " Maxime Hadjinlian ` (5 subsequent siblings) 12 siblings, 1 reply; 30+ messages in thread From: Maxime Hadjinlian @ 2013-02-21 14:58 UTC (permalink / raw) To: buildroot MOD music file decoder. This package was originally found at : https://github.com/huceke/buildroot-rbp By gimli <ebsi4711@gmail.com> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> --- package/Config.in | 1 + package/libmodplug/Config.in | 11 +++++++++++ package/libmodplug/libmodplug.mk | 11 +++++++++++ 3 files changed, 23 insertions(+) create mode 100644 package/libmodplug/Config.in create mode 100644 package/libmodplug/libmodplug.mk diff --git a/package/Config.in b/package/Config.in index c6e1fd4..ac021e8 100644 --- a/package/Config.in +++ b/package/Config.in @@ -349,6 +349,7 @@ source "package/alsa-lib/Config.in" source "package/audiofile/Config.in" source "package/celt051/Config.in" source "package/libao/Config.in" +source "package/libmodplug/Config.in" source "package/libcdaudio/Config.in" source "package/libcdio/Config.in" source "package/libcue/Config.in" diff --git a/package/libmodplug/Config.in b/package/libmodplug/Config.in new file mode 100644 index 0000000..cdb591f --- /dev/null +++ b/package/libmodplug/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_LIBMODPLUG + bool "libmodplug" + depends on BR2_INSTALL_LIBSTDCPP + help + MOD music file decoder + + http://modplug-xmms.sourceforge.net/ + +comment "libmodplug requires C++ support in toolchain" + depends on !BR2_INSTALL_LIBSTDCPP + diff --git a/package/libmodplug/libmodplug.mk b/package/libmodplug/libmodplug.mk new file mode 100644 index 0000000..889056e --- /dev/null +++ b/package/libmodplug/libmodplug.mk @@ -0,0 +1,11 @@ +############################################################# +# +# libmodplug +# +############################################################# + +LIBMODPLUG_VERSION = 0.8.7 +LIBMODPLUG_SITE = http://downloads.sourceforge.net/project/modplug-xmms/libmodplug/$(LIBMODPLUG_VERSION) +LIBMODPLUG_INSTALL_STAGING = YES + +$(eval $(autotools-package)) -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 07/13] libmodplug: new package 2013-02-21 14:58 ` [Buildroot] [PATCH 07/13] libmodplug: " Maxime Hadjinlian @ 2013-02-21 19:49 ` Yann E. MORIN 0 siblings, 0 replies; 30+ messages in thread From: Yann E. MORIN @ 2013-02-21 19:49 UTC (permalink / raw) To: buildroot Maxime, All, On Thursday 21 February 2013 Maxime Hadjinlian wrote: > MOD music file decoder. > This package was originally found at : https://github.com/huceke/buildroot-rbp > By gimli <ebsi4711@gmail.com> [--SNIP--] > diff --git a/package/Config.in b/package/Config.in > index c6e1fd4..ac021e8 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -349,6 +349,7 @@ source "package/alsa-lib/Config.in" > source "package/audiofile/Config.in" > source "package/celt051/Config.in" > source "package/libao/Config.in" > +source "package/libmodplug/Config.in" Alphabetical order, please. > diff --git a/package/libmodplug/libmodplug.mk b/package/libmodplug/libmodplug.mk > new file mode 100644 > index 0000000..889056e > --- /dev/null > +++ b/package/libmodplug/libmodplug.mk > @@ -0,0 +1,11 @@ > +############################################################# > +# > +# libmodplug > +# > +############################################################# > + > +LIBMODPLUG_VERSION = 0.8.7 > +LIBMODPLUG_SITE = http://downloads.sourceforge.net/project/modplug-xmms/libmodplug/$(LIBMODPLUG_VERSION) > +LIBMODPLUG_INSTALL_STAGING = YES Add the license; it is "Public Domain". Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 08/13] libnfs: new package 2013-02-21 14:58 [Buildroot] [pull request] Pull request for branch xbmc Maxime Hadjinlian ` (6 preceding siblings ...) 2013-02-21 14:58 ` [Buildroot] [PATCH 07/13] libmodplug: " Maxime Hadjinlian @ 2013-02-21 14:58 ` Maxime Hadjinlian 2013-02-21 19:53 ` Yann E. MORIN 2013-02-21 14:58 ` [Buildroot] [PATCH 09/13] libplist: " Maxime Hadjinlian ` (4 subsequent siblings) 12 siblings, 1 reply; 30+ messages in thread From: Maxime Hadjinlian @ 2013-02-21 14:58 UTC (permalink / raw) To: buildroot nfs userspace implementation. This package was originally found at : https://github.com/huceke/buildroot-rbp By gimli <ebsi4711@gmail.com> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> --- package/Config.in | 1 + package/libnfs/Config.in | 11 +++++++++++ package/libnfs/libnfs.mk | 16 ++++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 package/libnfs/Config.in create mode 100644 package/libnfs/libnfs.mk diff --git a/package/Config.in b/package/Config.in index ac021e8..a9cb9ed 100644 --- a/package/Config.in +++ b/package/Config.in @@ -404,6 +404,7 @@ source "package/gamin/Config.in" source "package/libconfig/Config.in" source "package/libconfuse/Config.in" source "package/libfuse/Config.in" +source "package/libnfs/Config.in" source "package/liblockfile/Config.in" source "package/libsysfs/Config.in" endmenu diff --git a/package/libnfs/Config.in b/package/libnfs/Config.in new file mode 100644 index 0000000..29e5a43 --- /dev/null +++ b/package/libnfs/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_LIBNFS + bool "libnfs" + depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC + depends on BR2_LARGEFILE + help + nfs userspace implementation. + + http://github.com/sahlberg/libnfs + +comment "libnfs requires a toolchain with RPC and LARGEFILE support" + depends on !(BR2_TOOLCHAIN_HAS_NATIVE_RPC && BR2_LARGEFILE) diff --git a/package/libnfs/libnfs.mk b/package/libnfs/libnfs.mk new file mode 100644 index 0000000..693de46 --- /dev/null +++ b/package/libnfs/libnfs.mk @@ -0,0 +1,16 @@ +############################################################# +# +# libnfs +# +############################################################# + +LIBNFS_VERSION = libnfs-1.3.0 +LIBNFS_SITE = http://github.com/sahlberg/libnfs/tarball/$(LIBNFS_VERSION) +LIBNFS_INSTALL_STAGING = YES +LIBNFS_AUTORECONF = YES +LIBNFS_MAKE = $(MAKE1) +LIBNFS_LICENSE = LGPLv2.1 +LIBNFS_LICENSE_FILES = LICENCE-LGPL-2.1.txt +LIBNFS_DEPENDENCIES = host-pkgconf + +$(eval $(autotools-package)) -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 08/13] libnfs: new package 2013-02-21 14:58 ` [Buildroot] [PATCH 08/13] libnfs: " Maxime Hadjinlian @ 2013-02-21 19:53 ` Yann E. MORIN 0 siblings, 0 replies; 30+ messages in thread From: Yann E. MORIN @ 2013-02-21 19:53 UTC (permalink / raw) To: buildroot Maxime, All, On Thursday 21 February 2013 Maxime Hadjinlian wrote: > nfs userspace implementation. > This package was originally found at : https://github.com/huceke/buildroot-rbp > By gimli <ebsi4711@gmail.com> [--SNIP--] > diff --git a/package/Config.in b/package/Config.in > index ac021e8..a9cb9ed 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -404,6 +404,7 @@ source "package/gamin/Config.in" > source "package/libconfig/Config.in" > source "package/libconfuse/Config.in" > source "package/libfuse/Config.in" > +source "package/libnfs/Config.in" > source "package/liblockfile/Config.in" Alphabetical order, please. > diff --git a/package/libnfs/libnfs.mk b/package/libnfs/libnfs.mk > new file mode 100644 > index 0000000..693de46 > --- /dev/null > +++ b/package/libnfs/libnfs.mk > @@ -0,0 +1,16 @@ > +############################################################# > +# > +# libnfs > +# > +############################################################# > + > +LIBNFS_VERSION = libnfs-1.3.0 > +LIBNFS_SITE = http://github.com/sahlberg/libnfs/tarball/$(LIBNFS_VERSION) > +LIBNFS_INSTALL_STAGING = YES > +LIBNFS_AUTORECONF = YES > +LIBNFS_MAKE = $(MAKE1) > +LIBNFS_LICENSE = LGPLv2.1 It looks like it is in fact LGPLv2.1+. There's at least one file (lib/init.c) that does not have the 'or later' clause, but just a terse reference to the license, while all other files I've looked at explicitly state 'or later'. So, I'd be enclined to believe it is LGPLv2.1+. Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 09/13] libplist: new package 2013-02-21 14:58 [Buildroot] [pull request] Pull request for branch xbmc Maxime Hadjinlian ` (7 preceding siblings ...) 2013-02-21 14:58 ` [Buildroot] [PATCH 08/13] libnfs: " Maxime Hadjinlian @ 2013-02-21 14:58 ` Maxime Hadjinlian 2013-02-21 20:01 ` Yann E. MORIN 2013-02-21 14:58 ` [Buildroot] [PATCH 10/13] librtmp: " Maxime Hadjinlian ` (3 subsequent siblings) 12 siblings, 1 reply; 30+ messages in thread From: Maxime Hadjinlian @ 2013-02-21 14:58 UTC (permalink / raw) To: buildroot LIBPLIST is a client for manipulating Apple Property List (.plist) files This package was originally found at : https://github.com/huceke/buildroot-rbp By gimli <ebsi4711@gmail.com> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> --- package/Config.in | 1 + package/libplist/Config.in | 12 ++++++++++++ package/libplist/libplist.mk | 15 +++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 package/libplist/Config.in create mode 100644 package/libplist/libplist.mk diff --git a/package/Config.in b/package/Config.in index a9cb9ed..382d859 100644 --- a/package/Config.in +++ b/package/Config.in @@ -559,6 +559,7 @@ source "package/gsl/Config.in" source "package/libglib2/Config.in" source "package/libical/Config.in" source "package/lockdev/Config.in" +source "package/libplist/Config.in" source "package/libnspr/Config.in" source "package/libsigc/Config.in" source "package/libtpl/Config.in" diff --git a/package/libplist/Config.in b/package/libplist/Config.in new file mode 100644 index 0000000..a4a3adb --- /dev/null +++ b/package/libplist/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_LIBPLIST + bool "libplist" + select BR2_PACKAGE_LIBXML2 + depends on BR2_INSTALL_LIBSTDCPP + help + libplist is a client for manipulating Apple Property List + (.plist) files + + http://cgit.sukimashita.com/libplist.git + +comment "libplist requires C++ support in toolchain" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/libplist/libplist.mk b/package/libplist/libplist.mk new file mode 100644 index 0000000..16ea5ff --- /dev/null +++ b/package/libplist/libplist.mk @@ -0,0 +1,15 @@ +############################################################# +# +# libplist +# +############################################################# + +LIBPLIST_VERSION = 1.6 +LIBPLIST_SITE = http://cgit.sukimashita.com/libplist.git/snapshot +LIBPLIST_DEPENDENCIES = libxml2 +LIBPLIST_INSTALL_STAGING = YES +LIBPLIST_MAKE = $(MAKE1) +LIBPLIST_LICENSE = GPLv2 +LIBPLIST_LICENSE_FILES = COPYING + +$(eval $(cmake-package)) -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 09/13] libplist: new package 2013-02-21 14:58 ` [Buildroot] [PATCH 09/13] libplist: " Maxime Hadjinlian @ 2013-02-21 20:01 ` Yann E. MORIN 0 siblings, 0 replies; 30+ messages in thread From: Yann E. MORIN @ 2013-02-21 20:01 UTC (permalink / raw) To: buildroot Maxime, All, On Thursday 21 February 2013 Maxime Hadjinlian wrote: > LIBPLIST is a client for manipulating Apple Property List (.plist) files > This package was originally found at : https://github.com/huceke/buildroot-rbp > By gimli <ebsi4711@gmail.com> [--SNIP--] > diff --git a/package/Config.in b/package/Config.in > index a9cb9ed..382d859 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -559,6 +559,7 @@ source "package/gsl/Config.in" > source "package/libglib2/Config.in" > source "package/libical/Config.in" > source "package/lockdev/Config.in" > +source "package/libplist/Config.in" > source "package/libnspr/Config.in" Alphabetical order, please. [--SNIP--] > diff --git a/package/libplist/libplist.mk b/package/libplist/libplist.mk > new file mode 100644 > index 0000000..16ea5ff > --- /dev/null > +++ b/package/libplist/libplist.mk > @@ -0,0 +1,15 @@ > +############################################################# > +# > +# libplist > +# > +############################################################# > + > +LIBPLIST_VERSION = 1.6 > +LIBPLIST_SITE = http://cgit.sukimashita.com/libplist.git/snapshot > +LIBPLIST_DEPENDENCIES = libxml2 > +LIBPLIST_INSTALL_STAGING = YES > +LIBPLIST_MAKE = $(MAKE1) > +LIBPLIST_LICENSE = GPLv2 Although both COPYING and COPYING.LESSER are present, there's no file I could find under the GPLv2. They all refer to the LGPLv2.1+. Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 10/13] librtmp: new package 2013-02-21 14:58 [Buildroot] [pull request] Pull request for branch xbmc Maxime Hadjinlian ` (8 preceding siblings ...) 2013-02-21 14:58 ` [Buildroot] [PATCH 09/13] libplist: " Maxime Hadjinlian @ 2013-02-21 14:58 ` Maxime Hadjinlian 2013-02-21 20:17 ` Yann E. MORIN 2013-02-21 14:58 ` [Buildroot] [PATCH 11/13] libshairport: " Maxime Hadjinlian ` (2 subsequent siblings) 12 siblings, 1 reply; 30+ messages in thread From: Maxime Hadjinlian @ 2013-02-21 14:58 UTC (permalink / raw) To: buildroot librtmp - RTMPDump Real-Time Messaging Protocol API This package was originally found at : https://github.com/huceke/buildroot-rbp By gimli <ebsi4711@gmail.com> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> --- package/Config.in | 1 + package/librtmp/Config.in | 8 ++++++++ package/librtmp/librtmp.mk | 27 +++++++++++++++++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 package/librtmp/Config.in create mode 100644 package/librtmp/librtmp.mk diff --git a/package/Config.in b/package/Config.in index 382d859..6e926bf 100644 --- a/package/Config.in +++ b/package/Config.in @@ -434,6 +434,7 @@ source "package/libgtk2/Config.in" source "package/libpng/Config.in" source "package/libraw/Config.in" source "package/librsvg/Config.in" +source "package/librtmp/Config.in" source "package/libsvgtiny/Config.in" source "package/libungif/Config.in" source "package/opencv/Config.in" diff --git a/package/librtmp/Config.in b/package/librtmp/Config.in new file mode 100644 index 0000000..8152f87 --- /dev/null +++ b/package/librtmp/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_LIBRTMP + bool "librtmp" + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_ZLIB + help + librtmp - RTMPDump Real-Time Messaging Protocol API + + http://rtmpdump.mplayerhq.hu diff --git a/package/librtmp/librtmp.mk b/package/librtmp/librtmp.mk new file mode 100644 index 0000000..5e60428 --- /dev/null +++ b/package/librtmp/librtmp.mk @@ -0,0 +1,27 @@ +############################################################# +# +#librtmp +# +############################################################# + +LIBRTMP_VERSION = e0056c51cc1710c9a44d2a2c4e2f344fa9cabcf4 +LIBRTMP_SITE = git://git.ffmpeg.org/rtmpdump +LIBRTMP_INSTALL_STAGING = YES +LIBRTMP_LICENSE = GPLv2 +LIBRTMP_LICENSE_FILES = COPYING +LIBRTMP_DEPENDENCIES = openssl zlib + +define LIBRTMP_BUILD_CMDS + sed -ie "s|prefix=/usr/local|prefix=/usr|" $(@D)/librtmp/Makefile + $(MAKE) $(TARGET_CONFIGURE_OPTS) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D)/librtmp +endef + +define LIBRTMP_INSTALL_STAGING_CMDS + $(MAKE) -C $(@D)/librtmp install DESTDIR=$(STAGING_DIR) +endef + +define LIBRTMP_INSTALL_TARGET_CMDS + $(MAKE) -C $(@D)/librtmp install DESTDIR=$(STAGING_DIR) +endef + +$(eval $(generic-package)) -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 10/13] librtmp: new package 2013-02-21 14:58 ` [Buildroot] [PATCH 10/13] librtmp: " Maxime Hadjinlian @ 2013-02-21 20:17 ` Yann E. MORIN 2013-02-24 3:34 ` Thomas Petazzoni 0 siblings, 1 reply; 30+ messages in thread From: Yann E. MORIN @ 2013-02-21 20:17 UTC (permalink / raw) To: buildroot Maxime, All, On Thursday 21 February 2013 Maxime Hadjinlian wrote: > librtmp - RTMPDump Real-Time Messaging Protocol API > This package was originally found at : https://github.com/huceke/buildroot-rbp > By gimli <ebsi4711@gmail.com> > diff --git a/package/librtmp/Config.in b/package/librtmp/Config.in > new file mode 100644 > index 0000000..8152f87 > --- /dev/null > +++ b/package/librtmp/Config.in > @@ -0,0 +1,8 @@ > +config BR2_PACKAGE_LIBRTMP > + bool "librtmp" The package is 'rtmpdump' so I'd just call it 'rtmpdump' in Buildroot as well (you can add in the help text that only the librtmp is installed). > + select BR2_PACKAGE_OPENSSL rtmpdump can also use gnutls, so I'd rather do: select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_POLARSSL && !BR2_PACKAGE_GNUTLS And adapt the .mk accordingly, of course. There is no point in forcing openssl if the user already chose to use another SSL library. > diff --git a/package/librtmp/librtmp.mk b/package/librtmp/librtmp.mk > new file mode 100644 > index 0000000..5e60428 > --- /dev/null > +++ b/package/librtmp/librtmp.mk > @@ -0,0 +1,27 @@ > +############################################################# > +# > +#librtmp > +# > +############################################################# > + > +LIBRTMP_VERSION = e0056c51cc1710c9a44d2a2c4e2f344fa9cabcf4 > +LIBRTMP_SITE = git://git.ffmpeg.org/rtmpdump > +LIBRTMP_INSTALL_STAGING = YES > +LIBRTMP_LICENSE = GPLv2 Since you only install the library, it's LGPLv2.1+. librtmp/ has its own COPYING file, which is LGPLv2.1, and source files in librtmp/ all refer to LGPLv2.1 or later. So, GPLv2.1+. Add a comment in this file that the LICENSE should be updated, should the program(s) be one day installed. > +LIBRTMP_LICENSE_FILES = COPYING > +LIBRTMP_DEPENDENCIES = openssl zlib And here, I'd do something like: LIBRTMP_DEPENDENCIES = openssl zlib ifeq ($(BR2_PACKAGE_GNUTLS),y) LIBRTMP_DEPENDENCIES += gnutls else ifeq ($(BR2_PACKAGE_POLARSSL),y) LIBRTMP_DEPENDENCIES += polarssl else LIBRTMP_DEPENDENCIES += openssl endif endif > +define LIBRTMP_BUILD_CMDS > + sed -ie "s|prefix=/usr/local|prefix=/usr|" $(@D)/librtmp/Makefile I'd do that as a post-extract (or post-patch) hook instead. Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 10/13] librtmp: new package 2013-02-21 20:17 ` Yann E. MORIN @ 2013-02-24 3:34 ` Thomas Petazzoni 0 siblings, 0 replies; 30+ messages in thread From: Thomas Petazzoni @ 2013-02-24 3:34 UTC (permalink / raw) To: buildroot Dear Yann E. MORIN, On Thu, 21 Feb 2013 21:17:57 +0100, Yann E. MORIN wrote: > > +LIBRTMP_LICENSE_FILES = COPYING > > +LIBRTMP_DEPENDENCIES = openssl zlib > > And here, I'd do something like: > > LIBRTMP_DEPENDENCIES = openssl zlib This line should be: LIBRTMP_DEPENDENCIES = zlib > ifeq ($(BR2_PACKAGE_GNUTLS),y) > LIBRTMP_DEPENDENCIES += gnutls > else > ifeq ($(BR2_PACKAGE_POLARSSL),y) > LIBRTMP_DEPENDENCIES += polarssl > else > LIBRTMP_DEPENDENCIES += openssl > endif > endif Best regards, Thomas -- Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 11/13] libshairport: new package 2013-02-21 14:58 [Buildroot] [pull request] Pull request for branch xbmc Maxime Hadjinlian ` (9 preceding siblings ...) 2013-02-21 14:58 ` [Buildroot] [PATCH 10/13] librtmp: " Maxime Hadjinlian @ 2013-02-21 14:58 ` Maxime Hadjinlian 2013-02-21 16:39 ` Samuel Martin 2013-02-21 14:58 ` [Buildroot] [PATCH 12/13] tinyxml: " Maxime Hadjinlian 2013-02-21 14:58 ` [Buildroot] [PATCH 13/13] Install libfribidi to staging Maxime Hadjinlian 12 siblings, 1 reply; 30+ messages in thread From: Maxime Hadjinlian @ 2013-02-21 14:58 UTC (permalink / raw) To: buildroot libshairport is a client library that emulates an airplay server This package was originally found at : https://github.com/huceke/buildroot-rbp By gimli <ebsi4711@gmail.com> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> --- package/Config.in | 1 + package/libshairport/Config.in | 12 + .../libshairport-1.2.0.20310_lib-001_add_ao.patch | 270 +++++++ ...rt-1.2.0.20310_lib-002_fix_install_header.patch | 12 + ...hairport-1.2.0.20310_lib-003_fix_deadlock.patch | 10 + ...irport-1.2.0.20310_lib-004_fix_bad_access.patch | 22 + ...hairport-1.2.0.20310_lib-005_fix_shutdown.patch | 10 + ...ibshairport-1.2.0.20310_lib-006_no_printf.patch | 843 ++++++++++++++++++++ ...rt-1.2.0.20310_lib-007_fix_syslog_defines.patch | 24 + ...port-1.2.0.20310_lib-008-add-missing-libs.patch | 21 + ...libshairport-1.2.0.20310_lib-009_fix_ipv6.patch | 22 + package/libshairport/libshairport.mk | 13 + 12 files changed, 1260 insertions(+) create mode 100644 package/libshairport/Config.in create mode 100644 package/libshairport/libshairport-1.2.0.20310_lib-001_add_ao.patch create mode 100644 package/libshairport/libshairport-1.2.0.20310_lib-002_fix_install_header.patch create mode 100644 package/libshairport/libshairport-1.2.0.20310_lib-003_fix_deadlock.patch create mode 100644 package/libshairport/libshairport-1.2.0.20310_lib-004_fix_bad_access.patch create mode 100644 package/libshairport/libshairport-1.2.0.20310_lib-005_fix_shutdown.patch create mode 100644 package/libshairport/libshairport-1.2.0.20310_lib-006_no_printf.patch create mode 100644 package/libshairport/libshairport-1.2.0.20310_lib-007_fix_syslog_defines.patch create mode 100644 package/libshairport/libshairport-1.2.0.20310_lib-008-add-missing-libs.patch create mode 100644 package/libshairport/libshairport-1.2.0.20310_lib-009_fix_ipv6.patch create mode 100644 package/libshairport/libshairport.mk diff --git a/package/Config.in b/package/Config.in index 6e926bf..d798137 100644 --- a/package/Config.in +++ b/package/Config.in @@ -526,6 +526,7 @@ source "package/liboping/Config.in" source "package/libpcap/Config.in" source "package/libosip2/Config.in" source "package/librsync/Config.in" +source "package/libshairport/Config.in" source "package/libsoup/Config.in" source "package/libtirpc/Config.in" source "package/libtorrent/Config.in" diff --git a/package/libshairport/Config.in b/package/libshairport/Config.in new file mode 100644 index 0000000..23ba5ed --- /dev/null +++ b/package/libshairport/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_LIBSHAIRPORT + bool "libshairport" + select BR2_PACKAGE_OPENSSL + depends on BR2_INET_IPV6 + help + libshaiport is a client library that emulates an airplay + server + + https://github.com/albertz/shairport + +comment "libshairport requires a toolchain with IPV6 support" + depends on !BR2_INET_IPV6 diff --git a/package/libshairport/libshairport-1.2.0.20310_lib-001_add_ao.patch b/package/libshairport/libshairport-1.2.0.20310_lib-001_add_ao.patch new file mode 100644 index 0000000..b2debed --- /dev/null +++ b/package/libshairport/libshairport-1.2.0.20310_lib-001_add_ao.patch @@ -0,0 +1,270 @@ +diff -uP libshairport-1.2.0.20310_lib/src/ao.h ../../../../../libshairport-1.2.0.20310_lib/src/ao.h +--- libshairport-1.2.0.20310_lib-org/src/ao.h 1970-01-01 01:00:00.000000000 +0100 ++++ libshairport-1.2.0.20310_lib-mod/src/ao.h 2011-09-25 20:36:36.000000000 +0200 +@@ -0,0 +1,156 @@ ++/* ++ * ++ * ao.h ++ * ++ * Original Copyright (C) Aaron Holtzman - May 1999 ++ * Modifications Copyright (C) Stan Seibert - July 2000, July 2001 ++ * More Modifications Copyright (C) Jack Moffitt - October 2000 ++ * ++ * This file is part of libao, a cross-platform audio outputlibrary. See ++ * README for a history of this source code. ++ * ++ * libao is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * libao is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with GNU Make; see the file COPYING. If not, write to ++ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. ++ * ++ */ ++#ifndef __AO_H__ ++#define __AO_H__ ++ ++#ifdef __cplusplus ++extern "C" ++{ ++#endif /* __cplusplus */ ++ ++#include <stdio.h> ++#include <stdlib.h> ++#include <stdint.h> ++#include <errno.h> ++ ++/* --- Constants ---*/ ++ ++#define AO_TYPE_LIVE 1 ++#define AO_TYPE_FILE 2 ++ ++ ++#define AO_ENODRIVER 1 ++#define AO_ENOTFILE 2 ++#define AO_ENOTLIVE 3 ++#define AO_EBADOPTION 4 ++#define AO_EOPENDEVICE 5 ++#define AO_EOPENFILE 6 ++#define AO_EFILEEXISTS 7 ++#define AO_EBADFORMAT 8 ++ ++#define AO_EFAIL 100 ++ ++ ++#define AO_FMT_LITTLE 1 ++#define AO_FMT_BIG 2 ++#define AO_FMT_NATIVE 4 ++ ++/* --- Structures --- */ ++ ++typedef struct ao_info { ++ int type; /* live output or file output? */ ++ char *name; /* full name of driver */ ++ char *short_name; /* short name of driver */ ++ char *author; /* driver author */ ++ char *comment; /* driver comment */ ++ int preferred_byte_format; ++ int priority; ++ char **options; ++ int option_count; ++} ao_info; ++ ++typedef struct ao_functions ao_functions; ++typedef struct ao_device ao_device; ++ ++typedef struct ao_sample_format { ++ int bits; /* bits per sample */ ++ int rate; /* samples per second (in a single channel) */ ++ int channels; /* number of audio channels */ ++ int byte_format; /* Byte ordering in sample, see constants below */ ++ char *matrix; /* input channel location/ordering */ ++} ao_sample_format; ++ ++typedef struct ao_option { ++ char *key; ++ char *value; ++ struct ao_option *next; ++} ao_option; ++ ++#if defined(AO_BUILDING_LIBAO) ++#include "ao_private.h" ++#endif ++ ++/* --- Functions --- */ ++ ++/* library setup/teardown */ ++void ao_initialize(void); ++void ao_shutdown(void); ++ ++/* device setup/playback/teardown */ ++int ao_append_global_option(const char *key, ++ const char *value); ++int ao_append_option(ao_option **options, ++ const char *key, ++ const char *value); ++void ao_free_options(ao_option *options); ++ ++char* ao_get_option(ao_option *options, const char* key); ++ ++ao_device* ao_open_live(int driver_id, ++ ao_sample_format *format, ++ ao_option *option); ++ao_device* ao_open_file(int driver_id, ++ const char *filename, ++ int overwrite, ++ ao_sample_format *format, ++ ao_option *option); ++ ++int ao_play(ao_device *device, ++ char *output_samples, ++ uint32_t num_bytes); ++int ao_close(ao_device *device); ++ ++/* driver information */ ++int ao_driver_id(const char *short_name); ++int ao_default_driver_id(void); ++ao_info *ao_driver_info(int driver_id); ++ao_info **ao_driver_info_list(int *driver_count); ++char *ao_file_extension(int driver_id); ++ ++/* miscellaneous */ ++int ao_is_big_endian(void); ++ ++ ++#ifdef __cplusplus ++} ++#endif /* __cplusplus */ ++ ++#endif /* __AO_H__ */ ++ ++extern struct AudioOutput g_ao; ++struct AudioOutput ++ { ++ void (*ao_initialize)(void); ++ int (*ao_play)(ao_device *, char *, uint32_t); ++ int (*ao_default_driver_id)(void); ++ ao_device* (*ao_open_live)( int, ao_sample_format *, ao_option *); ++ int (*ao_close)(ao_device *); ++ /* -- Device Setup/Playback/Teardown -- */ ++ int (*ao_append_option)(ao_option **, const char *, const char *); ++ void (*ao_free_options)(ao_option *); ++ char* (*ao_get_option)(ao_option *, const char* ); ++ }; +diff -uP libshairport-1.2.0.20310_lib/src/hairtunes.c ../../../../../libshairport-1.2.0.20310_lib/src/hairtunes.c +--- libshairport-1.2.0.20310_lib-org/src/hairtunes.c 2011-09-23 21:55:48.000000000 +0200 ++++ libshairport-1.2.0.20310_lib-mod/src/hairtunes.c 2011-09-25 20:37:49.000000000 +0200 +@@ -25,7 +25,7 @@ + */ + + #define XBMC +-//#defined HAS_AO ++#define HAS_AO + + #include <stdio.h> + #include <stdlib.h> +@@ -45,7 +45,7 @@ + #include <sys/signal.h> + #include <fcntl.h> + #ifdef HAS_AO +-#include <ao/ao.h> ++#include "ao.h" + #endif + + #ifdef FANCY_RESAMPLING +@@ -881,7 +881,7 @@ + } + #ifdef HAS_AO + } else { +- ao_play(dev, (char *)outbuf, play_samples*4); ++ g_ao.ao_play(dev, (char *)outbuf, play_samples*4); + #endif + } + } +@@ -906,7 +906,7 @@ + ao_device *dev; + + void* init_ao() { +- ao_initialize(); ++ g_ao.ao_initialize(); + + int driver; + #ifndef XBMC +@@ -921,7 +921,7 @@ + #endif + { + // otherwise choose the default +- driver = ao_default_driver_id(); ++ driver = g_ao.ao_default_driver_id(); + } + + ao_sample_format fmt; +@@ -944,9 +944,9 @@ + } + #endif + +- ao_append_option(&ao_opts, "name", "Streaming..."); ++ g_ao.ao_append_option(&ao_opts, "name", "Streaming..."); + +- dev = ao_open_live(driver, &fmt, ao_opts); ++ dev = g_ao.ao_open_live(driver, &fmt, ao_opts); + if (dev == NULL) { + die("Could not open ao device"); + } +@@ -985,7 +985,7 @@ + audio_running = 0; + pthread_join(audio_thread, NULL); + #ifdef HAS_AO +- ao_close(dev); ++ g_ao.ao_close(dev); + #endif + } + +diff -uP libshairport-1.2.0.20310_lib/src/shairport.c ../../../../../libshairport-1.2.0.20310_lib/src/shairport.c +--- libshairport-1.2.0.20310_lib-org/src/shairport.c 2011-08-21 01:57:56.000000000 +0200 ++++ libshairport-1.2.0.20310_lib-mod/src/shairport.c 2011-09-25 20:44:40.000000000 +0200 +@@ -92,6 +92,14 @@ + static char tPassword[56] = ""; + static char tHWID[HWID_SIZE] = {0,51,52,53,54,55}; + ++#ifdef XBMC ++struct AudioOutput g_ao; ++void shairport_set_ao(struct AudioOutput *ao) ++{ ++ g_ao=*ao; ++} ++#endif ++ + #ifndef XBMC + int main(int argc, char **argv) + #else +diff -uP libshairport-1.2.0.20310_lib/src/shairport.h ../../../../../libshairport-1.2.0.20310_lib/src/shairport.h +--- libshairport-1.2.0.20310_lib-org/src/shairport.h 2011-08-21 01:58:11.000000000 +0200 ++++ libshairport-1.2.0.20310_lib-mod/src/shairport.h 2011-09-25 20:36:43.000000000 +0200 +@@ -11,6 +11,7 @@ + #include <regex.h> + #include <sys/types.h> + #include <regex.h> ++#include "ao.h" + + + #define HWID_SIZE 6 +@@ -62,9 +63,11 @@ + void shairport_exit(void); + int shairport_loop(void); + int shairport_is_running(void); ++void shairport_set_ao(struct AudioOutput *ao); + + #ifdef __cplusplus + } + #endif /* __cplusplus */ + + #endif ++ diff --git a/package/libshairport/libshairport-1.2.0.20310_lib-002_fix_install_header.patch b/package/libshairport/libshairport-1.2.0.20310_lib-002_fix_install_header.patch new file mode 100644 index 0000000..0563f6b --- /dev/null +++ b/package/libshairport/libshairport-1.2.0.20310_lib-002_fix_install_header.patch @@ -0,0 +1,12 @@ +--- libshairport-1.2.0.20310_lib-org/src/Makefile.am.old 2011-09-23 23:14:39.000000000 +0200 ++++ libshairport-1.2.0.20310_lib-mod/src/Makefile.am 2011-09-25 21:38:08.000000000 +0200 +@@ -1,7 +1,7 @@ + lib_LTLIBRARIES=libshairport.la + +-library_includedir=$(includedir) +-library_include_HEADERS = shairport.h ++library_includedir=$(includedir)/shairport ++library_include_HEADERS = shairport.h ao.h socketlib.h + + libshairport_la_SOURCES=shairport.c hairtunes.c socketlib.c alac.c + libshairport_la_LDFLAGS=-dynamiclib diff --git a/package/libshairport/libshairport-1.2.0.20310_lib-003_fix_deadlock.patch b/package/libshairport/libshairport-1.2.0.20310_lib-003_fix_deadlock.patch new file mode 100644 index 0000000..e419ffb --- /dev/null +++ b/package/libshairport/libshairport-1.2.0.20310_lib-003_fix_deadlock.patch @@ -0,0 +1,10 @@ +--- libshairport-1.2.0.20310_lib-org/src/hairtunes.c.orig 2011-09-25 21:58:08.000000000 +0200 ++++ libshairport-1.2.0.20310_lib-mod/src/hairtunes.c 2011-09-25 21:58:12.000000000 +0200 +@@ -991,6 +991,7 @@ + + void hairtunes_cleanup(void) + { ++ pthread_cond_signal(&ab_buffer_ready); + clean_output(); + clean_rtp(); + clean_buffer(); diff --git a/package/libshairport/libshairport-1.2.0.20310_lib-004_fix_bad_access.patch b/package/libshairport/libshairport-1.2.0.20310_lib-004_fix_bad_access.patch new file mode 100644 index 0000000..f61bdef --- /dev/null +++ b/package/libshairport/libshairport-1.2.0.20310_lib-004_fix_bad_access.patch @@ -0,0 +1,22 @@ +--- libshairport-1.2.0.20310_lib-org/src/hairtunes.c.orig 2011-09-25 23:26:56.000000000 +0200 ++++ libshairport-1.2.0.20310_lib-mod/src/hairtunes.c 2011-09-25 23:29:27.000000000 +0200 +@@ -89,7 +89,6 @@ + // maximal resampling shift - conservative + #define OUTFRAME_BYTES (4*(frame_size+3)) + +- + alac_file *decoder_info; + + #ifdef FANCY_RESAMPLING +@@ -849,6 +848,11 @@ + inbuf = buffer_get_frame(); + } while (!inbuf && audio_running); + ++ if(!audio_running) ++ { ++ return 0; //don't access inbuf if audio stopped ++ } ++ + #ifdef FANCY_RESAMPLING + if (fancy_resampling) { + int i; diff --git a/package/libshairport/libshairport-1.2.0.20310_lib-005_fix_shutdown.patch b/package/libshairport/libshairport-1.2.0.20310_lib-005_fix_shutdown.patch new file mode 100644 index 0000000..8cb0d88 --- /dev/null +++ b/package/libshairport/libshairport-1.2.0.20310_lib-005_fix_shutdown.patch @@ -0,0 +1,10 @@ +--- libshairport-1.2.0.20310_lib-org/src/shairport.c 2011-09-25 23:58:06.000000000 +0200 ++++ libshairport-1.2.0.20310_lib-mod/src/shairport.c.new 2011-09-25 23:57:54.000000000 +0200 +@@ -368,6 +368,7 @@ + void shairport_exit(void) + { + m_running = 0; ++ close(tServerSock); + } + + int shairport_is_running(void) diff --git a/package/libshairport/libshairport-1.2.0.20310_lib-006_no_printf.patch b/package/libshairport/libshairport-1.2.0.20310_lib-006_no_printf.patch new file mode 100644 index 0000000..653b255 --- /dev/null +++ b/package/libshairport/libshairport-1.2.0.20310_lib-006_no_printf.patch @@ -0,0 +1,843 @@ +--- libshairport-1.2.0.20310_lib-org/src/alac.c 2011-08-21 00:06:21.000000000 +0200 ++++ libshairport-1.2.0.20310_lib-mod/src/alac.c 2011-10-01 04:12:09.000000000 +0200 +@@ -804,7 +804,7 @@ + } + else + { +- fprintf(stderr, "FIXME: unhandled predicition type: %i\n", prediction_type); ++ xprintf("FIXME: unhandled predicition type: %i\n", prediction_type); + /* i think the only other prediction type (or perhaps this is just a + * boolean?) runs adaptive fir twice.. like: + * predictor_decompress_fir_adapt(predictor_error, tempout, ...) +@@ -885,7 +885,7 @@ + } + case 20: + case 32: +- fprintf(stderr, "FIXME: unimplemented sample size %i\n", alac->setinfo_sample_size); ++ xprintf("FIXME: unimplemented sample size %i\n", alac->setinfo_sample_size); + break; + default: + break; +@@ -1004,7 +1004,7 @@ + } + else + { /* see mono case */ +- fprintf(stderr, "FIXME: unhandled predicition type: %i\n", prediction_type_a); ++ xprintf("FIXME: unhandled predicition type: %i\n", prediction_type_a); + } + + /* channel 2 */ +@@ -1029,7 +1029,7 @@ + } + else + { +- fprintf(stderr, "FIXME: unhandled predicition type: %i\n", prediction_type_b); ++ xprintf("FIXME: unhandled predicition type: %i\n", prediction_type_b); + } + } + else +@@ -1106,7 +1106,7 @@ + } + case 20: + case 32: +- fprintf(stderr, "FIXME: unimplemented sample size %i\n", alac->setinfo_sample_size); ++ xprintf("FIXME: unimplemented sample size %i\n", alac->setinfo_sample_size); + break; + default: + break; +--- libshairport-1.2.0.20310_lib-org/src/hairtunes.c 2011-10-01 17:45:08.000000000 +0200 ++++ libshairport-1.2.0.20310_lib-mod/src/hairtunes.c 2011-10-01 17:42:07.000000000 +0200 +@@ -121,8 +121,8 @@ + pthread_cond_t ab_buffer_ready; + + static void die(char *why) { +- fprintf(stderr, "FATAL: %s\n", why); +- exit(1); ++ xprintf("FATAL: %s\n", why); ++ //exit(1); + } + + static int hex2bin(unsigned char *buf, char *hex) { +@@ -245,13 +245,13 @@ + continue; + } + if (!strcmp(line, "exit\n")) { +- exit(0); ++ ;//exit(0); + } + if (!strcmp(line, "flush\n")) { + hairtunes_flush(); + } + } +- fprintf(stderr, "bye!\n"); ++ xprintf("bye!\n"); + fflush(stderr); + #endif + +@@ -262,7 +262,7 @@ + { + assert(f<=0); + if (debug) +- fprintf(stderr, "VOL: %lf\n", f); ++ xprintf("VOL: %lf\n", f); + volume = pow(10.0,0.05*f); + fix_volume = 65536.0 * volume; + } +@@ -273,7 +273,7 @@ + ab_resync(); + pthread_mutex_unlock(&ab_mutex); + if (debug) +- fprintf(stderr, "FLUSH\n"); ++ xprintf("FLUSH\n"); + } + + #ifdef HAIRTUNES_STANDALONE +@@ -423,7 +423,7 @@ + } else if (seq_order(ab_read, seqno)) { // late but not yet played + abuf = audio_buffer + BUFIDX(seqno); + } else { // too late. +- fprintf(stderr, "\nlate packet %04X (%04X:%04X)\n", seqno, ab_read, ab_write); ++ xprintf("\nlate packet %04X (%04X:%04X)\n", seqno, ab_read, ab_write); + } + buf_fill = ab_write - ab_read; + pthread_mutex_unlock(&ab_mutex); +@@ -520,7 +520,7 @@ + if (seq_order(last, first)) + return; + +- fprintf(stderr, "requesting resend on %d packets (port %d)\n", last-first+1, controlport); ++ xprintf("requesting resend on %d packets (port %d)\n", last-first+1, controlport); + + char req[8]; // *not* a standard RTCP NACK + req[0] = 0x80; +@@ -604,8 +604,8 @@ + port += 3; + } + +- printf("port: %d\n", port); // let our handler know where we end up listening +- printf("cport: %d\n", port+1); ++ xprintf("port: %d\n", port); // let our handler know where we end up listening ++ xprintf("cport: %d\n", port+1); + + rtp_sockets[0] = sock; + rtp_sockets[1] = csock; +@@ -708,7 +708,7 @@ + bf_est_drift = biquad_filt(&bf_drift_lpf, CONTROL_B*(bf_est_err*CONTROL_A + err_deriv) + bf_est_drift); + + if (debug) +- fprintf(stderr, "bf %d err %f drift %f desiring %f ed %f estd %f\r", fill, bf_est_err, bf_est_drift, desired_fill, err_deriv, err_deriv + CONTROL_A*bf_est_err); ++ xprintf("bf %d err %f drift %f desiring %f ed %f estd %f\r", fill, bf_est_err, bf_est_drift, desired_fill, err_deriv, err_deriv + CONTROL_A*bf_est_err); + bf_playback_rate = 1.0 + CONTROL_A*bf_est_err + bf_est_drift; + + bf_last_err = bf_est_err; +@@ -724,7 +724,7 @@ + buf_fill = ab_write - ab_read; + if (buf_fill < 1 || !ab_synced || ab_buffering) { // init or underrun. stop and wait + if (ab_synced) +- fprintf(stderr, "\nunderrun\n"); ++ xprintf("\nunderrun\n"); + + ab_buffering = 1; + pthread_cond_wait(&ab_buffer_ready, &ab_mutex); +@@ -736,7 +736,7 @@ + return 0; + } + if (buf_fill >= BUFFER_FRAMES) { // overrunning! uh-oh. restart at a sane distance +- fprintf(stderr, "\noverrun.\n"); ++ xprintf("\noverrun.\n"); + ab_read = ab_write - START_FILL; + } + read = ab_read; +@@ -748,7 +748,7 @@ + + volatile abuf_t *curframe = audio_buffer + BUFIDX(read); + if (!curframe->ready) { +- fprintf(stderr, "\nmissing frame.\n"); ++ xprintf("\nmissing frame.\n"); + memset(curframe->data, 0, FRAME_BYTES); + } + curframe->ready = 0; +@@ -775,13 +775,13 @@ + if (stuff) { + if (stuff==1) { + if (debug) +- fprintf(stderr, "+++++++++\n"); ++ xprintf("+++++++++\n"); + // interpolate one sample + *outptr++ = dithered_vol(((long)inptr[-2] + (long)inptr[0]) >> 1); + *outptr++ = dithered_vol(((long)inptr[-1] + (long)inptr[1]) >> 1); + } else if (stuff==-1) { + if (debug) +- fprintf(stderr, "---------\n"); ++ xprintf("---------\n"); + inptr++; + inptr++; + } +--- libshairport-1.2.0.20310_lib-org/src/shairport.c 2011-10-01 17:45:08.000000000 +0200 ++++ libshairport-1.2.0.20310_lib-mod/src/shairport.c 2011-10-01 17:41:04.000000000 +0200 +@@ -31,6 +31,27 @@ + #include "shairport.h" + #include "hairtunes.h" + ++static struct printfPtr g_printf={NULL}; ++ ++int xprintf(const char *format, ...) ++{ ++ char dbg[2048]; ++ va_list args; ++ va_start(args, format); ++ vsnprintf(dbg, sizeof(dbg), format, args); ++ va_end(args); ++ if(g_printf.extprintf) ++ { ++ g_printf.extprintf(dbg, sizeof(dbg)); ++ } ++ else ++ { ++ printf(dbg); ++ } ++ ++ return 1; ++} ++ + #ifndef TRUE + #define TRUE (-1) + #endif +@@ -98,6 +119,11 @@ + { + g_ao=*ao; + } ++ ++void shairport_set_printf(struct printfPtr *funcPtr) ++{ ++ g_printf = *funcPtr; ++} + #endif + + #ifndef XBMC +@@ -106,7 +132,7 @@ + int shairport_main(int argc, char **argv) + #endif + { +- printf("initializing shairport\n"); ++ xprintf("initializing shairport\n",NULL); + char tHWID_Hex[HWID_SIZE * 2 + 1]; + char tKnownHwid[32]; + +@@ -185,22 +211,22 @@ + } + else if(!strcmp(arg, "-h") || !strcmp(arg, "--help")) + { +- slog(LOG_INFO, "ShairPort version 0.05 C port - Airport Express emulator\n"); +- slog(LOG_INFO, "Usage:\nshairport [OPTION...]\n\nOptions:\n"); +- slog(LOG_INFO, " -a, --apname=AirPort Sets Airport name\n"); +- slog(LOG_INFO, " -p, --password=secret Sets Password (not working)\n"); +- slog(LOG_INFO, " -o, --server_port=5000 Sets Port for Avahi/dns-sd\n"); +- slog(LOG_INFO, " -b, --buffer=282 Sets Number of frames to buffer before beginning playback\n"); +- slog(LOG_INFO, " -d Daemon mode\n"); +- slog(LOG_INFO, " -q, --quiet Supresses all output.\n"); +- slog(LOG_INFO, " -v,-v2,-v3,-vv Various debugging levels\n"); +- slog(LOG_INFO, "\n"); ++ xprintf("ShairPort version 0.05 C port - Airport Express emulator\n"); ++ xprintf("Usage:\nshairport [OPTION...]\n\nOptions:\n"); ++ xprintf(" -a, --apname=AirPort Sets Airport name\n"); ++ xprintf(" -p, --password=secret Sets Password (not working)\n"); ++ xprintf(" -o, --server_port=5000 Sets Port for Avahi/dns-sd\n"); ++ xprintf(" -b, --buffer=282 Sets Number of frames to buffer before beginning playback\n"); ++ xprintf(" -d Daemon mode\n"); ++ xprintf(" -q, --quiet Supresses all output.\n"); ++ xprintf(" -v,-v2,-v3,-vv Various debugging levels\n"); ++ xprintf("\n"); + return 0; + } + } + + if ( buffer_start_fill < 30 || buffer_start_fill > BUFFER_FRAMES ) { +- fprintf(stderr, "buffer value must be > 30 and < %d\n", BUFFER_FRAMES); ++ xprintf("buffer value must be > 30 and < %d\n", BUFFER_FRAMES); + return(0); + } + +@@ -209,11 +235,11 @@ + int tPid = fork(); + if(tPid < 0) + { +- exit(1); // Error on fork ++ //exit(1); // Error on fork + } + else if(tPid > 0) + { +- exit(0); ++ //exit(0); + } + else + { +@@ -254,10 +280,10 @@ + sscanf(tHWID_Hex, "%02X%02X%02X%02X%02X%02X", &tHWID[0], &tHWID[1], &tHWID[2], &tHWID[3], &tHWID[4], &tHWID[5]); + } + +- slog(LOG_INFO, "LogLevel: %d\n", kCurrentLogLevel); +- slog(LOG_INFO, "AirName: %s\n", tServerName); +- slog(LOG_INFO, "HWID: %.*s\n", HWID_SIZE, tHWID+1); +- slog(LOG_INFO, "HWID_Hex(%d): %s\n", strlen(tHWID_Hex), tHWID_Hex); ++ xprintf("LogLevel: %d\n", kCurrentLogLevel); ++ xprintf("AirName: %s\n", tServerName); ++ xprintf("HWID: %.*s\n", HWID_SIZE, tHWID+1); ++ xprintf("HWID_Hex(%d): %s\n", strlen(tHWID_Hex), tHWID_Hex); + + if(tSimLevel >= 1) + { +@@ -271,12 +297,12 @@ + #ifndef XBMC + startAvahi(tHWID_Hex, tServerName, tPort); + #endif +- slog(LOG_DEBUG_V, "Starting connection server: specified server port: %d\n", tPort); ++ xprintf("Starting connection server: specified server port: %d\n", tPort); + tServerSock = setupListenServer(&tAddrInfo, tPort); + if(tServerSock < 0) + { + freeaddrinfo(tAddrInfo); +- slog(LOG_INFO, "Error setting up server socket on port %d, try specifying a different port\n", tPort); ++ xprintf("Error setting up server socket on port %d, try specifying a different port\n", tPort); + return 0; + } + +@@ -303,7 +329,7 @@ + + int readsock; + +- slog(LOG_DEBUG_V, "Waiting for clients to connect\n"); ++ xprintf("Waiting for clients to connect\n"); + + while(m_running) + { +@@ -335,7 +361,7 @@ + { + freeaddrinfo(tAddrInfo); + tAddrInfo = NULL; +- slog(LOG_DEBUG, "...Accepted Client Connection..\n"); ++ xprintf("...Accepted Client Connection..\n"); + close(tServerSock); + handleClient(tClientSock, tPassword, tHWID); + //close(tClientSock); +@@ -343,11 +369,11 @@ + } + else + { +- slog(LOG_DEBUG_VV, "Child now busy handling new client\n"); ++ xprintf("Child now busy handling new client\n"); + close(tClientSock); + } + #else +- slog(LOG_DEBUG, "...Accepted Client Connection..\n"); ++ xprintf("...Accepted Client Connection..\n"); + handleClient(tClientSock, tPassword, tHWID); + #endif + } +@@ -357,7 +383,7 @@ + } + } + +- slog(LOG_DEBUG_VV, "Finished\n"); ++ xprintf("Finished\n"); + if(tAddrInfo != NULL) + { + freeaddrinfo(tAddrInfo); +@@ -416,7 +442,7 @@ + + void handleClient(int pSock, char *pPassword, char *pHWADDR) + { +- slog(LOG_DEBUG_VV, "In Handle Client\n"); ++ xprintf("In Handle Client\n"); + fflush(stdout); + + socklen_t len; +@@ -435,7 +461,7 @@ + + // deal with both IPv4 and IPv6: + if (addr.ss_family == AF_INET) { +- slog(LOG_DEBUG_V, "Constructing ipv4 address\n"); ++ xprintf("Constructing ipv4 address\n"); + struct sockaddr_in *s = (struct sockaddr_in *)&addr; + port = ntohs(s->sin_port); + inet_ntop(AF_INET, &s->sin_addr, ipstr, sizeof ipstr); +@@ -455,20 +481,20 @@ + if(memcmp(&addr.bin[0], "\x00\x00\x00\x00" "\x00\x00\x00\x00" "\x00\x00\xff\xff", 12) == 0) + { + // its ipv4... +- slog(LOG_DEBUG_V, "Constructing ipv4 from ipv6 address\n"); ++ xprintf("Constructing ipv4 from ipv6 address\n"); + memcpy(ipbin, &addr.bin[12], 4); + ipbinlen = 4; + } + else + { +- slog(LOG_DEBUG_V, "Constructing ipv6 address\n"); ++ xprintf("Constructing ipv6 address\n"); + memcpy(ipbin, &s->sin6_addr, 16); + ipbinlen = 16; + } + } + +- slog(LOG_DEBUG_V, "Peer IP address: %s\n", ipstr); +- slog(LOG_DEBUG_V, "Peer port : %d\n", port); ++ xprintf("Peer IP address: %s\n", ipstr); ++ xprintf("Peer port : %d\n", port); + + int tMoreDataNeeded = 1; + struct keyring tKeys; +@@ -489,16 +515,16 @@ + tError = readDataFromClient(pSock, &(tConn.recv)); + if(!tError && strlen(tConn.recv.data) > 0) + { +- slog(LOG_DEBUG_VV, "Finished Reading some data from client\n"); ++ xprintf("Finished Reading some data from client\n"); + // parse client request + tMoreDataNeeded = parseMessage(&tConn, ipbin, ipbinlen, pHWADDR); + if(1 == tMoreDataNeeded) + { +- slog(LOG_DEBUG_VV, "\n\nNeed to read more data\n"); ++ xprintf("\n\nNeed to read more data\n"); + } + else if(-1 == tMoreDataNeeded) // Forked process down below ended. + { +- slog(LOG_DEBUG_V, "Forked Process ended...cleaning up\n"); ++ xprintf("Forked Process ended...cleaning up\n"); + cleanup(&tConn); + // pSock was already closed + return; +@@ -507,13 +533,13 @@ + } + else + { +- slog(LOG_DEBUG, "Error reading from socket, closing client\n"); ++ xprintf("Error reading from socket, closing client\n"); + // Error reading data....quit. + cleanup(&tConn); + return; + } + } +- slog(LOG_DEBUG_VV, "Writing: %d chars to socket\n", tConn.resp.current); ++ xprintf("Writing: %d chars to socket\n", tConn.resp.current); + //tConn->resp.data[tConn->resp.current-1] = '\0'; + writeDataToClient(pSock, &(tConn.resp)); + // Finished reading one message... +@@ -526,9 +552,9 @@ + + void writeDataToClient(int pSock, struct shairbuffer *pResponse) + { +- slog(LOG_DEBUG_VV, "\n----Beg Send Response Header----\n%.*s\n", pResponse->current, pResponse->data); ++ xprintf("\n----Beg Send Response Header----\n%.*s\n", pResponse->current, pResponse->data); + send(pSock, pResponse->data, pResponse->current,0); +- slog(LOG_DEBUG_VV, "----Send Response Header----\n"); ++ xprintf("----Send Response Header----\n"); + } + + int readDataFromClient(int pSock, struct shairbuffer *pClientBuffer) +@@ -541,7 +567,7 @@ + while(tRetval > 0 && tEnd < 0) + { + // Read from socket until \n\n, \r\n\r\n, or \r\r is found +- slog(LOG_DEBUG_V, "Waiting To Read...\n"); ++ xprintf("Waiting To Read...\n"); + fflush(stdout); + tRetval = read(pSock, tReadBuf, MAX_SIZE); + // if new buffer contains the end of request string, only copy partial buffer? +@@ -552,40 +578,40 @@ + { + pClientBuffer->marker = tEnd+1; // Marks start of content + } +- slog(SOCKET_LOG_LEVEL, "Found end of http request at: %d\n", tEnd); ++ xprintf("Found end of http request at: %d\n", tEnd); + fflush(stdout); + } + else + { + tEnd = MAX_SIZE; +- slog(SOCKET_LOG_LEVEL, "Read %d of data so far\n%s\n", tRetval, tReadBuf); ++ xprintf("Read %d of data so far\n%s\n", tRetval, tReadBuf); + fflush(stdout); + } + if(tRetval > 0) + { + // Copy read data into tReceive; +- slog(SOCKET_LOG_LEVEL, "Read %d data, using %d of it\n", tRetval, tEnd); ++ xprintf("Read %d data, using %d of it\n", tRetval, tEnd); + addNToShairBuffer(pClientBuffer, tReadBuf, tRetval); +- slog(LOG_DEBUG_VV, "Finished copying data\n"); ++ xprintf("Finished copying data\n"); + } + else + { +- slog(LOG_DEBUG, "Error reading data from socket, got: %d bytes", tRetval); ++ xprintf("Error reading data from socket, got: %d bytes", tRetval); + return tRetval; + } + } + if(tEnd + 1 != tRetval) + { +- slog(SOCKET_LOG_LEVEL, "Read more data after end of http request. %d instead of %d\n", tRetval, tEnd+1); ++ xprintf("Read more data after end of http request. %d instead of %d\n", tRetval, tEnd+1); + } +- slog(SOCKET_LOG_LEVEL, "Finished Reading Data:\n%s\nEndOfData\n", pClientBuffer->data); ++ xprintf("Finished Reading Data:\n%s\nEndOfData\n", pClientBuffer->data); + fflush(stdout); + return 0; + } + + char *getFromBuffer(char *pBufferPtr, const char *pField, int pLenAfterField, int *pReturnSize, char *pDelims) + { +- slog(LOG_DEBUG_V, "GettingFromBuffer: %s\n", pField); ++ xprintf("GettingFromBuffer: %s\n", pField); + char* tFound = strstr(pBufferPtr, pField); + int tSize = 0; + if(tFound != NULL) +@@ -606,7 +632,7 @@ + } + + tSize = (int) (tShortest - tFound); +- slog(LOG_DEBUG_VV, "Found %.*s length: %d\n", tSize, tFound, tSize); ++ xprintf("Found %.*s length: %d\n", tSize, tFound, tSize); + if(pReturnSize != NULL) + { + *pReturnSize = tSize; +@@ -614,7 +640,7 @@ + } + else + { +- slog(LOG_DEBUG_V, "Not Found\n"); ++ xprintf("Not Found\n"); + } + return tFound; + } +@@ -648,10 +674,10 @@ + { + char tTrim[tFoundSize + 2]; + getTrimmed(tFound, tFoundSize, TRUE, TRUE, tTrim); +- slog(LOG_DEBUG_VV, "HeaderChallenge: [%s] len: %d sizeFound: %d\n", tTrim, strlen(tTrim), tFoundSize); ++ xprintf("HeaderChallenge: [%s] len: %d sizeFound: %d\n", tTrim, strlen(tTrim), tFoundSize); + int tChallengeDecodeSize = 16; + char *tChallenge = decode_base64((unsigned char *)tTrim, tFoundSize, &tChallengeDecodeSize); +- slog(LOG_DEBUG_VV, "Challenge Decode size: %d expected 16\n", tChallengeDecodeSize); ++ xprintf("Challenge Decode size: %d expected 16\n", tChallengeDecodeSize); + + int tCurSize = 0; + unsigned char tChalResp[38]; +@@ -673,7 +699,7 @@ + } + + char *tTmp = encode_base64((unsigned char *)tChalResp, tCurSize); +- slog(LOG_DEBUG_VV, "Full sig: %s\n", tTmp); ++ xprintf("Full sig: %s\n", tTmp); + free(tTmp); + + // RSA Encrypt +@@ -722,10 +748,10 @@ + { + if(isLogEnabledFor(HEADER_LOG_LEVEL)) + { +- slog(HEADER_LOG_LEVEL, "Content-Length: %s value -> %d\n", tContent, tContentSize); ++ xprintf("Content-Length: %s value -> %d\n", tContent, tContentSize); + if(pConn->recv.marker != 0) + { +- slog(HEADER_LOG_LEVEL, "ContentPtr has %d, but needs %d\n", ++ xprintf("ContentPtr has %d, but needs %d\n", + strlen(pConn->recv.data+pConn->recv.marker), tContentSize); + } + } +@@ -735,7 +761,7 @@ + } + else + { +- slog(LOG_DEBUG_VV, "No content, header only\n"); ++ xprintf("No content, header only\n"); + } + + // "Creates" a new Response Header for our response message +@@ -748,7 +774,7 @@ + { + tLen = 20; + } +- slog(LOG_INFO, "********** RECV %.*s **********\n", tLen, pConn->recv.data); ++ xprintf("********** RECV %.*s **********\n", tLen, pConn->recv.data); + } + + if(pConn->password != NULL) +@@ -758,7 +784,7 @@ + + if(buildAppleResponse(pConn, pIpBin, pIpBinLen, pHWID)) // need to free sig + { +- slog(LOG_DEBUG_V, "Added AppleResponse to Apple-Challenge request\n"); ++ xprintf("Added AppleResponse to Apple-Challenge request\n"); + } + + // Find option, then based on option, do different actions. +@@ -778,14 +804,14 @@ + int tKeySize = 0; + char tEncodedAesIV[tSize + 2]; + getTrimmed(tHeaderVal, tSize, TRUE, TRUE, tEncodedAesIV); +- slog(LOG_DEBUG_VV, "AESIV: [%.*s] Size: %d Strlen: %d\n", tSize, tEncodedAesIV, tSize, strlen(tEncodedAesIV)); ++ xprintf("AESIV: [%.*s] Size: %d Strlen: %d\n", tSize, tEncodedAesIV, tSize, strlen(tEncodedAesIV)); + char *tDecodedIV = decode_base64((unsigned char*) tEncodedAesIV, tSize, &tSize); + + // grab the key, copy it out of the receive buffer + tHeaderVal = getFromContent(tContent, "a=rsaaeskey", &tKeySize); + char tEncodedAesKey[tKeySize + 2]; // +1 for nl, +1 for \0 + getTrimmed(tHeaderVal, tKeySize, TRUE, TRUE, tEncodedAesKey); +- slog(LOG_DEBUG_VV, "AES KEY: [%s] Size: %d Strlen: %d\n", tEncodedAesKey, tKeySize, strlen(tEncodedAesKey)); ++ xprintf("AES KEY: [%s] Size: %d Strlen: %d\n", tEncodedAesKey, tKeySize, strlen(tEncodedAesKey)); + // remove base64 coding from key + char *tDecodedAesKey = decode_base64((unsigned char*) tEncodedAesKey, + tKeySize, &tKeySize); // Need to free DecodedAesKey +@@ -794,7 +820,7 @@ + int tFmtpSize = 0; + char *tFmtp = getFromContent(tContent, "a=fmtp", &tFmtpSize); // Don't need to free + tFmtp = getTrimmedMalloc(tFmtp, tFmtpSize, TRUE, FALSE); // will need to free +- slog(LOG_DEBUG_VV, "Format: %s\n", tFmtp); ++ xprintf("Format: %s\n", tFmtp); + + RSA *rsa = loadKey(); + // Decrypt the binary aes key +@@ -803,11 +829,11 @@ + if(RSA_private_decrypt(tKeySize, (unsigned char *)tDecodedAesKey, + (unsigned char*) tDecryptedKey, rsa, RSA_PKCS1_OAEP_PADDING) >= 0) + { +- slog(LOG_DEBUG, "Decrypted AES key from RSA Successfully\n"); ++ xprintf("Decrypted AES key from RSA Successfully\n"); + } + else + { +- slog(LOG_INFO, "Error Decrypting AES key from RSA\n"); ++ xprintf("Error Decrypting AES key from RSA\n"); + } + free(tDecodedAesKey); + RSA_free(rsa); +@@ -823,13 +849,13 @@ + // struct comms *tComms = pConn->hairtunes; + // if (! (pipe(tComms->in) == 0 && pipe(tComms->out) == 0)) + // { +-// slog(LOG_INFO, "Error setting up hairtunes communications...some things probably wont work very well.\n"); ++// xprintf("Error setting up hairtunes communications...some things probably wont work very well.\n"); + // } + + // Setup fork + char tPort[8] = "6000"; // get this from dup()'d stdout of child pid + +- printf("******** SETUP!!!!!\n"); ++ xprintf("******** SETUP!!!!!\n",NULL); + #ifndef XBMC + int tPid = fork(); + if(tPid == 0) +@@ -845,11 +871,11 @@ + tFound = getFromSetup(pConn->recv.data, "timing_port", &tSize); + getTrimmed(tFound, tSize, 1, 0, tTPortStr); + +- slog(LOG_DEBUG_VV, "converting %s and %s from str->int\n", tCPortStr, tTPortStr); ++ xprintf("converting %s and %s from str->int\n", tCPortStr, tTPortStr); + int tControlport = atoi(tCPortStr); + int tTimingport = atoi(tTPortStr); + +- slog(LOG_DEBUG_V, "Got %d for CPort and %d for TPort\n", tControlport, tTimingport); ++ xprintf("Got %d for CPort and %d for TPort\n", tControlport, tTimingport); + char *tRtp = NULL; + char *tPipe = NULL; + char *tAoDriver = NULL; +@@ -884,7 +910,7 @@ + tDataport, tRtp, tPipe, tAoDriver, tAoDeviceName, tAoDeviceId); + #ifndef XBMC + // Quit when finished. +- slog(LOG_DEBUG, "Returned from hairtunes init....returning -1, should close out this whole side of the fork\n"); ++ xprintf("Returned from hairtunes init....returning -1, should close out this whole side of the fork\n"); + return -1; + } + else if(tPid >0) +@@ -897,7 +923,7 @@ + int tRead = read(tComms->out[0], tFromHairtunes, 80); + if(tRead <= 0) + { +- slog(LOG_INFO, "Error reading port from hairtunes function, assuming default port: %d\n", tPort); ++ xprintf("Error reading port from hairtunes function, assuming default port: %d\n", tPort); + } + else + { +@@ -909,7 +935,7 @@ + } + else + { +- slog(LOG_INFO, "Read %d bytes, Error translating %s into a port\n", tRead, tFromHairtunes); ++ xprintf("Read %d bytes, Error translating %s into a port\n", tRead, tFromHairtunes); + } + } + +@@ -930,7 +956,7 @@ + } + else + { +- slog(LOG_INFO, "Error forking process....dere' be errors round here.\n"); ++ xprintf("Error forking process....dere' be errors round here.\n"); + return -1; + } + #endif +@@ -942,7 +968,7 @@ + propogateCSeq(pConn); + #ifndef XBMC + close(pConn->hairtunes->in[1]); +- slog(LOG_DEBUG, "Tearing down connection, closing pipes\n"); ++ xprintf("Tearing down connection, closing pipes\n"); + #else + hairtunes_cleanup(); + #endif +@@ -964,7 +990,7 @@ + propogateCSeq(pConn); + int tSize = 0; + char *tVol = getFromHeader(pConn->recv.data, "volume", &tSize); +- slog(LOG_DEBUG_VV, "About to write [vol: %.*s] data to hairtunes\n", tSize, tVol); ++ xprintf("About to write [vol: %.*s] data to hairtunes\n", tSize, tVol); + // TBD VOLUME + #ifndef XBMC + write(pConn->hairtunes->in[1], "vol: ", 5); +@@ -973,11 +999,11 @@ + #else + hairtunes_setvolume(atof(tVol)); + #endif +- slog(LOG_DEBUG_VV, "Finished writing data write data to hairtunes\n"); ++ xprintf("Finished writing data write data to hairtunes\n"); + } + else + { +- slog(LOG_DEBUG, "\n\nUn-Handled recv: %s\n", pConn->recv.data); ++ xprintf("\n\nUn-Handled recv: %s\n", pConn->recv.data); + propogateCSeq(pConn); + } + addToShairBuffer(&(pConn->resp), "\r\n"); +@@ -1056,7 +1082,7 @@ + char tName[100 + HWID_SIZE + 3]; + if(strlen(pServerName) > tMaxServerName) + { +- slog(LOG_INFO,"Hey dog, we see you like long server names, " ++ xprintf("Hey dog, we see you like long server names, " + "so we put a strncat in our command so we don't buffer overflow, while you listen to your flow.\n" + "We just used the first %d characters. Pick something shorter if you want\n", tMaxServerName); + } +@@ -1067,7 +1093,7 @@ + strcat(tName, pHWStr); + strcat(tName, "@"); + strncat(tName, pServerName, tMaxServerName); +- slog(AVAHI_LOG_LEVEL, "Avahi/DNS-SD Name: %s\n", tName); ++ xprintf("Avahi/DNS-SD Name: %s\n", tName); + + execlp("avahi-publish-service", "avahi-publish-service", tName, + "_raop._tcp", tPort, "tp=UDP","sm=false","sv=false","ek=1","et=0,1", +@@ -1079,12 +1105,12 @@ + perror("error"); + } + +- slog(LOG_INFO, "Bad error... couldn't find or failed to run: avahi-publish-service OR dns-sd\n"); +- exit(1); ++ xprintf("Bad error... couldn't find or failed to run: avahi-publish-service OR dns-sd\n"); ++ //exit(1); + } + else + { +- slog(LOG_DEBUG_VV, "Avahi/DNS-SD started on PID: %d\n", tPid); ++ xprintf("Avahi/DNS-SD started on PID: %d\n", tPid); + } + return tPid; + } +@@ -1092,7 +1118,7 @@ + + void printBufferInfo(struct shairbuffer *pBuf, int pLevel) + { +- slog(pLevel, "Buffer: [%s] size: %d maxchars:%d\n", pBuf->data, pBuf->current, pBuf->maxsize/sizeof(char)); ++ xprintf("Buffer: [%s] size: %d maxchars:%d\n", pBuf->data, pBuf->current, pBuf->maxsize/sizeof(char)); + } + + int getAvailChars(struct shairbuffer *pBuf) +@@ -1173,7 +1199,8 @@ + { + va_list argp; + va_start(argp, pFormat); +- vprintf(pFormat, argp); ++ xprintf(pFormat, argp); ++ //vprintf(pFormat, argp); + va_end(argp); + } + //#endif +@@ -1227,9 +1254,9 @@ + { + if(pBuf->data != NULL) + { +- slog(LOG_DEBUG_VV, "Hrm, buffer wasn't cleaned up....trying to free\n"); ++ xprintf("Hrm, buffer wasn't cleaned up....trying to free\n"); + free(pBuf->data); +- slog(LOG_DEBUG_VV, "Free didn't seem to seg fault....huzzah\n"); ++ xprintf("Free didn't seem to seg fault....huzzah\n"); + } + pBuf->current = 0; + pBuf->marker = 0; +@@ -1287,6 +1314,6 @@ + BIO *tBio = BIO_new_mem_buf(AIRPORT_PRIVATE_KEY, -1); + RSA *rsa = PEM_read_bio_RSAPrivateKey(tBio, NULL, NULL, NULL); //NULL, NULL, NULL); + BIO_free(tBio); +- slog(RSA_LOG_LEVEL, "RSA Key: %d\n", RSA_check_key(rsa)); ++ xprintf("RSA Key: %d\n", RSA_check_key(rsa)); + return rsa; + } +--- libshairport-1.2.0.20310_lib-org/src/shairport.h 2011-10-01 17:45:08.000000000 +0200 ++++ libshairport-1.2.0.20310_lib-mod/src/shairport.h 2011-10-01 17:19:43.000000000 +0200 +@@ -59,11 +59,17 @@ + { + #endif /* __cplusplus */ + ++struct printfPtr ++{ ++ int (*extprintf)(const char* msg, size_t msgSize); ++}; ++ + int shairport_main(int argc, char **argv); + void shairport_exit(void); + int shairport_loop(void); + int shairport_is_running(void); + void shairport_set_ao(struct AudioOutput *ao); ++void shairport_set_printf(struct printfPtr *funcPtr); + + #ifdef __cplusplus + } +--- libshairport-1.2.0.20310_lib-org/src/socketlib.c 2011-09-23 22:00:48.000000000 +0200 ++++ libshairport-1.2.0.20310_lib-mod/src/socketlib.c 2011-10-01 17:42:39.000000000 +0200 +@@ -82,7 +82,7 @@ + delay(RETRY_DELAY, &tRes); + } + } +- printf("%d Retry attempts exceeded\n", RETRY_COUNT); ++ xprintf("%d Retry attempts exceeded\n", RETRY_COUNT); + return ERROR; + } + +@@ -102,7 +102,7 @@ + tError = getaddrinfo(pHostname, pService, &hints, pAddrInfo); + if(tError != 0) + { +- printf("Error getting address info\n"); ++ xprintf("Error getting address info\n"); + } + return tError; + } +@@ -200,7 +200,7 @@ + else + { + // Invalid encoded data, no other cases are possible. +- printf("Unrecoverable error....base64 values are incorrectly encoded\n"); ++ xprintf("Unrecoverable error....base64 values are incorrectly encoded\n"); + return pSize; + } + } +@@ -226,7 +226,7 @@ + memset(input, 0, length); + memcpy(input, pInput, pLength); + memset(input+pLength, '=', length-pLength); +- printf("Fixed value: [%.*s]\n", length, input); ++ xprintf("Fixed value: [%.*s]\n", length, input); + } + char *buffer = (char *)malloc(length); + memset(buffer, 0, length); diff --git a/package/libshairport/libshairport-1.2.0.20310_lib-007_fix_syslog_defines.patch b/package/libshairport/libshairport-1.2.0.20310_lib-007_fix_syslog_defines.patch new file mode 100644 index 0000000..c394bbd --- /dev/null +++ b/package/libshairport/libshairport-1.2.0.20310_lib-007_fix_syslog_defines.patch @@ -0,0 +1,24 @@ +--- libshairport-1.2.0.20310_lib-org/src/shairport.h 2011-10-01 04:09:16.000000000 +0200 ++++ libshairport-1.2.0.20310_lib-mod/src/shairport.h 2011-11-07 18:05:05.000000000 +0100 +@@ -16,10 +16,17 @@ + + #define HWID_SIZE 6 + #define SHAIRPORT_LOG 1 +-#define LOG_INFO 1 +-#define LOG_DEBUG 5 +-#define LOG_DEBUG_V 6 +-#define LOG_DEBUG_VV 7 ++ ++#ifndef LOG_INFO ++#define LOG_INFO 5 ++#endif ++ ++#ifndef LOG_DEBUG ++#define LOG_DEBUG 6 ++#endif ++ ++#define LOG_DEBUG_V 7 ++#define LOG_DEBUG_VV 8 + + struct shairbuffer + { diff --git a/package/libshairport/libshairport-1.2.0.20310_lib-008-add-missing-libs.patch b/package/libshairport/libshairport-1.2.0.20310_lib-008-add-missing-libs.patch new file mode 100644 index 0000000..0396923 --- /dev/null +++ b/package/libshairport/libshairport-1.2.0.20310_lib-008-add-missing-libs.patch @@ -0,0 +1,21 @@ +--- libshairport-1.2.0.20310_lib-org/configure.in-org 2011-11-08 11:53:42.802419355 -0500 ++++ libshairport-1.2.0.20310_lib-mod/configure.in 2011-11-08 11:55:38.082419413 -0500 +@@ -11,8 +11,9 @@ AC_PROG_LIBTOOL + + # Checks for libraries. + #AC_CHECK_LIB([c], [main]) +-#AC_CHECK_LIB([m], [main]) ++AC_CHECK_LIB([m], [main]) + AC_CHECK_LIB([ssl], [main],, AC_MSG_ERROR($missing_library)) ++AC_CHECK_LIB([crypto], [main],, AC_MSG_ERROR($missing_library)) + AC_CHECK_LIB([pthread], [main],, AC_MSG_ERROR($missing_library)) + + OUTPUT_FILES="Makefile" +@@ -21,4 +22,4 @@ LIBDIR=$PREFIX + + AC_CONFIG_FILES([${OUTPUT_FILES}]) + AC_OUTPUT(Makefile src/Makefile) +-AC_OUTPUT +\ No newline at end of file ++AC_OUTPUT + diff --git a/package/libshairport/libshairport-1.2.0.20310_lib-009_fix_ipv6.patch b/package/libshairport/libshairport-1.2.0.20310_lib-009_fix_ipv6.patch new file mode 100644 index 0000000..ea2b2e4 --- /dev/null +++ b/package/libshairport/libshairport-1.2.0.20310_lib-009_fix_ipv6.patch @@ -0,0 +1,22 @@ +--- libshairport-1.2.0.20310_lib-org/src/socketlib.c 2012-01-04 20:41:05.000000000 +0100 ++++ libshairport-1.2.0.20310_lib-mod/src/socketlib.c 2012-01-04 20:35:53.000000000 +0100 +@@ -48,7 +48,7 @@ + if((tSock==-1) && (pAddrInfo->ai_family == AF_INET6) && (errno == EAFNOSUPPORT)) + { + //Fallback to ipv4 +- perror("Failed to create ipv6 socket. Trying ipv4"); ++ xprintf("Failed to create ipv6 socket. Trying ipv4"); + pAddrInfo->ai_family = AF_INET; + tSock = socket(pAddrInfo->ai_family, pAddrInfo->ai_socktype, 0); + } +@@ -158,8 +158,8 @@ + sprintf(tService, "%d", pPort); // copies port to string + int tFamily = AF_INET; + #ifdef AF_INET6 +- //printf("Listening on IPv6 Socket\n"); +- //tFamily = AF_INET6; ++ xprintf("Listening on IPv6 Socket\n"); ++ tFamily = AF_INET6; + #else + //printf("Listening on IPv4 Socket"); + #endif diff --git a/package/libshairport/libshairport.mk b/package/libshairport/libshairport.mk new file mode 100644 index 0000000..6c3491c --- /dev/null +++ b/package/libshairport/libshairport.mk @@ -0,0 +1,13 @@ +############################################################# +# +# libshairport +# +############################################################# + +LIBSHAIRPORT_VERSION = 1.2.0.20310_lib +LIBSHAIRPORT_SITE = http://mirrors.xbmc.org/build-deps/darwin-libs +LIBSHAIRPORT_INSTALL_STAGING = YES +LIBSHAIRPORT_AUTORECONF = YES +LIBSHAIRPORT_DEPENDENCIES = openssl + +$(eval $(autotools-package)) -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 11/13] libshairport: new package 2013-02-21 14:58 ` [Buildroot] [PATCH 11/13] libshairport: " Maxime Hadjinlian @ 2013-02-21 16:39 ` Samuel Martin 2013-02-21 20:24 ` Yann E. MORIN 0 siblings, 1 reply; 30+ messages in thread From: Samuel Martin @ 2013-02-21 16:39 UTC (permalink / raw) To: buildroot Hi Maxime, 2013/2/21 Maxime Hadjinlian <maxime.hadjinlian@gmail.com>: > libshairport is a client library that emulates an airplay server > This package was originally found at : https://github.com/huceke/buildroot-rbp > By gimli <ebsi4711@gmail.com> > > Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> > --- > package/Config.in | 1 + > package/libshairport/Config.in | 12 + > .../libshairport-1.2.0.20310_lib-001_add_ao.patch | 270 +++++++ > ...rt-1.2.0.20310_lib-002_fix_install_header.patch | 12 + > ...hairport-1.2.0.20310_lib-003_fix_deadlock.patch | 10 + > ...irport-1.2.0.20310_lib-004_fix_bad_access.patch | 22 + > ...hairport-1.2.0.20310_lib-005_fix_shutdown.patch | 10 + > ...ibshairport-1.2.0.20310_lib-006_no_printf.patch | 843 ++++++++++++++++++++ > ...rt-1.2.0.20310_lib-007_fix_syslog_defines.patch | 24 + > ...port-1.2.0.20310_lib-008-add-missing-libs.patch | 21 + > ...libshairport-1.2.0.20310_lib-009_fix_ipv6.patch | 22 + > package/libshairport/libshairport.mk | 13 + [...] > diff --git a/package/libshairport/libshairport-1.2.0.20310_lib-001_add_ao.patch b/package/libshairport/libshairport-1.2.0.20310_lib-001_add_ao.patch > new file mode 100644 > index 0000000..b2debed > --- /dev/null > +++ b/package/libshairport/libshairport-1.2.0.20310_lib-001_add_ao.patch > @@ -0,0 +1,270 @@ > +diff -uP libshairport-1.2.0.20310_lib/src/ao.h ../../../../../libshairport-1.2.0.20310_lib/src/ao.h > +--- libshairport-1.2.0.20310_lib-org/src/ao.h 1970-01-01 01:00:00.000000000 +0100 > ++++ libshairport-1.2.0.20310_lib-mod/src/ao.h 2011-09-25 20:36:36.000000000 +0200 I guess you get the patches from the web? Could you reformat the patches' header according to: http://buildroot.org/downloads/manual/manual.html#_format_and_licensing_of_the_package_patches and/or: http://buildroot.org/downloads/manual/manual.html#_integrating_patches_found_on_the_web [...] > +LIBSHAIRPORT_VERSION = 1.2.0.20310_lib > +LIBSHAIRPORT_SITE = http://mirrors.xbmc.org/build-deps/darwin-libs > +LIBSHAIRPORT_INSTALL_STAGING = YES > +LIBSHAIRPORT_AUTORECONF = YES A short comment why autoreconf is necessary would be appreciated. > +LIBSHAIRPORT_DEPENDENCIES = openssl > + > +$(eval $(autotools-package)) Regards, -- Samuel ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 11/13] libshairport: new package 2013-02-21 16:39 ` Samuel Martin @ 2013-02-21 20:24 ` Yann E. MORIN 0 siblings, 0 replies; 30+ messages in thread From: Yann E. MORIN @ 2013-02-21 20:24 UTC (permalink / raw) To: buildroot Maxime, Samuel, All, On Thursday 21 February 2013 Samuel Martin wrote: > 2013/2/21 Maxime Hadjinlian <maxime.hadjinlian@gmail.com>: > > libshairport is a client library that emulates an airplay server > > This package was originally found at : https://github.com/huceke/buildroot-rbp > > By gimli <ebsi4711@gmail.com> > [...] > > diff --git a/package/libshairport/libshairport-1.2.0.20310_lib-001_add_ao.patch b/package/libshairport/libshairport-1.2.0.20310_lib-001_add_ao.patch > > new file mode 100644 > > index 0000000..b2debed > > --- /dev/null > > +++ b/package/libshairport/libshairport-1.2.0.20310_lib-001_add_ao.patch > > @@ -0,0 +1,270 @@ > > +diff -uP libshairport-1.2.0.20310_lib/src/ao.h ../../../../../libshairport-1.2.0.20310_lib/src/ao.h > > +--- libshairport-1.2.0.20310_lib-org/src/ao.h 1970-01-01 01:00:00.000000000 +0100 > > ++++ libshairport-1.2.0.20310_lib-mod/src/ao.h 2011-09-25 20:36:36.000000000 +0200 > > I guess you get the patches from the web? > > Could you reformat the patches' header according to: > http://buildroot.org/downloads/manual/manual.html#_format_and_licensing_of_the_package_patches > and/or: > http://buildroot.org/downloads/manual/manual.html#_integrating_patches_found_on_the_web Or better yet, grab them from the net with LIBSHAIRPORT_PATCH = http://path/to/patch-1 \ http://path/to/patch-2 \ http://path/to/patch-3 > [...] > > +LIBSHAIRPORT_VERSION = 1.2.0.20310_lib > > +LIBSHAIRPORT_SITE = http://mirrors.xbmc.org/build-deps/darwin-libs > > +LIBSHAIRPORT_INSTALL_STAGING = YES > > +LIBSHAIRPORT_AUTORECONF = YES > A short comment why autoreconf is necessary would be appreciated. And add the license. It looks like it is an MIT (or MIT-like) license, as it is very similar to that: https://spdx.org/licenses/MIT Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 12/13] tinyxml: new package 2013-02-21 14:58 [Buildroot] [pull request] Pull request for branch xbmc Maxime Hadjinlian ` (10 preceding siblings ...) 2013-02-21 14:58 ` [Buildroot] [PATCH 11/13] libshairport: " Maxime Hadjinlian @ 2013-02-21 14:58 ` Maxime Hadjinlian 2013-02-21 20:40 ` Yann E. MORIN 2013-02-21 20:53 ` Yann E. MORIN 2013-02-21 14:58 ` [Buildroot] [PATCH 13/13] Install libfribidi to staging Maxime Hadjinlian 12 siblings, 2 replies; 30+ messages in thread From: Maxime Hadjinlian @ 2013-02-21 14:58 UTC (permalink / raw) To: buildroot Tiny XML Parser. This package was originally found at : https://github.com/huceke/buildroot-rbp By gimli <ebsi4711@gmail.com> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> --- package/Config.in | 1 + package/tinyxml/Config.in | 12 ++++++++++++ package/tinyxml/tinyxml.mk | 12 ++++++++++++ 3 files changed, 25 insertions(+) create mode 100644 package/tinyxml/Config.in create mode 100644 package/tinyxml/tinyxml.mk diff --git a/package/Config.in b/package/Config.in index d798137..7db8ba9 100644 --- a/package/Config.in +++ b/package/Config.in @@ -604,6 +604,7 @@ source "package/libxml2/Config.in" source "package/libxslt/Config.in" source "package/libyaml/Config.in" source "package/mxml/Config.in" +source "package/tinyxml/Config.in" source "package/xerces/Config.in" source "package/yajl/Config.in" endmenu diff --git a/package/tinyxml/Config.in b/package/tinyxml/Config.in new file mode 100644 index 0000000..b549d00 --- /dev/null +++ b/package/tinyxml/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_TINYXML + bool "tinyxml" + depends on BR2_INSTALL_LIBSTDCPP + help + TinyXML is a simple, small, C++ XML parser that can be + easily integrating into other programs. + + https://github.com/leethomason/tinyxml2 + +comment "tinyxml requires C++ support in toolchain" + depends on !BR2_INSTALL_LIBSTDCPP + diff --git a/package/tinyxml/tinyxml.mk b/package/tinyxml/tinyxml.mk new file mode 100644 index 0000000..f4f042b --- /dev/null +++ b/package/tinyxml/tinyxml.mk @@ -0,0 +1,12 @@ +############################################################# +# +# tinyxml +# +############################################################# + +TINYXML_VERSION = 2.6.2_2 +TINYXML_SITE = http://mirrors.xbmc.org/build-deps/sources +TINYXML_AUTORECONF = YES +TINYXML_INSTALL_STAGING = YES + +$(eval $(autotools-package)) -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 12/13] tinyxml: new package 2013-02-21 14:58 ` [Buildroot] [PATCH 12/13] tinyxml: " Maxime Hadjinlian @ 2013-02-21 20:40 ` Yann E. MORIN 2013-02-21 20:53 ` Yann E. MORIN 1 sibling, 0 replies; 30+ messages in thread From: Yann E. MORIN @ 2013-02-21 20:40 UTC (permalink / raw) To: buildroot Maxime, All, On Thursday 21 February 2013 Maxime Hadjinlian wrote: > Tiny XML Parser. > This package was originally found at : https://github.com/huceke/buildroot-rbp > By gimli <ebsi4711@gmail.com> [--SNIP--] > diff --git a/package/tinyxml/Config.in b/package/tinyxml/Config.in > new file mode 100644 > index 0000000..b549d00 > --- /dev/null > +++ b/package/tinyxml/Config.in > @@ -0,0 +1,12 @@ > +config BR2_PACKAGE_TINYXML > + bool "tinyxml" > + depends on BR2_INSTALL_LIBSTDCPP Indent-damage. Leading tabs, please. > diff --git a/package/tinyxml/tinyxml.mk b/package/tinyxml/tinyxml.mk > new file mode 100644 > index 0000000..f4f042b > --- /dev/null > +++ b/package/tinyxml/tinyxml.mk > @@ -0,0 +1,12 @@ > +############################################################# > +# > +# tinyxml > +# > +############################################################# > + > +TINYXML_VERSION = 2.6.2_2 > +TINYXML_SITE = http://mirrors.xbmc.org/build-deps/sources > +TINYXML_AUTORECONF = YES > +TINYXML_INSTALL_STAGING = YES License is the Zlib license: https://github.com/leethomason/tinyxml2/blob/master/tinyxml2.cpp https://spdx.org/licenses/Zlib Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 12/13] tinyxml: new package 2013-02-21 14:58 ` [Buildroot] [PATCH 12/13] tinyxml: " Maxime Hadjinlian 2013-02-21 20:40 ` Yann E. MORIN @ 2013-02-21 20:53 ` Yann E. MORIN 1 sibling, 0 replies; 30+ messages in thread From: Yann E. MORIN @ 2013-02-21 20:53 UTC (permalink / raw) To: buildroot Maxime, All, Sorry, I forgot something in the previous review... On Thursday 21 February 2013 Maxime Hadjinlian wrote: [--SNIP--] > diff --git a/package/tinyxml/tinyxml.mk b/package/tinyxml/tinyxml.mk > new file mode 100644 > index 0000000..f4f042b > --- /dev/null > +++ b/package/tinyxml/tinyxml.mk > @@ -0,0 +1,12 @@ > +############################################################# > +# > +# tinyxml > +# > +############################################################# > + > +TINYXML_VERSION = 2.6.2_2 > +TINYXML_SITE = http://mirrors.xbmc.org/build-deps/sources > +TINYXML_AUTORECONF = YES Explain why it needs autoreconf. As you point the help text to the git repository, I looked there, and there is *no* configure.{ac,in}. But looking at the download URL, I downloaded the tarball, and it seems the XBMC folks have added a configure.ac in their distribution of tinyxml2. But looking even more closely, it seems XBMC is using tinyxml, and *not* tinyxml2. Specifically, they are using tinyxml 2.6.2, originally available there (not to say that's the one we should use): http://sourceforge.net/projects/tinyxml/ So, Id 'update the help text to refer to tinyxml, not tinyxml2. Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 13/13] Install libfribidi to staging 2013-02-21 14:58 [Buildroot] [pull request] Pull request for branch xbmc Maxime Hadjinlian ` (11 preceding siblings ...) 2013-02-21 14:58 ` [Buildroot] [PATCH 12/13] tinyxml: " Maxime Hadjinlian @ 2013-02-21 14:58 ` Maxime Hadjinlian 2013-02-21 20:54 ` Yann E. MORIN 2013-03-18 21:30 ` Peter Korsgaard 12 siblings, 2 replies; 30+ messages in thread From: Maxime Hadjinlian @ 2013-02-21 14:58 UTC (permalink / raw) To: buildroot Install libfribi to staging to be able to link against it. Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> --- package/libfribidi/libfribidi.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/libfribidi/libfribidi.mk b/package/libfribidi/libfribidi.mk index 538997c..45568ca 100644 --- a/package/libfribidi/libfribidi.mk +++ b/package/libfribidi/libfribidi.mk @@ -9,5 +9,6 @@ LIBFRIBIDI_SOURCE = fribidi-$(LIBFRIBIDI_VERSION).tar.bz2 LIBFRIBIDI_SITE = http://www.fribidi.org/download/ LIBFRIBIDI_LICENSE = LGPLv2.1+ LIBFRIBIDI_LICENSE_FILES = COPYING +LIBFRIBIDI_INSTALL_STAGING = YES $(eval $(autotools-package)) -- 1.7.10.4 ^ permalink raw reply related [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 13/13] Install libfribidi to staging 2013-02-21 14:58 ` [Buildroot] [PATCH 13/13] Install libfribidi to staging Maxime Hadjinlian @ 2013-02-21 20:54 ` Yann E. MORIN 2013-03-18 21:30 ` Peter Korsgaard 1 sibling, 0 replies; 30+ messages in thread From: Yann E. MORIN @ 2013-02-21 20:54 UTC (permalink / raw) To: buildroot On Thursday 21 February 2013 Maxime Hadjinlian wrote: > Install libfribi to staging to be able to link against it. > > Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > --- > package/libfribidi/libfribidi.mk | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/package/libfribidi/libfribidi.mk b/package/libfribidi/libfribidi.mk > index 538997c..45568ca 100644 > --- a/package/libfribidi/libfribidi.mk > +++ b/package/libfribidi/libfribidi.mk > @@ -9,5 +9,6 @@ LIBFRIBIDI_SOURCE = fribidi-$(LIBFRIBIDI_VERSION).tar.bz2 > LIBFRIBIDI_SITE = http://www.fribidi.org/download/ > LIBFRIBIDI_LICENSE = LGPLv2.1+ > LIBFRIBIDI_LICENSE_FILES = COPYING > +LIBFRIBIDI_INSTALL_STAGING = YES > > $(eval $(autotools-package)) > -- > 1.7.10.4 > > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot > > -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Buildroot] [PATCH 13/13] Install libfribidi to staging 2013-02-21 14:58 ` [Buildroot] [PATCH 13/13] Install libfribidi to staging Maxime Hadjinlian 2013-02-21 20:54 ` Yann E. MORIN @ 2013-03-18 21:30 ` Peter Korsgaard 1 sibling, 0 replies; 30+ messages in thread From: Peter Korsgaard @ 2013-03-18 21:30 UTC (permalink / raw) To: buildroot >>>>> "Maxime" == Maxime Hadjinlian <maxime.hadjinlian@gmail.com> writes: Maxime> Install libfribi to staging to be able to link against it. Maxime> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Committed, thanks. -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 30+ messages in thread
end of thread, other threads:[~2013-03-18 21:30 UTC | newest] Thread overview: 30+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-02-21 14:58 [Buildroot] [pull request] Pull request for branch xbmc Maxime Hadjinlian 2013-02-21 14:58 ` [Buildroot] [PATCH 01/13] libenca: new package Maxime Hadjinlian 2013-02-21 18:35 ` Yann E. MORIN 2013-02-21 14:58 ` [Buildroot] [PATCH 02/13] libass: " Maxime Hadjinlian 2013-02-21 14:58 ` [Buildroot] [PATCH 03/13] libbluray: " Maxime Hadjinlian 2013-02-21 18:44 ` Yann E. MORIN 2013-02-21 14:58 ` [Buildroot] [PATCH 04/13] libcdio: " Maxime Hadjinlian 2013-02-21 18:47 ` Yann E. MORIN 2013-02-21 14:58 ` [Buildroot] [PATCH 05/13] lockdev: " Maxime Hadjinlian 2013-02-21 18:54 ` Yann E. MORIN 2013-02-21 14:58 ` [Buildroot] [PATCH 06/13] libcec: " Maxime Hadjinlian 2013-02-21 19:03 ` Yann E. MORIN 2013-02-21 14:58 ` [Buildroot] [PATCH 07/13] libmodplug: " Maxime Hadjinlian 2013-02-21 19:49 ` Yann E. MORIN 2013-02-21 14:58 ` [Buildroot] [PATCH 08/13] libnfs: " Maxime Hadjinlian 2013-02-21 19:53 ` Yann E. MORIN 2013-02-21 14:58 ` [Buildroot] [PATCH 09/13] libplist: " Maxime Hadjinlian 2013-02-21 20:01 ` Yann E. MORIN 2013-02-21 14:58 ` [Buildroot] [PATCH 10/13] librtmp: " Maxime Hadjinlian 2013-02-21 20:17 ` Yann E. MORIN 2013-02-24 3:34 ` Thomas Petazzoni 2013-02-21 14:58 ` [Buildroot] [PATCH 11/13] libshairport: " Maxime Hadjinlian 2013-02-21 16:39 ` Samuel Martin 2013-02-21 20:24 ` Yann E. MORIN 2013-02-21 14:58 ` [Buildroot] [PATCH 12/13] tinyxml: " Maxime Hadjinlian 2013-02-21 20:40 ` Yann E. MORIN 2013-02-21 20:53 ` Yann E. MORIN 2013-02-21 14:58 ` [Buildroot] [PATCH 13/13] Install libfribidi to staging Maxime Hadjinlian 2013-02-21 20:54 ` Yann E. MORIN 2013-03-18 21:30 ` Peter Korsgaard
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox