From db5366a54db6f0da9763d4c1549bbc510af00cab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Date: Thu, 17 Jan 2019 00:40:38 +0400 Subject: [PATCH] Update to spice-gtk 0.36 release MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit switch to meson build-sys Signed-off-by: Marc-André Lureau --- ...gger-wheel-scrolling-after-one-click.patch | 37 ---------- 0001-meson-improve-gtk-doc-build.patch | 73 +++++++++++++++++++ ...ninja-dist-and-building-from-tarball.patch | 54 ++++++++++++++ sources | 2 +- spice-gtk.spec | 59 +++++++++------ 5 files changed, 166 insertions(+), 59 deletions(-) delete mode 100644 0001-display-Trigger-wheel-scrolling-after-one-click.patch create mode 100644 0001-meson-improve-gtk-doc-build.patch create mode 100644 0002-meson-fix-ninja-dist-and-building-from-tarball.patch diff --git a/0001-display-Trigger-wheel-scrolling-after-one-click.patch b/0001-display-Trigger-wheel-scrolling-after-one-click.patch deleted file mode 100644 index 8b1bf6f..0000000 --- a/0001-display-Trigger-wheel-scrolling-after-one-click.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Christophe Fergeau -Date: Mon, 17 Sep 2018 18:41:05 +0200 -Subject: [spice-gtk] display: Trigger wheel scrolling after one 'click' -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The scroll wheel on the mouse will trigger a smooth scroll event with a -delta of +/-1.0. The code added in 2212f05 triggers a scroll when the -delta is strictly greater than 1.0. This means that right after -connecting a client, we won't be triggering a scroll with the first -mouse wheel 'click'. -This commit adjusts the check so that we try to scroll when the delta is -equal or greater than 1.0. - -https://bugzilla.redhat.com/show_bug.cgi?id=1627823 - -Signed-off-by: Christophe Fergeau -Acked-by: Marc-André Lureau ---- - src/spice-widget.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/spice-widget.c b/src/spice-widget.c -index 853c9df6..312c640a 100644 ---- a/src/spice-widget.c -+++ b/src/spice-widget.c -@@ -1979,7 +1979,7 @@ static gboolean scroll_event(GtkWidget *widget, GdkEventScroll *scroll) - break; - case GDK_SCROLL_SMOOTH: - d->scroll_delta_y += scroll->delta_y; -- while (ABS(d->scroll_delta_y) > 1) { -+ while (ABS(d->scroll_delta_y) >= 1) { - if (d->scroll_delta_y < 0) { - press_and_release(display, SPICE_MOUSE_BUTTON_UP, button_state); - d->scroll_delta_y += 1; diff --git a/0001-meson-improve-gtk-doc-build.patch b/0001-meson-improve-gtk-doc-build.patch new file mode 100644 index 0000000..299d1b0 --- /dev/null +++ b/0001-meson-improve-gtk-doc-build.patch @@ -0,0 +1,73 @@ +From ffa4077f696585ab671ae3dcdb1ebfc53705ab91 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= +Date: Wed, 16 Jan 2019 16:13:30 +0400 +Subject: [PATCH spice-gtk 1/2] meson: improve gtk-doc build +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +- Fix the following warnings: +./spice-gtk-sections.txt:467: warning: No declaration found for SPICE_GTK_CHECK_VERSION. +./spice-gtk-sections.txt:468: warning: No declaration found for SPICE_GTK_MAJOR_VERSION. +./spice-gtk-sections.txt:469: warning: No declaration found for SPICE_GTK_MICRO_VERSION. +./spice-gtk-sections.txt:470: warning: No declaration found for SPICE_GTK_MINOR_VERSION. + +- fixxref for glib and gtk (thus requires gtk+ to build doc) + +- And other minor simplifications. + +After autotools is removed, we should try to use --rebuild-types. For +now I prefer not to touch it :) + +Signed-off-by: Marc-André Lureau +--- + doc/reference/meson.build | 31 +++++++++++++++++++++++++------ + 1 file changed, 25 insertions(+), 6 deletions(-) + +diff --git a/doc/reference/meson.build b/doc/reference/meson.build +index a121e66..72fcabe 100644 +--- a/doc/reference/meson.build ++++ b/doc/reference/meson.build +@@ -38,14 +38,33 @@ ignore_headers = [ + + spice_gtk_doc_dep = declare_dependency(link_with : [spice_client_gtk_lib, spice_client_glib_lib]) + +-gnome.gtkdoc('spice-gtk', +- content_files : ['spice-gtk-overrides.txt', 'spice-gtk-overrides.txt'], ++glib_prefix = dependency('glib-2.0').get_pkgconfig_variable('prefix') ++glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html') ++gtk_prefix = dependency('gtk+-3.0').get_pkgconfig_variable('prefix') ++gtk_docpath = join_paths(gtk_prefix, 'share', 'gtk-doc', 'html') ++docpath = join_paths(spice_gtk_datadir, 'gtk-doc', 'html') ++ ++gnome.gtkdoc(meson.project_name(), + dependencies : spice_gtk_doc_dep, +- main_xml : 'spice-gtk-docs.xml', +- gobject_typesfile : files('spice-gtk.types'), ++ main_xml : meson.project_name() + '-docs.xml', ++ gobject_typesfile : meson.project_name() + '.types', + ignore_headers : ignore_headers, + include_directories: spice_gtk_include, + c_args : '-DSPICE_COMPILATION', + install : true, +- scan_args : ['--deprecated-guards="SPICE_DISABLE_DEPRECATED"', '--ignore-decorators="G_GNUC_INTERNAL"'], +- src_dir : join_paths(meson.source_root(), 'src')) ++ scan_args : [ ++ '--deprecated-guards="SPICE_DISABLE_DEPRECATED"', ++ '--ignore-decorators="G_GNUC_INTERNAL"' ++ ], ++ src_dir : [ ++ join_paths(meson.source_root(), 'src'), ++ join_paths(meson.build_root(), 'src'), ++ ], ++ fixxref_args: [ ++ '--html-dir=@0@'.format(docpath), ++ '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')), ++ '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')), ++ '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')), ++ '--extra-dir=@0@'.format(join_paths(gtk_docpath, 'gtk3')), ++ ], ++ ) +-- +2.20.1.98.gecbdaf0899 + diff --git a/0002-meson-fix-ninja-dist-and-building-from-tarball.patch b/0002-meson-fix-ninja-dist-and-building-from-tarball.patch new file mode 100644 index 0000000..f9c504c --- /dev/null +++ b/0002-meson-fix-ninja-dist-and-building-from-tarball.patch @@ -0,0 +1,54 @@ +From 9b8c32c9ee422294278934ef48a865de3737661e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= +Date: Wed, 16 Jan 2019 17:20:58 +0400 +Subject: [PATCH spice-gtk 2/2] meson: fix ninja dist, and building from + tarball +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +meson doesn't handle git-version-gen correctly yet (see +meson#688). Let's set the version manually for now. + +And a tag version vX.X will also fail to build, version_info[2] +doesn't exist. + +Signed-off-by: Marc-André Lureau +--- + meson.build | 2 +- + src/meson.build | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/meson.build b/meson.build +index d7062af..70dd318 100644 +--- a/meson.build ++++ b/meson.build +@@ -2,7 +2,7 @@ + # project definition + # + project('spice-gtk', 'c', +- version : run_command('build-aux/git-version-gen', '${MESON_SOURCE_ROOT}/.tarball-version', check : true).stdout().strip(), ++ version : '0.36', + license : 'LGPLv2.1', + meson_version : '>= 0.49') + +diff --git a/src/meson.build b/src/meson.build +index d9614cb..c55db44 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -8,9 +8,9 @@ spice_gtk_include += [include_directories('.')] + version_info = meson.project_version().split('.') + major = '@0@'.format(version_info[0]) + minor = '@0@'.format(version_info[1]) +-micro = version_info[2].split('-')[0] +-if micro == '' +- micro = '0' ++micro = '0' ++if version_info.length() > 2 ++ micro = version_info[2].split('-')[0] + endif + version_data = configuration_data() + version_data.set('SPICE_GTK_MAJOR_VERSION', major) +-- +2.20.1.98.gecbdaf0899 + diff --git a/sources b/sources index a829bf8..2538a6f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (spice-gtk-0.35.tar.bz2) = f0914a4a9baf892e39dab7d51aa9f5ab4dbb4ef01f09da158b20756f890745837d0a6c8c1f7897844e695be2ed01f3b1d04ada1cacc958b5cfadb0d4bf7c4729 +SHA512 (spice-gtk-0.36.tar.bz2) = 2f8fd15e18b902d7ec0bcfae09d189bd26a9eedd72c9e018b201132e454513849821c46746fcb5887ea0ba995d9ff168ee46482ca1d4dbdf7580787a1298e5bf diff --git a/spice-gtk.spec b/spice-gtk.spec index 8a7e111..2be50ce 100644 --- a/spice-gtk.spec +++ b/spice-gtk.spec @@ -1,8 +1,8 @@ #define _version_suffix Name: spice-gtk -Version: 0.35 -Release: 3%{?dist} +Version: 0.36 +Release: 1%{?dist} Summary: A GTK+ widget for SPICE clients Group: System Environment/Libraries @@ -10,14 +10,17 @@ License: LGPLv2+ URL: https://www.spice-space.org/spice-gtk.html #VCS: git:git://anongit.freedesktop.org/spice/spice-gtk Source0: https://www.spice-space.org/download/gtk/%{name}-%{version}%{?_version_suffix}.tar.bz2 -Patch1: 0001-display-Trigger-wheel-scrolling-after-one-click.patch + +Patch0001: 0001-meson-improve-gtk-doc-build.patch +Patch0002: 0002-meson-fix-ninja-dist-and-building-from-tarball.patch BuildRequires: git-core +BuildRequires: meson BuildRequires: intltool BuildRequires: usbredir-devel >= 0.5.2 -BuildRequires: libusb1-devel >= 1.0.9 +BuildRequires: libusb1-devel >= 1.0.16 BuildRequires: pixman-devel libjpeg-turbo-devel -BuildRequires: celt051-devel pulseaudio-libs-devel opus-devel +BuildRequires: opus-devel BuildRequires: zlib-devel BuildRequires: cyrus-sasl-devel BuildRequires: libcacard-devel @@ -31,14 +34,17 @@ BuildRequires: libsoup-devel >= 2.49.91 BuildRequires: libphodav-devel BuildRequires: lz4-devel BuildRequires: gtk3-devel -BuildRequires: spice-protocol >= 0.12.14 +BuildRequires: json-glib-devel +BuildRequires: spice-protocol >= 0.12.15 BuildRequires: gstreamer1-devel gstreamer1-plugins-base-devel +BuildRequires: python3-six +BuildRequires: python3-pyparsing +BuildRequires: openssl-devel + Obsoletes: spice-gtk-python < 0.32 Requires: spice-glib%{?_isa} = %{version}-%{release} -BuildRequires: openssl-devel - %description Client libraries for SPICE desktop servers. @@ -108,22 +114,30 @@ spicy-screenshot is a tool to capture screen-shots of a SPICE desktop. %build -%configure \ - --disable-celt051 \ - --enable-gtk-doc \ - --enable-webdav \ - --with-usb-acl-helper-dir=%{_libexecdir}/spice-gtk-%{_arch}/ \ - --enable-lz4 \ - --enable-vala \ - --disable-werror -make %{?_smp_mflags} V=1 + +# 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} \ + -Dusb-acl-helper-dir=%{_libexecdir}/spice-gtk-%{_arch}/ + +%meson_build + + +%check +%meson_test %install -make install DESTDIR=%{buildroot} - -rm -f %{buildroot}%{_libdir}/*.a -rm -f %{buildroot}%{_libdir}/*.la +%meson_install %find_lang %{name} @@ -176,6 +190,9 @@ rm -f %{buildroot}%{_libdir}/*.la %{_bindir}/spicy-stats %changelog +* Wed Jan 16 2019 Marc-André Lureau - 0.36-1 +- v0.36 release + * Wed Sep 19 2018 Christophe Fergeau - 0.35-3 - Fix scrolling with mousewheel https://bugzilla.redhat.com/show_bug.cgi?id=1627823