[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