Skip site navigation (1)Skip section navigation (2)
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>