From 0de37ed45c34084db4b6d8c5e782d2c343fabefb Mon Sep 17 00:00:00 2001 From: yangchenguang Date: Mon, 16 Jan 2023 16:32:39 +0800 Subject: [PATCH] fix invalid use of subprojects Signed-off-by: yangchenguang --- fix-invalid-use-of-subprojects.patch | 55 ++++++++++++++++++++++++++++ gtk-vnc.spec | 8 +++- 2 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 fix-invalid-use-of-subprojects.patch diff --git a/fix-invalid-use-of-subprojects.patch b/fix-invalid-use-of-subprojects.patch new file mode 100644 index 0000000..f9069d2 --- /dev/null +++ b/fix-invalid-use-of-subprojects.patch @@ -0,0 +1,55 @@ +From 8da5e173ebdccbca60387ef2347c629be3c78dff Mon Sep 17 00:00:00 2001 +From: Eli Schwartz +Date: Mon, 27 Jun 2022 01:36:07 -0400 +Subject: [PATCH 01/11] fix invalid use of subprojects + +The keycodemapdb Meson subproject provides a program and a source input. +Since it is a subproject, Meson wants to sandbox that and requires it to +be explicitly exported. But this never happened -- instead, we manually +poked at files using the actual string path "subprojects/......" + +This was always a Meson sandbox violation, but Meson 0.63.0 started +noticing it and erroring out. + +Instead, do the right thing. Update the subproject to a version that has +a meson.build with actually meaningful contents -- namely, a files +variable and a found program. Then use these in order to run the needed +custom_target. + +In the process, it is also necessary to correct the argument ordering +when running keymap-gen. + +diff --git a/meson.build b/meson.build +index 299113a..bf72f13 100644 +--- a/meson.build ++++ b/meson.build +@@ -133,10 +133,10 @@ gtk_vnc_version_check_flags = gvnc_version_check_flags + [ + '-DGDK_VERSION_MAX_ALLOWED=@0@'.format(gtk_min_version_symbol), + ] + +-subproject('keycodemapdb') ++keycodemapdb = subproject('keycodemapdb') + +-keymapgen = files('subprojects/keycodemapdb/tools/keymap-gen') +-keymapcsv = files('subprojects/keycodemapdb/data/keymaps.csv') ++keymapgen = find_program('keymap-gen') ++keymapcsv = keycodemapdb.get_variable('keymaps_csv') + + + gnome = import('gnome') +diff --git a/subprojects/keycodemapdb/meson.build b/subprojects/keycodemapdb/meson.build +index eb9416b..ea05720 100644 +--- a/subprojects/keycodemapdb/meson.build ++++ b/subprojects/keycodemapdb/meson.build +@@ -1 +1,7 @@ +-project('keycodemapdb') ++project('keycodemapdb', meson_version: '>=0.46.0') ++ ++keymap_gen = find_program('tools/keymap-gen') ++meson.override_find_program('keymap-gen', keymap_gen) ++ ++keymaps_csv = files('data/keymaps.csv') ++ +-- +2.36.1 + diff --git a/gtk-vnc.spec b/gtk-vnc.spec index e93eef3..91f0b22 100644 --- a/gtk-vnc.spec +++ b/gtk-vnc.spec @@ -1,10 +1,11 @@ Summary: VNC viewer widget for GTK Name: gtk-vnc Version: 1.3.0 -Release: 1 +Release: 2 License: LGPLv2+ URL: https://gitlab.gnome.org/GNOME/gtk-vnc Source: https://download.gnome.org/sources/%{name}/1.3/%{name}-%{version}.tar.xz +Patch0: fix-invalid-use-of-subprojects.patch BuildRequires: python3 python3-devel gnutls-devel libgcrypt-devel cyrus-sasl-devel BuildRequires: zlib-devel intltool gobject-introspection-devel gtk3-devel vala @@ -92,7 +93,7 @@ Libraries, includes, etc. to compile with the gtk-vnc library %package_help %prep -%autosetup -n gtk-vnc-%{version} +%autosetup -n gtk-vnc-%{version} -p1 %build %meson -Dwith-tls-priority="@LIBVIRT,SYSTEM" @@ -179,6 +180,9 @@ chmod -x examples/*.pl examples/*.js examples/*.py %{_mandir}/man1/gvnccapture.1* %changelog +* Mon Jan 16 2023 yangchenguang - 1.3.0-2 +- fix invalid use of subprojects + * Mon Mar 28 2022 lin zhang - 1.3.0-1 - Update to 1.3.0 -- Gitee