From a169c7ef338bcb42eb7ebb09b8aa77d3a34cc104ab32ef938061b7d89ba6d37b Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 26 Oct 2020 08:11:51 +0000 Subject: [PATCH] Accepting request 842902 from GNOME:Next update to 3.38.1 - TW should be ready OBS-URL: https://build.opensuse.org/request/show/842902 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-control-center?expand=0&rev=449 --- control-center-complete-SAE-support.patch | 438 ++++++++++++++++++++++ gnome-control-center-3.36.4.tar.xz | 3 - gnome-control-center-3.38.1.tar.xz | 3 + gnome-control-center.changes | 82 ++++ gnome-control-center.spec | 21 +- 5 files changed, 537 insertions(+), 10 deletions(-) create mode 100644 control-center-complete-SAE-support.patch delete mode 100644 gnome-control-center-3.36.4.tar.xz create mode 100644 gnome-control-center-3.38.1.tar.xz diff --git a/control-center-complete-SAE-support.patch b/control-center-complete-SAE-support.patch new file mode 100644 index 0000000..06a5a93 --- /dev/null +++ b/control-center-complete-SAE-support.patch @@ -0,0 +1,438 @@ +From 78ad9d72bac47ae80a346ec5681d0de81256d8ac Mon Sep 17 00:00:00 2001 +From: Jonathan Kang +Date: Wed, 9 Sep 2020 14:58:06 +0800 +Subject: [PATCH] network: complete SAE support + +Added WirelessSecuritySAE class to fully implement SAE support. +--- + .../connection-editor/ce-page-security.c | 9 +- + panels/network/wireless-security/meson.build | 3 + + .../wireless-security.gresource.xml | 1 + + panels/network/wireless-security/ws-sae.c | 213 ++++++++++++++++++ + panels/network/wireless-security/ws-sae.h | 40 ++++ + panels/network/wireless-security/ws-sae.ui | 78 +++++++ + 6 files changed, 340 insertions(+), 4 deletions(-) + create mode 100644 panels/network/wireless-security/ws-sae.c + create mode 100644 panels/network/wireless-security/ws-sae.h + create mode 100644 panels/network/wireless-security/ws-sae.ui + +diff --git a/panels/network/connection-editor/ce-page-security.c b/panels/network/connection-editor/ce-page-security.c +index b33e16470..e3729459f 100644 +--- a/panels/network/connection-editor/ce-page-security.c ++++ b/panels/network/connection-editor/ce-page-security.c +@@ -30,6 +30,7 @@ + #include "wireless-security.h" + #include "ws-dynamic-wep.h" + #include "ws-leap.h" ++#include "ws-sae.h" + #include "ws-wep-key.h" + #include "ws-wpa-eap.h" + #include "ws-wpa-psk.h" +@@ -353,11 +354,11 @@ finish_setup (CEPageSecurity *self) + + #if NM_CHECK_VERSION(1,20,6) + if (nm_utils_security_valid (NMU_SEC_SAE, dev_caps, FALSE, is_adhoc, 0, 0, 0)) { +- WirelessSecurityWPAPSK *ws_wpa_psk; ++ WirelessSecuritySAE *ws_sae; + +- ws_wpa_psk = ws_wpa_psk_new (self->connection); +- if (ws_wpa_psk) { +- add_security_item (self, WIRELESS_SECURITY (ws_wpa_psk), sec_model, ++ ws_sae = ws_sae_new (self->connection); ++ if (ws_sae) { ++ add_security_item (self, WIRELESS_SECURITY (ws_sae), sec_model, + &iter, _("WPA3 Personal"), FALSE); + if ((active < 0) && ((default_type == NMU_SEC_SAE))) + active = item; +diff --git a/panels/network/wireless-security/meson.build b/panels/network/wireless-security/meson.build +index 277be5a85..f30f4eb5d 100644 +--- a/panels/network/wireless-security/meson.build ++++ b/panels/network/wireless-security/meson.build +@@ -14,6 +14,7 @@ nm_applet_headers = [ + 'wireless-security.h', + 'ws-leap.h', + 'ws-dynamic-wep.h', ++ 'ws-sae.h', + 'ws-wep-key.h', + 'ws-wpa-eap.h', + 'ws-wpa-psk.h' +@@ -31,6 +32,7 @@ nm_applet_sources = [ + 'wireless-security.c', + 'ws-leap.c', + 'ws-dynamic-wep.c', ++ 'ws-sae.c', + 'ws-wep-key.c', + 'ws-wpa-eap.c', + 'ws-wpa-psk.c' +@@ -47,6 +49,7 @@ nm_resource_data = [ + 'eap-method-ttls.ui', + 'ws-dynamic-wep.ui', + 'ws-leap.ui', ++ 'ws-sae.ui', + 'ws-wep-key.ui', + 'ws-wpa-eap.ui', + 'ws-wpa-psk.ui' +diff --git a/panels/network/wireless-security/wireless-security.gresource.xml b/panels/network/wireless-security/wireless-security.gresource.xml +index a483d06a0..fa1a965ad 100644 +--- a/panels/network/wireless-security/wireless-security.gresource.xml ++++ b/panels/network/wireless-security/wireless-security.gresource.xml +@@ -9,6 +9,7 @@ + eap-method-ttls.ui + ws-dynamic-wep.ui + ws-leap.ui ++ ws-sae.ui + ws-wep-key.ui + ws-wpa-eap.ui + ws-wpa-psk.ui +diff --git a/panels/network/wireless-security/ws-sae.c b/panels/network/wireless-security/ws-sae.c +new file mode 100644 +index 000000000..67aa484f2 +--- /dev/null ++++ b/panels/network/wireless-security/ws-sae.c +@@ -0,0 +1,213 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ ++/* NetworkManager Applet -- allow user control over networking ++ * ++ * Jonathan Kang ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ * Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. ++ */ ++ ++#include ++#include ++ ++#include "helpers.h" ++#include "nma-ui-utils.h" ++#include "ui-helpers.h" ++#include "ws-sae.h" ++#include "wireless-security.h" ++ ++#define WPA_PMK_LEN 32 ++ ++struct _WirelessSecuritySAE { ++ GtkGrid parent; ++ ++ GtkEntry *password_entry; ++ GtkLabel *password_label; ++ GtkCheckButton *show_password_check; ++ GtkComboBox *type_combo; ++ GtkLabel *type_label; ++}; ++ ++static void wireless_security_iface_init (WirelessSecurityInterface *); ++ ++G_DEFINE_TYPE_WITH_CODE (WirelessSecuritySAE, ws_sae, GTK_TYPE_GRID, ++ G_IMPLEMENT_INTERFACE (wireless_security_get_type (), wireless_security_iface_init)); ++ ++static void ++show_toggled_cb (WirelessSecuritySAE *self) ++{ ++ gboolean visible; ++ ++ visible = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->show_password_check)); ++ gtk_entry_set_visibility (self->show_password_check, visible); ++} ++ ++static gboolean ++validate (WirelessSecurity *security, GError **error) ++{ ++ WirelessSecuritySAE *self = WS_SAE (security); ++ const char *key; ++ ++ key = gtk_entry_get_text (self->password_entry); ++ ++ if (key == NULL || key[0] == '\0') { ++ widget_set_error (GTK_WIDGET (self->password_entry)); ++ g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("missing password")); ++ return FALSE; ++ } ++ widget_unset_error (GTK_WIDGET (self->password_entry)); ++ ++ return TRUE; ++} ++ ++static void ++add_to_size_group (WirelessSecurity *security, GtkSizeGroup *group) ++{ ++ WirelessSecuritySAE *self = WS_SAE (security); ++ ++ gtk_size_group_add_widget (group, GTK_WIDGET (self->type_label)); ++ gtk_size_group_add_widget (group, GTK_WIDGET (self->password_label)); ++} ++ ++static void ++fill_connection (WirelessSecurity *security, NMConnection *connection) ++{ ++ WirelessSecuritySAE *self = WS_SAE (security); ++ const char *key; ++ NMSettingWireless *s_wireless; ++ NMSettingWirelessSecurity *s_wireless_sec; ++ NMSettingSecretFlags secret_flags; ++ const char *mode; ++ gboolean is_adhoc = FALSE; ++ ++ s_wireless = nm_connection_get_setting_wireless (connection); ++ g_assert (s_wireless); ++ ++ mode = nm_setting_wireless_get_mode (s_wireless); ++ if (mode && !strcmp (mode, "adhoc")) ++ is_adhoc = TRUE; ++ ++ /* Blow away the old security setting by adding a clear one */ ++ s_wireless_sec = (NMSettingWirelessSecurity *) nm_setting_wireless_security_new (); ++ nm_connection_add_setting (connection, (NMSetting *) s_wireless_sec); ++ ++ key = gtk_entry_get_text (self->password_entry); ++ g_object_set (s_wireless_sec, NM_SETTING_WIRELESS_SECURITY_PSK, key, NULL); ++ ++ /* Save PSK_FLAGS to the connection */ ++ secret_flags = nma_utils_menu_to_secret_flags (GTK_WIDGET (self->password_entry)); ++ nm_setting_set_secret_flags (NM_SETTING (s_wireless_sec), NM_SETTING_WIRELESS_SECURITY_PSK, ++ secret_flags, NULL); ++ ++ /* Update secret flags and popup when editing the connection */ ++ nma_utils_update_password_storage (GTK_WIDGET (self->password_entry), secret_flags, ++ NM_SETTING (s_wireless_sec), NM_SETTING_WIRELESS_SECURITY_PSK); ++ ++ wireless_security_clear_ciphers (connection); ++ if (is_adhoc) { ++ /* Ad-Hoc settings as specified by the supplicant */ ++ g_object_set (s_wireless_sec, NM_SETTING_WIRELESS_SECURITY_KEY_MGMT, "sae", NULL); ++ nm_setting_wireless_security_add_proto (s_wireless_sec, "rsn"); ++ nm_setting_wireless_security_add_pairwise (s_wireless_sec, "ccmp"); ++ nm_setting_wireless_security_add_group (s_wireless_sec, "ccmp"); ++ } else { ++ g_object_set (s_wireless_sec, NM_SETTING_WIRELESS_SECURITY_KEY_MGMT, "sae", NULL); ++ ++ /* Just leave ciphers and protocol empty, the supplicant will ++ * figure that out magically based on the AP IEs and card capabilities. ++ */ ++ } ++} ++ ++static gboolean ++adhoc_compatible (WirelessSecurity *security) ++{ ++ return FALSE; ++} ++ ++static void ++changed_cb (WirelessSecuritySAE *self) ++{ ++ wireless_security_notify_changed ((WirelessSecurity *) self); ++} ++ ++void ++ws_sae_init (WirelessSecuritySAE *self) ++{ ++ gtk_widget_init_template (GTK_WIDGET (self)); ++} ++ ++void ++ws_sae_class_init (WirelessSecuritySAEClass *klass) ++{ ++ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); ++ ++ gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/ControlCenter/network/ws-sae.ui"); ++ ++ gtk_widget_class_bind_template_child (widget_class, WirelessSecuritySAE, password_entry); ++ gtk_widget_class_bind_template_child (widget_class, WirelessSecuritySAE, password_label); ++ gtk_widget_class_bind_template_child (widget_class, WirelessSecuritySAE, show_password_check); ++ gtk_widget_class_bind_template_child (widget_class, WirelessSecuritySAE, type_combo); ++ gtk_widget_class_bind_template_child (widget_class, WirelessSecuritySAE, type_label); ++} ++ ++static void ++wireless_security_iface_init (WirelessSecurityInterface *iface) ++{ ++ iface->validate = validate; ++ iface->add_to_size_group = add_to_size_group; ++ iface->fill_connection = fill_connection; ++ iface->adhoc_compatible = adhoc_compatible; ++} ++ ++WirelessSecuritySAE * ++ws_sae_new (NMConnection *connection) ++{ ++ WirelessSecuritySAE *self; ++ NMSetting *setting = NULL; ++ ++ self = g_object_new (ws_sae_get_type (), NULL); ++ ++ g_signal_connect_swapped (self->password_entry, "changed", G_CALLBACK (changed_cb), self); ++ gtk_entry_set_width_chars (self->password_entry, 28); ++ ++ /* Create password-storage popup menu for password entry under entry's secondary icon */ ++ if (connection) ++ setting = (NMSetting *) nm_connection_get_setting_wireless_security (connection); ++ nma_utils_setup_password_storage (GTK_WIDGET (self->password_entry), ++ 0, setting, NM_SETTING_WIRELESS_SECURITY_PSK, ++ FALSE, FALSE); ++ ++ /* Fill secrets, if any */ ++ if (connection) { ++ helper_fill_secret_entry (connection, ++ self->password_entry, ++ NM_TYPE_SETTING_WIRELESS_SECURITY, ++ (HelperSecretFunc) nm_setting_wireless_security_get_psk); ++ } ++ ++ g_signal_connect (self->show_password_check, "toggled", ++ (GCallback) show_toggled_cb, self); ++ ++ /* Hide WPA/RSN for now since this can be autodetected by NM and the ++ * supplicant when connecting to the AP. ++ */ ++ gtk_widget_hide (GTK_WIDGET (self->type_combo)); ++ gtk_widget_hide (GTK_WIDGET (self->type_label)); ++ ++ return self; ++} ++ +diff --git a/panels/network/wireless-security/ws-sae.h b/panels/network/wireless-security/ws-sae.h +new file mode 100644 +index 000000000..312528110 +--- /dev/null ++++ b/panels/network/wireless-security/ws-sae.h +@@ -0,0 +1,40 @@ ++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ ++/* NetworkManager Applet -- allow user control over networking ++ * ++ * Jonathan Kang ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ * Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. ++ */ ++ ++#ifndef WS_SAE_H ++#define WS_SAE_H ++ ++#include ++#include ++ ++G_BEGIN_DECLS ++ ++/* For compatibility with NetworkManager-1.20 and earlier. */ ++#define NMU_SEC_SAE 9 ++ ++G_DECLARE_FINAL_TYPE (WirelessSecuritySAE, ws_sae, WS, SAE, GtkGrid) ++ ++WirelessSecuritySAE * ws_sae_new (NMConnection *connection); ++ ++G_END_DECLS ++ ++#endif /* WS_SAE_H */ +diff --git a/panels/network/wireless-security/ws-sae.ui b/panels/network/wireless-security/ws-sae.ui +new file mode 100644 +index 000000000..d96bdc32c +--- /dev/null ++++ b/panels/network/wireless-security/ws-sae.ui +@@ -0,0 +1,78 @@ ++ ++ ++ ++ ++ ++ +-- +2.26.2 + diff --git a/gnome-control-center-3.36.4.tar.xz b/gnome-control-center-3.36.4.tar.xz deleted file mode 100644 index 14dae97..0000000 --- a/gnome-control-center-3.36.4.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ac02346bcf3391aa5c86ed857d76689fdb6e43c2b4b20d3ec6eab0ea9fecf754 -size 6304992 diff --git a/gnome-control-center-3.38.1.tar.xz b/gnome-control-center-3.38.1.tar.xz new file mode 100644 index 0000000..06682ca --- /dev/null +++ b/gnome-control-center-3.38.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d90006c610f6fccb3cddbcf413b1bc4137fb4977b901a3989420fe160082026 +size 6437928 diff --git a/gnome-control-center.changes b/gnome-control-center.changes index 9544fc1..2fa8bef 100644 --- a/gnome-control-center.changes +++ b/gnome-control-center.changes @@ -1,3 +1,85 @@ +------------------------------------------------------------------- +Tue Oct 20 13:43:08 UTC 2020 - Dominique Leuenberger + +- Enable parental support integration: + + Add pkgconfig(malcontent-0) BuildRequires. + + Pass -Dmalcontent=true to meson. + +------------------------------------------------------------------- +Thu Oct 15 02:45:41 UTC 2020 - Jonathan Kang + +- Only build control-center-complete-SAE-support.patch in + Tumbleweed, Leap > 15.2 plus SLE > 15.2. + +------------------------------------------------------------------- +Mon Oct 5 15:38:20 UTC 2020 - dimstar@opensuse.org + +- Update to version 3.38.1: + + Keyboard: Fix behavior of "Replace" when adding custom + shortcut. + + Sound: + - Update the profile list after getting the signal from gvc. + - Fix subwoofer slider. + + Updated translations. +- Drop python3-pytest-xvfb BuildRequires: no longer needed. + +------------------------------------------------------------------- +Tue Sep 22 08:41:56 UTC 2020 - Jonathan Kang + +- Add control-center-complete-SAE-support.patch: network: complete + SAE support(glgo#GNOME/gnome-control-center!831, jsc#SLE-14992). + +------------------------------------------------------------------- +Mon Sep 14 12:20:59 UTC 2020 - dimstar@opensuse.org + +- Update to version 3.38.0: + + Updated translations. + +------------------------------------------------------------------- +Sat Sep 5 20:29:17 UTC 2020 - dimstar@opensuse.org + +- Update to version 3.37.92: + + Display: Show screen orientation setting even when + accelerometer is present. + + Wacom: Group pad/stylus devices together with the group name. + + Updated translations. + +------------------------------------------------------------------- +Fri Sep 4 17:51:31 UTC 2020 - dimstar@opensuse.org + +- Update to version 3.37.90: + + Rename Universal to Accessibility. + + Network: + - Add support for Enhanced Open Wi-Fi security. + - Fix connection editor blanking when removing manual entry. + + Thunderbolt: Plug some memory leaks. + + User Accounts: Show "Take a picture" button only when cam is + available. +- Changes from version 3.37.3: + + Update various panels with more modern GTK practices. + + Improve how time periods are displayed. + + Improve Settings icon. + + Integrate with parental controls. + + Date & Time: Add new time editor UI. + + Keyboard: Various cleanups. + + Lock Screen: Add USB protection entry when available. + + Power: + - Add option to show battery percentage. + - Various smaller UI adjustments. + + Printers: Do not authenticate SMB servers when search field is + edited. + + Sharing: Use gnome-remote-desktop instead of Vino on X11. + + Sound: Stop non-interactive profile changes from triggering + changed events. + + User Accounts: + - Always show permissions bar, even when no users are listed. + - Use custom setting to override faces. + - New Fingerprint dialog and various related improvements. + - Integrate with parental controls. + + Updated translations. +- Replace pkgconfig(libhandy-0.0) BuildRequires with + pkgconfig(libhandy-1): follow upstream changes. + ------------------------------------------------------------------- Fri Jul 3 16:14:26 UTC 2020 - Bjørn Lie diff --git a/gnome-control-center.spec b/gnome-control-center.spec index a045bc2..9f666e2 100644 --- a/gnome-control-center.spec +++ b/gnome-control-center.spec @@ -26,14 +26,16 @@ %endif Name: gnome-control-center -Version: 3.36.4 +Version: 3.38.1 Release: 0 Summary: The GNOME Control Center License: GPL-2.0-or-later Group: System/GUI/GNOME URL: https://www.gnome.org -Source0: https://download.gnome.org/sources/gnome-control-center/3.36/%{name}-%{version}.tar.xz +Source0: https://download.gnome.org/sources/gnome-control-center/3.38/%{name}-%{version}.tar.xz +# PATCH-FIX-UPSTREAM control-center-complete-SAE-support.patch glgo#GNOME/gnome-control-center!831, jsc#SLE-14992 sckang@suse.com -- network: complete SAE support. +Patch0: control-center-complete-SAE-support.patch ### patches for Leap >= 15 plus SLE >= 15, but not TW # PATCH-FEATURE-SLE gnome-control-center-info-never-use-gnome-software.patch bsc#999336 fezhang@suse.com -- info: Never search for gnome-software as an option when checking for updates on SLE and Leap 42.2, because we use gpk-update-viewer. Patch1001: gnome-control-center-info-never-use-gnome-software.patch @@ -48,10 +50,9 @@ BuildRequires: desktop-file-utils BuildRequires: fdupes BuildRequires: intltool BuildRequires: krb5-devel -BuildRequires: meson +BuildRequires: meson >= 0.51.0 BuildRequires: pkgconfig BuildRequires: python3-dbusmock -BuildRequires: python3-pytest-xvfb BuildRequires: translation-update-upstream BuildRequires: xsltproc BuildRequires: pkgconfig(accountsservice) >= 0.6.39 @@ -75,20 +76,21 @@ BuildRequires: pkgconfig(goa-backend-1.0) BuildRequires: pkgconfig(gobject-2.0) BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(grilo-0.3) >= 0.3.0 -BuildRequires: pkgconfig(gsettings-desktop-schemas) >= 3.31.0 +BuildRequires: pkgconfig(gsettings-desktop-schemas) >= 3.37.1 BuildRequires: pkgconfig(gsound) BuildRequires: pkgconfig(gthread-2.0) BuildRequires: pkgconfig(gtk+-3.0) >= 3.22.20 BuildRequires: pkgconfig(gudev-1.0) BuildRequires: pkgconfig(libgtop-2.0) -BuildRequires: pkgconfig(libhandy-0.0) >= 0.0.9 -BuildRequires: pkgconfig(libnm) >= 1.10.0 +BuildRequires: pkgconfig(libhandy-1) >= 0.90.0 +BuildRequires: pkgconfig(libnm) >= 1.20.0 BuildRequires: pkgconfig(libnma) >= 1.8.0 BuildRequires: pkgconfig(libpulse) >= 2.0 BuildRequires: pkgconfig(libpulse-mainloop-glib) BuildRequires: pkgconfig(libsecret-1) BuildRequires: pkgconfig(libsoup-2.4) BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(malcontent-0) => 0.7.0 BuildRequires: pkgconfig(mm-glib) >= 0.7 BuildRequires: pkgconfig(polkit-gobject-1) >= 0.103 BuildRequires: pkgconfig(pwquality) >= 1.2.2 @@ -189,6 +191,10 @@ GNOME control center. %setup -q translation-update-upstream po gnome-control-center-2.0 +# Tumbleweed, Leap > 15.2 plus SLE > 15.2 +%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150200 +%patch0 -p1 +%endif # patches for Leap >= 15 plus SLE >= 15, but not TW %if 0%{?sle_version} >= 150000 %patch1001 -p1 @@ -201,6 +207,7 @@ translation-update-upstream po gnome-control-center-2.0 -Dcheese=true \ -Ddocumentation=true \ %{!?with_ibus: -Dibus=false} \ + -Dmalcontent=true \ %{nil} %meson_build