From: Juergen Beisert <jbe@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: [ptxdist] [PATCH 2/5] Add the 'id3lib'
Date: Fri, 6 Apr 2012 14:45:17 +0200 [thread overview]
Message-ID: <1333716320-7923-3-git-send-email-jbe@pengutronix.de> (raw)
In-Reply-To: <1333716320-7923-1-git-send-email-jbe@pengutronix.de>
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
---
patches/id3lib-3.8.3/autogen.sh | 1 +
patches/id3lib-3.8.3/fix_configure_for_gcc4.diff | 314 ++++++++++++++++++++++
patches/id3lib-3.8.3/series | 1 +
rules/libid3lib.in | 8 +
rules/libid3lib.make | 63 +++++
5 files changed, 387 insertions(+)
create mode 120000 patches/id3lib-3.8.3/autogen.sh
create mode 100644 patches/id3lib-3.8.3/fix_configure_for_gcc4.diff
create mode 100644 patches/id3lib-3.8.3/series
create mode 100644 rules/libid3lib.in
create mode 100644 rules/libid3lib.make
diff --git a/patches/id3lib-3.8.3/autogen.sh b/patches/id3lib-3.8.3/autogen.sh
new file mode 120000
index 0000000..9f8a4cb
--- /dev/null
+++ b/patches/id3lib-3.8.3/autogen.sh
@@ -0,0 +1 @@
+../autogen.sh
\ No newline at end of file
diff --git a/patches/id3lib-3.8.3/fix_configure_for_gcc4.diff b/patches/id3lib-3.8.3/fix_configure_for_gcc4.diff
new file mode 100644
index 0000000..a911496
--- /dev/null
+++ b/patches/id3lib-3.8.3/fix_configure_for_gcc4.diff
@@ -0,0 +1,314 @@
+Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
+Date: 2008-11-21
+Initial Package Version: 3.8.3
+Upstream Status: unknown
+Origin: fedora
+Description: Allows it to compile with gcc-4.3.
+
+---
+ Makefile.am | 2 +
+ configure.in | 72 +++++++++++++++++++++++--------------------
+ examples/demo_convert.cpp | 2 -
+ examples/demo_copy.cpp | 2 -
+ examples/demo_info.cpp | 2 -
+ examples/demo_tag.cpp | 2 -
+ include/id3/id3lib_strings.h | 1
+ include/id3/writers.h | 2 -
+ src/Makefile.am | 2 +
+ 9 files changed, 50 insertions(+), 37 deletions(-)
+
+Index: id3lib-3.8.3/include/id3/id3lib_strings.h
+===================================================================
+--- id3lib-3.8.3.orig/include/id3/id3lib_strings.h
++++ id3lib-3.8.3/include/id3/id3lib_strings.h
+@@ -29,6 +29,7 @@
+ #ifndef _ID3LIB_STRINGS_H_
+ #define _ID3LIB_STRINGS_H_
+
++#include <cstring>
+ #include <string>
+
+ #if (defined(__GNUC__) && (__GNUC__ >= 3) || (defined(_MSC_VER) && _MSC_VER > 1000))
+Index: id3lib-3.8.3/configure.in
+===================================================================
+--- id3lib-3.8.3.orig/configure.in
++++ id3lib-3.8.3/configure.in
+@@ -12,17 +12,21 @@
+ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ # require autoconf 2.13
+-AC_PREREQ(2.13)
++AC_PREREQ([2.68])
+
+ # init autoconf (and check for presence fo reconf)
+-AC_INIT(reconf)
++AC_INIT([id3lib], [3.8.3], [])
++AC_CONFIG_SRCDIR([config.h.in])
++AC_CONFIG_HEADERS([config.h])
++AC_CONFIG_SRCDIR([reconf])
++AC_CONFIG_MACRO_DIR([m4])
+
+ ID3LIB_NAME=id3lib
+
+ dnl The following has been adapted from glib (http://www.gtk.org)
+ dnl
+ dnl we need to AC_DIVERT_PUSH/AC_DIVERT_POP these variable definitions so they
+-dnl are available for $ac_help expansion (don't we all *love* autoconf?)
++dnl are available for $ac_help expansion (dont we all *love* autoconf?)
+ #AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
+ ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+ [AC_DIVERT_PUSH(NOTICE)])
+@@ -83,14 +87,12 @@ ID3LIB_FULLNAME=$ID3LIB_NAME-$ID3LIB_VER
+
+ AC_SUBST(ID3LIB_FULLNAME)
+
+-AM_CONFIG_HEADER(config.h)
+-
+ AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
+
+-AC_ISC_POSIX
++AC_SEARCH_LIBS([strerror],[cposix])
+
+ dnl Initialize libtool
+-AM_PROG_LIBTOOL
++LT_INIT
+
+ dnl Initialize maintainer mode
+ AM_MAINTAINER_MODE
+@@ -123,15 +125,22 @@ dnl for executable extensions
+ AC_EXEEXT
+
+ dnl Checks for libraries.
+-AC_CHECK_LIB(z,uncompress,AC_DEFINE_UNQUOTED(HAVE_ZLIB))#,,
+-# AC_MSG_ERROR([id3lib requires zlib to process compressed frames]))
+
+-AM_CONDITIONAL(ID3_NEEDZLIB, test x$ac_cv_lib_z_uncompress = xno)
++PKG_CHECK_MODULES([ZLIB], [zlib >= 1.2],
++ [
++ AC_DEFINE(HAVE_ZLIB)
++ AM_CONDITIONAL(ID3_NEEDZLIB, false)
++ ],
++ [
++ AM_CONDITIONAL(ID3_NEEDZLIB, true)
++ CONDITIONAL_SUBDIRS="$CONDITIONAL_SUBDIRS zlib"
++ ])
++
+ AM_CONDITIONAL(ID3_NEEDDEBUG, test x$enable_debug = xyes)
+
+ dnl Checks for header files.
+ AC_HEADER_STDC
+-AC_CHECK_HEADERS(zlib.h wchar.h sys/param.h unistd.h )
++AC_CHECK_HEADERS(wchar.h sys/param.h unistd.h )
+
+ dnl check wheter iconv is the part of libc.
+ AC_CHECK_HEADERS( iconv.h, has_iconv=1, has_iconv=0)
+@@ -161,18 +170,17 @@ if test $has_iconv = 1; then
+ fi
+ #we have iconv at this moment, better check which call to use
+ AC_MSG_CHECKING(whether iconv takes const char ** or char **)
+- AC_TRY_COMPILE([#include <iconv.h>],[
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <iconv.h>]], [[
+ {
+ size_t iconv (iconv_t a, const char ** b, size_t *c, char **d, size_t *e);
+- }],
+- iconv_oldstyle=1, iconv_oldstyle=0)
++ }]])],[iconv_oldstyle=1],[iconv_oldstyle=0])
+ if test $iconv_oldstyle = 1; then
+ AC_MSG_RESULT(const char **)
+- AC_DEFINE(ID3LIB_ICONV_OLDSTYLE)
++ AC_DEFINE([ID3LIB_ICONV_OLDSTYLE], [], [old style])
+ #we'll check out the need of
+ #typecast in the call of iconv_open
+ AC_MSG_CHECKING(whether to typecast in iconv)
+- AC_TRY_COMPILE([#include <iconv.h>],[
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <iconv.h>]], [[
+ {
+ const char *src = "nothing";
+ char *outbuf;
+@@ -180,11 +188,10 @@ if test $has_iconv = 1; then
+ size_t outsize = 0;
+ iconv_t cd;
+ iconv(cd, &src, &insize, &outbuf, &outsize);
+- }],
+- iconv_cast=0, iconv_cast=1)
++ }]])],[iconv_cast=0],[iconv_cast=1])
+ if test $iconv_cast = 1; then
+ AC_MSG_RESULT(yes)
+- AC_DEFINE(ID3LIB_ICONV_CAST_OK)
++ AC_DEFINE(ID3LIB_ICONV_CAST_OK, [], [cast okay])
+ else
+ AC_MSG_RESULT(no)
+ fi
+@@ -194,7 +201,7 @@ if test $has_iconv = 1; then
+ #we'll check out the need of
+ #typecast in the call of iconv_open
+ AC_MSG_CHECKING(whether to typecast in iconv)
+- AC_TRY_COMPILE([#include <iconv.h>],[
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <iconv.h>]], [[
+ {
+ char *src = "nothing";
+ char *outbuf;
+@@ -202,11 +209,10 @@ if test $has_iconv = 1; then
+ size_t outsize = 0;
+ iconv_t cd;
+ iconv(cd, &src, &insize, &outbuf, &outsize);
+- }],
+- iconv_cast=0, iconv_cast=1)
++ }]])],[iconv_cast=0],[iconv_cast=1])
+ if test $iconv_cast = 1; then
+ AC_MSG_RESULT(yes)
+- AC_DEFINE(ID3LIB_ICONV_CAST_OK)
++ AC_DEFINE(ID3LIB_ICONV_CAST_OK, [], [cast okay])
+ else
+ AC_MSG_RESULT(no)
+ fi
+@@ -218,8 +224,14 @@ if test "x$ICONV_LIB" != "x"; then
+ fi
+
+ dnl Check for c++ features
++AC_DIAGNOSE([obsolete],[Instead of using `AC_LANG', `AC_DIAGNOSE([obsolete],[Instead of using `AC_LANG', `AC_LANG_SAVE', and `AC_LANG_RESTORE',
++you should use `AC_LANG_PUSH' and `AC_LANG_POP'.])dnl
++AC_LANG_SAVE', and `AC_LANG_POP([])',
++you should use `AC_LANG_PUSH' and `AC_LANG_POP'.])dnl
++AC_DIAGNOSE([obsolete],[Instead of using `AC_LANG', `AC_LANG_SAVE', and `AC_LANG_RESTORE',
++you should use `AC_LANG_PUSH' and `AC_LANG_POP'.])dnl
+ AC_LANG_SAVE
+-AC_LANG_CPLUSPLUS
++AC_LANG([C++])
+ AC_CHECK_HEADERS(libcw/sys.h)
+ AC_CHECK_HEADERS(cctype climits cstdio cstdlib bitset cstring)
+ AC_CHECK_HEADERS(fstream iostream iomanip vector \
+@@ -227,7 +239,6 @@ AC_CHECK_HEADERS(fstream iostream iomani
+ )
+ AC_CHECK_HEADERS( \
+ string \
+- iomanip.h \
+ ,,AC_MSG_ERROR([Missing a vital header file for id3lib])
+ )
+
+@@ -237,7 +248,7 @@ ID3_CXX_PORTABILITY
+
+ ID3_CXX_WARNINGS
+
+-AC_LANG_RESTORE
++AC_LANG_POP([])
+
+ ID3_DEBUG
+ ID3_UNICODE
+@@ -296,15 +307,11 @@ AC_DEFINE_UNQUOTED(_ID3LIB_INTERFACE_AGE
+ AC_DEFINE_UNQUOTED(_ID3LIB_BINARY_AGE, $ID3LIB_BINARY_AGE)
+ AC_DEFINE_UNQUOTED(_ID3_COMPILED_WITH_DEBUGGING, "${enable_debug}")
+
+-CONDITIONAL_SUBDIRS=
+-if test "x$ac_cv_lib_z_uncompress" = "xno"; then
+- CONDITIONAL_SUBDIRS="$CONDITIONAL_SUBDIRS zlib"
+-fi
+ AC_CONFIG_SUBDIRS(zlib)
+
+ CFLAGS="$CFLAGS -Wall"
+
+-AC_OUTPUT( \
++AC_CONFIG_FILES([\
+ Makefile \
+ doc/Makefile \
+ m4/Makefile \
+@@ -316,4 +323,5 @@ AC_OUTPUT( \
+ examples/Makefile \
+ prj/Makefile \
+ libprj/Makefile
+-)
++])
++AC_OUTPUT
+Index: id3lib-3.8.3/include/id3/writers.h
+===================================================================
+--- id3lib-3.8.3.orig/include/id3/writers.h
++++ id3lib-3.8.3/include/id3/writers.h
+@@ -28,9 +28,9 @@
+ #ifndef _ID3LIB_WRITERS_H_
+ #define _ID3LIB_WRITERS_H_
+
++#include <cstring>
+ #include "id3/writer.h"
+ #include "id3/id3lib_streams.h"
+-//#include <string.h>
+
+ class ID3_CPP_EXPORT ID3_OStreamWriter : public ID3_Writer
+ {
+Index: id3lib-3.8.3/examples/demo_info.cpp
+===================================================================
+--- id3lib-3.8.3.orig/examples/demo_info.cpp
++++ id3lib-3.8.3/examples/demo_info.cpp
+@@ -309,7 +309,7 @@ void PrintInformation(const ID3_Tag &myT
+
+ #define DEBUG
+
+-int main( unsigned int argc, char * const argv[])
++int main(int argc, char * const argv[])
+ {
+ ID3D_INIT_DOUT();
+
+Index: id3lib-3.8.3/examples/demo_copy.cpp
+===================================================================
+--- id3lib-3.8.3.orig/examples/demo_copy.cpp
++++ id3lib-3.8.3/examples/demo_copy.cpp
+@@ -81,7 +81,7 @@ void DisplayTags(ostream &os, luint nTag
+ }
+ }
+
+-int main( unsigned int argc, char * const argv[])
++int main(int argc, char * const argv[])
+ {
+ int ulFlag = ID3TT_ID3;
+ ID3D_INIT_DOUT();
+Index: id3lib-3.8.3/examples/demo_convert.cpp
+===================================================================
+--- id3lib-3.8.3.orig/examples/demo_convert.cpp
++++ id3lib-3.8.3/examples/demo_convert.cpp
+@@ -84,7 +84,7 @@ void DisplayTags(ostream &os, luint nTag
+ }
+ }
+
+-int main( unsigned int argc, char * const argv[])
++int main(int argc, char * const argv[])
+ {
+ flags_t ulFlag = ID3TT_ALL;
+ gengetopt_args_info args;
+Index: id3lib-3.8.3/examples/demo_tag.cpp
+===================================================================
+--- id3lib-3.8.3.orig/examples/demo_tag.cpp
++++ id3lib-3.8.3/examples/demo_tag.cpp
+@@ -46,7 +46,7 @@ void DisplayTags(ostream &os, luint nTag
+ os << "v2";
+ }
+
+-int main( unsigned int argc, char * const argv[])
++int main(int argc, char * const argv[])
+ {
+ int ulFlag = ID3TT_ID3;
+ ID3D_INIT_DOUT();
+Index: id3lib-3.8.3/Makefile.am
+===================================================================
+--- id3lib-3.8.3.orig/Makefile.am
++++ id3lib-3.8.3/Makefile.am
+@@ -9,6 +9,8 @@
+ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
++ACLOCAL_AMFLAGS = -I m4
++
+ # require automake 1.5
+ AUTOMAKE_OPTIONS = 1.5
+
+Index: id3lib-3.8.3/src/Makefile.am
+===================================================================
+--- id3lib-3.8.3.orig/src/Makefile.am
++++ id3lib-3.8.3/src/Makefile.am
+@@ -74,6 +74,8 @@ libid3_la_SOURCES = $(id3lib_sources)
+
+ if ID3_NEEDZLIB
+ LDADD = $(top_builddir)/zlib/src/libz.la
++else
++LDADD = @ZLIB_LIBS@
+ endif
+
+ libid3_la_LDFLAGS = \
diff --git a/patches/id3lib-3.8.3/series b/patches/id3lib-3.8.3/series
new file mode 100644
index 0000000..2c71a8b
--- /dev/null
+++ b/patches/id3lib-3.8.3/series
@@ -0,0 +1 @@
+fix_configure_for_gcc4.diff
diff --git a/rules/libid3lib.in b/rules/libid3lib.in
new file mode 100644
index 0000000..3b7aa4b
--- /dev/null
+++ b/rules/libid3lib.in
@@ -0,0 +1,8 @@
+## SECTION=multimedia_sound
+
+config LIBID3LIB
+ tristate
+ prompt "libid3lib"
+ select ZLIB
+ help
+ ID3 tag reading library
diff --git a/rules/libid3lib.make b/rules/libid3lib.make
new file mode 100644
index 0000000..73d0ca2
--- /dev/null
+++ b/rules/libid3lib.make
@@ -0,0 +1,63 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2012 by Juergen Beisert <jbe@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_LIBID3LIB) += libid3lib
+
+#
+# Paths and names
+#
+LIBID3LIB_VERSION := 3.8.3
+LIBID3LIB_MD5 := 19f27ddd2dda4b2d26a559a4f0f402a7
+LIBID3LIB := id3lib-$(LIBID3LIB_VERSION)
+LIBID3LIB_SUFFIX := tar.gz
+LIBID3LIB_URL := $(call ptx/mirror, SF, id3lib/$(LIBID3LIB_VERSION)/$(LIBID3LIB).$(LIBID3LIB_SUFFIX))
+LIBID3LIB_SOURCE := $(SRCDIR)/$(LIBID3LIB).$(LIBID3LIB_SUFFIX)
+LIBID3LIB_DIR := $(BUILDDIR)/$(LIBID3LIB)
+LIBID3LIB_LICENSE := LGPLv2
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+#
+# autoconf
+#
+LIBID3LIB_CONF_TOOL := autoconf
+LIBID3LIB_CONF_OPT := \
+ $(CROSS_AUTOCONF_USR) \
+ --enable-shared \
+ --disable-static \
+ --disable-ansi \
+ --enable-cxx-warnings=yes \
+ --enable-debug=no
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/libid3lib.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, libid3lib)
+ @$(call install_fixup, libid3lib,PRIORITY,optional)
+ @$(call install_fixup, libid3lib,SECTION,base)
+ @$(call install_fixup, libid3lib,AUTHOR,"Juergen Beisert <jbe@pengutronix.de>")
+ @$(call install_fixup, libid3lib,DESCRIPTION,missing)
+
+ @$(call install_lib, libid3lib, 0, 0, 0644, libid3-3.8)
+
+ @$(call install_finish, libid3lib)
+
+ @$(call touch)
+
+# vim: syntax=make
--
1.7.9.5
--
ptxdist mailing list
ptxdist@pengutronix.de
next prev parent reply other threads:[~2012-04-06 12:45 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-06 12:45 [ptxdist] [PATCH] Add all tools to create a internet radio station Juergen Beisert
2012-04-06 12:45 ` [ptxdist] [PATCH 1/5] Add the 'libshout' Juergen Beisert
2012-04-06 12:45 ` Juergen Beisert [this message]
2012-04-06 12:45 ` [ptxdist] [PATCH 3/5] ICECAST: add an audio streaming server Juergen Beisert
2012-04-06 12:45 ` [ptxdist] [PATCH 4/5] Add the 'icegenerator' Juergen Beisert
2012-04-06 12:45 ` [ptxdist] [PATCH 5/5] Add ices Juergen Beisert
2012-04-06 20:01 ` Michael Olbrich
2012-04-07 9:12 ` Juergen Beisert
2012-04-07 10:30 ` Michael Olbrich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1333716320-7923-3-git-send-email-jbe@pengutronix.de \
--to=jbe@pengutronix.de \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox