[Spice-devel] [PATCH spice-gtk 1/2] Add spec.in file and spec file generation

Snir Sheriber ssheribe at redhat.com
Tue Aug 27 14:27:32 UTC 2019


Signed-off-by: Snir Sheriber <ssheribe at redhat.com>
---
Test build:
https://copr.fedorainfracloud.org/coprs/snir/spice-project/build/1021943/

---
 meson.build       |  11 +++
 spice-gtk.spec.in | 190 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 201 insertions(+)
 create mode 100644 spice-gtk.spec.in

diff --git a/meson.build b/meson.build
index 07dbb70..61f8a11 100644
--- a/meson.build
+++ b/meson.build
@@ -408,3 +408,14 @@ if spice_gtk_has_gtk
                      requires : 'spice-client-glib-2.0 gtk+-3.0 >= @0@'.format(gtk_version_required),
                      variables : 'exec_prefix=${prefix}')
 endif
+
+#
+# spec file
+#
+conf_data = configuration_data()
+conf_data.set('version', meson.project_version())
+conf_data.set('release', run_command('date', '+%Y%m%d%H%M.spice.latest', check : true).stdout().strip())
+
+configure_file(input : 'spice-gtk.spec.in',
+               output : 'spice-gtk.spec',
+               configuration : conf_data)
diff --git a/spice-gtk.spec.in b/spice-gtk.spec.in
new file mode 100644
index 0000000..b4c1051
--- /dev/null
+++ b/spice-gtk.spec.in
@@ -0,0 +1,190 @@
+#define _version_suffix
+
+Name:           spice-gtk
+Version:        @version@
+Release:        @release@%{?dist}
+Summary:        A GTK+ widget for SPICE clients
+
+License:        LGPLv2+
+URL:            https://www.spice-space.org/
+#VCS:           git:git://anongit.freedesktop.org/spice/spice-gtk
+Source0:        https://www.spice-space.org/download/gtk/%{name}-%{version}%{?_version_suffix}.tar.xz
+
+BuildRequires: git-core
+BuildRequires: meson
+BuildRequires: intltool
+BuildRequires: usbredir-devel >= 0.7.1
+BuildRequires: libusb1-devel >= 1.0.16
+BuildRequires: pixman-devel libjpeg-turbo-devel
+BuildRequires: opus-devel
+BuildRequires: zlib-devel
+BuildRequires: cyrus-sasl-devel
+BuildRequires: libcacard-devel
+BuildRequires: gobject-introspection-devel
+BuildRequires: libacl-devel
+%if ! 0%{?flatpak}
+BuildRequires: polkit-devel
+%endif
+BuildRequires: gtk-doc
+BuildRequires: vala
+BuildRequires: usbutils
+BuildRequires: libsoup-devel >= 2.49.91
+BuildRequires: libphodav-devel
+BuildRequires: lz4-devel
+BuildRequires: gtk3-devel
+BuildRequires: json-glib-devel
+BuildRequires: spice-protocol >= 0.12.15
+BuildRequires: gstreamer1-devel >= 1.10
+BuildRequires: gstreamer1-plugins-base-devel >= 1.10
+BuildRequires: python3-six
+BuildRequires: python3-pyparsing
+BuildRequires: openssl-devel
+BuildRequires: gnupg2
+
+Obsoletes: spice-gtk-python < 0.32
+
+Requires: spice-glib%{?_isa} = %{version}-%{release}
+
+%description
+Client libraries for SPICE desktop servers.
+
+%package -n spice-glib
+Summary: A GObject for communicating with Spice servers
+
+%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
+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
+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
+Requires: spice-gtk3%{?_isa} = %{version}-%{release}
+Requires: spice-glib-devel%{?_isa} = %{version}-%{release}
+Requires: pkgconfig
+Requires: gtk3-devel
+Obsoletes: spice-gtk-devel < 0.32
+
+%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
+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 tools
+Summary: Spice-gtk tools
+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
+%autosetup -S git_am
+
+
+%build
+
+# meson macro has --auto-features=enabled
+# gstreamer should be enough, may be deprecated in the future
+%global mjpegflag -Dbuiltin-mjpeg=false
+# spice-common doesn't use auto feature yet
+%global celt051flag -Dcelt051=disabled
+# pulse is deprecated upstream
+%global pulseflag -Dpulse=disabled
+
+%meson \
+  %{mjpegflag} \
+  %{celt051flag} \
+  %{pulseflag} \
+%if 0%{?flatpak}
+  -Dpolkit=disabled
+%else
+  -Dusb-acl-helper-dir=%{_libexecdir}/spice-gtk-%{_arch}/
+%endif
+
+%meson_build
+
+
+%check
+%meson_test
+
+
+%install
+%meson_install
+
+
+%find_lang %{name}
+
+%ldconfig_scriptlets
+%ldconfig_scriptlets -n spice-glib
+%ldconfig_scriptlets -n spice-gtk3
+
+
+%files
+%doc AUTHORS
+%doc COPYING
+%doc README.md
+%doc CHANGELOG.md
+%{_mandir}/man1/spice-client.1*
+
+%files -n spice-glib -f %{name}.lang
+%{_libdir}/libspice-client-glib-2.0.so.*
+%{_libdir}/girepository-1.0/SpiceClientGLib-2.0.typelib
+%if ! 0%{?flatpak}
+%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
+%endif
+
+%files -n spice-glib-devel
+%{_libdir}/libspice-client-glib-2.0.so
+%{_includedir}/spice-client-glib-2.0
+%{_libdir}/pkgconfig/spice-client-glib-2.0.pc
+%{_datadir}/gir-1.0/SpiceClientGLib-2.0.gir
+%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 tools
+%{_bindir}/spicy
+%{_bindir}/spicy-screenshot
+%{_bindir}/spicy-stats
-- 
2.21.0



More information about the Spice-devel mailing list