# # spec file for package mono-zeroconf (Version 0.7.3) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: mono-zeroconf AutoReqProv: on License: X11/MIT Group: Development/Languages/Mono Summary: A cross platform Zero Configuration Networking library for Mono Url: http://mono-project.com/Mono.Zeroconf Version: 0.7.3 Release: 4 Source0: %{name}-%{version}.tar.bz2 Patch0: pkg-config-libdir.patch BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: mono-devel Requires: mono-zeroconf-provider ## --- Build Configuration --- ## %define build_avahi 1 %define build_mdnsr 1 %define build_docs 1 # openSUSE Configuration %if 0%{?suse_version} %if %{suse_version} >= 1030 %define build_avahi 1 %define build_mdnsr 0 BuildRequires: avahi-mono %endif %if %{suse_version} >= 1020 && %{suse_version} < 1030 %define build_avahi 1 %define build_mdnsr 1 %define override_avahi_libs 1 BuildRequires: avahi-mono BuildRequires: mDNSResponder-devel %endif %if %{suse_version} < 1020 %define build_avahi 0 %define build_mdnsr 1 BuildRequires: mDNSResponder-devel %endif %endif # Fedora Configuration %if 0%{?fedora_version} %define env_options export MONO_SHARED_DIR=/tmp %define build_docs 0 %define build_mdnsr 0 %define build_avahi 1 BuildRequires: avahi-sharp %endif # Mandriva Configuration %if 0%{?mandriva_version} %define build_docs 0 %define build_avahi 1 %define build_mdnsr 0 BuildRequires: avahi-sharp %endif %if 0%{?build_docs} BuildRequires: monodoc-core %endif ## --- Base Package Information --- ## %description Mono.Zeroconf is a cross platform Zero Configuration Networking library for Mono and .NET. It provides a unified API for performing the most common zeroconf operations on a variety of platforms and subsystems: all the operating systems supported by Mono and both the Avahi and Bonjour/mDNSResponder transports. Authors: -------- Aaron Bockover %files %defattr(-, root, root) %doc AUTHORS COPYING ChangeLog NEWS README %dir %_prefix/lib/mono-zeroconf %dir %_prefix/lib/mono/mono-zeroconf %dir %_prefix/lib/mono/gac/Mono.Zeroconf %dir %_prefix/lib/mono/gac/Mono.Zeroconf/1.0.0.0__e60c4f4a95e1099e %_bindir/mzclient %_prefix/share/pkgconfig/mono-zeroconf.pc %_prefix/lib/mono/gac/Mono.Zeroconf/*/*.dll* %_prefix/lib/mono/mono-zeroconf/Mono.Zeroconf.dll* %_prefix/lib/mono-zeroconf/MZClient.exe* ## --- mDNSResponder Provider --- ## %if %{build_mdnsr} == 1 %package provider-mDNSResponder Summary: A cross platform Zero Configuration Networking library for Mono Group: Development/Languages/Mono BuildRequires: mDNSResponder-devel Requires: mDNSResponder mono-zeroconf Provides: mono-zeroconf-provider %description provider-mDNSResponder Mono.Zeroconf is a cross platform Zero Configuration Networking library for Mono and .NET. It provides a unified API for performing the most common zeroconf operations on a variety of platforms and subsystems: all the operating systems supported by Mono and both the Avahi and Bonjour/mDNSResponder transports. Authors: -------- Aaron Bockover %files provider-mDNSResponder %defattr(-, root, root) %dir %_prefix/lib/mono-zeroconf %_prefix/lib/mono-zeroconf/Mono.Zeroconf.Providers.Bonjour.dll* %endif ## --- Avahi Provider --- ## %if %{build_avahi} == 1 %package provider-avahi Summary: A cross platform Zero Configuration Networking library for Mono Group: Development/Languages/Mono Requires: mono-zeroconf Provides: mono-zeroconf-provider %description provider-avahi Mono.Zeroconf is a cross platform Zero Configuration Networking library for Mono and .NET. It provides a unified API for performing the most common zeroconf operations on a variety of platforms and subsystems: all the operating systems supported by Mono and both the Avahi and Bonjour/mDNSResponder transports. Authors: -------- Aaron Bockover %files provider-avahi %defattr(-, root, root) %dir %_prefix/lib/mono-zeroconf %_prefix/lib/mono-zeroconf/Mono.Zeroconf.Providers.Avahi.dll* %endif ## --- Monodoc Developer API Documentation --- ## %if %{build_docs} == 1 %package doc Summary: A cross platform Zero Configuration Networking library for Mono Group: Development/Languages/Mono %description doc Mono.Zeroconf is a cross platform Zero Configuration Networking library for Mono and .NET. It provides a unified API for performing the most common zeroconf operations on a variety of platforms and subsystems: all the operating systems supported by Mono and both the Avahi and Bonjour/mDNSResponder transports. Authors: -------- Aaron Bockover %files doc %defattr(-, root, root) %dir %_prefix/lib/monodoc/sources/ %_prefix/lib/monodoc/sources/mono-zeroconf-docs* %endif ## --- Build/Install --- # %prep %setup -q %patch0 %build %{?env_options} %if 0%{?override_avahi_libs} export AVAHI_LIBS="-r:/usr/lib/mono/avahi-sharp/avahi-sharp.dll" %endif ./configure --prefix=/usr \ %if %{build_docs} == 0 --disable-docs \ %else --enable-docs \ %endif %if %{build_avahi} == 0 --disable-avahi \ %else --enable-avahi \ %endif %if %{build_mdnsr} == 0 --disable-mdnsresponder %else --enable-mdnsresponder %endif make %install %{?env_options} make install DESTDIR=$RPM_BUILD_ROOT GACUTIL_FLAGS="/package Mono.Zeroconf /root ${RPM_BUILD_ROOT}/usr/%_lib" mkdir -p $RPM_BUILD_ROOT/usr/share/pkgconfig mv $RPM_BUILD_ROOT/usr/lib/pkgconfig/* $RPM_BUILD_ROOT/usr/share/pkgconfig %clean rm -rf $RPM_BUILD_ROOT %changelog * Thu Dec 27 2007 - abockover@suse.de - Patch to fix libdir issue in mono-zeroconf.pc on x86_64 * Sun Dec 23 2007 - abockover@suse.de - Initial import of Mono.Zeroconf for STABLE from the build serivce - Version 0.7.3 release - Provides a cross platform (Linux, Mac, Windows) Mono/.NET API for Zero Configuration networking supporting either Bonjour or Avahi mDNS providers