Index: /trunk/dports/audio/libmikmod/Portfile
===================================================================
--- /trunk/dports/audio/libmikmod/Portfile	(revision 99556)
+++ /trunk/dports/audio/libmikmod/Portfile	(revision 99557)
@@ -5,6 +5,6 @@
 
 name                libmikmod
-version             3.2.0-beta2
-revision            2
+epoch               1
+version             3.2.0
 categories          audio
 license             LGPL-2+
@@ -17,20 +17,13 @@
                     AMF, DSM, IMF, GDM, STX, OKT, and MOD module formats.
 
-homepage            http://mikmod.raphnet.net/
+homepage            http://mikmod.shlomifish.org/
 master_sites        ${homepage}files/
-use_bzip2           yes
 
-checksums           md5 5b05f3b1167eba7855b8e38bde2b8070 \
-                    sha1 f16fc09ee643af295a8642f578bda97a81aaf744 \
-                    rmd160 587d1c1ea24f3d52bf76407ee327b8fa8143b277
+checksums           rmd160  066db43670878914774f16b2c5444acfa8e86f28 \
+                    sha256  734c8490bbf9b0c587920b92414dcfa3c2267838a0cdf698d5f1fb6bba8f661e
 
 merger_arch_compiler yes
 
-patchfiles          patch-libmikmod.m4 \
-                    patch-64bit-fix \
-                    patch-CVE-2009-0179 \
-                    patch-exitcrash \
-                    patch-md_sngchn \
-                    patch-ngvolume
+patchfiles          patch-ngvolume
 
 configure.optflags  -Os
Index: unk/dports/audio/libmikmod/files/patch-64bit-fix
===================================================================
--- /trunk/dports/audio/libmikmod/files/patch-64bit-fix	(revision 99556)
+++ 	(revision )
@@ -1,24 +1,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)
-+#if defined(__arch64__) || defined(__alpha) || 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(_LP64)
- typedef long		SLONGLONG;
- #define NATIVE_64BIT_INT
- #elif defined(__WATCOMC__)
Index: unk/dports/audio/libmikmod/files/patch-CVE-2009-0179
===================================================================
--- /trunk/dports/audio/libmikmod/files/patch-CVE-2009-0179	(revision 99556)
+++ 	(revision )
@@ -1,33 +1,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: unk/dports/audio/libmikmod/files/patch-exitcrash
===================================================================
--- /trunk/dports/audio/libmikmod/files/patch-exitcrash	(revision 99556)
+++ 	(revision )
@@ -1,12 +1,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: unk/dports/audio/libmikmod/files/patch-libmikmod.m4
===================================================================
--- /trunk/dports/audio/libmikmod/files/patch-libmikmod.m4	(revision 99556)
+++ 	(revision )
@@ -1,11 +1,0 @@
---- libmikmod.m4.orig	2004-01-20 19:36:34.000000000 -0600
-+++ libmikmod.m4	2009-01-09 02:19:33.000000000 -0600
-@@ -8,7 +8,7 @@
- dnl Test for libmikmod, and define LIBMIKMOD_CFLAGS, LIBMIKMOD_LIBS and
- dnl LIBMIKMOD_LDADD
- dnl
--AC_DEFUN(AM_PATH_LIBMIKMOD,
-+AC_DEFUN([AM_PATH_LIBMIKMOD],
- [dnl 
- dnl Get the cflags and libraries from the libmikmod-config script
- dnl
Index: unk/dports/audio/libmikmod/files/patch-md_sngchn
===================================================================
--- /trunk/dports/audio/libmikmod/files/patch-md_sngchn	(revision 99556)
+++ 	(revision )
@@ -1,110 +1,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;
