[41112] trunk/dports/audio/cd-discid

blb at macports.org blb at macports.org
Thu Oct 23 13:53:06 PDT 2008


Revision: 41112
          http://trac.macports.org/changeset/41112
Author:   blb at macports.org
Date:     2008-10-23 13:53:05 -0700 (Thu, 23 Oct 2008)
Log Message:
-----------
audio/cd-discid - fix Mac/x86 endian issues, ticket #11353 (maintainer timeout

Modified Paths:
--------------
    trunk/dports/audio/cd-discid/Portfile

Added Paths:
-----------
    trunk/dports/audio/cd-discid/files/patch-cd-discid.c.diff

Modified: trunk/dports/audio/cd-discid/Portfile
===================================================================
--- trunk/dports/audio/cd-discid/Portfile	2008-10-23 19:51:25 UTC (rev 41111)
+++ trunk/dports/audio/cd-discid/Portfile	2008-10-23 20:53:05 UTC (rev 41112)
@@ -4,6 +4,7 @@
 
 name			cd-discid
 version			0.9
+revision		1
 categories		audio
 platforms		darwin
 maintainers		jrdittmann at wisc.edu
@@ -31,3 +32,7 @@
 
 universal_variant   no
 
+platform macosx {
+   patchfiles-append   patch-cd-discid.c.diff
+}
+

Added: trunk/dports/audio/cd-discid/files/patch-cd-discid.c.diff
===================================================================
--- trunk/dports/audio/cd-discid/files/patch-cd-discid.c.diff	                        (rev 0)
+++ trunk/dports/audio/cd-discid/files/patch-cd-discid.c.diff	2008-10-23 20:53:05 UTC (rev 41112)
@@ -0,0 +1,40 @@
+--- cd-discid.c.orig	2003-12-15 16:55:00.000000000 -0700
++++ cd-discid.c	2008-10-23 14:46:35.000000000 -0600
+@@ -86,6 +86,13 @@
+ #define        cdrom_tocentry  CDTrackInfo
+ #define	       cdte_track_address trackStartAddress
+ 
++#if defined (__i386__) || defined(__x86_64__)
++#define SWAP ntohl
++#define RESWAP htonl
++#else
++#define SWAP
++#define RESWAP
++#endif
+ #else
+ # error "Your OS isn't supported yet."
+ #endif	/* os selection */
+@@ -194,7 +201,7 @@
+ 	 * TocEntry[last-1].lastRecordedAddress + 1, so we compute the start
+ 	 * of leadout from the start+length of the last track instead
+ 	 */
+-	TocEntry[last].cdte_track_address = TocEntry[last-1].trackSize + TocEntry[last-1].trackStartAddress;
++	TocEntry[last].cdte_track_address = RESWAP(SWAP(TocEntry[last-1].trackSize) + SWAP(TocEntry[last-1].trackStartAddress));
+ #else /* FreeBSD, Linux, Solaris */
+ 	for (i=0; i < last; i++) {
+ 		/* tracks start with 1, but I must start with 0 on OpenBSD */
+@@ -214,12 +221,12 @@
+ 	}
+ #endif
+ 
+-#if defined(__FreeBSD__)
++#if defined(__FreeBSD__) || (defined(__APPLE__) && (defined (__i386__) || defined(__x86_64__)))
+ 	TocEntry[i].cdte_track_address = ntohl(TocEntry[i].cdte_track_address);
+ #endif       
+ 
+ 	for (i=0; i < last; i++) {
+-#if defined(__FreeBSD__)
++#if defined(__FreeBSD__) || (defined(__APPLE__) && (defined (__i386__) || defined(__x86_64__)))
+ 		TocEntry[i].cdte_track_address = ntohl(TocEntry[i].cdte_track_address);
+ #endif
+ 		cksum += cddb_sum((TocEntry[i].cdte_track_address + CD_MSF_OFFSET) / CD_FRAMES);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20081023/a7d7659a/attachment.html>


More information about the macports-changes mailing list