They can be used to build spice-gtk / mingw-spice-gtk RPM packages. These spec files are based off the .spec used in Fedora --- configure.ac | 2 + data/Makefile.am | 8 ++ data/mingw-spice-gtk.spec.in | 279 +++++++++++++++++++++++++++++++++++++++++++ data/spice-gtk.spec.in | 256 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 545 insertions(+) create mode 100644 data/mingw-spice-gtk.spec.in create mode 100644 data/spice-gtk.spec.in diff --git a/configure.ac b/configure.ac index cf5a039..c6c82ea 100644 --- a/configure.ac +++ b/configure.ac @@ -745,6 +745,8 @@ spice-client-gtk-3.0.pc spice-controller.pc data/Makefile data/spicy.nsis +data/spice-gtk.spec +data/mingw-spice-gtk.spec po/Makefile.in gtk/Makefile gtk/spice-version.h diff --git a/data/Makefile.am b/data/Makefile.am index a289c23..82f4ba1 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -1,13 +1,21 @@ NULL= EXTRA_DIST = \ + mingw-spice-gtk.spec \ spicy.nsis \ + spice-gtk.spec \ spice-protocol.vapi \ gtkrc \ $(desktop_in_files) \ org.spice-space.lowlevelusbaccess.policy \ $(NULL) +DISTCLEAN_FILES = \ + mingw-spice-gtk.spec \ + spice-gtk.spec \ + $(NULL) + + vapidir = $(VAPIDIR) vapi_DATA = spice-protocol.vapi diff --git a/data/mingw-spice-gtk.spec.in b/data/mingw-spice-gtk.spec.in new file mode 100644 index 0000000..c27e91e --- /dev/null +++ b/data/mingw-spice-gtk.spec.in @@ -0,0 +1,279 @@ +%{?mingw_package_header} + +Name: mingw-spice-gtk +Version: @VERSION@ +Release: 1%{?dist} +Summary: A GTK+ widget for SPICE clients + +License: LGPLv2+ +URL: http://spice-space.org/page/Spice-Gtk +Source0: http://www.spice-space.org/download/gtk/spice-gtk-%{version}%{?_version_suffix}.tar.bz2 + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch + +BuildRequires: mingw32-filesystem >= 95 +BuildRequires: mingw64-filesystem >= 95 +BuildRequires: mingw32-gcc +BuildRequires: mingw64-gcc +BuildRequires: mingw32-binutils +BuildRequires: mingw64-binutils +BuildRequires: glib2-devel + +BuildRequires: mingw32-gtk2 >= 2.14 +BuildRequires: mingw64-gtk2 >= 2.14 +BuildRequires: mingw32-gtk3 >= 2.91.3 +BuildRequires: mingw64-gtk3 >= 2.91.3 +BuildRequires: mingw32-pixman +BuildRequires: mingw64-pixman +BuildRequires: mingw32-openssl +BuildRequires: mingw64-openssl +BuildRequires: mingw32-libjpeg-turbo +BuildRequires: mingw64-libjpeg-turbo +BuildRequires: mingw32-celt051 +BuildRequires: mingw64-celt051 +BuildRequires: mingw32-zlib +BuildRequires: mingw64-zlib +BuildRequires: mingw32-gstreamer1 +BuildRequires: mingw64-gstreamer1 +BuildRequires: mingw32-gstreamer1-plugins-base +BuildRequires: mingw64-gstreamer1-plugins-base +BuildRequires: mingw32-usbredir +BuildRequires: mingw64-usbredir +BuildRequires: mingw32-libusbx +BuildRequires: mingw64-libusbx +BuildRequires: mingw32-opus +BuildRequires: mingw64-opus +# Hack because of bz #613466 +BuildRequires: intltool +BuildRequires: libtool + +%description +Client libraries for SPICE desktop servers. + + +# Mingw32 +%package -n mingw32-spice-gtk +Summary: %{summary} +Requires: mingw32-spice-glib = %{version}-%{release} +Requires: mingw32-gtk2 +Requires: pkgconfig + +%description -n mingw32-spice-gtk +Gtk+2 client libraries for SPICE desktop servers. + +%package -n mingw32-spice-gtk3 +Summary: %{summary} +Requires: mingw32-spice-glib = %{version}-%{release} +Requires: mingw32-gtk3 +Requires: pkgconfig + +%description -n mingw32-spice-gtk3 +Gtk+3 client libraries for SPICE desktop servers. + +%package -n mingw32-spice-glib +Summary: GLib-based library to connect to SPICE servers +Requires: pkgconfig +Requires: mingw32-glib2 +Requires: mingw32-spice-protocol + +%description -n mingw32-spice-glib +A SPICE client library using GLib2. + +%package -n mingw32-spice-gtk-static +Summary: %{summary} +Requires: mingw32-spice-gtk = %{version}-%{release} + +%description -n mingw32-spice-gtk-static +Gtk+ client static libraries for SPICE desktop servers. + +# Mingw64 +%package -n mingw64-spice-gtk +Summary: %{summary} +Requires: mingw64-spice-glib = %{version}-%{release} +Requires: mingw64-gtk2 +Requires: pkgconfig + +%description -n mingw64-spice-gtk +Gtk+2 client libraries for SPICE desktop servers. + +%package -n mingw64-spice-gtk3 +Summary: %{summary} +Requires: mingw64-spice-glib = %{version}-%{release} +Requires: mingw64-gtk3 +Requires: pkgconfig + +%description -n mingw64-spice-gtk3 +Gtk+3 client libraries for SPICE desktop servers. + +%package -n mingw64-spice-glib +Summary: GLib-based library to connect to SPICE servers +Requires: pkgconfig +Requires: mingw64-glib2 +Requires: mingw64-spice-protocol + +%description -n mingw64-spice-glib +A SPICE client library using GLib2. + +%package -n mingw64-spice-gtk-static +Summary: %{summary} +Requires: mingw64-spice-gtk = %{version}-%{release} + +%description -n mingw64-spice-gtk-static +Gtk+ client static libraries for SPICE desktop servers. + +%{?mingw_debug_package} + + +%prep +%setup -q -n spice-gtk-%{version}%{?_version_suffix} -c +pushd spice-gtk-%{version}%{?_version_suffix} +popd + +if [ -n '%{?_version_suffix}' ]; then + mv spice-gtk-%{version}%{?_version_suffix} spice-gtk-%{version} +fi + +cp -a spice-gtk-%{version} spice-gtk3-%{version} + +%build +pushd spice-gtk-%{version} +%mingw_configure \ + --without-sasl \ + --with-audio=gstreamer \ + --with-coroutine=winfiber \ + --disable-smartcard \ + --without-python \ + --enable-usbredir \ + --disable-gtk-doc \ + --disable-werror \ + --enable-static \ + --enable-shared \ + --with-gtk=2.0 + +%mingw_make %{?_smp_mflags} +popd + +pushd spice-gtk3-%{version} +%mingw_configure \ + --without-sasl \ + --with-audio=gstreamer \ + --with-coroutine=winfiber \ + --disable-smartcard \ + --without-python \ + --enable-usbredir \ + --disable-gtk-doc \ + --disable-werror \ + --enable-static \ + --enable-shared \ + --with-gtk=3.0 + +%mingw_make %{?_smp_mflags} +popd + +%install +rm -rf $RPM_BUILD_ROOT + +pushd spice-gtk-%{version} +%mingw_make install "DESTDIR=$RPM_BUILD_ROOT" +popd + +pushd spice-gtk3-%{version} +%mingw_make install "DESTDIR=$RPM_BUILD_ROOT" +popd + +# Libtool files don't need to be bundled +find $RPM_BUILD_ROOT -name "*.la" -delete +# man pages don't need to be bundled +find $RPM_BUILD_ROOT -name "*.1" -delete + +%mingw_find_lang spice-gtk + +%clean +rm -rf $RPM_BUILD_ROOT + +# Mingw32 +%files -n mingw32-spice-glib -f spice-gtk.lang +%defattr(-,root,root) +%doc spice-gtk-%{version}/AUTHORS +%doc spice-gtk-%{version}/ChangeLog +%doc spice-gtk-%{version}/COPYING +%doc spice-gtk-%{version}/README +%doc spice-gtk-%{version}/NEWS +%{mingw32_bindir}/libspice-client-glib-2.0-8.dll +%{mingw32_bindir}/libspice-controller-0.dll +%{mingw32_bindir}/spicy-screenshot.exe +%{mingw32_bindir}/spicy-stats.exe +%{mingw32_libdir}/libspice-client-glib-2.0.dll.a +%{mingw32_libdir}/libspice-controller.dll.a +%{mingw32_libdir}/pkgconfig/spice-client-glib-2.0.pc +%{mingw32_libdir}/pkgconfig/spice-controller.pc +%{mingw32_includedir}/spice-client-glib-2.0 +%{mingw32_includedir}/spice-controller +%{mingw32_datadir}/vala/vapi + +%files -n mingw32-spice-gtk +%defattr(-,root,root) +%{mingw32_bindir}/libspice-client-gtk-2.0-4.dll +%{mingw32_libdir}/libspice-client-gtk-2.0.dll.a +%{mingw32_libdir}/pkgconfig/spice-client-gtk-2.0.pc +%{mingw32_includedir}/spice-client-gtk-2.0 + +%files -n mingw32-spice-gtk3 +%defattr(-,root,root) +%{mingw32_bindir}/libspice-client-gtk-3.0-4.dll +%{mingw32_bindir}/spicy.exe +%{mingw32_libdir}/libspice-client-gtk-3.0.dll.a +%{mingw32_libdir}/pkgconfig/spice-client-gtk-3.0.pc +%{mingw32_includedir}/spice-client-gtk-3.0 + +%files -n mingw32-spice-gtk-static +%defattr(-,root,root) +%{mingw32_libdir}/libspice-client-glib-2.0.a +%{mingw32_libdir}/libspice-controller.a +%{mingw32_libdir}/libspice-client-gtk-2.0.a +%{mingw32_libdir}/libspice-client-gtk-3.0.a + +# Mingw64 +%files -n mingw64-spice-glib -f spice-gtk.lang +%defattr(-,root,root) +%doc spice-gtk-%{version}/AUTHORS +%doc spice-gtk-%{version}/ChangeLog +%doc spice-gtk-%{version}/COPYING +%doc spice-gtk-%{version}/README +%doc spice-gtk-%{version}/NEWS +%{mingw64_bindir}/libspice-client-glib-2.0-8.dll +%{mingw64_bindir}/libspice-controller-0.dll +%{mingw64_bindir}/spicy-screenshot.exe +%{mingw64_bindir}/spicy-stats.exe +%{mingw64_libdir}/libspice-client-glib-2.0.dll.a +%{mingw64_libdir}/libspice-controller.dll.a +%{mingw64_libdir}/pkgconfig/spice-client-glib-2.0.pc +%{mingw64_libdir}/pkgconfig/spice-controller.pc +%{mingw64_includedir}/spice-client-glib-2.0 +%{mingw64_includedir}/spice-controller +%{mingw64_datadir}/vala/vapi + +%files -n mingw64-spice-gtk +%defattr(-,root,root) +%{mingw64_bindir}/libspice-client-gtk-2.0-4.dll +%{mingw64_libdir}/libspice-client-gtk-2.0.dll.a +%{mingw64_libdir}/pkgconfig/spice-client-gtk-2.0.pc +%{mingw64_includedir}/spice-client-gtk-2.0 + +%files -n mingw64-spice-gtk3 +%defattr(-,root,root) +%{mingw64_bindir}/libspice-client-gtk-3.0-4.dll +%{mingw64_bindir}/spicy.exe +%{mingw64_libdir}/libspice-client-gtk-3.0.dll.a +%{mingw64_libdir}/pkgconfig/spice-client-gtk-3.0.pc +%{mingw64_includedir}/spice-client-gtk-3.0 + +%files -n mingw64-spice-gtk-static +%defattr(-,root,root) +%{mingw64_libdir}/libspice-client-glib-2.0.a +%{mingw64_libdir}/libspice-controller.a +%{mingw64_libdir}/libspice-client-gtk-2.0.a +%{mingw64_libdir}/libspice-client-gtk-3.0.a + +%changelog diff --git a/data/spice-gtk.spec.in b/data/spice-gtk.spec.in new file mode 100644 index 0000000..91b7700 --- /dev/null +++ b/data/spice-gtk.spec.in @@ -0,0 +1,256 @@ +#define _version_suffix + +Name: spice-gtk +Version: @VERSION@ +Release: 1%{?dist} +Summary: A GTK+ widget for SPICE clients + +Group: System Environment/Libraries +License: LGPLv2+ +URL: http://spice-space.org/page/Spice-Gtk +#VCS: git:git://anongit.freedesktop.org/spice/spice-gtk +Source0: http://www.spice-space.org/download/gtk/%{name}-%{version}%{?_version_suffix}.tar.bz2 +Patch0: 0001-channel-usbredir-Do-not-stop-event-listening-if-Spic.patch + +BuildRequires: intltool +BuildRequires: gtk2-devel >= 2.14 +BuildRequires: usbredir-devel >= 0.5.2 +BuildRequires: libusb1-devel >= 1.0.9 +BuildRequires: libgudev1-devel +BuildRequires: pixman-devel openssl-devel libjpeg-turbo-devel +BuildRequires: celt051-devel pulseaudio-libs-devel opus-devel +BuildRequires: pygtk2-devel python-devel zlib-devel +BuildRequires: cyrus-sasl-devel +BuildRequires: libcacard-devel +BuildRequires: gobject-introspection-devel +BuildRequires: dbus-glib-devel +BuildRequires: libacl-devel +BuildRequires: polkit-devel +BuildRequires: gtk-doc +BuildRequires: vala-tools +BuildRequires: usbutils +BuildRequires: libsoup-devel >= 2.49.91 +BuildRequires: libphodav-devel +BuildRequires: lz4-devel +BuildRequires: gtk3-devel + +# FIXME: should ship the generated files.. +BuildRequires: pyparsing +# keep me to get gendeps magic happen +BuildRequires: spice-protocol +Requires: spice-glib%{?_isa} = %{version}-%{release} + + +%description +Client libraries for SPICE desktop servers. + +%package devel +Summary: Development files to build GTK2 applications with spice-gtk-2.0 +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: spice-glib-devel%{?_isa} = %{version}-%{release} +Requires: pkgconfig +Requires: gtk2-devel + +%description devel +spice-client-gtk-2.0 provides a SPICE viewer widget for GTK2. + +Libraries, includes, etc. to compile with the spice-gtk2 libraries + +%package -n spice-glib +Summary: A GObject for communicating with Spice servers +Group: Development/Libraries + +%description -n spice-glib +spice-client-glib-2.0 is a SPICE client library for GLib2. + +%package -n spice-glib-devel +Summary: Development files to build Glib2 applications with spice-glib-2.0 +Group: Development/Libraries +Requires: spice-glib%{?_isa} = %{version}-%{release} +Requires: pkgconfig +Requires: glib2-devel + +%description -n spice-glib-devel +spice-client-glib-2.0 is a SPICE client library for GLib2. + +Libraries, includes, etc. to compile with the spice-glib-2.0 libraries + +%package -n spice-gtk3 +Summary: A GTK3 widget for SPICE clients +Group: Development/Libraries +Requires: spice-glib%{?_isa} = %{version}-%{release} + +%description -n spice-gtk3 +spice-client-glib-3.0 is a SPICE client library for Gtk3. + +%package -n spice-gtk3-devel +Summary: Development files to build GTK3 applications with spice-gtk-3.0 +Group: Development/Libraries +Requires: spice-gtk3%{?_isa} = %{version}-%{release} +Requires: spice-glib-devel%{?_isa} = %{version}-%{release} +Requires: pkgconfig +Requires: gtk3-devel + +%description -n spice-gtk3-devel +spice-client-gtk-3.0 provides a SPICE viewer widget for GTK3. + +Libraries, includes, etc. to compile with the spice-gtk3 libraries + +%package -n spice-gtk3-vala +Summary: Vala bindings for the spice-gtk-3.0 library +Group: Development/Libraries +Requires: spice-gtk3%{?_isa} = %{version}-%{release} +Requires: spice-gtk3-devel%{?_isa} = %{version}-%{release} + +%description -n spice-gtk3-vala +A module allowing use of the spice-gtk-3.0 widget from vala + +%package python +Summary: Python bindings for the spice-gtk-2.0 library +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description python +SpiceClientGtk module provides a SPICE viewer widget for GTK2. + +A module allowing use of the spice-gtk-2.0 widget from python + +%package tools +Summary: Spice-gtk tools +Group: Applications/Internet +Requires: spice-gtk3%{?_isa} = %{version}-%{release} + +%description tools +Simple clients for interacting with SPICE servers. +spicy is a client to a SPICE desktop server. +spicy-screenshot is a tool to capture screen-shots of a SPICE desktop. + + +%prep +%setup -q -n spice-gtk-%{version}%{?_version_suffix} -c + +if [ -n '%{?_version_suffix}' ]; then + mv spice-gtk-%{version}%{?_version_suffix} spice-gtk-%{version} +fi + +pushd spice-gtk-%{version} +%patch0 -p1 +find . -name '*.stamp' | xargs touch +popd + +cp -a spice-gtk-%{version} spice-gtk3-%{version} + +%build + +CONFIGURE_ARGS=" + --enable-gtk-doc + --enable-webdav + --with-usb-acl-helper-dir=%{_libexecdir}/spice-gtk-%{_arch}/ + --enable-lz4 +" + +cd spice-gtk-%{version} +%configure $CONFIGURE_ARGS --with-gtk=2.0 +make %{?_smp_mflags} +cd .. + +cd spice-gtk3-%{version} +%configure $CONFIGURE_ARGS --with-gtk=3.0 --enable-vala +make %{?_smp_mflags} +cd .. + + +%install + +cd spice-gtk-%{version} +make install DESTDIR=%{buildroot} +cd .. + +cd spice-gtk3-%{version} +make install DESTDIR=%{buildroot} +cd .. + +rm -f %{buildroot}%{_libdir}/*.a +rm -f %{buildroot}%{_libdir}/*.la +rm -f %{buildroot}%{_libdir}/python*/site-packages/*.a +rm -f %{buildroot}%{_libdir}/python*/site-packages/*.la + +# needed because of the upstream issue described in +# http://lists.freedesktop.org/archives/spice-devel/2012-August/010343.html +# these are unwanted spice-protocol files +rm -rf %{buildroot}%{_includedir}/spice-1 +rm -rf %{buildroot}%{_datadir}/pkgconfig/spice-protocol.pc + +%find_lang %{name} + + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%post -n spice-glib -p /sbin/ldconfig +%postun -n spice-glib -p /sbin/ldconfig + +%post -n spice-gtk3 -p /sbin/ldconfig +%postun -n spice-gtk3 -p /sbin/ldconfig + + +%files +%doc spice-gtk-%{version}/AUTHORS +%doc spice-gtk-%{version}/COPYING +%doc spice-gtk-%{version}/README +%doc spice-gtk-%{version}/NEWS +%{_libdir}/libspice-client-gtk-2.0.so.* +%{_libdir}/girepository-1.0/SpiceClientGtk-2.0.typelib +%{_mandir}/man1/spice-client.1* + +%files devel +%{_libdir}/libspice-client-gtk-2.0.so +%{_includedir}/spice-client-gtk-2.0 +%{_libdir}/pkgconfig/spice-client-gtk-2.0.pc +%{_datadir}/gir-1.0/SpiceClientGtk-2.0.gir + +%files -n spice-glib -f %{name}.lang +%{_libdir}/libspice-client-glib-2.0.so.* +%{_libdir}/libspice-controller.so.* +%{_libdir}/girepository-1.0/SpiceClientGLib-2.0.typelib +%dir %{_libexecdir}/spice-gtk-%{_arch}/ +%attr(4755, root, root) %{_libexecdir}/spice-gtk-%{_arch}/spice-client-glib-usb-acl-helper +%{_datadir}/polkit-1/actions/org.spice-space.lowlevelusbaccess.policy + +%files -n spice-glib-devel +%{_libdir}/libspice-client-glib-2.0.so +%{_libdir}/libspice-controller.so +%{_includedir}/spice-client-glib-2.0 +%{_includedir}/spice-controller +%{_libdir}/pkgconfig/spice-client-glib-2.0.pc +%{_libdir}/pkgconfig/spice-controller.pc +%{_datadir}/gir-1.0/SpiceClientGLib-2.0.gir +%{_datadir}/vala/vapi/spice-protocol.vapi +%doc %{_datadir}/gtk-doc/html/* + +%files -n spice-gtk3 +%{_libdir}/libspice-client-gtk-3.0.so.* +%{_libdir}/girepository-1.0/SpiceClientGtk-3.0.typelib + +%files -n spice-gtk3-devel +%{_libdir}/libspice-client-gtk-3.0.so +%{_includedir}/spice-client-gtk-3.0 +%{_libdir}/pkgconfig/spice-client-gtk-3.0.pc +%{_datadir}/gir-1.0/SpiceClientGtk-3.0.gir + +%files -n spice-gtk3-vala +%{_datadir}/vala/vapi/spice-client-glib-2.0.deps +%{_datadir}/vala/vapi/spice-client-glib-2.0.vapi +%{_datadir}/vala/vapi/spice-client-gtk-3.0.deps +%{_datadir}/vala/vapi/spice-client-gtk-3.0.vapi + +%files python +%{_libdir}/python*/site-packages/SpiceClientGtk.so + +%files tools +%{_bindir}/spicy +%{_bindir}/spicy-screenshot +%{_bindir}/spicy-stats + +%changelog -- 2.3.5 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel