File gnome-sharp2.spec of Package gnome-sharp2
# norootforbuild
Name: gnome-sharp2
Version: 2.20.0
%define _name gnome-sharp
%ifarch ppc64
BuildRequires: mono-biarchcompat
%endif
URL: http://gtk-sharp.sf.net
License: GNU General Public License (GPL), GNU Library General Public License v. 2.0 and 2.1 (LGPL)
Group: System/GUI/GNOME
Release: 52
Summary: .Net Language Bindings for Gnome
Source: %{_name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: gtk-sharp2 glade-sharp2 gtk-sharp2-gapi
%if 0%{?suse_version}
BuildRequires: mono-devel libgnomeprintui-devel gnome-panel-devel monodoc-core update-desktop-files
%endif
%if 0%{?fedora_version}
%define env_options export MONO_SHARED_DIR=/tmp
BuildRequires: lynx mono-devel libgnomeprintui22-devel gnome-panel-devel monodoc-core
%endif
%description
This package contains Mono bindings for Gnome.
%package -n gnome-sharp2-complete
Group: System/GUI/GNOME
Summary: GTK+ and GNOME bindings for Mono (virtual package)
Requires: art-sharp2 = %{version}-%{release}
Requires: gconf-sharp2 = %{version}-%{release}
Requires: gnome-sharp2 = %{version}-%{release}
Requires: gnome-vfs-sharp2 = %{version}-%{release}
%description -n gnome-sharp2-complete
GNOME# is a library that allows you to build fully native graphical GNOME
applications using Mono. It includes bindings for libgnome, libgnomeui,
libgnomeprint, libgnomeprintui, libpanelapplet, libgnomevfs and libgnomecanvas.
Also included are art and gconf bindings.
(Virtual package which depends on all gnome-sharp2 subpackages)
%package -n gnome-vfs-sharp2
Summary: Mono bindings for gnomevfs
Group: System/GUI/GNOME
# Not needed with rpm .config dep search
#Requires: gnome-vfs2
%description -n gnome-vfs-sharp2
This package contains Mono bindings gnomevfs.
%package -n art-sharp2
Summary: Mono bindings for libart
Group: System/GUI/GNOME
%description -n art-sharp2
This package contains Mono bindings for libart.
%package -n gconf-sharp2
Summary: Mono bindings for gconf
Group: System/GUI/GNOME
%description -n gconf-sharp2
This package contains Mono bindings for gconf and gconf peditors.
%debug_package
%prep
%setup -q -n %{_name}-%{version}
%build
%{?env_options}
autoreconf -f -i
# FIXME: windowmanager.c:*: warning: dereferencing type-punned pointer will break strict-aliasing rules
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
%configure\
--libexecdir=%{_prefix}/lib\
--enable-debug
make
%install
%{?env_options}
%makeinstall
rm $RPM_BUILD_ROOT%{_libdir}/*.*a
%clean
rm -rf $RPM_BUILD_ROOT
%files -n gnome-sharp2-complete
%defattr(-, root, root)
## This is the 'base' package so we put the common dirs of all in this package
# Otherwise, this package doesn't get created!
%dir %{_prefix}/lib/mono/gtk-sharp-2.0
%dir %{_prefix}/lib/gtk-sharp-2.0
%files -n gnome-sharp2
%defattr(-,root,root)
%{_libdir}/libgnomesharpglue-2.so
%{_libdir}/pkgconfig/gnome-sharp-2.0.pc
%{_prefix}/lib/mono/gac/*gnome-sharp
%{_prefix}/lib/mono/gtk-sharp-2.0/*gnome-sharp.dll
%{_prefix}/share/gapi-2.0/gnome-api.xml
%files -n gnome-vfs-sharp2
%defattr(-,root,root)
%{_libdir}/pkgconfig/gnome-vfs-sharp-2.0.pc
%{_prefix}/lib/mono/gac/*gnome-vfs-sharp
%{_prefix}/lib/mono/gtk-sharp-2.0/*gnome-vfs-sharp.dll
%{_prefix}/share/gapi-2.0/gnome-vfs-api.xml
%files -n art-sharp2
%defattr(-,root,root)
%{_libdir}/pkgconfig/art-sharp-2.0.pc
%{_prefix}/lib/mono/gac/*art-sharp
%{_prefix}/lib/mono/gtk-sharp-2.0/*art-sharp.dll
%{_prefix}/share/gapi-2.0/art-api.xml
%files -n gconf-sharp2
%defattr(-, root, root)
%{_bindir}/gconfsharp2-schemagen
%{_libdir}/pkgconfig/gconf-sharp-2.0.pc
%{_libdir}/pkgconfig/gconf-sharp-peditors-2.0.pc
%{_prefix}/lib/gtk-sharp-2.0/gconfsharp-schemagen.exe
%{_prefix}/lib/mono/gac/*gconf-sharp
%{_prefix}/lib/mono/gtk-sharp-2.0/*gconf-sharp.dll
# Other distros place these in gnome-sharp2??
%{_prefix}/lib/mono/gac/*gconf-sharp-peditors
%{_prefix}/lib/mono/gtk-sharp-2.0/*gconf-sharp-peditors.dll
%if 0%{?suse_version} <= 1040 || 0%{?fedora_version} <= 7
%if 0%{?fedora_version}
# Allows overrides of __find_provides in fedora distros... (already set to zero on newer suse distros)
%define _use_internal_dependency_generator 0
%endif
# auto dep/req generation for older distros (it will take a while for the .config scanning to get upstream)
%define __find_provides env sh -c 'filelist=($(cat)) && { printf "%s\\n" "${filelist[@]}" | /usr/lib/rpm/find-provides && printf "%s\\n" "${filelist[@]}" | /usr/bin/mono-find-provides ; } | sort | uniq'
%define __find_requires env sh -c 'filelist=($(cat)) && { printf "%s\\n" "${filelist[@]}" | /usr/lib/rpm/find-requires && printf "%s\\n" "${filelist[@]}" | /usr/bin/mono-find-requires ; } | sort | uniq'
%endif
%changelog