summary refs log tree commit diff
diff options
context:
space:
mode:
authorTor Hedin Brønner <torhedinbronner@gmail.com>2019-03-03 19:23:25 +0100
committerJan Tojnar <jtojnar@gmail.com>2019-04-05 11:40:12 +0200
commitf18aaa1c9f0df75b0a5776a0ba51e694e302cab2 (patch)
tree7fff648cdccda5c17a8e4b5e61d745d9e4864b90
parent0bac188b599c790f34eb2897306e26108fc72e8b (diff)
downloadnixpkgs-f18aaa1c9f0df75b0a5776a0ba51e694e302cab2.tar
nixpkgs-f18aaa1c9f0df75b0a5776a0ba51e694e302cab2.tar.gz
nixpkgs-f18aaa1c9f0df75b0a5776a0ba51e694e302cab2.tar.bz2
nixpkgs-f18aaa1c9f0df75b0a5776a0ba51e694e302cab2.tar.lz
nixpkgs-f18aaa1c9f0df75b0a5776a0ba51e694e302cab2.tar.xz
nixpkgs-f18aaa1c9f0df75b0a5776a0ba51e694e302cab2.tar.zst
nixpkgs-f18aaa1c9f0df75b0a5776a0ba51e694e302cab2.zip
gnome3.gnome-control-center: 3.30.3 -> 3.32.1
- update patch
- add new depeendencies: udisks2, gsound
- add system libhandy
- Remove unnecessary dependencies

Hardcode paths to
* nm-connection-editor

* passwd
  /run/wrappers/bin/passwd

* lib/cups/backend/snmp

Only thing left unpatched was something for the printing panel.
It prefers a path from CUPS_DATADIR [0] which after
investigation is unset globally, and I'm not familar with
cups to see if that should be set to a store path
or a linked system path.

[0]: https://gitlab.gnome.org/GNOME/gnome-control-center/blob/3.32.0.1/panels/printers/pp-options-dialog.c#L888

https://gitlab.gnome.org/GNOME/gnome-control-center/blob/3.32.1/NEWS
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-control-center/default.nix27
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch92
2 files changed, 98 insertions, 21 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 5e90998b539..57924dce5b0 100644
--- a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
@@ -1,28 +1,27 @@
 { fetchurl, stdenv, substituteAll, meson, ninja, pkgconfig, gnome3, ibus, gettext, upower, wrapGAppsHook
 , libcanberra-gtk3, accountsservice, libpwquality, libpulseaudio
-, gdk_pixbuf, librsvg, libnotify, libgudev, libsecret, gnome-color-manager
+, gdk_pixbuf, librsvg, libgudev, libsecret, gnome-color-manager
 , libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
-, cracklib, libkrb5, networkmanagerapplet, networkmanager, glibc
-, libwacom, samba, shared-mime-info, tzdata, libtool, libgnomekbd
+, libkrb5, networkmanagerapplet, networkmanager, glibc
+, libwacom, samba, shared-mime-info, tzdata, libgnomekbd
 , docbook_xsl, modemmanager, clutter, clutter-gtk, cheese, gnome-session
 , fontconfig, sound-theme-freedesktop, grilo, python3
 , gtk3, glib, glib-networking, gsettings-desktop-schemas
 , gnome-desktop, gnome-settings-daemon, gnome-online-accounts
-, vino, gnome-bluetooth, tracker, adwaita-icon-theme }:
+, vino, gnome-bluetooth, tracker, adwaita-icon-theme
+, udisks2, gsound, libhandy, cups }:
 
-let
+stdenv.mkDerivation rec {
   pname = "gnome-control-center";
-  version = "3.30.3";
-in stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
+  version = "3.32.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0gih1cmqbv803kp30704sllghb0impa0mmv3j8pndfg4zr2mnq9r";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0xpcmwgnn29syi2kfxc8233a5f3j8cij5wcn76xmsmwxvxz5r85l";
   };
 
   nativeBuildInputs = [
-    meson ninja pkgconfig gettext wrapGAppsHook libtool libxslt docbook_xsl
+    meson ninja pkgconfig gettext wrapGAppsHook libxslt docbook_xsl
     shared-mime-info python3
   ];
 
@@ -30,10 +29,11 @@ in stdenv.mkDerivation rec {
     ibus gtk3 glib glib-networking upower gsettings-desktop-schemas
     libxml2 gnome-desktop gnome-settings-daemon polkit libgtop
     gnome-online-accounts libsoup colord libpulseaudio fontconfig colord-gtk
-    accountsservice libkrb5 networkmanagerapplet libwacom samba libnotify
-    grilo libpwquality cracklib vino libcanberra-gtk3 libgudev libsecret
+    accountsservice libkrb5 networkmanagerapplet libwacom samba
+    grilo libpwquality vino libcanberra-gtk3 libgudev libsecret
     gdk_pixbuf adwaita-icon-theme librsvg clutter clutter-gtk cheese
     networkmanager modemmanager gnome-bluetooth tracker
+    udisks2 gsound libhandy
   ];
 
   patches = [
@@ -41,6 +41,7 @@ in stdenv.mkDerivation rec {
       src = ./paths.patch;
       gcm = gnome-color-manager;
       inherit glibc libgnomekbd tzdata;
+      inherit cups networkmanagerapplet;
     })
   ];
 
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 0c11a7626e4..589461d8040 100644
--- a/pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch
+++ b/pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch
@@ -1,6 +1,8 @@
+diff --git a/panels/color/cc-color-panel.c b/panels/color/cc-color-panel.c
+index 49ca35220..adefb87b9 100644
 --- a/panels/color/cc-color-panel.c
 +++ b/panels/color/cc-color-panel.c
-@@ -599,7 +599,7 @@
+@@ -599,7 +599,7 @@ gcm_prefs_calibrate_cb (GtkWidget *widget, CcColorPanel *prefs)
  
    /* run with modal set */
    argv = g_ptr_array_new_with_free_func (g_free);
@@ -9,7 +11,7 @@
    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 @@
+@@ -1038,7 +1038,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);
@@ -18,7 +20,7 @@
    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 @@
+@@ -1288,15 +1288,12 @@ gcm_prefs_device_clicked (CcColorPanel *prefs, CdDevice *device)
  static void
  gcm_prefs_profile_clicked (CcColorPanel *prefs, CdProfile *profile, CdDevice *device)
  {
@@ -35,6 +37,8 @@
      gtk_widget_set_sensitive (prefs->toolbutton_profile_view, TRUE);
    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
 --- a/panels/datetime/tz.h
 +++ b/panels/datetime/tz.h
 @@ -27,11 +27,7 @@
@@ -50,24 +54,96 @@
  
  typedef struct _TzDB TzDB;
  typedef struct _TzLocation TzLocation;
+diff --git a/panels/network/connection-editor/net-connection-editor.c b/panels/network/connection-editor/net-connection-editor.c
+index 9390a3308..d30b4a68e 100644
+--- a/panels/network/connection-editor/net-connection-editor.c
++++ b/panels/network/connection-editor/net-connection-editor.c
+@@ -247,9 +247,9 @@ net_connection_editor_do_fallback (NetConnectionEditor *editor, const gchar *typ
+         GError *error = NULL;
+ 
+         if (editor->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);
+         } else {
+-                cmdline = g_strdup_printf ("nm-connection-editor --edit='%s'",
++                cmdline = g_strdup_printf ("@networkmanagerapplet@/bin/nm-connection-editor --edit='%s'",
+                                            nm_connection_get_uuid (editor->connection));
+         }
+ 
+diff --git a/panels/network/net-device-wifi.c b/panels/network/net-device-wifi.c
+index 360fbfc72..870157a11 100644
+--- a/panels/network/net-device-wifi.c
++++ b/panels/network/net-device-wifi.c
+@@ -1385,7 +1385,7 @@ device_wifi_edit (NetObject *object)
+                 return;
+         }
+         uuid = nm_connection_get_uuid (NM_CONNECTION (connection));
+-        cmdline = g_strdup_printf ("nm-connection-editor --edit %s", uuid);
++        cmdline = g_strdup_printf ("@networkmanagerapplet@/bin/nm-connection-editor --edit %s", uuid);
+         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);
+diff --git a/panels/network/net-device.c b/panels/network/net-device.c
+index d73b537b9..e2ee54294 100644
+--- a/panels/network/net-device.c
++++ b/panels/network/net-device.c
+@@ -197,7 +197,7 @@ net_device_edit (NetObject *object)
+ 
+         connection = net_device_get_find_connection (device);
+         uuid = nm_connection_get_uuid (connection);
+-        cmdline = g_strdup_printf ("nm-connection-editor --edit %s", uuid);
++        cmdline = g_strdup_printf ("@networkmanagerapplet@/bin/nm-connection-editor --edit %s", uuid);
+         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);
+diff --git a/panels/printers/pp-host.c b/panels/printers/pp-host.c
+index f53ba217e..d24bcaeb9 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);
+ 
+   argv = g_new0 (gchar *, 3);
+-  argv[0] = g_strdup ("/usr/lib/cups/backend/snmp");
++  argv[0] = g_strdup ("@cups@/lib/cups/backend/snmp");
+   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
-@@ -1265,10 +1265,10 @@
-         }
+@@ -755,10 +755,10 @@ row_layout_cb (CcRegionPanel *self,
+         layout_variant = cc_input_source_get_layout_variant (source);
  
-         if (variant && variant[0])
+         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, variant);
+                                                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
+--- 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)
+         gchar  **envp;
+         gint    my_stdin, my_stdout, my_stderr;
+ 
+-        argv[0] = "/usr/bin/passwd";    /* Is it safe to rely on a hard-coded path? */
++        argv[0] = "/run/wrappers/bin/passwd";    /* Is it safe to rely on a hard-coded path? */
+         argv[1] = NULL;
+ 
+         envp = g_get_environ ();
+diff --git a/tests/datetime/test-endianess.c b/tests/datetime/test-endianess.c
+index 9cb92007a..84d2f0fa3 100644
 --- a/tests/datetime/test-endianess.c
 +++ b/tests/datetime/test-endianess.c
-@@ -26,7 +26,7 @@
+@@ -26,7 +26,7 @@ test_endianess (void)
  	g_autoptr(GDir) dir = NULL;
  	const char *name;