Accepting request 161264 from home:Zaitor:branches:multimedia:libs
Resub post review. Marcus came to the rescue and fixed the SR for me :-) Baselib also updated OBS-URL: https://build.opensuse.org/request/show/161264 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libmikmod?expand=0&rev=18
This commit is contained in:
parent
d48b1315d1
commit
20656fee72
@ -1,19 +1,17 @@
|
|||||||
This patch fixes "buffer overflow due to md_numchn - ID: 1630158"
|
Index: libmikmod-3.2.0/playercode/mplayer.c
|
||||||
|
|
||||||
Index: libmikmod-3.1.12/playercode/mplayer.c
|
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libmikmod-3.1.12.orig/playercode/mplayer.c
|
--- libmikmod-3.2.0.orig/playercode/mplayer.c
|
||||||
+++ libmikmod-3.1.12/playercode/mplayer.c
|
+++ libmikmod-3.2.0/playercode/mplayer.c
|
||||||
@@ -52,6 +52,8 @@ extern long int random(void);
|
@@ -50,6 +50,8 @@ extern long int random(void);
|
||||||
will wait */
|
/* The currently playing module */
|
||||||
/*static*/ MODULE *pf = NULL;
|
MODULE *pf = NULL;
|
||||||
|
|
||||||
+#define NUMVOICES(mod) (md_sngchn < (mod)->numvoices ? md_sngchn : (mod)->numvoices)
|
+#define NUMVOICES(mod) (md_sngchn < (mod)->numvoices ? md_sngchn : (mod)->numvoices)
|
||||||
+
|
+
|
||||||
#define HIGH_OCTAVE 2 /* number of above-range octaves */
|
#define HIGH_OCTAVE 2 /* number of above-range octaves */
|
||||||
|
|
||||||
static UWORD oldperiods[OCTAVE*2]={
|
static UWORD oldperiods[OCTAVE*2]={
|
||||||
@@ -248,14 +250,14 @@ static int MP_FindEmptyChannel(MODULE *m
|
@@ -246,14 +248,14 @@ static int MP_FindEmptyChannel(MODULE *m
|
||||||
MP_VOICE *a;
|
MP_VOICE *a;
|
||||||
ULONG t,k,tvol,pp;
|
ULONG t,k,tvol,pp;
|
||||||
|
|
||||||
@ -30,7 +28,7 @@ Index: libmikmod-3.1.12/playercode/mplayer.c
|
|||||||
/* allow us to take over a nonexisting sample */
|
/* allow us to take over a nonexisting sample */
|
||||||
if (!a->main.s)
|
if (!a->main.s)
|
||||||
return k;
|
return k;
|
||||||
@@ -2249,12 +2251,12 @@ static void DoNNAEffects(MODULE *mod, MP
|
@@ -2247,12 +2249,12 @@ static void DoNNAEffects(MODULE *mod, MP
|
||||||
|
|
||||||
switch (dat) {
|
switch (dat) {
|
||||||
case 0x0: /* past note cut */
|
case 0x0: /* past note cut */
|
||||||
@ -45,7 +43,7 @@ Index: libmikmod-3.1.12/playercode/mplayer.c
|
|||||||
if (mod->voice[t].master==a) {
|
if (mod->voice[t].master==a) {
|
||||||
mod->voice[t].main.keyoff|=KEY_OFF;
|
mod->voice[t].main.keyoff|=KEY_OFF;
|
||||||
if ((!(mod->voice[t].venv.flg & EF_ON))||
|
if ((!(mod->voice[t].venv.flg & EF_ON))||
|
||||||
@@ -2263,7 +2265,7 @@ static void DoNNAEffects(MODULE *mod, MP
|
@@ -2261,7 +2263,7 @@ static void DoNNAEffects(MODULE *mod, MP
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x2: /* past note fade */
|
case 0x2: /* past note fade */
|
||||||
@ -54,16 +52,7 @@ Index: libmikmod-3.1.12/playercode/mplayer.c
|
|||||||
if (mod->voice[t].master==a)
|
if (mod->voice[t].master==a)
|
||||||
mod->voice[t].main.keyoff|=KEY_FADE;
|
mod->voice[t].main.keyoff|=KEY_FADE;
|
||||||
break;
|
break;
|
||||||
@@ -2318,7 +2320,7 @@ void pt_UpdateVoices(MODULE *mod, int ma
|
@@ -2737,7 +2739,7 @@ void pt_NNA(MODULE *mod)
|
||||||
SAMPLE *s;
|
|
||||||
|
|
||||||
mod->totalchn=mod->realchn=0;
|
|
||||||
- for (channel=0;channel<md_sngchn;channel++) {
|
|
||||||
+ for (channel=0;channel<NUMVOICES(mod);channel++) {
|
|
||||||
aout=&mod->voice[channel];
|
|
||||||
i=aout->main.i;
|
|
||||||
s=aout->main.s;
|
|
||||||
@@ -2736,7 +2738,7 @@ void pt_NNA(MODULE *mod)
|
|
||||||
if (a->dct!=DCT_OFF) {
|
if (a->dct!=DCT_OFF) {
|
||||||
int t;
|
int t;
|
||||||
|
|
||||||
@ -72,8 +61,8 @@ Index: libmikmod-3.1.12/playercode/mplayer.c
|
|||||||
if ((!Voice_Stopped_internal(t))&&
|
if ((!Voice_Stopped_internal(t))&&
|
||||||
(mod->voice[t].masterchn==channel)&&
|
(mod->voice[t].masterchn==channel)&&
|
||||||
(a->main.sample==mod->voice[t].main.sample)) {
|
(a->main.sample==mod->voice[t].main.sample)) {
|
||||||
@@ -2978,6 +2980,11 @@ BOOL Player_Init(MODULE* mod)
|
@@ -2979,6 +2981,11 @@ BOOL Player_Init(MODULE* mod)
|
||||||
if (!(mod->voice=(MP_VOICE*)_mm_calloc(md_sngchn,sizeof(MP_VOICE))))
|
if (!(mod->voice=(MP_VOICE*)MikMod_calloc(md_sngchn,sizeof(MP_VOICE))))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
+ /* mod->numvoices was used during loading to clamp md_sngchn.
|
+ /* mod->numvoices was used during loading to clamp md_sngchn.
|
||||||
@ -84,30 +73,12 @@ Index: libmikmod-3.1.12/playercode/mplayer.c
|
|||||||
Player_Init_internal(mod);
|
Player_Init_internal(mod);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -3086,7 +3093,7 @@ MIKMODAPI void Player_NextPosition(void)
|
@@ -3370,7 +3377,7 @@ MIKMODAPI int Player_QueryVoices(UWORD n
|
||||||
pf->patbrk=0;
|
|
||||||
pf->vbtick=pf->sngspd;
|
|
||||||
|
|
||||||
- for (t=0;t<md_sngchn;t++) {
|
MUTEX_LOCK(vars);
|
||||||
+ for (t=0;t<NUMVOICES(pf);t++) {
|
if (pf)
|
||||||
Voice_Stop_internal(t);
|
- for (i = 0; i < md_sngchn; i++) {
|
||||||
pf->voice[t].main.i=NULL;
|
+ for (i = 0; i < numvoices; i++) {
|
||||||
pf->voice[t].main.s=NULL;
|
vinfo [i].i = pf->voice[i].main.i;
|
||||||
@@ -3111,7 +3118,7 @@ MIKMODAPI void Player_PrevPosition(void)
|
vinfo [i].s = pf->voice[i].main.s;
|
||||||
pf->patbrk=0;
|
vinfo [i].panning = pf->voice [i].main.panning;
|
||||||
pf->vbtick=pf->sngspd;
|
|
||||||
|
|
||||||
- for (t=0;t<md_sngchn;t++) {
|
|
||||||
+ for (t=0;t<NUMVOICES(pf);t++) {
|
|
||||||
Voice_Stop_internal(t);
|
|
||||||
pf->voice[t].main.i=NULL;
|
|
||||||
pf->voice[t].main.s=NULL;
|
|
||||||
@@ -3138,7 +3145,7 @@ MIKMODAPI void Player_SetPosition(UWORD
|
|
||||||
pf->sngpos=pos;
|
|
||||||
pf->vbtick=pf->sngspd;
|
|
||||||
|
|
||||||
- for (t=0;t<md_sngchn;t++) {
|
|
||||||
+ for (t=0;t<NUMVOICES(pf);t++) {
|
|
||||||
Voice_Stop_internal(t);
|
|
||||||
pf->voice[t].main.i=NULL;
|
|
||||||
pf->voice[t].main.s=NULL;
|
|
@ -1 +1 @@
|
|||||||
libmikmod2
|
libmikmod3
|
||||||
|
@ -1,49 +0,0 @@
|
|||||||
Date: Sun, 04 Jul 2004 11:53:23 +0200
|
|
||||||
From: Josselin Mouette
|
|
||||||
Subject: Re: sdl 64bit problem [PATCH]
|
|
||||||
|
|
||||||
Le sam, 03/07/2004 <20> 18:20 +0200, Hans-Frieder Vogt a <20>crit :
|
|
||||||
> Hi list,
|
|
||||||
>
|
|
||||||
> I found the problem that lead to the distorted sound in tuxracer on AMD64. It
|
|
||||||
> may have also been the cause for the other reported sound problems with SDL.
|
|
||||||
> The problem is not in SDL, but in SDL-mixer.
|
|
||||||
> There, music files (*.it, and probably others as well) are incorrectly read on
|
|
||||||
> all 64 bit architectures but Alpha, due to an incorrect data type definition.
|
|
||||||
> The attached patch should solve the problem for all 64 bit architectures on
|
|
||||||
> Linux, since at least cpp defines _LP64 and __LP64__ for them.
|
|
||||||
> _LP64 indicates that long ints and pointers are 64 bits, but integers are 32
|
|
||||||
> bits.
|
|
||||||
> I am not sure whether the usage of _LP64 is also standard for the commercial
|
|
||||||
> compilers, and for other Unixes, but at least Solaris 9 defines _LP64 in the
|
|
||||||
> 64 bit environment as well.
|
|
||||||
>
|
|
||||||
> Josselin,
|
|
||||||
> could you include this patch into your next debian packages?
|
|
||||||
|
|
||||||
Index: libmikmod-3.1.12/include/mikmod.h.in
|
|
||||||
===================================================================
|
|
||||||
--- libmikmod-3.1.12.orig/include/mikmod.h.in
|
|
||||||
+++ libmikmod-3.1.12/include/mikmod.h.in
|
|
||||||
@@ -85,7 +85,7 @@ typedef char CHAR;
|
|
||||||
|
|
||||||
@DOES_NOT_HAVE_SIGNED@
|
|
||||||
|
|
||||||
-#if defined(__arch64__) || defined(__alpha) || defined(__x86_64)
|
|
||||||
+#if defined(__arch64__) || defined(__alpha) || defined(__x86_64) || defined(_LP64)
|
|
||||||
/* 64 bit architectures */
|
|
||||||
|
|
||||||
typedef signed char SBYTE; /* 1 byte, signed */
|
|
||||||
Index: libmikmod-3.1.12/include/mikmod_internals.h
|
|
||||||
===================================================================
|
|
||||||
--- libmikmod-3.1.12.orig/include/mikmod_internals.h
|
|
||||||
+++ libmikmod-3.1.12/include/mikmod_internals.h
|
|
||||||
@@ -50,7 +50,7 @@ extern "C" {
|
|
||||||
/*========== More type definitions */
|
|
||||||
|
|
||||||
/* SLONGLONG: 64bit, signed */
|
|
||||||
-#if defined (__arch64__) || defined(__alpha)
|
|
||||||
+#if defined(__arch64__) || defined(__alpha) || defined(__x86_64) || defined(_LP64)
|
|
||||||
typedef long SLONGLONG;
|
|
||||||
#define NATIVE_64BIT_INT
|
|
||||||
#elif defined(__WATCOMC__)
|
|
@ -1,35 +0,0 @@
|
|||||||
Index: loaders/load_xm.c
|
|
||||||
===================================================================
|
|
||||||
--- loaders/load_xm.c.orig
|
|
||||||
+++ loaders/load_xm.c
|
|
||||||
@@ -636,7 +636,8 @@ static BOOL LoadInstruments(void)
|
|
||||||
_mm_fseek(modreader,ck,SEEK_SET);
|
|
||||||
for(u=headend-_mm_ftell(modreader);u;u--) _mm_read_UBYTE(modreader);
|
|
||||||
|
|
||||||
- if(_mm_eof(modreader)) {
|
|
||||||
+ /* last instrument is at the end of file in version 0x0104 */
|
|
||||||
+ if(_mm_eof(modreader) && (mh->version<0x0104 || t<of.numins-1)) {
|
|
||||||
free(nextwav);free(wh);
|
|
||||||
nextwav=NULL;wh=NULL;
|
|
||||||
_mm_errno = MMERR_LOADING_SAMPLEINFO;
|
|
||||||
Index: playercode/mloader.c
|
|
||||||
===================================================================
|
|
||||||
--- playercode/mloader.c.orig
|
|
||||||
+++ playercode/mloader.c
|
|
||||||
@@ -450,10 +450,12 @@ MODULE* Player_LoadGeneric_internal(MREA
|
|
||||||
if (!l->Init || l->Init()) {
|
|
||||||
_mm_rewind(modreader);
|
|
||||||
ok = l->Load(curious);
|
|
||||||
- /* propagate inflags=flags for in-module samples */
|
|
||||||
- for (t = 0; t < of.numsmp; t++)
|
|
||||||
- if (of.samples[t].inflags == 0)
|
|
||||||
- of.samples[t].inflags = of.samples[t].flags;
|
|
||||||
+ if (ok) {
|
|
||||||
+ /* propagate inflags=flags for in-module samples */
|
|
||||||
+ for (t = 0; t < of.numsmp; t++)
|
|
||||||
+ if (of.samples[t].inflags == 0)
|
|
||||||
+ of.samples[t].inflags = of.samples[t].flags;
|
|
||||||
+ }
|
|
||||||
} else
|
|
||||||
ok = 0;
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
|||||||
Index: loaders/load_it.c
|
|
||||||
===================================================================
|
|
||||||
--- loaders/load_it.c.orig
|
|
||||||
+++ loaders/load_it.c
|
|
||||||
@@ -747,6 +747,8 @@ BOOL IT_Load(BOOL curious)
|
|
||||||
ih. name##end =_mm_read_UBYTE(modreader); \
|
|
||||||
ih. name##susbeg=_mm_read_UBYTE(modreader); \
|
|
||||||
ih. name##susend=_mm_read_UBYTE(modreader); \
|
|
||||||
+ if (ih. name##pts>= ITENVCNT) \
|
|
||||||
+ ih. name##pts = ITENVCNT-1; \
|
|
||||||
for(lp=0;lp<ITENVCNT;lp++) { \
|
|
||||||
ih. name##node[lp]=_mm_read_##type (modreader); \
|
|
||||||
ih. name##tick[lp]=_mm_read_I_UWORD(modreader); \
|
|
||||||
@@ -760,6 +762,8 @@ BOOL IT_Load(BOOL curious)
|
|
||||||
ih. name/**/end =_mm_read_UBYTE(modreader); \
|
|
||||||
ih. name/**/susbeg=_mm_read_UBYTE(modreader); \
|
|
||||||
ih. name/**/susend=_mm_read_UBYTE(modreader); \
|
|
||||||
+ if (ih. name/**/pts>= ITENVCNT) \
|
|
||||||
+ ih. name/**/pts = ITENVCNT-1; \
|
|
||||||
for(lp=0;lp<ITENVCNT;lp++) { \
|
|
||||||
ih. name/**/node[lp]=_mm_read_/**/type (modreader); \
|
|
||||||
ih. name/**/tick[lp]=_mm_read_I_UWORD(modreader); \
|
|
||||||
Index: loaders/load_ult.c
|
|
||||||
===================================================================
|
|
||||||
--- loaders/load_ult.c.orig
|
|
||||||
+++ loaders/load_ult.c
|
|
||||||
@@ -225,6 +225,10 @@ BOOL ULT_Load(BOOL curious)
|
|
||||||
for(t=0;t<of.numpat;t++)
|
|
||||||
of.patterns[(t*of.numchn)+u]=tracks++;
|
|
||||||
|
|
||||||
+ // SA37775
|
|
||||||
+ if (of.numchn>=UF_MAXCHAN)
|
|
||||||
+ of.numchn=UF_MAXCHAN - 1;
|
|
||||||
+
|
|
||||||
/* read pan position table for v1.5 and higher */
|
|
||||||
if(mh.id[14]>='3') {
|
|
||||||
for(t=0;t<of.numchn;t++) of.panning[t]=_mm_read_UBYTE(modreader)<<4;
|
|
@ -1,34 +0,0 @@
|
|||||||
Index: configure.in
|
|
||||||
===================================================================
|
|
||||||
--- configure.in.orig
|
|
||||||
+++ configure.in
|
|
||||||
@@ -134,9 +134,8 @@ AC_PROG_CC
|
|
||||||
AC_PROG_CPP
|
|
||||||
AC_PROG_INSTALL
|
|
||||||
AC_PROG_LN_S
|
|
||||||
-AM_PROG_LIBTOOL
|
|
||||||
AC_PROG_MAKE_SET
|
|
||||||
-AC_PROG_RANLIB
|
|
||||||
+AC_PROG_LIBTOOL
|
|
||||||
|
|
||||||
# Check if makeinfo support html output. If it doesn't, pretend it's missing
|
|
||||||
# rather than failing rebuilding the documentation.
|
|
||||||
@@ -377,7 +376,7 @@ fi
|
|
||||||
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'`"
|
|
||||||
+# LIBOBJS="`echo $LIBOBJS|sed -e 's/\.o/\.lo/g'`"
|
|
||||||
|
|
||||||
AC_HEADER_EGREP(srandom,math.h,AC_DEFINE(SRANDOM_IN_MATH_H))
|
|
||||||
|
|
||||||
Index: include/Makefile.am
|
|
||||||
===================================================================
|
|
||||||
--- include/Makefile.am.orig
|
|
||||||
+++ include/Makefile.am
|
|
||||||
@@ -1,3 +1,4 @@
|
|
||||||
### This @#!&*%$@ autoconf wants to have a mikmod_build.h.in file !!!
|
|
||||||
EXTRA_DIST = mikmod_internals.h mikmod_build.h.in
|
|
||||||
-include_HEADERS = mikmod.h
|
|
||||||
+include_HEADERS = mikmod.h mikmod_internals.h mikmod_build.h
|
|
||||||
+
|
|
@ -1,22 +0,0 @@
|
|||||||
Index: libmikmod-config.in
|
|
||||||
===================================================================
|
|
||||||
--- libmikmod-config.in.orig
|
|
||||||
+++ libmikmod-config.in
|
|
||||||
@@ -3,6 +3,7 @@
|
|
||||||
prefix=@prefix@
|
|
||||||
exec_prefix=@exec_prefix@
|
|
||||||
exec_prefix_set=no
|
|
||||||
+libdir=@libdir@
|
|
||||||
|
|
||||||
usage="\
|
|
||||||
Usage: libmikmod-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--libs] [--cflags] [--ldadd]"
|
|
||||||
@@ -49,8 +50,7 @@ while test $# -gt 0 ; do
|
|
||||||
echo @LIB_LDADD@
|
|
||||||
;;
|
|
||||||
--libs)
|
|
||||||
- libdir=-L${exec_prefix}/lib
|
|
||||||
- echo $libdir -lmikmod @LIBRARY_LIB@
|
|
||||||
+ echo -L$libdir -lmikmod @LIBRARY_LIB@
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "${usage}" 1>&2
|
|
@ -1,30 +0,0 @@
|
|||||||
Index: libmikmod.m4
|
|
||||||
===================================================================
|
|
||||||
--- libmikmod.m4.orig
|
|
||||||
+++ libmikmod.m4
|
|
||||||
@@ -64,6 +64,7 @@ dnl
|
|
||||||
#include <mikmod.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
+#include <string.h>
|
|
||||||
|
|
||||||
char* my_strdup (char *str)
|
|
||||||
{
|
|
||||||
@@ -78,7 +79,7 @@ char* my_strdup (char *str)
|
|
||||||
return new_str;
|
|
||||||
}
|
|
||||||
|
|
||||||
-int main()
|
|
||||||
+int main(void)
|
|
||||||
{
|
|
||||||
int major,minor,micro;
|
|
||||||
int libmikmod_major_version,libmikmod_minor_version,libmikmod_micro_version;
|
|
||||||
@@ -118,7 +119,7 @@ int main()
|
|
||||||
(libmikmod_micro_version != LIBMIKMOD_REVISION))
|
|
||||||
{
|
|
||||||
printf("*** libmikmod header files (version %d.%d.%d) do not match\n",
|
|
||||||
- LIBMIKMOD_VERSION_MAJOR, LIBMIKMOD_VERSION_MINOR, LIBMIKMOD_REVISION);
|
|
||||||
+ (int)LIBMIKMOD_VERSION_MAJOR, (int)LIBMIKMOD_VERSION_MINOR, (int)LIBMIKMOD_REVISION);
|
|
||||||
printf("*** library (version %d.%d.%d)\n",
|
|
||||||
libmikmod_major_version, libmikmod_minor_version, libmikmod_micro_version);
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
Date: 15 Apr 2002 11:01:19 +0200
|
|
||||||
From: Guillaume Cottenceau <gc@mandrakesoft.com>
|
|
||||||
|
|
||||||
Unfortunately, I should have double checked that the following
|
|
||||||
fix (authored by Dave Goehrig <dave@cthulhu-burger.org>, not me),
|
|
||||||
was really in the CVS... it's not, as of stable 1.2.3 at least.
|
|
||||||
Please include it, it fixes a segfault on exiting a program which
|
|
||||||
disabled MOD music during its execution.
|
|
||||||
|
|
||||||
Index: libmikmod-3.1.12/playercode/virtch_common.c
|
|
||||||
===================================================================
|
|
||||||
--- libmikmod-3.1.12.orig/playercode/virtch_common.c
|
|
||||||
+++ libmikmod-3.1.12/playercode/virtch_common.c
|
|
||||||
@@ -347,7 +347,7 @@ void VC1_VoiceSetPanning(UBYTE voice,ULO
|
|
||||||
|
|
||||||
void VC1_SampleUnload(SWORD handle)
|
|
||||||
{
|
|
||||||
- if (handle<MAXSAMPLEHANDLES) {
|
|
||||||
+ if (Samples && handle<MAXSAMPLEHANDLES) {
|
|
||||||
if (Samples[handle])
|
|
||||||
free(Samples[handle]);
|
|
||||||
Samples[handle]=NULL;
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:3ae3a28201ed314e8fecdfa3ab3ff6768d4c1e71ea9eda33d02c3164022e8492
|
|
||||||
size 495167
|
|
3
libmikmod-3.2.0.tar.gz
Normal file
3
libmikmod-3.2.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:734c8490bbf9b0c587920b92414dcfa3c2267838a0cdf698d5f1fb6bba8f661e
|
||||||
|
size 873258
|
13
libmikmod-lp64.patch
Normal file
13
libmikmod-lp64.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
Index: libmikmod-3.2.0/include/mikmod.h.in
|
||||||
|
===================================================================
|
||||||
|
--- libmikmod-3.2.0.orig/include/mikmod.h.in
|
||||||
|
+++ libmikmod-3.2.0/include/mikmod.h.in
|
||||||
|
@@ -85,7 +85,7 @@ typedef char CHAR;
|
||||||
|
|
||||||
|
@DOES_NOT_HAVE_SIGNED@
|
||||||
|
|
||||||
|
-#if defined(__arch64__) || defined(__alpha) || defined(__x86_64) || defined(__powerpc64__)
|
||||||
|
+#if defined(__arch64__) || defined(__alpha) || defined(__x86_64) || defined(__powerpc64__) || defined(_LP64)
|
||||||
|
/* 64 bit architectures */
|
||||||
|
|
||||||
|
typedef signed char SBYTE; /* 1 byte, signed */
|
@ -1,3 +1,64 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Mar 26 16:49:21 UTC 2013 - meissner@suse.com
|
||||||
|
|
||||||
|
- merged / ported missing patches:
|
||||||
|
- libmikmod-lp64.patch: generic 64bit patch for 64LP architectures
|
||||||
|
- CVE-2007-6720.diff: perhaps missing upstream boundary checks (?)
|
||||||
|
- libmikmod-3.2.0-loopingvolume-fix.diff: seems missing upstream still
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 20 16:26:37 UTC 2012 - zaitor@opensuse.org
|
||||||
|
|
||||||
|
- Update to version 3.2.0:
|
||||||
|
+ MacOS X CoreAudio driver
|
||||||
|
+ Carbon support
|
||||||
|
+ Loader for ASYLUM Music Format v1.0 (.amf) modules, as used in
|
||||||
|
crusader games.
|
||||||
|
+ New function 'Player_QueryVoices' added, which is used to
|
||||||
|
return dynamic channel information about the module player.
|
||||||
|
+ Mixing with floating point output.
|
||||||
|
+ AIFF disk writer driver.
|
||||||
|
+ RPM support. To build a rpm, download the tar.gz, and run this:
|
||||||
|
% rpmbuild -tb libmikmod-3.2.0-beta2.tar.gz
|
||||||
|
+ New NAS driver (Network Audio System). Tested with nasd and
|
||||||
|
NCD X terminals.
|
||||||
|
+ MREADERs now have an iobase member (previously was a static
|
||||||
|
variable in mmio.c).
|
||||||
|
+ Created an example/ subdirectory, to hold programming examples.
|
||||||
|
+ Added functions to read from memory.
|
||||||
|
+ Renamed internal _mm_malloc function to MikMod_malloc, which
|
||||||
|
is now part of the API.
|
||||||
|
+ Raw samples can now be loaded using the new Sample_LoadRaw*
|
||||||
|
family of functions for sound effects.
|
||||||
|
+ PowerPC 64 support
|
||||||
|
+ ALSA driver is now working with "recent" ALSAs.
|
||||||
|
+ Change MDRIVER "char *" fields to "const char *".
|
||||||
|
+ Implement a fix to the ALSA driver in MIKMOD_DYNAMIC mode so
|
||||||
|
it will allow linking against libmikmod when "-Wl,--no-undefined"
|
||||||
|
is passed.
|
||||||
|
- Bugfixes:
|
||||||
|
+ The sun driver now compiles on solaris.
|
||||||
|
+ The wav output driver had problems on big endian systems.
|
||||||
|
+ A warning in libmikmod.m4 with autoconf 1.8 was fixed.
|
||||||
|
+ The 'card' argument, supported by the OSS driver was not
|
||||||
|
documented via the MDRIVER->CmdLineHelp string.
|
||||||
|
+ libmikmod-3.1.11-CVE-2010-2546,2971.diff
|
||||||
|
+ libmikmod-3.1.11-CVE-2009-3995,3996.diff
|
||||||
|
+ Now checking for linking against -lm.
|
||||||
|
+ Modified patch of libmikmod-CVE-2009-0179.patch.
|
||||||
|
+ Apply the libmikmod-CVE-2007-6720.patch.
|
||||||
|
+ Implement a fix for sprintf-of-list
|
||||||
|
+ Apply a patch for non-blocking opening of the OSS driver.
|
||||||
|
+ Fixed the prototypes of vc_callback.
|
||||||
|
+ Cast a vc_callback parameter to "unsigned char *" instead of "char *",
|
||||||
|
becuase the former is what it accepts.
|
||||||
|
+ Check for Samples' validatity in virtch_common.c.
|
||||||
|
+ Fix compilation on MSVC.
|
||||||
|
- Drop all patches, fixed upstream.
|
||||||
|
- Stop passing autoreconf, not needed anymore since we do not carry
|
||||||
|
any patches.
|
||||||
|
- Bump so name, following upstream changes.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Sep 7 13:18:34 UTC 2012 - coolo@suse.com
|
Fri Sep 7 13:18:34 UTC 2012 - coolo@suse.com
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package libmikmod
|
# spec file for package libmikmod
|
||||||
#
|
#
|
||||||
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: libmikmod
|
Name: libmikmod
|
||||||
%define lname libmikmod2
|
%define lname libmikmod3
|
||||||
BuildRequires: esound-devel
|
BuildRequires: esound-devel
|
||||||
BuildRequires: libtool
|
BuildRequires: libtool
|
||||||
%if 0%{suse_version} > 1220
|
%if 0%{suse_version} > 1220
|
||||||
@ -27,20 +27,14 @@ Url: http://mikmod.raphnet.net/
|
|||||||
Summary: MikMod Sound Library
|
Summary: MikMod Sound Library
|
||||||
License: LGPL-2.1+
|
License: LGPL-2.1+
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
Version: 3.1.12
|
Version: 3.2.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Source: %{name}-%{version}.tar.bz2
|
Source: http://mikmod.shlomifish.org/files/%{name}-%{version}.tar.gz
|
||||||
Source1: %{name}-rpmlintrc
|
Source1: %{name}-rpmlintrc
|
||||||
Source2: baselibs.conf
|
Source2: baselibs.conf
|
||||||
Patch0: %{name}-3.1.12-CVE-2007-6720.diff
|
Patch0: libmikmod-lp64.patch
|
||||||
Patch1: %{name}-3.1.12-CVE-2009-0179.diff
|
Patch1: CVE-2007-6720.diff
|
||||||
Patch2: %{name}-3.1.12-64bit-fix.diff
|
Patch2: libmikmod-3.2.0-loopingvolume-fix.diff
|
||||||
Patch3: %{name}-3.1.12-autotools.diff
|
|
||||||
Patch4: %{name}-3.1.12-config-fix.diff
|
|
||||||
Patch5: %{name}-3.1.12-conftest_fix.diff
|
|
||||||
Patch6: %{name}-3.1.12-exitcrash-fix.diff
|
|
||||||
Patch7: %{name}-3.1.12-loopingvolume-fix.diff
|
|
||||||
Patch8: %{name}-3.1.12-CVE-2009-3995,3996.diff
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -97,17 +91,10 @@ mtm, xm, and it.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
%patch3
|
|
||||||
%patch4
|
|
||||||
%patch5
|
|
||||||
%patch6 -p1
|
|
||||||
%patch7 -p1
|
|
||||||
%patch8
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
autoreconf -f -i
|
|
||||||
%configure --disable-static --with-pic
|
%configure --disable-static --with-pic
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
@ -130,7 +117,7 @@ ln -f $RPM_BUILD_ROOT%{_includedir}/mikmod{,_build}.h
|
|||||||
%files -n %lname
|
%files -n %lname
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%doc COPYING.LIB COPYING.LESSER
|
%doc COPYING.LIB COPYING.LESSER
|
||||||
%{_libdir}/libmikmod.so.2*
|
%{_libdir}/libmikmod.so.3*
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
|
Loading…
Reference in New Issue
Block a user