summary refs log tree commit diff
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2021-03-21 06:15:46 +0100
committerJan Tojnar <jtojnar@gmail.com>2021-05-05 22:42:34 +0200
commitf11bdd0595277b7c13b7595fdcfd40486dfba6bd (patch)
treedd6ab5f603781f42da3cf02357b98332bd7c5eb2
parent346e062862ded3bc325b0defa0fbd66d876065f8 (diff)
downloadnixpkgs-f11bdd0595277b7c13b7595fdcfd40486dfba6bd.tar
nixpkgs-f11bdd0595277b7c13b7595fdcfd40486dfba6bd.tar.gz
nixpkgs-f11bdd0595277b7c13b7595fdcfd40486dfba6bd.tar.bz2
nixpkgs-f11bdd0595277b7c13b7595fdcfd40486dfba6bd.tar.lz
nixpkgs-f11bdd0595277b7c13b7595fdcfd40486dfba6bd.tar.xz
nixpkgs-f11bdd0595277b7c13b7595fdcfd40486dfba6bd.tar.zst
nixpkgs-f11bdd0595277b7c13b7595fdcfd40486dfba6bd.zip
gnome3.gnome-control-center: 3.38.4 → 40.0
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-control-center/default.nix45
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch94
-rw-r--r--pkgs/desktops/gnome-3/core/gvc-with-ucm-prePatch.nix17
3 files changed, 72 insertions, 84 deletions
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 <glib.h>
+ 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
-''