Date: Sun, 5 Jan 2014 14:29:44 +0100 (CET) From: Christoph Moench-Tegeder <cmt@burggraben.net> To: FreeBSD-gnats-submit@freebsd.org Subject: ports/185491: audio/libmikmod : update to 3.1.15 Message-ID: <20140105132944.13038301C7@elch.exwg.net> Resent-Message-ID: <201401051330.s05DU0u7021198@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 185491 >Category: ports >Synopsis: audio/libmikmod : update to 3.1.15 >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Sun Jan 05 13:30:00 UTC 2014 >Closed-Date: >Last-Modified: >Originator: Christoph Moench-Tegeder >Release: FreeBSD 10.0-RC4 amd64 >Organization: >Environment: System: FreeBSD elch.exwg.net 10.0-RC4 FreeBSD 10.0-RC4 #0 r260245: Sat Jan 4 00:23:14 CET 2014 cmt@elch.exwg.net:/usr/obj/usr/src/sys/ELCH amd64 audio/libmikmod libmikmod-3.1.12 print/texinfo texinfo-5.2.20131109 >Description: The build of libmikmod-3.1.12 fails when a current texinfo (from ports) is installed, as the newer texinfo releases are much stricter on their input as the old texinfo in base. >How-To-Repeat: >Fix: Upgrading to libmikmod-3.1.15 (the "current legacy" release, see http://mikmod.sourceforge.net/ ) fixes the texinfo issues, has all the patches we currently ship as local patches and includes some more bugfixes. The upgrade itself is really easy: svn status: M Makefile M distinfo D files D files/patch-64bit-fix D files/patch-CVE-2009-0179 D files/patch-exitcrash D files/patch-md_sngchn D files/patch-ngvolume svn diff: Index: Makefile =================================================================== --- Makefile (revision 338761) +++ Makefile (working copy) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= libmikmod -PORTVERSION= 3.1.12 +PORTVERSION= 3.1.15 CATEGORIES= audio MASTER_SITES= SF/mikmod/libmikmod%20%28source%29/${PORTVERSION}/ Index: distinfo =================================================================== --- distinfo (revision 338761) +++ distinfo (working copy) @@ -1,2 +1,2 @@ -SHA256 (libmikmod-3.1.12.tar.gz) = 891a2b780306e6ef86e381f459e71a085d4e7f56c970a879d3bf341c01bdfc32 -SIZE (libmikmod-3.1.12.tar.gz) = 618011 +SHA256 (libmikmod-3.1.15.tar.gz) = c4ddd7fef14afe2c38fe8bb647eec415912b8cc150e992031c86b968deabdb63 +SIZE (libmikmod-3.1.15.tar.gz) = 1008296 Index: files/patch-64bit-fix =================================================================== --- files/patch-64bit-fix (revision 338761) +++ files/patch-64bit-fix (working copy) @@ -1,24 +0,0 @@ -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__) Index: files/patch-CVE-2009-0179 =================================================================== --- files/patch-CVE-2009-0179 (revision 338761) +++ files/patch-CVE-2009-0179 (working copy) @@ -1,33 +0,0 @@ -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; - Index: files/patch-exitcrash =================================================================== --- files/patch-exitcrash (revision 338761) +++ files/patch-exitcrash (working copy) @@ -1,12 +0,0 @@ -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; Index: files/patch-md_sngchn =================================================================== --- files/patch-md_sngchn (revision 338761) +++ files/patch-md_sngchn (working copy) @@ -1,110 +0,0 @@ -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; Index: files/patch-ngvolume =================================================================== --- files/patch-ngvolume (revision 338761) +++ files/patch-ngvolume (working copy) @@ -1,12 +0,0 @@ -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); - } - Regards, Christoph >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140105132944.13038301C7>