evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / gn / gnome-panel / wrapper.nix
blob9fb6d3c2d1ddd5484651304b4e9e0d4d8eba7907
2   stdenv,
3   lib,
4   buildEnv,
5   gnome-panel,
6   gnome-flashback,
7   xorg,
8   glib,
9   wrapGAppsHook3,
10   panelModulePackages ? [ ],
13 let
14   # We always want to find the built-in panel applets.
15   selectedPanelModulePackages = [
16     gnome-panel
17     gnome-flashback
18   ] ++ panelModulePackages;
20   panelModulesEnv = buildEnv {
21     name = "gnome-panel-modules-env";
22     paths = selectedPanelModulePackages;
23     pathsToLink = [ "/lib/gnome-panel/modules" ];
24   };
26 stdenv.mkDerivation {
27   pname = "${gnome-panel.pname}-with-modules";
28   inherit (gnome-panel) version;
30   nativeBuildInputs = [
31     glib
32     wrapGAppsHook3
33   ];
35   buildInputs =
36     selectedPanelModulePackages
37     ++ lib.forEach selectedPanelModulePackages (x: x.buildInputs or [ ]);
39   dontUnpack = true;
40   dontConfigure = true;
41   dontBuild = true;
43   preferLocalBuild = true;
44   allowSubstitutes = false;
46   installPhase = ''
47     runHook preInstall
49     mkdir -p $out
50     ${xorg.lndir}/bin/lndir -silent ${gnome-panel} $out
52     rm -r $out/lib/gnome-panel/modules
53     ${xorg.lndir}/bin/lndir -silent ${panelModulesEnv} $out
55     rm $out/share/applications/gnome-panel.desktop
57     substitute ${gnome-panel}/share/applications/gnome-panel.desktop \
58       $out/share/applications/gnome-panel.desktop --replace \
59       "Exec=${gnome-panel}/bin/gnome-panel" "Exec=$out/bin/gnome-panel"
61     runHook postInstall
62   '';
64   preFixup = ''
65     gappsWrapperArgs+=(
66       --set NIX_GNOME_PANEL_MODULESDIR "$out/lib/gnome-panel/modules"
67     )
68   '';
70   meta = gnome-panel.meta // {
71     outputsToInstall = [ "out" ];
72   };