Date: Mon, 3 Jan 2011 14:57:28 GMT From: Gleb Sushko <neuroworker@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/153650: [maintainer update] audio/libmikmod Message-ID: <201101031457.p03EvSnN028151@red.freebsd.org> Resent-Message-ID: <201101031500.p03F0Lhj004021@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 153650 >Category: ports >Synopsis: [maintainer update] audio/libmikmod >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Mon Jan 03 15:00:21 UTC 2011 >Closed-Date: >Last-Modified: >Originator: Gleb Sushko >Release: >Organization: >Environment: >Description: [maintainer update] New version and patches. >How-To-Repeat: >Fix: diff -ruN old/Makefile mikmod/Makefile --- old/Makefile 2010-12-23 01:23:36.000000000 +0700 +++ mikmod/Makefile 2011-01-03 21:43:38.000000000 +0700 @@ -6,16 +6,12 @@ # PORTNAME= libmikmod -PORTVERSION= 3.1.11 -PORTREVISION= 2 +PORTVERSION= 3.1.12 +PORTREVISION= 3 CATEGORIES= audio -MASTER_SITES= http://mikmod.raphnet.net/files/ +MASTER_SITES= SF/mikmod/libmikmod%20%28source%29/${PORTVERSION}/ -PATCH_SITES= http://mikmod.raphnet.net/files/ -PATCHFILES= libmikmod-3.1.11-a.diff -PATCH_DIST_STRIP= -p1 - -MAINTAINER= ports@FreeBSD.org +MAINTAINER= neuroworker@gmail.com COMMENT= MikMod Sound Library USE_AUTOTOOLS= libtool @@ -41,8 +37,6 @@ post-extract: @${RM} -f ${WRKSRC}/docs/mikmod.info-* - -post-patch: @${REINPLACE_CMD} \ -e 's|\$$CFLAGS -pthread|\$$CFLAGS ${PTHREAD_CFLAGS}|g' \ -e 's|-pthread \$$REENTRANT|\$$REENTRANT ${PTHREAD_CFLAGS}|g' \ diff -ruN old/distinfo mikmod/distinfo --- old/distinfo 2006-10-12 16:43:00.000000000 +0800 +++ mikmod/distinfo 2011-01-03 21:38:17.000000000 +0700 @@ -1,6 +1,2 @@ -MD5 (libmikmod-3.1.11.tar.gz) = 705106da305e8de191549f1e7393185c -SHA256 (libmikmod-3.1.11.tar.gz) = 2d7598cd2a8c61c023f27c9c7c1aca8bbfd92aadbee2f98b7a6d421eae35c929 -SIZE (libmikmod-3.1.11.tar.gz) = 611590 -MD5 (libmikmod-3.1.11-a.diff) = 5e56be5a32eecf3cfa195379a5ecb0ef -SHA256 (libmikmod-3.1.11-a.diff) = 4d546e905fd9f93da02701fc813f557f79b17084dc1f9ba5626475f4577eedbc -SIZE (libmikmod-3.1.11-a.diff) = 67970 +SHA256 (libmikmod-3.1.12.tar.gz) = 891a2b780306e6ef86e381f459e71a085d4e7f56c970a879d3bf341c01bdfc32 +SIZE (libmikmod-3.1.12.tar.gz) = 618011 diff -ruN old/files/patch-64bit-fix mikmod/files/patch-64bit-fix --- old/files/patch-64bit-fix 1970-01-01 07:00:00.000000000 +0700 +++ mikmod/files/patch-64bit-fix 2011-01-03 21:44:04.000000000 +0700 @@ -0,0 +1,24 @@ +diff -ru include/mikmod.h.in libmikmod-3.1.12/include/mikmod.h.in +--- include/mikmod.h.in 2007-12-15 01:24:19.000000000 -0800 ++++ include/mikmod.h.in 2009-10-05 00:18:56.000000000 -0700 +@@ -85,7 +85,7 @@ + + @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 */ +diff -ru include/mikmod_internals.h libmikmod-3.1.12/include/mikmod_internals.h +--- include/mikmod_internals.h 2007-12-15 04:24:51.000000000 -0800 ++++ include/mikmod_internals.h 2009-10-05 00:19:15.000000000 -0700 +@@ -50,7 +50,7 @@ + /*========== 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__) diff -ruN old/files/patch-CVE mikmod/files/patch-CVE --- old/files/patch-CVE 1970-01-01 07:00:00.000000000 +0700 +++ mikmod/files/patch-CVE 2011-01-03 21:41:32.000000000 +0700 @@ -0,0 +1,33 @@ +diff -ur loaders/load_xm.c libmikmod-3.1.11/loaders/load_xm.c +--- loaders/load_xm.c 2004-01-21 18:43:53.000000000 +0100 ++++ loaders/load_xm.c 2008-04-16 04:30:45.000000000 +0200 +@@ -622,7 +622,8 @@ + /* read the remainder of the header */ + 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; +diff -ur playercode/mloader.c libmikmod-3.1.11/playercode/mloader.c +--- playercode/mloader.c 2004-01-21 18:43:53.000000000 +0100 ++++ playercode/mloader.c 2008-04-16 04:30:45.000000000 +0200 +@@ -450,10 +450,12 @@ + 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; + diff -ruN old/files/patch-ad mikmod/files/patch-ad --- old/files/patch-ad 2000-05-29 14:34:02.000000000 +0800 +++ mikmod/files/patch-ad 1970-01-01 07:00:00.000000000 +0700 @@ -1,32 +0,0 @@ ---- drivers/drv_raw.c 2000/05/26 10:10:11 1.1 -+++ drivers/drv_raw.c 2000/05/26 10:11:48 -@@ -58,6 +58,7 @@ - static int rawout=-1; - static SBYTE *audiobuffer=NULL; - static CHAR *filename=NULL; -+static unsigned long counter=0; - - static void RAW_CommandLine(CHAR *cmdline) - { -@@ -113,13 +114,20 @@ - if (rawout!=-1) { - close(rawout); - rawout=-1; -+ if (counter==0) -+ unlink(filename?filename:FILENAME); -+ else -+ counter=0; - } - _mm_free(audiobuffer); - } - - static void RAW_Update(void) - { -- write(rawout,audiobuffer,VC_WriteBytes(audiobuffer,BUFFERSIZE)); -+ int num; -+ num=write(rawout,audiobuffer,VC_WriteBytes(audiobuffer,BUFFERSIZE)); -+ if (num>0) -+ counter+=num; - } - - static BOOL RAW_Reset(void) diff -ruN old/files/patch-exitcrash mikmod/files/patch-exitcrash --- old/files/patch-exitcrash 1970-01-01 07:00:00.000000000 +0700 +++ mikmod/files/patch-exitcrash 2011-01-03 21:44:14.000000000 +0700 @@ -0,0 +1,12 @@ +diff -ru playercode/virtch_common.c libmikmod-3.1.12/playercode/virtch_common.c +--- playercode/virtch_common.c 2007-12-15 01:26:53.000000000 -0800 ++++ playercode/virtch_common.c 2009-10-05 00:37:12.000000000 -0700 +@@ -347,7 +347,7 @@ + + void VC1_SampleUnload(SWORD handle) + { +- if (handle<MAXSAMPLEHANDLES) { ++ if (Samples && handle<MAXSAMPLEHANDLES) { + if (Samples[handle]) + free(Samples[handle]); + Samples[handle]=NULL; diff -ruN old/files/patch-md_sngchn mikmod/files/patch-md_sngchn --- old/files/patch-md_sngchn 1970-01-01 07:00:00.000000000 +0700 +++ mikmod/files/patch-md_sngchn 2011-01-03 21:48:41.000000000 +0700 @@ -0,0 +1,110 @@ +diff -ru playercode/mplayer.c libmikmod-3.1.12/playercode/mplayer.c +--- playercode/mplayer.c 2007-12-15 01:26:28.000000000 -0800 ++++ playercode/mplayer.c 2009-10-04 23:48:36.000000000 -0700 +@@ -52,6 +52,8 @@ + will wait */ + /*static*/ MODULE *pf = NULL; + ++#define NUMVOICES(mod) (md_sngchn < (mod)->numvoices ? md_sngchn : (mod)->numvoices) ++ + #define HIGH_OCTAVE 2 /* number of above-range octaves */ + + static UWORD oldperiods[OCTAVE*2]={ +@@ -248,14 +250,14 @@ + MP_VOICE *a; + ULONG t,k,tvol,pp; + +- for (t=0;t<md_sngchn;t++) ++ for (t=0;t<NUMVOICES(mod);t++) + if (((mod->voice[t].main.kick==KICK_ABSENT)|| + (mod->voice[t].main.kick==KICK_ENV))&& + Voice_Stopped_internal(t)) + return t; + + tvol=0xffffffUL;t=-1;a=mod->voice; +- for (k=0;k<md_sngchn;k++,a++) { ++ for (k=0;k<NUMVOICES(mod);k++,a++) { + /* allow us to take over a nonexisting sample */ + if (!a->main.s) + return k; +@@ -2249,12 +2251,12 @@ + + switch (dat) { + case 0x0: /* past note cut */ +- for (t=0;t<md_sngchn;t++) ++ for (t=0;t<NUMVOICES(mod);t++) + if (mod->voice[t].master==a) + mod->voice[t].main.fadevol=0; + break; + case 0x1: /* past note off */ +- for (t=0;t<md_sngchn;t++) ++ for (t=0;t<NUMVOICES(mod);t++) + if (mod->voice[t].master==a) { + mod->voice[t].main.keyoff|=KEY_OFF; + if ((!(mod->voice[t].venv.flg & EF_ON))|| +@@ -2263,7 +2265,7 @@ + } + break; + case 0x2: /* past note fade */ +- for (t=0;t<md_sngchn;t++) ++ for (t=0;t<NUMVOICES(mod);t++) + if (mod->voice[t].master==a) + mod->voice[t].main.keyoff|=KEY_FADE; + break; +@@ -2318,7 +2320,7 @@ + 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 @@ + if (a->dct!=DCT_OFF) { + int t; + +- for (t=0;t<md_sngchn;t++) ++ for (t=0;t<NUMVOICES(mod);t++) + if ((!Voice_Stopped_internal(t))&& + (mod->voice[t].masterchn==channel)&& + (a->main.sample==mod->voice[t].main.sample)) { +@@ -2978,6 +2980,11 @@ + if (!(mod->voice=(MP_VOICE*)_mm_calloc(md_sngchn,sizeof(MP_VOICE)))) + return 1; + ++ /* mod->numvoices was used during loading to clamp md_sngchn. ++ After loading it's used to remember how big mod->voice is. ++ */ ++ mod->numvoices = md_sngchn; ++ + Player_Init_internal(mod); + return 0; + } +@@ -3086,7 +3093,7 @@ + pf->patbrk=0; + 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; +@@ -3111,7 +3118,7 @@ + pf->patbrk=0; + 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 @@ + 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; diff -ruN old/files/patch-ngvolume mikmod/files/patch-ngvolume --- old/files/patch-ngvolume 1970-01-01 07:00:00.000000000 +0700 +++ mikmod/files/patch-ngvolume 2011-01-03 21:48:38.000000000 +0700 @@ -0,0 +1,12 @@ +diff -ru playercode/mplayer.c libmikmod-3.1.12/playercode/mplayer.c +--- playercode/mplayer.c 2009-10-05 00:19:59.000000000 -0700 ++++ playercode/mplayer.c 2009-10-05 00:44:35.000000000 -0700 +@@ -3019,7 +3019,7 @@ + { + MUTEX_LOCK(vars); + if (pf) +- pf->volume=(volume<0)?0:(volume>128)?128:volume; ++ pf->volume=pf->initvolume=(volume<0)?0:(volume>128)?128:volume; + MUTEX_UNLOCK(vars); + } + >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101031457.p03EvSnN028151>