diff options
author | Jan Tojnar <jtojnar@gmail.com> | 2024-08-31 11:00:48 +0200 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2024-09-01 14:16:31 +0200 |
commit | e1093690a83c83c5ac25cbd94d6fc668a92bc426 (patch) | |
tree | 7d6133b74aa591838db478839f3673c804ae69e0 /pkgs/desktops | |
parent | 771f47b485b0b05b2aa0e166a73e3a5fd4a0e2fa (diff) |
gnome-panel: Move from gnome scope to top-level
Diffstat (limited to 'pkgs/desktops')
-rw-r--r-- | pkgs/desktops/gnome/default.nix | 6 | ||||
-rw-r--r-- | pkgs/desktops/gnome/misc/gnome-panel/default.nix | 113 | ||||
-rw-r--r-- | pkgs/desktops/gnome/misc/gnome-panel/modulesdir-env-var.patch | 31 | ||||
-rw-r--r-- | pkgs/desktops/gnome/misc/gnome-panel/wrapper.nix | 74 |
4 files changed, 2 insertions, 222 deletions
diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix index 10f48ccc606dc..fe540be7325e0 100644 --- a/pkgs/desktops/gnome/default.nix +++ b/pkgs/desktops/gnome/default.nix @@ -51,10 +51,6 @@ in gnome-flashback = callPackage ./misc/gnome-flashback { }; - gnome-panel = callPackage ./misc/gnome-panel { }; - - gnome-panel-with-modules = callPackage ./misc/gnome-panel/wrapper.nix { }; - }) // lib.optionalAttrs config.allowAliases { #### Legacy aliases. They need to be outside the scope or they will shadow the attributes from parent scope. libgnome-keyring = lib.warn "The ‘gnome.libgnome-keyring’ was moved to top-level. Please use ‘pkgs.libgnome-keyring’ directly." pkgs.libgnome-keyring; # Added on 2024-06-22. @@ -114,6 +110,8 @@ in gnome-nibbles = lib.warn "The ‘gnome.gnome-nibbles’ was moved to top-level. Please use ‘pkgs.gnome-nibbles’ directly." pkgs.gnome-nibbles; # Added on 2024-08-11. gnome-notes = lib.warn "The ‘gnome.gnome-notes’ was moved to top-level. Please use ‘pkgs.gnome-notes’ directly." pkgs.gnome-notes; # Added on 2024-08-11. gnome-packagekit = lib.warn "The ‘gnome.gnome-packagekit’ was moved to top-level. Please use ‘pkgs.gnome-packagekit’ directly." pkgs.gnome-packagekit; # Added on 2024-06-22. + gnome-panel = lib.warn "The ‘gnome.gnome-panel’ was moved to top-level. Please use ‘pkgs.gnome-panel’ directly." pkgs.gnome-panel; # Added on 2024-08-31. + gnome-panel-with-modules = lib.warn "The ‘gnome.gnome-panel-with-modules’ was moved to top-level. Please use ‘pkgs.gnome-panel-with-modules’ directly." pkgs.gnome-panel-with-modules; # Added on 2024-08-31. gnome-power-manager = lib.warn "The ‘gnome.gnome-power-manager’ was moved to top-level. Please use ‘pkgs.gnome-power-manager’ directly." pkgs.gnome-power-manager; # Added on 2024-08-11. gnome-remote-desktop = lib.warn "The ‘gnome.gnome-remote-desktop’ was moved to top-level. Please use ‘pkgs.gnome-remote-desktop’ directly." pkgs.gnome-remote-desktop; # Added on 2024-08-11. gnome-robots = lib.warn "The ‘gnome.gnome-robots’ was moved to top-level. Please use ‘pkgs.gnome-robots’ directly." pkgs.gnome-robots; # Added on 2024-08-11. diff --git a/pkgs/desktops/gnome/misc/gnome-panel/default.nix b/pkgs/desktops/gnome/misc/gnome-panel/default.nix deleted file mode 100644 index 17ecae10933cb..0000000000000 --- a/pkgs/desktops/gnome/misc/gnome-panel/default.nix +++ /dev/null @@ -1,113 +0,0 @@ -{ - stdenv, - lib, - fetchurl, - autoreconfHook, - dconf, - evolution-data-server, - gdm, - geocode-glib_2, - gettext, - glib, - gnome-desktop, - gnome-menus, - gnome, - gtk3, - itstool, - libgweather, - libwnck, - libxml2, - pkg-config, - polkit, - systemd, - wrapGAppsHook3, -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "gnome-panel"; - version = "3.52.0"; - - outputs = [ - "out" - "dev" - "man" - ]; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-panel/${lib.versions.majorMinor finalAttrs.version}/gnome-panel-${finalAttrs.version}.tar.xz"; - hash = "sha256-nim6iHPN5A1AwpNKRk+PQ7ousbUisZFEfKon3XhTxdQ="; - }; - - patches = [ - # Load modules from path in `NIX_GNOME_PANEL_MODULESDIR` environment variable - # instead of gnome-panel’s libdir so that the NixOS module can make gnome-panel - # load modules from other packages as well. - ./modulesdir-env-var.patch - ]; - - # make .desktop Exec absolute - postPatch = '' - patch -p0 <<END_PATCH - +++ gnome-panel/gnome-panel.desktop.in - @@ -7 +7 @@ - -Exec=gnome-panel - +Exec=$out/bin/gnome-panel - END_PATCH - ''; - - preFixup = '' - gappsWrapperArgs+=( - --prefix XDG_DATA_DIRS : "${gnome-menus}/share" - --prefix XDG_CONFIG_DIRS : "${gnome-menus}/etc/xdg" - ) - ''; - - nativeBuildInputs = [ - autoreconfHook - gettext - itstool - libxml2 - pkg-config - wrapGAppsHook3 - ]; - - buildInputs = [ - dconf - evolution-data-server - gdm - geocode-glib_2 - glib - gnome-desktop - gnome-menus - gtk3 - libgweather - libwnck - polkit - systemd - ]; - - configureFlags = [ - "--enable-eds" - ]; - - enableParallelBuilding = true; - - doCheck = true; - - passthru = { - updateScript = gnome.updateScript { - packageName = "gnome-panel"; - attrPath = "gnome.gnome-panel"; - versionPolicy = "odd-unstable"; - }; - }; - - meta = with lib; { - description = "Component of Gnome Flashback that provides panels and default applets for the desktop"; - mainProgram = "gnome-panel"; - homepage = "https://gitlab.gnome.org/GNOME/gnome-panel"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -}) diff --git a/pkgs/desktops/gnome/misc/gnome-panel/modulesdir-env-var.patch b/pkgs/desktops/gnome/misc/gnome-panel/modulesdir-env-var.patch deleted file mode 100644 index 40638bf123d2a..0000000000000 --- a/pkgs/desktops/gnome/misc/gnome-panel/modulesdir-env-var.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/gnome-panel/gp-module-manager.c b/gnome-panel/gp-module-manager.c -index 58447fd84..7af99de7d 100644 ---- a/gnome-panel/gp-module-manager.c -+++ b/gnome-panel/gp-module-manager.c -@@ -49,8 +49,16 @@ load_modules (GpModuleManager *self) - { - GDir *dir; - const gchar *name; -+ const gchar *modules_dir; - -- dir = g_dir_open (MODULESDIR, 0, NULL); -+ modules_dir = g_getenv ("NIX_GNOME_PANEL_MODULESDIR"); -+ -+ if (!modules_dir) { -+ g_warning ("The NIX_GNOME_PANEL_MODULESDIR environment variable was not set, modules will not be loaded."); -+ return; -+ } -+ -+ dir = g_dir_open (modules_dir, 0, NULL); - if (!dir) - return; - -@@ -63,7 +71,7 @@ load_modules (GpModuleManager *self) - if (!g_str_has_suffix (name, ".so")) - continue; - -- path = g_build_filename (MODULESDIR, name, NULL); -+ path = g_build_filename (modules_dir, name, NULL); - module = gp_module_new_from_path (path); - g_free (path); - diff --git a/pkgs/desktops/gnome/misc/gnome-panel/wrapper.nix b/pkgs/desktops/gnome/misc/gnome-panel/wrapper.nix deleted file mode 100644 index a1c0dc0c0320d..0000000000000 --- a/pkgs/desktops/gnome/misc/gnome-panel/wrapper.nix +++ /dev/null @@ -1,74 +0,0 @@ -{ - stdenv, - lib, - buildEnv, - gnome, - xorg, - glib, - wrapGAppsHook3, - panelModulePackages ? [ ], -}: - -let - inherit (gnome) gnome-panel gnome-flashback; - - # We always want to find the built-in panel applets. - selectedPanelModulePackages = [ - gnome-panel - gnome-flashback - ] ++ panelModulePackages; - - panelModulesEnv = buildEnv { - name = "gnome-panel-modules-env"; - paths = selectedPanelModulePackages; - pathsToLink = [ "/lib/gnome-panel/modules" ]; - }; -in -stdenv.mkDerivation { - pname = "${gnome-panel.pname}-with-modules"; - inherit (gnome-panel) version; - - nativeBuildInputs = [ - glib - wrapGAppsHook3 - ]; - - buildInputs = - selectedPanelModulePackages - ++ lib.forEach selectedPanelModulePackages (x: x.buildInputs or [ ]); - - dontUnpack = true; - dontConfigure = true; - dontBuild = true; - - preferLocalBuild = true; - allowSubstitutes = false; - - installPhase = '' - runHook preInstall - - mkdir -p $out - ${xorg.lndir}/bin/lndir -silent ${gnome-panel} $out - - rm -r $out/lib/gnome-panel/modules - ${xorg.lndir}/bin/lndir -silent ${panelModulesEnv} $out - - rm $out/share/applications/gnome-panel.desktop - - substitute ${gnome-panel}/share/applications/gnome-panel.desktop \ - $out/share/applications/gnome-panel.desktop --replace \ - "Exec=${gnome-panel}/bin/gnome-panel" "Exec=$out/bin/gnome-panel" - - runHook postInstall - ''; - - preFixup = '' - gappsWrapperArgs+=( - --set NIX_GNOME_PANEL_MODULESDIR "$out/lib/gnome-panel/modules" - ) - ''; - - meta = gnome-panel.meta // { - outputsToInstall = [ "out" ]; - }; -} |