From f11bdd0595277b7c13b7595fdcfd40486dfba6bd Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 21 Mar 2021 06:15:46 +0100 Subject: [PATCH] =?UTF-8?q?gnome3.gnome-control-center:=203.38.4=20?= =?UTF-8?q?=E2=86=92=2040.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/gnome-control-center/default.nix | 45 ++++----- .../core/gnome-control-center/paths.patch | 94 ++++++++++--------- .../gnome-3/core/gvc-with-ucm-prePatch.nix | 17 ---- 3 files changed, 72 insertions(+), 84 deletions(-) delete mode 100644 pkgs/desktops/gnome-3/core/gvc-with-ucm-prePatch.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix index f8c458a3df1..371f2d794a0 100644 --- a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix @@ -1,6 +1,7 @@ { fetchurl -, fetchFromGitLab -, lib, stdenv +, fetchpatch +, lib +, stdenv , substituteAll , accountsservice , adwaita-icon-theme @@ -10,7 +11,7 @@ , colord , colord-gtk , cups -, docbook_xsl +, docbook-xsl-nons , fontconfig , gdk-pixbuf , gettext @@ -69,20 +70,32 @@ stdenv.mkDerivation rec { pname = "gnome-control-center"; - version = "3.38.4"; + version = "40.0"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-SdxjeNTTXBxu1ZIk9WNpFsK2+km7+4tW6xmoTW6QzRk="; + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-zMmlc2UXOFEJrlpZkGwlgkTdh5t1A61ZhM9BZVyzAvE="; }; - # See https://mail.gnome.org/archives/distributor-list/2020-September/msg00001.html - prePatch = (import ../gvc-with-ucm-prePatch.nix { - inherit fetchFromGitLab; - }); + patches = [ + (substituteAll { + src = ./paths.patch; + gcm = gnome-color-manager; + gnome_desktop = gnome-desktop; + inherit glibc libgnomekbd tzdata; + inherit cups networkmanagerapplet; + }) + + # Fix startup assertion in power panel. + # https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/974 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-control-center/commit/9acaa10567c94048657c69538e5d7813f82c4224.patch"; + sha256 = "59GeTPcG2UiVTL4VTS/TP0p0QkAQpm3VgvuAiw64wUU="; + }) + ]; nativeBuildInputs = [ - docbook_xsl + docbook-xsl-nons gettext libxslt meson @@ -142,16 +155,6 @@ stdenv.mkDerivation rec { upower ]; - patches = [ - (substituteAll { - src = ./paths.patch; - gcm = gnome-color-manager; - gnome_desktop = gnome-desktop; - inherit glibc libgnomekbd tzdata; - inherit cups networkmanagerapplet; - }) - ]; - postPatch = '' chmod +x build-aux/meson/meson_post_install.py # patchShebangs requires executable file patchShebangs build-aux/meson/meson_post_install.py diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch b/pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch index 361972f2635..a6787477b81 100644 --- a/pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch +++ b/pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch @@ -1,26 +1,26 @@ diff --git a/panels/color/cc-color-panel.c b/panels/color/cc-color-panel.c -index 49ca35220..adefb87b9 100644 +index 603178efc..c363a6a5c 100644 --- a/panels/color/cc-color-panel.c +++ b/panels/color/cc-color-panel.c -@@ -599,7 +599,7 @@ gcm_prefs_calibrate_cb (GtkWidget *widget, CcColorPanel *prefs) +@@ -591,7 +591,7 @@ gcm_prefs_calibrate_cb (CcColorPanel *prefs) /* run with modal set */ argv = g_ptr_array_new_with_free_func (g_free); -- g_ptr_array_add (argv, g_build_filename (BINDIR, "gcm-calibrate", NULL)); +- g_ptr_array_add (argv, g_strdup ("gcm-calibrate")); + g_ptr_array_add (argv, g_build_filename ("@gcm@", "bin", "gcm-calibrate", NULL)); g_ptr_array_add (argv, g_strdup ("--device")); g_ptr_array_add (argv, g_strdup (cd_device_get_id (prefs->current_device))); g_ptr_array_add (argv, g_strdup ("--parent-window")); -@@ -1038,7 +1038,7 @@ gcm_prefs_profile_view (CcColorPanel *prefs, CdProfile *profile) +@@ -1029,7 +1029,7 @@ gcm_prefs_profile_view (CcColorPanel *prefs, CdProfile *profile) /* open up gcm-viewer as a info pane */ argv = g_ptr_array_new_with_free_func (g_free); -- g_ptr_array_add (argv, g_build_filename (BINDIR, "gcm-viewer", NULL)); +- g_ptr_array_add (argv, g_strdup ("gcm-viewer")); + g_ptr_array_add (argv, g_build_filename ("@gcm@", "bin", "gcm-viewer", NULL)); g_ptr_array_add (argv, g_strdup ("--profile")); g_ptr_array_add (argv, g_strdup (cd_profile_get_id (profile))); g_ptr_array_add (argv, g_strdup ("--parent-window")); -@@ -1288,15 +1288,12 @@ gcm_prefs_device_clicked (CcColorPanel *prefs, CdDevice *device) +@@ -1275,15 +1275,12 @@ gcm_prefs_device_clicked (CcColorPanel *prefs, CdDevice *device) static void gcm_prefs_profile_clicked (CcColorPanel *prefs, CdProfile *profile, CdDevice *device) { @@ -38,12 +38,12 @@ index 49ca35220..adefb87b9 100644 else gtk_widget_set_sensitive (prefs->toolbutton_profile_view, FALSE); diff --git a/panels/datetime/tz.h b/panels/datetime/tz.h -index 96b25140c..1ad704d4a 100644 +index a2376f8a4..98769e08f 100644 --- a/panels/datetime/tz.h +++ b/panels/datetime/tz.h @@ -27,11 +27,7 @@ - #include + G_BEGIN_DECLS -#ifndef __sun -# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab" @@ -55,25 +55,42 @@ index 96b25140c..1ad704d4a 100644 typedef struct _TzDB TzDB; typedef struct _TzLocation TzLocation; diff --git a/panels/info-overview/cc-info-overview-panel.c b/panels/info-overview/cc-info-overview-panel.c -index 4541986db..da7826bfe 100644 +index bd0e07762..0e71351f8 100644 --- a/panels/info-overview/cc-info-overview-panel.c +++ b/panels/info-overview/cc-info-overview-panel.c -@@ -169,7 +169,7 @@ load_gnome_version (char **version, +@@ -172,7 +172,7 @@ load_gnome_version (char **version, gsize length; g_autoptr(VersionData) data = NULL; - + - if (!g_file_get_contents (DATADIR "/gnome/gnome-version.xml", + if (!g_file_get_contents ("@gnome_desktop@/share/gnome/gnome-version.xml", &contents, &length, &error)) +diff --git a/panels/keyboard/cc-input-list-box.c b/panels/keyboard/cc-input-list-box.c +index 6c2cb5614..8f57159cc 100644 +--- a/panels/keyboard/cc-input-list-box.c ++++ b/panels/keyboard/cc-input-list-box.c +@@ -223,10 +223,10 @@ row_layout_cb (CcInputListBox *self, + layout_variant = cc_input_source_get_layout_variant (source); + + if (layout_variant && layout_variant[0]) +- commandline = g_strdup_printf ("gkbd-keyboard-display -l \"%s\t%s\"", ++ commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l \"%s\t%s\"", + layout, layout_variant); + else +- commandline = g_strdup_printf ("gkbd-keyboard-display -l %s", ++ commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l %s", + layout); + + g_spawn_command_line_async (commandline, NULL); diff --git a/panels/network/connection-editor/net-connection-editor.c b/panels/network/connection-editor/net-connection-editor.c -index 9390a3308..d30b4a68e 100644 +index 505b8ee25..62e94009f 100644 --- a/panels/network/connection-editor/net-connection-editor.c +++ b/panels/network/connection-editor/net-connection-editor.c -@@ -278,9 +278,9 @@ net_connection_editor_do_fallback (NetConnectionEditor *self, const gchar *type) +@@ -267,9 +267,9 @@ net_connection_editor_do_fallback (NetConnectionEditor *self, const gchar *type) g_autoptr(GError) error = NULL; - + if (self->is_new_connection) { - cmdline = g_strdup_printf ("nm-connection-editor --type='%s' --create", type); + cmdline = g_strdup_printf ("@networkmanagerapplet@/bin/nm-connection-editor --type='%s' --create", type); @@ -84,19 +101,20 @@ index 9390a3308..d30b4a68e 100644 } diff --git a/panels/network/net-device-bluetooth.c b/panels/network/net-device-bluetooth.c +index 74dfb0e9a..5f53d1a20 100644 --- a/panels/network/net-device-bluetooth.c +++ b/panels/network/net-device-bluetooth.c @@ -90,7 +90,7 @@ nm_device_bluetooth_refresh_ui (NetDeviceBluetooth *self) update_off_switch_from_device_state (self->device_off_switch, state, self); - + /* set up the Options button */ - path = g_find_program_in_path ("nm-connection-editor"); + path = g_find_program_in_path ("@networkmanagerapplet@/bin/nm-connection-editor"); gtk_widget_set_visible (GTK_WIDGET (self->options_button), state != NM_DEVICE_STATE_UNMANAGED && path != NULL); } - + @@ -141,7 +141,7 @@ options_button_clicked_cb (NetDeviceBluetooth *self) - + connection = net_device_get_find_connection (self->client, self->device); uuid = nm_connection_get_uuid (connection); - cmdline = g_strdup_printf ("nm-connection-editor --edit %s", uuid); @@ -105,19 +123,20 @@ diff --git a/panels/network/net-device-bluetooth.c b/panels/network/net-device-b if (!g_spawn_command_line_async (cmdline, &error)) g_warning ("Failed to launch nm-connection-editor: %s", error->message); @@ -185,7 +185,7 @@ net_device_bluetooth_init (NetDeviceBluetooth *self) - + gtk_widget_init_template (GTK_WIDGET (self)); - + - path = g_find_program_in_path ("nm-connection-editor"); + path = g_find_program_in_path ("@networkmanagerapplet@/bin/nm-connection-editor"); gtk_widget_set_visible (GTK_WIDGET (self->options_button), path != NULL); } - + diff --git a/panels/network/net-device-mobile.c b/panels/network/net-device-mobile.c +index 34eb86241..50d0a2bed 100644 --- a/panels/network/net-device-mobile.c +++ b/panels/network/net-device-mobile.c -@@ -484,7 +484,7 @@ options_button_clicked_cb (NetDeviceMobile *self) - +@@ -508,7 +508,7 @@ options_button_clicked_cb (NetDeviceMobile *self) + connection = net_device_get_find_connection (self->client, self->device); uuid = nm_connection_get_uuid (connection); - cmdline = g_strdup_printf ("nm-connection-editor --edit %s", uuid); @@ -125,21 +144,21 @@ diff --git a/panels/network/net-device-mobile.c b/panels/network/net-device-mobi g_debug ("Launching '%s'\n", cmdline); if (!g_spawn_command_line_async (cmdline, &error)) g_warning ("Failed to launch nm-connection-editor: %s", error->message); -@@ -776,7 +776,7 @@ net_device_mobile_init (NetDeviceMobile *self) - +@@ -797,7 +797,7 @@ net_device_mobile_init (NetDeviceMobile *self) + self->cancellable = g_cancellable_new (); - + - path = g_find_program_in_path ("nm-connection-editor"); + path = g_find_program_in_path ("@networkmanagerapplet@/bin/nm-connection-editor"); gtk_widget_set_visible (GTK_WIDGET (self->options_button), path != NULL); } - + diff --git a/panels/printers/pp-host.c b/panels/printers/pp-host.c -index f53ba217e..d24bcaeb9 100644 +index a31a606e3..ed5133d29 100644 --- a/panels/printers/pp-host.c +++ b/panels/printers/pp-host.c @@ -256,7 +256,7 @@ _pp_host_get_snmp_devices_thread (GTask *task, - devices = g_new0 (PpDevicesList, 1); + devices = g_ptr_array_new_with_free_func (g_object_unref); argv = g_new0 (gchar *, 3); - argv[0] = g_strdup ("/usr/lib/cups/backend/snmp"); @@ -147,25 +166,8 @@ index f53ba217e..d24bcaeb9 100644 argv[1] = g_strdup (priv->hostname); /* Use SNMP to get printer's informations */ -diff --git a/panels/region/cc-region-panel.c b/panels/region/cc-region-panel.c -index 35859526d..21486c917 100644 ---- a/panels/region/cc-region-panel.c -+++ b/panels/region/cc-region-panel.c -@@ -755,10 +755,10 @@ row_layout_cb (CcRegionPanel *self, - layout_variant = cc_input_source_get_layout_variant (source); - - if (layout_variant && layout_variant[0]) -- commandline = g_strdup_printf ("gkbd-keyboard-display -l \"%s\t%s\"", -+ commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l \"%s\t%s\"", - layout, layout_variant); - else -- commandline = g_strdup_printf ("gkbd-keyboard-display -l %s", -+ commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l %s", - layout); - - g_spawn_command_line_async (commandline, NULL); diff --git a/panels/user-accounts/run-passwd.c b/panels/user-accounts/run-passwd.c -index 00239ce0f..617c98870 100644 +index 86f53d4fc..0b052856f 100644 --- a/panels/user-accounts/run-passwd.c +++ b/panels/user-accounts/run-passwd.c @@ -150,7 +150,7 @@ spawn_passwd (PasswdHandler *passwd_handler, GError **error) diff --git a/pkgs/desktops/gnome-3/core/gvc-with-ucm-prePatch.nix b/pkgs/desktops/gnome-3/core/gvc-with-ucm-prePatch.nix deleted file mode 100644 index b2db2baf025..00000000000 --- a/pkgs/desktops/gnome-3/core/gvc-with-ucm-prePatch.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ fetchFromGitLab }: - -let - # We need a gvc different then that which is shipped in the source tarball of - # whatever package that imports this file - gvc-src-with-ucm = fetchFromGitLab { - domain = "gitlab.gnome.org"; - owner = "GNOME"; - repo = "libgnome-volume-control"; - rev = "7a621180b46421e356b33972e3446775a504139c"; - sha256 = "07rkgh9f7qcmlpy6jqh944axzh3z38f47g48ii842f2i3a1mrbw9"; - }; -in -'' - rm -r ./subprojects/gvc - cp -r ${gvc-src-with-ucm} ./subprojects/gvc -''