diff --git a/mate-system-monitor-glib-2.54.patch b/mate-system-monitor-glib-2.54.patch new file mode 100644 index 0000000..16d1cb3 --- /dev/null +++ b/mate-system-monitor-glib-2.54.patch @@ -0,0 +1,126 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -29,7 +29,7 @@ LT_PREREQ([2.2]) + LT_INIT + + # Package dependencies +-GLIB_REQUIRED=2.56.0 ++GLIB_REQUIRED=2.54.0 + LIBGTOP_REQUIRED=2.37.2 + GIOMM_REQUIRED=2.26.0 + GLIBMM_REQUIRED=2.22 +--- a/src/load-graph.cpp ++++ b/src/load-graph.cpp +@@ -136,7 +136,11 @@ static void draw_background(LoadGraph *g + if (graph->type == LOAD_GRAPH_NET) { + // operation orders matters so it's 0 if i == num_bars + guint64 rate = graph->net.max - (i * graph->net.max / num_bars); ++#if GLIB_CHECK_VERSION(2, 58, 0) + caption = g_format_size_full (network_in_bits ? rate*8 : rate, network_in_bits ? G_FORMAT_SIZE_BITS : G_FORMAT_SIZE_DEFAULT); ++#else ++ caption = g_format_size (rate); ++#endif + pango_layout_set_text (layout, caption, -1); + pango_layout_get_extents (layout, NULL, &extents); + cairo_move_to (cr, graph->indent - 1.0 * extents.width / PANGO_SCALE + 20, y - 1.0 * extents.height / PANGO_SCALE / 2); +@@ -588,18 +592,34 @@ get_net (LoadGraph *graph) + bool network_in_bits = ProcData::get_instance()->config.network_in_bits; + g_autofree gchar *str=NULL, *formatted_str=NULL; + ++#if GLIB_CHECK_VERSION(2, 58, 0) + str = g_format_size_full (network_in_bits ? din*8 : din, network_in_bits ? G_FORMAT_SIZE_BITS : G_FORMAT_SIZE_DEFAULT); ++#else ++ str = g_format_size (din); ++#endif + formatted_str = g_strdup_printf(_("%s/s"), str); + gtk_label_set_text (GTK_LABEL (graph->labels.net_in), formatted_str); + ++#if GLIB_CHECK_VERSION(2, 58, 0) + str = g_format_size_full (network_in_bits ? in*8 : in, network_in_bits ? G_FORMAT_SIZE_BITS : G_FORMAT_SIZE_DEFAULT); ++#else ++ str = g_format_size (in); ++#endif + gtk_label_set_text (GTK_LABEL (graph->labels.net_in_total), str); + ++#if GLIB_CHECK_VERSION(2, 58, 0) + str = g_format_size_full (network_in_bits ? dout*8 : dout, network_in_bits ? G_FORMAT_SIZE_BITS : G_FORMAT_SIZE_DEFAULT); ++#else ++ str = g_format_size (dout); ++#endif + formatted_str = g_strdup_printf(_("%s/s"), str); + gtk_label_set_text (GTK_LABEL (graph->labels.net_out), formatted_str); + ++#if GLIB_CHECK_VERSION(2, 58, 0) + str = g_format_size_full (network_in_bits ? out*8 : out, network_in_bits ? G_FORMAT_SIZE_BITS : G_FORMAT_SIZE_DEFAULT); ++#else ++ str = g_format_size (out); ++#endif + gtk_label_set_text (GTK_LABEL (graph->labels.net_out_total), str); + } + +--- a/src/procdialogs.cpp ++++ b/src/procdialogs.cpp +@@ -283,6 +283,7 @@ solaris_mode_toggled(GtkToggleButton *bu + } + + ++#if GLIB_CHECK_VERSION(2, 58, 0) + static void + network_in_bits_toggled(GtkToggleButton *button, gpointer data) + { +@@ -292,6 +293,7 @@ network_in_bits_toggled(GtkToggleButton + toggled = gtk_toggle_button_get_active(button); + g_settings_set_boolean(settings, procman::settings::network_in_bits.c_str(), toggled); + } ++#endif + + + +@@ -709,6 +711,7 @@ procdialog_create_preferences_dialog (Pr + gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button); + + ++#if GLIB_CHECK_VERSION(2, 58, 0) + GtkWidget *bits_button; + bits_button = gtk_check_button_new_with_mnemonic(_("Show network speed in bits")); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(bits_button), +@@ -718,6 +721,7 @@ procdialog_create_preferences_dialog (Pr + g_signal_connect(G_OBJECT(bits_button), "toggled", + G_CALLBACK(network_in_bits_toggled), procdata); + gtk_box_pack_start(GTK_BOX(vbox2), bits_button, TRUE, TRUE, 0); ++#endif + + + +--- a/src/procman.cpp ++++ b/src/procman.cpp +@@ -106,6 +106,7 @@ solaris_mode_changed_cb(GSettings *setti + } + + ++#if GLIB_CHECK_VERSION(2, 58, 0) + static void + network_in_bits_changed_cb(GSettings *settings, const gchar *key, gpointer data) + { +@@ -114,6 +115,7 @@ network_in_bits_changed_cb(GSettings *se + procdata->config.network_in_bits = g_settings_get_boolean(settings, key); + procdata->net_graph->clear_background(); + } ++#endif + + + +@@ -263,9 +265,13 @@ procman_data_new (GSettings *settings) + std::string detail_string("changed::" + procman::settings::solaris_mode); + g_signal_connect(G_OBJECT(settings), detail_string.c_str(), G_CALLBACK(solaris_mode_changed_cb), pd); + ++#if GLIB_CHECK_VERSION(2, 58, 0) + pd->config.network_in_bits = g_settings_get_boolean(settings, procman::settings::network_in_bits.c_str()); + detail_string = "changed::" + procman::settings::network_in_bits; + g_signal_connect(G_OBJECT(settings), detail_string.c_str(), G_CALLBACK(network_in_bits_changed_cb), pd); ++#else ++ pd->config.network_in_bits = FALSE; ++#endif + + pd->config.show_kill_warning = g_settings_get_boolean (settings, "kill-dialog"); + g_signal_connect (G_OBJECT(settings), "changed::kill-dialog", G_CALLBACK(warning_changed_cb), pd); diff --git a/mate-system-monitor.changes b/mate-system-monitor.changes index 7a5472e..2abcd29 100644 --- a/mate-system-monitor.changes +++ b/mate-system-monitor.changes @@ -30,6 +30,8 @@ Wed Feb 26 19:38:40 UTC 2020 - Alexei Sorokin * Update translations. - Drop support for old openSUSE versions. - Remove mate-system-monitor-gtk-3.20.patch. +- Add mate-system-monitor-glib-2.54.patch: Restore GLib 2.54 + support. ------------------------------------------------------------------- Sun May 12 18:13:56 UTC 2019 - Alexei Sorokin diff --git a/mate-system-monitor.spec b/mate-system-monitor.spec index a6a4f3b..2f88468 100644 --- a/mate-system-monitor.spec +++ b/mate-system-monitor.spec @@ -25,7 +25,9 @@ License: GPL-2.0-or-later URL: https://mate-desktop.org/ Source: https://pub.mate-desktop.org/releases/%{_version}/%{name}-%{version}.tar.xz # PATCH-FIX-OPENSUSE mate-system-monitor-xdgsu.patch sor.alexei@meowr.ru -- Use xdg-su instead of gksu. -Patch0: mate-system-monitor-xdgsu.patch +Patch0: %{name}-xdgsu.patch +# PATCH-FEATURE-OPENSUSE mate-system-monitor-glib-2.54.patch -- Restore GLib 2.54 support. +Patch1: %{name}-glib-2.54.patch BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: mate-common >= %{_version}