diff --git a/syncevolution-1.1.1-size_t.patch b/syncevolution-1.1.1-size_t.patch new file mode 100644 index 0000000..524d50f --- /dev/null +++ b/syncevolution-1.1.1-size_t.patch @@ -0,0 +1,52 @@ +diff --git a/src/syncevo/SyncSource.h b/src/syncevo/SyncSource.h +index 7029993..d38d5e8 100644 +--- a/src/syncevo/SyncSource.h ++++ b/src/syncevo/SyncSource.h +@@ -1830,7 +1830,20 @@ class SyncSourceBlob : public virtual SyncSourceBase + void **aBlkPtr, size_t *aBlkSize, + size_t *aTotSize, + bool aFirst, bool *aLast) { +- return m_blob.ReadBlob(aID, aBlobID, aBlkPtr, aBlkSize, aTotSize, aFirst, aLast); ++ // Translate between sysync::memSize and size_t, which ++ // is different on s390 (or at least the compiler complains...). ++ sysync::memSize blksize, totsize; ++ sysync::TSyError err = m_blob.ReadBlob(aID, aBlobID, aBlkPtr, ++ aBlkSize ? &blksize : NULL, ++ aTotSize ? &totsize : NULL, ++ aFirst, aLast); ++ if (aBlkSize) { ++ *aBlkSize = blksize; ++ } ++ if (aTotSize) { ++ *aTotSize = totsize; ++ } ++ return err; + } + sysync::TSyError writeBlob(sysync::cItemID aID, const char *aBlobID, + void *aBlkPtr, size_t aBlkSize, +diff --git a/src/syncevo/SynthesisDBPlugin.cpp b/src/syncevo/SynthesisDBPlugin.cpp +index 089a687..346e552 100644 +--- a/src/syncevo/SynthesisDBPlugin.cpp ++++ b/src/syncevo/SynthesisDBPlugin.cpp +@@ -721,8 +721,19 @@ sysync::TSyError SyncEvolution_ReadBlob(CContext aContext, cItemID aID, cAppCh + TSyError res; + if (source->getOperations().m_readBlob) { + try { +- res = source->getOperations().m_readBlob(aID, aBlobID, (void **)aBlkPtr, aBlkSize, +- aTotSize, aFirst, aLast); ++ size_t blksize, totsize; ++ /* Another conversion between memSize and size_t to make s390 happy */ ++ res = source->getOperations().m_readBlob(aID, aBlobID, (void **)aBlkPtr, ++ aBlkSize ? &blksize : NULL, ++ aTotSize ? &totsize : NULL, ++ aFirst, aLast); ++ if (aBlkSize) { ++ *aBlkSize = blksize; ++ } ++ if (aTotSize) { ++ *aTotSize = totsize; ++ } ++ + } catch (...) { + res = source->handleException(); + } diff --git a/syncevolution.spec b/syncevolution.spec index 3dffa55..f253e43 100644 --- a/syncevolution.spec +++ b/syncevolution.spec @@ -1,13 +1,15 @@ Summary: SyncML client for evolution Name: syncevolution Version: 1.1.1 -Release: 3%{?dist} +Release: 4%{?dist} Epoch: 1 License: LGPLv2+ Group: Applications/Productivity URL: http://syncevolution.org/ Source: http://downloads.syncevolution.org/%{name}/sources/%{name}-%{version}.tar.gz Patch0: %{name}-1.1.1-gcc46.patch +# https://bugs.meego.com/show_bug.cgi?id=13201 +Patch1: %{name}-1.1.1-size_t.patch BuildRequires: bluez-libs-devel BuildRequires: boost-devel @@ -86,6 +88,7 @@ Perl utils for use with %{name}. %prep %setup -q %patch0 -p1 -b .gcc46 +%patch1 -p1 -b .size_t # use the ac macros in Makefile.am sed -i '/^ACLOCAL_AMFLAGS/{ /m4-repo/!s/$/ -I m4-repo/ }' Makefile*.am @@ -183,6 +186,9 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/sync-moblin.desktop %{_datadir}/syncevolution/xml/*.pl %changelog +* Thu Feb 3 2011 Dan Horák 1:1.1.1-4 +- fix build on s390 where size_t != unsigned int + * Tue Feb 1 2011 Dan Horák 1:1.1.1-3 - fix build with gcc 4.6 - disable bluetooth on s390(x)