summaryrefslogtreecommitdiffstats
path: root/package/libcue
diff options
context:
space:
mode:
Diffstat (limited to 'package/libcue')
-rw-r--r--package/libcue/Config.in8
-rw-r--r--package/libcue/libcue-1.4.0-__unused-fix.patch50
-rw-r--r--package/libcue/libcue.mk13
3 files changed, 71 insertions, 0 deletions
diff --git a/package/libcue/Config.in b/package/libcue/Config.in
new file mode 100644
index 000000000..e5e2e1626
--- /dev/null
+++ b/package/libcue/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_LIBCUE
+ bool "libcue"
+ select BR2_PACKAGE_FLEX
+ select BR2_PACKAGE_FLEX_LIBFL
+ help
+ CUE Sheet Parser Library
+
+ http://libcue.sourceforge.net/
diff --git a/package/libcue/libcue-1.4.0-__unused-fix.patch b/package/libcue/libcue-1.4.0-__unused-fix.patch
new file mode 100644
index 000000000..8a5891932
--- /dev/null
+++ b/package/libcue/libcue-1.4.0-__unused-fix.patch
@@ -0,0 +1,50 @@
+[PATCH] fix build on uClibc
+
+Use cue_unused / cue_dead2 for the unused/non-returning annotation macros,
+as uClibc defines a struct member called __unused in stdio.h when built
+with locale support, breaking the build.
+
+According to ANSI C 4.1.2.1, defines beginning with '__' are reserved
+for the implementation, so shouldn't be used in user code.
+
+Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+---
+ src/libcue/cue_scanner.c | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+Index: libcue-1.4.0/src/libcue/cue_scanner.c
+===================================================================
+--- libcue-1.4.0.orig/src/libcue/cue_scanner.c
++++ libcue-1.4.0/src/libcue/cue_scanner.c
+@@ -7,9 +7,11 @@
+
+ #if defined(__FreeBSD__)
+ #include <sys/cdefs.h>
++#define cue_unused __unused
++#define cue_dead2 __dead2
+ #else
+-#define __unused
+-#define __dead2
++#define cue_unused
++#define cue_dead2
+ #endif
+
+ #define FLEX_SCANNER
+@@ -248,7 +250,7 @@
+ YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
+
+ static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
+-static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) __unused;
++static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) cue_unused;
+ static void yy_flex_free YY_PROTO(( void * ));
+
+ #define yy_new_buffer yy_create_buffer
+@@ -285,7 +287,7 @@
+ static yy_state_type yy_get_previous_state YY_PROTO(( void ));
+ static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
+ static int yy_get_next_buffer YY_PROTO(( void ));
+-static void yy_fatal_error YY_PROTO(( yyconst char msg[] )) __dead2;
++static void yy_fatal_error YY_PROTO(( yyconst char msg[] )) cue_dead2;
+
+ /* Done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext.
diff --git a/package/libcue/libcue.mk b/package/libcue/libcue.mk
new file mode 100644
index 000000000..b815c0fbb
--- /dev/null
+++ b/package/libcue/libcue.mk
@@ -0,0 +1,13 @@
+################################################################################
+#
+# libcue
+#
+################################################################################
+
+LIBCUE_VERSION = 1.4.0
+LIBCUE_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/libcue
+LIBCUE_SOURCE = libcue-$(LIBCUE_VERSION).tar.bz2
+LIBCUE_DEPENDENCIES = flex
+LIBCUE_INSTALL_STAGING = YES
+
+$(eval $(call AUTOTARGETS))