push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,90 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
wayland-scanner,
wrapGAppsHook3,
pkg-config,
meson,
ninja,
vala,
gala,
gtk3,
libgee,
granite,
gettext,
mutter,
wayland,
json-glib,
elementary-gtk-theme,
elementary-icon-theme,
}:
stdenv.mkDerivation rec {
pname = "wingpanel";
version = "8.0.3";
src = fetchFromGitHub {
owner = "elementary";
repo = "wingpanel";
rev = version;
sha256 = "sha256-3UNtqfDqgclRE8Pe9N8rOt6i2FG6lKNfJAv5Q2OYXUU=";
};
patches = [
./indicators.patch
];
depsBuildBuild = [
pkg-config
];
nativeBuildInputs = [
gettext
meson
ninja
pkg-config
vala
wayland-scanner
wrapGAppsHook3
];
buildInputs = [
elementary-icon-theme
gala
granite
gtk3
json-glib
libgee
mutter
wayland
];
preFixup = ''
gappsWrapperArgs+=(
# this GTK theme is required
--prefix XDG_DATA_DIRS : "${elementary-gtk-theme}/share"
# the icon theme is required
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
)
'';
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Extensible top panel for Pantheon";
longDescription = ''
Wingpanel is an empty container that accepts indicators as extensions,
including the applications menu.
'';
homepage = "https://github.com/elementary/wingpanel";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
mainProgram = "io.elementary.wingpanel";
};
}

View File

@@ -0,0 +1,21 @@
diff --git a/lib/IndicatorManager.vala b/lib/IndicatorManager.vala
index a99a1ec..0ae7799 100644
--- a/lib/IndicatorManager.vala
+++ b/lib/IndicatorManager.vala
@@ -115,7 +115,15 @@ public class Wingpanel.IndicatorManager : GLib.Object {
}
/* load indicators */
- var base_folder = File.new_for_path (Build.INDICATORS_DIR);
+
+ var indicators_path = Environment.get_variable("WINGPANEL_INDICATORS_PATH");
+ if (indicators_path != null) {
+ debug ("WINGPANEL_INDICATORS_PATH set to %s", indicators_path);
+ } else {
+ critical ("WINGPANEL_INDICATORS_PATH not set");
+ }
+
+ var base_folder = File.new_for_path (indicators_path);
try {
monitor = base_folder.monitor_directory (FileMonitorFlags.NONE, null);

View File

@@ -0,0 +1,64 @@
{
lib,
wrapGAppsHook3,
glib,
stdenv,
xorg,
wingpanel,
wingpanelIndicators,
switchboard-with-plugs,
indicators ? null,
# Only useful to disable for development testing.
useDefaultIndicators ? true,
}:
let
selectedIndicators =
if indicators == null then
wingpanelIndicators
else
indicators ++ (lib.optionals useDefaultIndicators wingpanelIndicators);
in
stdenv.mkDerivation {
pname = "${wingpanel.pname}-with-indicators";
inherit (wingpanel) version;
src = null;
paths = [
wingpanel
]
++ selectedIndicators;
passAsFile = [ "paths" ];
nativeBuildInputs = [
glib
wrapGAppsHook3
];
buildInputs = lib.forEach selectedIndicators (x: x.buildInputs) ++ selectedIndicators;
dontUnpack = true;
dontConfigure = true;
dontBuild = true;
preferLocalBuild = true;
allowSubstitutes = false;
installPhase = ''
mkdir -p $out
for i in $(cat $pathsPath); do
${xorg.lndir}/bin/lndir -silent $i $out
done
'';
preFixup = ''
gappsWrapperArgs+=(
--set WINGPANEL_INDICATORS_PATH "$out/lib/wingpanel"
--set SWITCHBOARD_PLUGS_PATH "${switchboard-with-plugs}/lib/switchboard-3"
)
'';
inherit (wingpanel) meta;
}