diff options
author | Jan Tojnar <jtojnar@gmail.com> | 2024-08-28 23:56:06 +0200 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2024-09-01 14:16:31 +0200 |
commit | a110f292a195ad789a50485093386c1020bbac21 (patch) | |
tree | 71dac4969f7bf17543ddd6c0947358287cac6681 /pkgs/desktops | |
parent | c2f1fa833e43b34b11f0f47072482a9a41f1b579 (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.nix | 221 | ||||
-rw-r--r-- | pkgs/desktops/gnome/core/gnome-control-center/paths.patch | 143 | ||||
-rw-r--r-- | pkgs/desktops/gnome/default.nix | 3 |
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. |