Hi, ----- Original Message ----- > They can be used to build spice-gtk / mingw-spice-gtk RPM packages. > These spec files are based off the .spec used in Fedora Why is it needed? I dislike having to maintain .spec files in several places. Furthermore, I don't get why we should have .spec file upstream and not of other distro. > --- > 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 > _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel