File gmime.spec of Package gmime
#
# spec file for package gmime (Version 2.2.23)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: gmime
BuildRequires: glib-sharp2 glib2-devel gtk-doc gtk-sharp2 gtk-sharp2-gapi mono-devel zlib-devel
Version: 2.2.23
Release: 1.<RELEASE31>
Url: http://spruce.sourceforge.net/gmime/
Group: Productivity/Networking/Email/Utilities
License: LGPL v2.1 or later; Public Domain, Freeware; X11/MIT
Summary: MIME Library Utilities
Source: %{name}-%{version}.tar.bz2
Patch: gmime-cflags.patch
# PATCH-FIX-OPENSUSE gmime-no-off_t.patch bnc344662 bgo501830
Patch: gmime-no-off_t.patch
Patch3: gmime-monoreq.patch
Patch4: gmime-gacutil-bootstrap.patch
# PATCH-FIX-UPSTREAM gmime-CVE-2010-0409.patch bnc576923 CVE-2010-0409 sbrabec@suse.cz -- Fixed to prevent possible buffer overflows.
Patch5: gmime-CVE-2010-0409.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: libgmime-2_0-3 = %{version}
%description
GMime is a set of utilities for parsing and creating messages using the
Multipurpose Internet Mail Extension (MIME).
Authors:
--------
Jeffrey Stedfast <fejj@gnome.org>
%package -n libgmime-2_0-3
License: LGPL v2.1 or later; Public Domain, Freeware; X11/MIT
Group: Development/Libraries/C and C++
Summary: MIME Library
Requires: %{name} >= %{version}
%description -n libgmime-2_0-3
GMime is a set of utilities for parsing and creating messages using the
Multipurpose Internet Mail Extension (MIME).
Authors:
--------
Jeffrey Stedfast <fejj@gnome.org>
%package sharp
License: LGPL v2.1 or later; Public Domain, Freeware; X11/MIT
Group: Development/Libraries/Other
Summary: MIME Library Mono Bindings
Requires: libgmime-2_0-3 = %{version} gtk-sharp2 glib-sharp2
%description sharp
GMime is a set of utilities for parsing and creating messages using the
Multipurpose Internet Mail Extension (MIME).
Authors:
--------
Jeffrey Stedfast <fejj@gnome.org>
%package devel
License: LGPL v2.1 or later; Public Domain, Freeware; X11/MIT
Group: Development/Libraries/C and C++
Summary: MIME Library
Requires: libgmime-2_0-3 = %{version} glib2-devel zlib-devel glibc-devel
%description devel
GMime is a set of utilities for parsing and creating messages using the
Multi-purpose Internet Mail Extension (MIME).
Authors:
--------
Jeffrey Stedfast <fejj@ximian.com>
%package doc
License: LGPL v2.1 or later; Public Domain, Freeware; X11/MIT
Group: Development/Libraries/C and C++
Summary: MIME Library documentation
%description doc
GMime is a set of utilities for parsing and creating messages using the
Multipurpose Internet Mail Extension (MIME).
This package contains additional documentation for the main package.
Authors:
--------
Jeffrey Stedfast <fejj@ximian.com>
%define __find_requires env sh -c 'filelist=($(cat)) && { printf "%s\\n" "${filelist[@]}" | /usr/lib/rpm/find-requires | grep -v "no package provides" ; } '
%prep
%setup -q
# Replace all occurrences of variable sized off_t by goffset:
sed -i "s/off_t/goffset/g;s/OFF_T/G_GINT64_FORMAT/g" */*.[ch]
mv mono/GMime.metadata.in mono/GMime.metadata
# api file is not regenerated during build. Fix it now:
# (And current gtk# does not support goffset yet. If it will not in
# future, change goffset to long in the metadata.)
sed -i s/off_t/long/g mono/gmime-api.raw
# And finally fix all remaining problems related to off_t:
%patch
# fix requires for sharp bindings (GMIME_VERSION != SONAME_VERSION)
%patch3
%patch4
%patch5 -p1
%build
cp /usr/share/gettext/config.rpath .
autoreconf -f -i
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
%configure\
--disable-static\
--enable-rfc2047-workarounds\
--enable-gtk-doc
make %{?jobs:-j%jobs}
%install
%makeinstall GACUTIL_FLAGS="/package gtk-sharp /root -bootstrap $RPM_BUILD_ROOT%{_prefix}/lib"
# rename to prevent conflict with uu* utils from sharutils
mv $RPM_BUILD_ROOT%{_bindir}/uuencode $RPM_BUILD_ROOT%{_bindir}/gmime-uuencode
mv $RPM_BUILD_ROOT%{_bindir}/uudecode $RPM_BUILD_ROOT%{_bindir}/gmime-uudecode
for FILE in COPYING ; do
MD5SUM=$(md5sum $FILE | sed 's/ .*//')
if test -f /usr/share/doc/licenses/md5/$MD5SUM ; then
ln -sf /usr/share/doc/licenses/md5/$MD5SUM $FILE
fi
done
# Obsolete GNOME1 gnome-config style:
rm $RPM_BUILD_ROOT%{_libdir}/*Conf.sh
%clean
rm -rf $RPM_BUILD_ROOT
%post -n libgmime-2_0-3 -p /sbin/ldconfig
%postun -n libgmime-2_0-3 -p /sbin/ldconfig
%files
%defattr (-, root, root)
# NEWS is empty
%doc AUTHORS COPYING ChangeLog PORTING README TODO
%exclude %{_bindir}/gmime-config
%{_bindir}/*
%files -n libgmime-2_0-3
%defattr (-, root, root)
%{_libdir}/*.so.*
%files sharp
%defattr (-, root, root)
%dir %{_prefix}/lib/mono/gmime-sharp
%dir %{_prefix}/lib/mono/gac/gmime-sharp
%dir %{_prefix}/lib/mono/gac/gmime-sharp/2.2.0.0__677013d4cb5910f0
%{_prefix}/lib/mono/gmime-sharp/gmime-sharp.dll
%{_prefix}/lib/mono/gac/gmime-sharp/2.2.0.0__677013d4cb5910f0/gmime-sharp.dll
%{_prefix}/lib/mono/gac/gmime-sharp/2.2.0.0__677013d4cb5910f0/gmime-sharp.dll.config
# devel files:
%{_datadir}/gapi-2.0/gmime-api.xml
%{_libdir}/pkgconfig/gmime-sharp.pc
%files devel
%defattr (-, root, root)
%{_bindir}/gmime-config
%{_includedir}/gmime-2.0
%{_libdir}/*.*a
%{_libdir}/*.so
%{_libdir}/pkgconfig/gmime-2.0.pc
%files doc
%defattr (-, root, root)
%{_datadir}/gtk-doc/html/*
%changelog