From 0f52cc583d829e4df410bbdcd8d487b2f21ccc1b Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Tue, 11 Oct 2011 09:47:50 +0200 Subject: libmikmod 3.1.12: import from OE classic Signed-off-by: Koen Kooi --- .../mikmod/libmikmod/CVE-2010-2971.patch | 24 +++ .../mikmod/libmikmod/autofoo.patch | 16 ++ .../mikmod/libmikmod/ldflags.patch | 12 ++ .../recipes-multimedia/mikmod/libmikmod/m4.patch | 197 +++++++++++++++++++++ .../recipes-multimedia/mikmod/libmikmod_3.1.12.bb | 31 ++++ 5 files changed, 280 insertions(+) create mode 100644 meta-oe/recipes-multimedia/mikmod/libmikmod/CVE-2010-2971.patch create mode 100644 meta-oe/recipes-multimedia/mikmod/libmikmod/autofoo.patch create mode 100644 meta-oe/recipes-multimedia/mikmod/libmikmod/ldflags.patch create mode 100644 meta-oe/recipes-multimedia/mikmod/libmikmod/m4.patch create mode 100644 meta-oe/recipes-multimedia/mikmod/libmikmod_3.1.12.bb (limited to 'meta-oe/recipes-multimedia/mikmod') diff --git a/meta-oe/recipes-multimedia/mikmod/libmikmod/CVE-2010-2971.patch b/meta-oe/recipes-multimedia/mikmod/libmikmod/CVE-2010-2971.patch new file mode 100644 index 0000000000..94ea8f52a2 --- /dev/null +++ b/meta-oe/recipes-multimedia/mikmod/libmikmod/CVE-2010-2971.patch @@ -0,0 +1,24 @@ +--- + loaders/load_it.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- libmikmod-3.1.12.orig/loaders/load_it.c ++++ libmikmod-3.1.12/loaders/load_it.c +@@ -743,6 +743,8 @@ BOOL IT_Load(BOOL curious) + #define IT_LoadEnvelope(name,type) \ + ih. name##flg =_mm_read_UBYTE(modreader); \ + ih. name##pts =_mm_read_UBYTE(modreader); \ ++ if (ih. name##pts > ITENVCNT) \ ++ ih. name##pts = ITENVCNT; \ + ih. name##beg =_mm_read_UBYTE(modreader); \ + ih. name##end =_mm_read_UBYTE(modreader); \ + ih. name##susbeg=_mm_read_UBYTE(modreader); \ +@@ -756,6 +758,8 @@ BOOL IT_Load(BOOL curious) + #define IT_LoadEnvelope(name,type) \ + ih. name/**/flg =_mm_read_UBYTE(modreader); \ + ih. name/**/pts =_mm_read_UBYTE(modreader); \ ++ if (ih. name/**/pts > ITENVCNT) \ ++ ih. name/**/pts = ITENVCNT; \ + ih. name/**/beg =_mm_read_UBYTE(modreader); \ + ih. name/**/end =_mm_read_UBYTE(modreader); \ + ih. name/**/susbeg=_mm_read_UBYTE(modreader); \ diff --git a/meta-oe/recipes-multimedia/mikmod/libmikmod/autofoo.patch b/meta-oe/recipes-multimedia/mikmod/libmikmod/autofoo.patch new file mode 100644 index 0000000000..22d8170aa8 --- /dev/null +++ b/meta-oe/recipes-multimedia/mikmod/libmikmod/autofoo.patch @@ -0,0 +1,16 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- libmikmod-3.2.0-beta2/configure.in~autofoo ++++ libmikmod-3.2.0-beta2/configure.in +@@ -415,8 +415,6 @@ + + AC_CHECK_FUNCS(setenv snprintf srandom) + AC_REPLACE_FUNCS(strcasecmp strdup strstr) +-# Change extension, as we use libtool +-LIBOBJS="`echo $LIBOBJS|sed -e 's/\.o/\.lo/g'`" + + AC_HEADER_EGREP(srandom,math.h,AC_DEFINE(SRANDOM_IN_MATH_H)) + diff --git a/meta-oe/recipes-multimedia/mikmod/libmikmod/ldflags.patch b/meta-oe/recipes-multimedia/mikmod/libmikmod/ldflags.patch new file mode 100644 index 0000000000..4261379ee4 --- /dev/null +++ b/meta-oe/recipes-multimedia/mikmod/libmikmod/ldflags.patch @@ -0,0 +1,12 @@ +diff -urN libmikmod-3.1.12.orig/libmikmod/Makefile.in libmikmod-3.1.12/libmikmod/Makefile.in +--- libmikmod-3.1.12.orig/libmikmod/Makefile.in 2004-01-21 17:43:52.000000000 +0000 ++++ libmikmod-3.1.12/libmikmod/Makefile.in 2009-04-02 11:28:01.000000000 +0000 +@@ -72,7 +72,7 @@ + rm -f Makefile + + $(LIB): $(OBJ) +- $(LIBTOOL) --mode=link $(CC) -version-info 2:4:0 -o $@ $(OBJ) $(LIBRARY_LIB) -rpath $(DESTDIR)$(libdir) ++ $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -version-info 2:4:0 -o $@ $(OBJ) $(LIBRARY_LIB) -rpath $(DESTDIR)$(libdir) + + dl_hpux.lo: $(top_srcdir)/dlapi/dl_hpux.c \ + $(top_srcdir)/dlapi/dlfcn.h diff --git a/meta-oe/recipes-multimedia/mikmod/libmikmod/m4.patch b/meta-oe/recipes-multimedia/mikmod/libmikmod/m4.patch new file mode 100644 index 0000000000..ac7f2d7d04 --- /dev/null +++ b/meta-oe/recipes-multimedia/mikmod/libmikmod/m4.patch @@ -0,0 +1,197 @@ +--- /dev/null ++++ libmikmod-3.2.0-beta2/m4/esd.m4 +@@ -0,0 +1,194 @@ ++# Configure paths for ESD ++# Manish Singh 98-9-30 ++# stolen back from Frank Belew ++# stolen from Manish Singh ++# Shamelessly stolen from Owen Taylor ++ ++dnl AM_PATH_ESD([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) ++dnl Test for ESD, and define ESD_CFLAGS and ESD_LIBS ++dnl ++AC_DEFUN(AM_PATH_ESD, ++[dnl ++dnl Get the cflags and libraries from the esd-config script ++dnl ++AC_ARG_WITH(esd-prefix,[ --with-esd-prefix=PFX Prefix where ESD is installed (optional)], ++ esd_prefix="$withval", esd_prefix="") ++AC_ARG_WITH(esd-exec-prefix,[ --with-esd-exec-prefix=PFX Exec prefix where ESD is installed (optional)], ++ esd_exec_prefix="$withval", esd_exec_prefix="") ++AC_ARG_ENABLE(esdtest, [ --disable-esdtest Do not try to compile and run a test ESD program], ++ , enable_esdtest=yes) ++ ++ if test x$esd_exec_prefix != x ; then ++ esd_args="$esd_args --exec-prefix=$esd_exec_prefix" ++ if test x${ESD_CONFIG+set} != xset ; then ++ ESD_CONFIG=$esd_exec_prefix/bin/esd-config ++ fi ++ fi ++ if test x$esd_prefix != x ; then ++ esd_args="$esd_args --prefix=$esd_prefix" ++ if test x${ESD_CONFIG+set} != xset ; then ++ ESD_CONFIG=$esd_prefix/bin/esd-config ++ fi ++ fi ++ ++ AC_PATH_PROG(ESD_CONFIG, esd-config, no) ++ min_esd_version=ifelse([$1], ,0.2.7,$1) ++ AC_MSG_CHECKING(for ESD - version >= $min_esd_version) ++ no_esd="" ++ if test "$ESD_CONFIG" = "no" ; then ++ no_esd=yes ++ else ++ AC_LANG_SAVE ++ AC_LANG_C ++ ESD_CFLAGS=`$ESD_CONFIG $esdconf_args --cflags` ++ ESD_LIBS=`$ESD_CONFIG $esdconf_args --libs` ++ ++ esd_major_version=`$ESD_CONFIG $esd_args --version | \ ++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` ++ esd_minor_version=`$ESD_CONFIG $esd_args --version | \ ++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` ++ esd_micro_version=`$ESD_CONFIG $esd_config_args --version | \ ++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` ++ if test "x$enable_esdtest" = "xyes" ; then ++ ac_save_CFLAGS="$CFLAGS" ++ ac_save_LIBS="$LIBS" ++ CFLAGS="$CFLAGS $ESD_CFLAGS" ++ LIBS="$LIBS $ESD_LIBS" ++dnl ++dnl Now check if the installed ESD is sufficiently new. (Also sanity ++dnl checks the results of esd-config to some extent ++dnl ++ rm -f conf.esdtest ++ AC_TRY_RUN([ ++#include ++#include ++#include ++#include ++ ++char* ++my_strdup (char *str) ++{ ++ char *new_str; ++ ++ if (str) ++ { ++ new_str = malloc ((strlen (str) + 1) * sizeof(char)); ++ strcpy (new_str, str); ++ } ++ else ++ new_str = NULL; ++ ++ return new_str; ++} ++ ++int main () ++{ ++ int major, minor, micro; ++ char *tmp_version; ++ ++ system ("touch conf.esdtest"); ++ ++ /* HP/UX 9 (%@#!) writes to sscanf strings */ ++ tmp_version = my_strdup("$min_esd_version"); ++ if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { ++ printf("%s, bad version string\n", "$min_esd_version"); ++ exit(1); ++ } ++ ++ if (($esd_major_version > major) || ++ (($esd_major_version == major) && ($esd_minor_version > minor)) || ++ (($esd_major_version == major) && ($esd_minor_version == minor) && ($esd_micro_version >= micro))) ++ { ++ return 0; ++ } ++ else ++ { ++ printf("\n*** 'esd-config --version' returned %d.%d.%d, but the minimum version\n", $esd_major_version, $esd_minor_version, $esd_micro_version); ++ printf("*** of ESD required is %d.%d.%d. If esd-config is correct, then it is\n", major, minor, micro); ++ printf("*** best to upgrade to the required version.\n"); ++ printf("*** If esd-config was wrong, set the environment variable ESD_CONFIG\n"); ++ printf("*** to point to the correct copy of esd-config, and remove the file\n"); ++ printf("*** config.cache before re-running configure\n"); ++ return 1; ++ } ++} ++ ++],, no_esd=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) ++ CFLAGS="$ac_save_CFLAGS" ++ LIBS="$ac_save_LIBS" ++ AC_LANG_RESTORE ++ fi ++ fi ++ if test "x$no_esd" = x ; then ++ AC_MSG_RESULT(yes) ++ ifelse([$2], , :, [$2]) ++ else ++ AC_MSG_RESULT(no) ++ if test "$ESD_CONFIG" = "no" ; then ++ echo "*** The esd-config script installed by ESD could not be found" ++ echo "*** If ESD was installed in PREFIX, make sure PREFIX/bin is in" ++ echo "*** your path, or set the ESD_CONFIG environment variable to the" ++ echo "*** full path to esd-config." ++ else ++ if test -f conf.esdtest ; then ++ : ++ else ++ echo "*** Could not run ESD test program, checking why..." ++ CFLAGS="$CFLAGS $ESD_CFLAGS" ++ LIBS="$LIBS $ESD_LIBS" ++ AC_LANG_SAVE ++ AC_LANG_C ++ AC_TRY_LINK([ ++#include ++#include ++], [ return 0; ], ++ [ echo "*** The test program compiled, but did not run. This usually means" ++ echo "*** that the run-time linker is not finding ESD or finding the wrong" ++ echo "*** version of ESD. If it is not finding ESD, you'll need to set your" ++ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" ++ echo "*** to the installed location Also, make sure you have run ldconfig if that" ++ echo "*** is required on your system" ++ echo "***" ++ echo "*** If you have an old version installed, it is best to remove it, although" ++ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], ++ [ echo "*** The test program failed to compile or link. See the file config.log for the" ++ echo "*** exact error that occured. This usually means ESD was incorrectly installed" ++ echo "*** or that you have moved ESD since it was installed. In the latter case, you" ++ echo "*** may want to edit the esd-config script: $ESD_CONFIG" ]) ++ CFLAGS="$ac_save_CFLAGS" ++ LIBS="$ac_save_LIBS" ++ AC_LANG_RESTORE ++ fi ++ fi ++ ESD_CFLAGS="" ++ ESD_LIBS="" ++ ifelse([$3], , :, [$3]) ++ fi ++ AC_SUBST(ESD_CFLAGS) ++ AC_SUBST(ESD_LIBS) ++ rm -f conf.esdtest ++]) ++ ++dnl AM_ESD_SUPPORTS_MULTIPLE_RECORD([ACTION-IF-SUPPORTS [, ACTION-IF-NOT-SUPPORTS]]) ++dnl Test, whether esd supports multiple recording clients (version >=0.2.21) ++dnl ++AC_DEFUN(AM_ESD_SUPPORTS_MULTIPLE_RECORD, ++[dnl ++ AC_MSG_NOTICE([whether installed esd version supports multiple recording clients]) ++ ac_save_ESD_CFLAGS="$ESD_CFLAGS" ++ ac_save_ESD_LIBS="$ESD_LIBS" ++ AM_PATH_ESD(0.2.21, ++ ifelse([$1], , [ ++ AM_CONDITIONAL(ESD_SUPPORTS_MULTIPLE_RECORD, true) ++ AC_DEFINE(ESD_SUPPORTS_MULTIPLE_RECORD, 1, ++ [Define if you have esound with support of multiple recording clients.])], ++ [$1]), ++ ifelse([$2], , [AM_CONDITIONAL(ESD_SUPPORTS_MULTIPLE_RECORD, false)], [$2]) ++ if test "x$ac_save_ESD_CFLAGS" != x ; then ++ ESD_CFLAGS="$ac_save_ESD_CFLAGS" ++ fi ++ if test "x$ac_save_ESD_LIBS" != x ; then ++ ESD_LIBS="$ac_save_ESD_LIBS" ++ fi ++ ) ++]) diff --git a/meta-oe/recipes-multimedia/mikmod/libmikmod_3.1.12.bb b/meta-oe/recipes-multimedia/mikmod/libmikmod_3.1.12.bb new file mode 100644 index 0000000000..cd80a6fd9e --- /dev/null +++ b/meta-oe/recipes-multimedia/mikmod/libmikmod_3.1.12.bb @@ -0,0 +1,31 @@ +DESCRIPTION = "libmikmod is a module player library supporting many formats, including mod, s3m, it, and xm." +SECTION = "libs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=b2b941d484c442e5c031a51463d8e11b" + +DEPENDS = "alsa-lib" + +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/mikmod/libmikmod-${PV}.tar.gz \ + file://m4.patch \ + file://autofoo.patch \ + file://ldflags.patch \ + file://CVE-2010-2971.patch \ +" + +SRC_URI[md5sum] = "9f3c740298260d5f88981fc0d51f6f16" +SRC_URI[sha256sum] = "891a2b780306e6ef86e381f459e71a085d4e7f56c970a879d3bf341c01bdfc32" + +inherit autotools binconfig lib_package + +EXTRA_OECONF = "\ + --disable-af \ + --enable-alsa \ + --disable-esd \ + --enable-oss \ + --disable-sam9407 \ + --disable-ultra \ + --disable-esdtest \ + --enable-threads \ +" + -- cgit 1.2.3-korg