Hello community, here is the log from the commit of package libgpod for openSUSE:Factory checked in at Thu Apr 7 10:11:48 CEST 2011. -------- --- GNOME/libgpod/libgpod.changes 2011-03-28 21:12:12.000000000 +0200 +++ /mounts/work_src_done/STABLE/libgpod/libgpod.changes 2011-04-04 23:50:26.000000000 +0200 @@ -1,0 +2,6 @@ +Mon Apr 4 16:49:09 CDT 2011 - gburt@suse.de + +- Fix Mono alignment issue causing broken C# bindings + + Add fix-mono-alignment.patch + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- fix-mono-alignment.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libgpod.spec ++++++ --- /var/tmp/diff_new_pack.qfLCZh/_old 2011-04-07 10:11:08.000000000 +0200 +++ /var/tmp/diff_new_pack.qfLCZh/_new 2011-04-07 10:11:08.000000000 +0200 @@ -20,12 +20,14 @@ Name: libgpod Version: 0.8.0 -Release: 7 +Release: 9 Url: http://www.gtkpod.org/libgpod.html Group: System/Libraries License: LGPLv2.1+ Summary: Library to Manipulate Songs and Playlists Stored on an iPod Source: %{name}-%{version}.tar.bz2 +# PATCH-FIX-UPSTREAM fix-mono-alignment.patch -- in libgpod master, commit 9a64ee60dd3e68c78292b97241616ac1d7a01c15 +Patch0: fix-mono-alignment.patch BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: glib2-devel @@ -144,6 +146,7 @@ %lang_package %prep %setup -q +%patch0 -p1 %build %configure --disable-silent-rules --with-pic \ ++++++ fix-mono-alignment.patch ++++++
From 9a64ee60dd3e68c78292b97241616ac1d7a01c15 Mon Sep 17 00:00:00 2001 From: Christian Krause
Date: Thu, 6 Jan 2011 23:12:43 +0100 Subject: [PATCH] [mono] fix alignment issues on x86
--- bindings/mono/Makefile.include | 2 +- bindings/mono/libgpod-sharp/Artwork.cs | 4 ++++ bindings/mono/libgpod-sharp/Chapter.cs | 4 ++++ bindings/mono/libgpod-sharp/IpodInfo.cs | 5 +++++ bindings/mono/libgpod-sharp/PhotoAlbum.cs | 5 +++++ bindings/mono/libgpod-sharp/Playlist.cs | 5 +++++ bindings/mono/libgpod-sharp/Track.cs | 4 ++++ configure.ac | 7 +++++++ 8 files changed, 35 insertions(+), 1 deletions(-) diff --git a/bindings/mono/Makefile.include b/bindings/mono/Makefile.include index 504b059..a587456 100644 --- a/bindings/mono/Makefile.include +++ b/bindings/mono/Makefile.include @@ -18,7 +18,7 @@ all: $(ASSEMBLY_FILE) $(ASSEMBLY_FILE).mdb: $(ASSEMBLY_FILE) $(ASSEMBLY_FILE): $(SOURCES_BUILD) - $(MCS) -debug -unsafe -target:$(TARGET) -out:$@ $(LINK) $(SOURCES_BUILD) + $(MCS) $(GMCS_FLAGS) -debug -unsafe -target:$(TARGET) -out:$@ $(LINK) $(SOURCES_BUILD) EXTRA_DIST = $(SOURCES_BUILD) diff --git a/bindings/mono/libgpod-sharp/Artwork.cs b/bindings/mono/libgpod-sharp/Artwork.cs index 5be7369..5773e35 100644 --- a/bindings/mono/libgpod-sharp/Artwork.cs +++ b/bindings/mono/libgpod-sharp/Artwork.cs @@ -24,7 +24,11 @@ namespace GPod { using native; namespace native { +#if ALIGNMENT_X86_LINUX + [StructLayout (LayoutKind.Sequential, Pack=4)] +#else [StructLayout (LayoutKind.Sequential)] +#endif internal struct Itdb_Artwork { public IntPtr thumbnail; public uint id; diff --git a/bindings/mono/libgpod-sharp/Chapter.cs b/bindings/mono/libgpod-sharp/Chapter.cs index 66ca556..ea632cd 100644 --- a/bindings/mono/libgpod-sharp/Chapter.cs +++ b/bindings/mono/libgpod-sharp/Chapter.cs @@ -22,7 +22,11 @@ namespace GPod { using native; namespace native { +#if ALIGNMENT_X86_LINUX + [StructLayout (LayoutKind.Sequential, Pack=4)] +#else [StructLayout (LayoutKind.Sequential)] +#endif internal struct Itdb_Chapter { public uint startpos; public IntPtr chaptertitle; diff --git a/bindings/mono/libgpod-sharp/IpodInfo.cs b/bindings/mono/libgpod-sharp/IpodInfo.cs index 697041b..14024eb 100644 --- a/bindings/mono/libgpod-sharp/IpodInfo.cs +++ b/bindings/mono/libgpod-sharp/IpodInfo.cs @@ -23,6 +23,11 @@ namespace GPod { using System.Collections.Generic; namespace native { +#if ALIGNMENT_X86_LINUX + [StructLayout (LayoutKind.Sequential, Pack=4)] +#else + [StructLayout (LayoutKind.Sequential)] +#endif internal struct Itdb_IpodInfo { public IntPtr model_number; public double capacity; diff --git a/bindings/mono/libgpod-sharp/PhotoAlbum.cs b/bindings/mono/libgpod-sharp/PhotoAlbum.cs index 42b2365..4a248ec 100644 --- a/bindings/mono/libgpod-sharp/PhotoAlbum.cs +++ b/bindings/mono/libgpod-sharp/PhotoAlbum.cs @@ -24,6 +24,11 @@ namespace GPod { using native; namespace native { +#if ALIGNMENT_X86_LINUX + [StructLayout (LayoutKind.Sequential, Pack=4)] +#else + [StructLayout (LayoutKind.Sequential)] +#endif internal struct Itdb_PhotoAlbum { public IntPtr photodb; public IntPtr name; diff --git a/bindings/mono/libgpod-sharp/Playlist.cs b/bindings/mono/libgpod-sharp/Playlist.cs index 7ff5a68..48e4e32 100644 --- a/bindings/mono/libgpod-sharp/Playlist.cs +++ b/bindings/mono/libgpod-sharp/Playlist.cs @@ -24,6 +24,11 @@ namespace GPod { using native; namespace native { +#if ALIGNMENT_X86_LINUX + [StructLayout (LayoutKind.Sequential, Pack=4)] +#else + [StructLayout (LayoutKind.Sequential)] +#endif internal struct Itdb_Playlist { public IntPtr itdb; public IntPtr name; diff --git a/bindings/mono/libgpod-sharp/Track.cs b/bindings/mono/libgpod-sharp/Track.cs index 434df7e..ce716fa 100644 --- a/bindings/mono/libgpod-sharp/Track.cs +++ b/bindings/mono/libgpod-sharp/Track.cs @@ -24,7 +24,11 @@ namespace GPod { namespace native { +#if ALIGNMENT_X86_LINUX + [StructLayout (LayoutKind.Sequential, Pack=4)] +#else [StructLayout (LayoutKind.Sequential)] +#endif internal struct Itdb_Track { public IntPtr itdb; public IntPtr title; diff --git a/configure.ac b/configure.ac index a52ac3a..c3ea6c2 100644 --- a/configure.ac +++ b/configure.ac @@ -315,6 +315,13 @@ dnl ************************************************** MONO_MIN_VERSION=1.9.1 GTK_SHARP_MIN_VERSION=2.12 LIBGPOD_CHECK_MONO +AC_CHECK_ALIGNOF([double]) +if test "$ac_cv_alignof_double" -eq 4 ; then + GMCS_FLAGS=-define:ALIGNMENT_X86_LINUX +else + GMCS_FLAGS= +fi +AC_SUBST(GMCS_FLAGS) dnl warnings bits, copied from gnome-keyring configure.in dnl Turn on the additional warnings last, so -Werror doesn't affect other tests. -- 1.7.0.1 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org