[libgpod] Add patch to fix 32 bit issues in the mono bindings

Nathaniel McCallum npmccallum at fedoraproject.org
Mon Oct 25 12:46:03 UTC 2010


commit b56a744961eb974675d6eb5b4ebf6f2106eb29c0
Author: Nathaniel McCallum <nathaniel at natemccallum.com>
Date:   Mon Oct 25 08:46:02 2010 -0400

    Add patch to fix 32 bit issues in the mono bindings

 libgpod-0.8.0-x86-32.patch |   69 ++++++++++++++++++++++++++++++++++++++++++++
 libgpod.spec               |    7 ++++-
 2 files changed, 75 insertions(+), 1 deletions(-)
---
diff --git a/libgpod-0.8.0-x86-32.patch b/libgpod-0.8.0-x86-32.patch
new file mode 100644
index 0000000..7fe2f68
--- /dev/null
+++ b/libgpod-0.8.0-x86-32.patch
@@ -0,0 +1,69 @@
+diff -uNr libgpod-0.8.0.old/bindings/mono/libgpod-sharp/Artwork.cs libgpod-0.8.0/bindings/mono/libgpod-sharp/Artwork.cs
+--- libgpod-0.8.0.old/bindings/mono/libgpod-sharp/Artwork.cs	2010-10-09 22:46:03.000000000 +0200
++++ libgpod-0.8.0/bindings/mono/libgpod-sharp/Artwork.cs	2010-10-21 00:23:46.000000000 +0200
+@@ -24,7 +24,7 @@
+ 	using native;
+ 	
+ 	namespace native {
+-		[StructLayout (LayoutKind.Sequential)]
++		[StructLayout (LayoutKind.Sequential, Pack=1)]
+ 		internal struct Itdb_Artwork {
+ 			public IntPtr thumbnail;
+ 			public uint   id;
+diff -uNr libgpod-0.8.0.old/bindings/mono/libgpod-sharp/Chapter.cs libgpod-0.8.0/bindings/mono/libgpod-sharp/Chapter.cs
+--- libgpod-0.8.0.old/bindings/mono/libgpod-sharp/Chapter.cs	2010-10-09 22:46:03.000000000 +0200
++++ libgpod-0.8.0/bindings/mono/libgpod-sharp/Chapter.cs	2010-10-21 00:23:46.000000000 +0200
+@@ -22,7 +22,7 @@
+ 	using native;
+ 	
+ 	namespace native {
+-		[StructLayout (LayoutKind.Sequential)]
++		[StructLayout (LayoutKind.Sequential, Pack=1)]
+ 		internal struct Itdb_Chapter {
+ 			public uint   startpos;
+ 			public IntPtr chaptertitle;
+diff -uNr libgpod-0.8.0.old/bindings/mono/libgpod-sharp/IpodInfo.cs libgpod-0.8.0/bindings/mono/libgpod-sharp/IpodInfo.cs
+--- libgpod-0.8.0.old/bindings/mono/libgpod-sharp/IpodInfo.cs	2010-10-09 22:46:03.000000000 +0200
++++ libgpod-0.8.0/bindings/mono/libgpod-sharp/IpodInfo.cs	2010-10-21 00:23:46.000000000 +0200
+@@ -23,6 +23,7 @@
+ 	using System.Collections.Generic;
+ 	
+ 	namespace native {
++		[StructLayout (LayoutKind.Sequential, Pack=1) ]
+ 		internal struct Itdb_IpodInfo {
+ 			public IntPtr         model_number;
+ 			public double         capacity;
+diff -uNr libgpod-0.8.0.old/bindings/mono/libgpod-sharp/PhotoAlbum.cs libgpod-0.8.0/bindings/mono/libgpod-sharp/PhotoAlbum.cs
+--- libgpod-0.8.0.old/bindings/mono/libgpod-sharp/PhotoAlbum.cs	2010-10-09 22:46:03.000000000 +0200
++++ libgpod-0.8.0/bindings/mono/libgpod-sharp/PhotoAlbum.cs	2010-10-21 00:23:46.000000000 +0200
+@@ -24,6 +24,7 @@
+ 	using native;
+ 	
+ 	namespace native {
++		[StructLayout (LayoutKind.Sequential, Pack=1) ]
+ 		internal struct Itdb_PhotoAlbum {
+ 			public IntPtr photodb;
+ 			public IntPtr name;
+diff -uNr libgpod-0.8.0.old/bindings/mono/libgpod-sharp/Playlist.cs libgpod-0.8.0/bindings/mono/libgpod-sharp/Playlist.cs
+--- libgpod-0.8.0.old/bindings/mono/libgpod-sharp/Playlist.cs	2010-10-09 22:46:03.000000000 +0200
++++ libgpod-0.8.0/bindings/mono/libgpod-sharp/Playlist.cs	2010-10-21 00:23:46.000000000 +0200
+@@ -24,6 +24,7 @@
+ 	using native;
+ 	
+ 	namespace native {
++		[StructLayout (LayoutKind.Sequential, Pack=1) ]
+ 		internal struct Itdb_Playlist {
+ 			public IntPtr itdb;
+ 			public IntPtr name;
+diff -uNr libgpod-0.8.0.old/bindings/mono/libgpod-sharp/Track.cs libgpod-0.8.0/bindings/mono/libgpod-sharp/Track.cs
+--- libgpod-0.8.0.old/bindings/mono/libgpod-sharp/Track.cs	2010-10-09 22:46:03.000000000 +0200
++++ libgpod-0.8.0/bindings/mono/libgpod-sharp/Track.cs	2010-10-21 00:23:46.000000000 +0200
+@@ -24,7 +24,7 @@
+ 	
+ 	
+ 	namespace native {
+-		[StructLayout (LayoutKind.Sequential)]
++		[StructLayout (LayoutKind.Sequential, Pack=1)]
+ 		internal struct Itdb_Track {
+ 			public IntPtr		itdb;
+ 			public IntPtr		title;
diff --git a/libgpod.spec b/libgpod.spec
index e057df6..cb0b187 100644
--- a/libgpod.spec
+++ b/libgpod.spec
@@ -3,11 +3,12 @@
 Summary: Library to access the contents of an iPod
 Name: libgpod
 Version: 0.8.0
-Release: 1%{?dist}
+Release: 2%{?dist}
 License: LGPLv2+
 Group: System Environment/Libraries
 URL: http://www.gtkpod.org/libgpod.html
 Source0: http://downloads.sourceforge.net/gtkpod/%{name}-%{version}.tar.gz
+Patch0: libgpod-0.8.0-x86-32.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 BuildRequires: docbook-style-xsl
 BuildRequires: glib2-devel
@@ -106,6 +107,7 @@ libgpod-sharp.
 
 %prep
 %setup -q
+%patch0 -p1 -b .x86-32
 
 # remove execute perms on the python examples as they'll be installed in %%doc
 chmod -x bindings/python/examples/*.py
@@ -178,6 +180,9 @@ rm -rf %{buildroot}
 %{_libdir}/pkgconfig/%{name}-sharp.pc
 
 %changelog
+* Wed Oct 20 2010 Nathaniel McCallum <nathaniel at natemccallum.com> - 0.8.0-2
+- Add patch to fix 32 bit issues in the mono bindings
+
 * Tue Oct 12 2010 Nathaniel McCallum <nathaniel at natemccallum.com> - 0.8.0-1
 - Update to 0.8.0
 


More information about the scm-commits mailing list