about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2024-08-28 23:56:06 +0200
committerJan Tojnar <jtojnar@gmail.com>2024-09-01 14:16:31 +0200
commita110f292a195ad789a50485093386c1020bbac21 (patch)
tree71dac4969f7bf17543ddd6c0947358287cac6681 /pkgs/desktops
parentc2f1fa833e43b34b11f0f47072482a9a41f1b579 (diff)
gnome-control-center: Move from gnome scope to top-level
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/gnome/core/gnome-control-center/default.nix221
-rw-r--r--pkgs/desktops/gnome/core/gnome-control-center/paths.patch143
-rw-r--r--pkgs/desktops/gnome/default.nix3
3 files changed, 1 insertions, 366 deletions
diff --git a/pkgs/desktops/gnome/core/gnome-control-center/default.nix b/pkgs/desktops/gnome/core/gnome-control-center/default.nix
deleted file mode 100644
index 47ce218c6dd70..0000000000000
--- a/pkgs/desktops/gnome/core/gnome-control-center/default.nix
+++ /dev/null
@@ -1,221 +0,0 @@
-{
-  fetchurl,
-  lib,
-  stdenv,
-  substituteAll,
-  accountsservice,
-  adwaita-icon-theme,
-  colord,
-  colord-gtk4,
-  cups,
-  dbus,
-  docbook-xsl-nons,
-  fontconfig,
-  gdk-pixbuf,
-  gettext,
-  glib,
-  glib-networking,
-  gcr_4,
-  glibc,
-  gnome-bluetooth,
-  gnome-color-manager,
-  gnome-desktop,
-  gnome-online-accounts,
-  gnome-settings-daemon,
-  gnome-tecla,
-  gnome,
-  gsettings-desktop-schemas,
-  gsound,
-  gst_all_1,
-  gtk4,
-  ibus,
-  json-glib,
-  libgtop,
-  libgudev,
-  libadwaita,
-  libkrb5,
-  libjxl,
-  libpulseaudio,
-  libpwquality,
-  librsvg,
-  webp-pixbuf-loader,
-  libsecret,
-  libsoup_3,
-  libwacom,
-  libXi,
-  libxml2,
-  libxslt,
-  meson,
-  modemmanager,
-  mutter,
-  networkmanager,
-  networkmanagerapplet,
-  libnma-gtk4,
-  ninja,
-  pkg-config,
-  polkit,
-  python3,
-  samba,
-  setxkbmap,
-  shadow,
-  shared-mime-info,
-  sound-theme-freedesktop,
-  tracker,
-  tracker-miners,
-  tzdata,
-  udisks2,
-  upower,
-  libepoxy,
-  gnome-user-share,
-  gnome-remote-desktop,
-  wrapGAppsHook4,
-  xorgserver,
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "gnome-control-center";
-  version = "46.4";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-control-center/${lib.versions.major finalAttrs.version}/gnome-control-center-${finalAttrs.version}.tar.xz";
-    hash = "sha256-Wb0wWDl3v6KOVCJ+7iEeqG9If81tORXtIfWTJCZxAeA=";
-  };
-
-  patches = [
-    (substituteAll {
-      src = ./paths.patch;
-      gcm = gnome-color-manager;
-      inherit glibc tzdata shadow;
-      inherit cups networkmanagerapplet;
-    })
-  ];
-
-  nativeBuildInputs = [
-    docbook-xsl-nons
-    gettext
-    libxslt
-    meson
-    ninja
-    pkg-config
-    python3
-    shared-mime-info
-    wrapGAppsHook4
-  ];
-
-  buildInputs = [
-    accountsservice
-    adwaita-icon-theme
-    colord
-    colord-gtk4
-    cups
-    fontconfig
-    gdk-pixbuf
-    glib
-    glib-networking
-    gcr_4
-    gnome-bluetooth
-    gnome-desktop
-    gnome-online-accounts
-    gnome-remote-desktop # optional, sharing panel
-    gnome-settings-daemon
-    gnome-tecla
-    gnome-user-share # optional, sharing panel
-    gsettings-desktop-schemas
-    gsound
-    gtk4
-    ibus
-    json-glib
-    libepoxy
-    libgtop
-    libgudev
-    libadwaita
-    libkrb5
-    libnma-gtk4
-    libpulseaudio
-    libpwquality
-    librsvg
-    libsecret
-    libsoup_3
-    libwacom
-    libXi
-    libxml2
-    modemmanager
-    mutter # schemas for the keybindings
-    networkmanager
-    polkit
-    samba
-    tracker
-    tracker-miners # for search locations dialog
-    udisks2
-    upower
-    # For animations in Mouse panel.
-    gst_all_1.gst-plugins-base
-    gst_all_1.gst-plugins-good
-  ];
-
-  nativeCheckInputs = [
-    dbus
-    python3.pkgs.pygobject3 # for test-networkmanager-service.py
-    python3.pkgs.python-dbusmock
-    setxkbmap
-    xorgserver # for Xvfb
-  ];
-
-  doCheck = true;
-
-  preConfigure = ''
-    # For ITS rules
-    addToSearchPath "XDG_DATA_DIRS" "${polkit.out}/share"
-  '';
-
-  preCheck = ''
-    # Basically same as https://github.com/NixOS/nixpkgs/pull/141299
-    export ADW_DISABLE_PORTAL=1
-    export XDG_DATA_DIRS=${glib.getSchemaDataDirPath gsettings-desktop-schemas}
-  '';
-
-  postInstall = ''
-    # Pull in WebP and JXL support for gnome-backgrounds.
-    # In postInstall to run before gappsWrapperArgsHook.
-    export GDK_PIXBUF_MODULE_FILE="${
-      gnome._gdkPixbufCacheBuilder_DO_NOT_USE {
-        extraLoaders = [
-          libjxl
-          librsvg
-          webp-pixbuf-loader
-        ];
-      }
-    }"
-  '';
-
-  preFixup = ''
-    gappsWrapperArgs+=(
-      --prefix XDG_DATA_DIRS : "${sound-theme-freedesktop}/share"
-      # Thumbnailers (for setting user profile pictures)
-      --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share"
-      --prefix XDG_DATA_DIRS : "${librsvg}/share"
-      # WM keyboard shortcuts
-      --prefix XDG_DATA_DIRS : "${mutter}/share"
-    )
-    for i in $out/share/applications/*; do
-      substituteInPlace $i --replace "Exec=gnome-control-center" "Exec=$out/bin/gnome-control-center"
-    done
-  '';
-
-  separateDebugInfo = true;
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = "gnome-control-center";
-      attrPath = "gnome.gnome-control-center";
-    };
-  };
-
-  meta = with lib; {
-    description = "Utilities to configure the GNOME desktop";
-    mainProgram = "gnome-control-center";
-    license = licenses.gpl2Plus;
-    maintainers = teams.gnome.members;
-    platforms = platforms.linux;
-  };
-})
diff --git a/pkgs/desktops/gnome/core/gnome-control-center/paths.patch b/pkgs/desktops/gnome/core/gnome-control-center/paths.patch
deleted file mode 100644
index 41dd5979aa4bc..0000000000000
--- a/pkgs/desktops/gnome/core/gnome-control-center/paths.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-diff --git a/panels/color/cc-color-panel.c b/panels/color/cc-color-panel.c
-index f6c84e3d2..cd897f8f5 100644
---- a/panels/color/cc-color-panel.c
-+++ b/panels/color/cc-color-panel.c
-@@ -614,7 +614,7 @@ gcm_prefs_calibrate_cb (CcColorPanel *self)
- 
-   /* run with modal set */
-   argv = g_ptr_array_new_with_free_func (g_free);
--  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 (self->current_device)));
-   g_ptr_array_add (argv, g_strdup ("--parent-window"));
-@@ -989,7 +989,7 @@ gcm_prefs_profile_view (CcColorPanel *self, 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_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"));
-@@ -1221,15 +1221,12 @@ gcm_prefs_device_clicked (CcColorPanel *self, CdDevice *device)
- static void
- gcm_prefs_profile_clicked (CcColorPanel *self, CdProfile *profile, CdDevice *device)
- {
--  g_autofree gchar *s = NULL;
--
-   /* get profile */
-   g_debug ("selected profile = %s",
-      cd_profile_get_filename (profile));
- 
-   /* allow getting profile info */
--  if (cd_profile_get_filename (profile) != NULL &&
--      (s = g_find_program_in_path ("gcm-viewer")) != NULL)
-+  if (cd_profile_get_filename (profile) != NULL)
-     gtk_widget_set_sensitive (self->toolbutton_profile_view, TRUE);
-   else
-     gtk_widget_set_sensitive (self->toolbutton_profile_view, FALSE);
-diff --git a/panels/system/datetime/tz.h b/panels/system/datetime/tz.h
-index feef16580..4b88ef7b1 100644
---- a/panels/system/datetime/tz.h
-+++ b/panels/system/datetime/tz.h
-@@ -27,11 +27,7 @@
- 
- G_BEGIN_DECLS
- 
--#ifndef __sun
--#  define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab"
--#else
--#  define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab"
--#endif
-+#define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab"
- 
- 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 ec5a905a5..689fdbebe 100644
---- a/panels/network/connection-editor/net-connection-editor.c
-+++ b/panels/network/connection-editor/net-connection-editor.c
-@@ -377,7 +377,7 @@ net_connection_editor_do_fallback (NetConnectionEditor *self, const gchar *type)
-         GPid child_pid;
- 
-         builder = g_strv_builder_new ();
--        g_strv_builder_add (builder, "nm-connection-editor");
-+        g_strv_builder_add (builder, "@networkmanagerapplet@/bin/nm-connection-editor");
- 
-         if (self->is_new_connection) {
-                 g_autofree gchar *type_str = NULL;
-diff --git a/panels/network/net-device-mobile.c b/panels/network/net-device-mobile.c
-index 166670224..36f720d36 100644
---- a/panels/network/net-device-mobile.c
-+++ b/panels/network/net-device-mobile.c
-@@ -521,7 +521,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);
-+        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);
-@@ -810,7 +810,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 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_ptr_array_new_with_free_func (g_object_unref);
- 
-   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/system/users/run-passwd.c b/panels/system/users/run-passwd.c
-index edbc99830..1e1d90141 100644
---- a/panels/system/users/run-passwd.c
-+++ b/panels/system/users/run-passwd.c
-@@ -152,7 +152,7 @@ spawn_passwd (PasswdHandler *passwd_handler, GError **error)
-         gchar  **envp;
-         gint    my_stdin, my_stdout;
- 
--        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/panels/system/users/user-utils.c b/panels/system/users/user-utils.c
-index 5b7bc1f02..13ffe6ca8 100644
---- a/panels/system/users/user-utils.c
-+++ b/panels/system/users/user-utils.c
-@@ -215,7 +215,7 @@ is_valid_username_async (const gchar *username,
-          * future, so it would be nice to have some official way for this
-          * instead of relying on the current "--login" implementation.
-          */
--        argv[0] = "/usr/sbin/usermod";
-+        argv[0] = "@shadow@/bin/usermod";
-         argv[1] = "--login";
-         argv[2] = data->username;
-         argv[3] = "--";
-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 @@ test_endianess (void)
- 	g_autoptr(GDir) dir = NULL;
- 	const char *name;
- 
--	dir = g_dir_open ("/usr/share/i18n/locales/", 0, NULL);
-+	dir = g_dir_open ("@glibc@/share/i18n/locales/", 0, NULL);
- 	if (dir == NULL) {
- 		/* Try with /usr/share/locale/
- 		 * https://bugzilla.gnome.org/show_bug.cgi?id=646780 */
diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix
index 206190913e25d..10f48ccc606dc 100644
--- a/pkgs/desktops/gnome/default.nix
+++ b/pkgs/desktops/gnome/default.nix
@@ -17,8 +17,6 @@ in
 
 #### Core (http://ftp.acc.umu.se/pub/GNOME/core/)
 
-  gnome-control-center = callPackage ./core/gnome-control-center { };
-
   gvfs = pkgs.gvfs.override { gnomeSupport = true; };
 
   networkmanager-openvpn = pkgs.networkmanager-openvpn.override {
@@ -100,6 +98,7 @@ in
   gnome-calculator = lib.warn "The ‘gnome.gnome-calculator’ was moved to top-level. Please use ‘pkgs.gnome-calculator’ directly." pkgs.gnome-calculator; # Added on 2024-06-22.
   gnome-calendar = lib.warn "The ‘gnome.gnome-calendar’ was moved to top-level. Please use ‘pkgs.gnome-calendar’ directly." pkgs.gnome-calendar; # Added on 2024-06-22.
   gnome-contacts = lib.warn "The ‘gnome.gnome-contacts’ was moved to top-level. Please use ‘pkgs.gnome-contacts’ directly." pkgs.gnome-contacts; # Added on 2024-08-11.
+  gnome-control-center = lib.warn "The ‘gnome.gnome-control-center’ was moved to top-level. Please use ‘pkgs.gnome-control-center’ directly." pkgs.gnome-control-center; # Added on 2024-08-28.
   gnome-dictionary = lib.warn "The ‘gnome.gnome-dictionary’ was moved to top-level. Please use ‘pkgs.gnome-dictionary’ directly." pkgs.gnome-dictionary; # Added on 2024-06-22.
   gnome-disk-utility = lib.warn "The ‘gnome.gnome-disk-utility’ was moved to top-level. Please use ‘pkgs.gnome-disk-utility’ directly." pkgs.gnome-disk-utility; # Added on 2024-06-22.
   gnome-font-viewer = lib.warn "The ‘gnome.gnome-font-viewer’ was moved to top-level. Please use ‘pkgs.gnome-font-viewer’ directly." pkgs.gnome-font-viewer; # Added on 2024-06-22.