electron*: meld electron-bin*.meta.platforms into .meta.platforms (#471643)

This commit is contained in:
Toma
2026-01-26 00:03:00 +00:00
committed by GitHub
3 changed files with 44 additions and 23 deletions
+1 -1
View File
@@ -174,7 +174,7 @@ stdenv.mkDerivation (
changelog = "https://github.com/element-hq/element-desktop/blob/v${finalAttrs.version}/CHANGELOG.md";
license = lib.licenses.agpl3Plus;
teams = [ lib.teams.matrix ];
platforms = electron.meta.platforms ++ lib.platforms.darwin;
inherit (electron.meta) platforms;
mainProgram = "element-desktop";
};
}
+1 -1
View File
@@ -248,6 +248,6 @@ stdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [
fugi
];
platforms = electron.meta.platforms ++ lib.platforms.darwin;
inherit (electron.meta) platforms;
};
})
+42 -21
View File
@@ -5725,27 +5725,48 @@ with pkgs;
electron-chromedriver_40
;
electron_36 = electron_36-bin;
electron_37 =
if lib.meta.availableOn stdenv.hostPlatform electron-source.electron_37 then
electron-source.electron_37
else
electron_37-bin;
electron_38 =
if lib.meta.availableOn stdenv.hostPlatform electron-source.electron_38 then
electron-source.electron_38
else
electron_38-bin;
electron_39 =
if lib.meta.availableOn stdenv.hostPlatform electron-source.electron_39 then
electron-source.electron_39
else
electron_39-bin;
electron_40 =
if lib.meta.availableOn stdenv.hostPlatform electron-source.electron_40 then
electron-source.electron_40
else
electron_40-bin;
inherit
(
let
# On Linux, we use source electron package. On Darwin, we use binary. Hydra
# and other infra uses Linux package .meta.platforms to determine supported
# platforms. It means that Hydra won't cache podman-desktop and other
# electron-based apps on Darwin. This helper will force Linux package .meta
# to list darwin.
getElectronPkg =
{ src, bin }:
(if lib.meta.availableOn stdenv.hostPlatform src then src else bin).overrideAttrs (old: {
meta = old.meta // {
platforms = lib.lists.unique (src.meta.platforms ++ bin.meta.platforms);
};
});
in
{
electron_36 = electron_36-bin;
electron_37 = getElectronPkg {
src = electron-source.electron_37;
bin = electron_37-bin;
};
electron_38 = getElectronPkg {
src = electron-source.electron_38;
bin = electron_38-bin;
};
electron_39 = getElectronPkg {
src = electron-source.electron_39;
bin = electron_39-bin;
};
electron_40 = getElectronPkg {
src = electron-source.electron_40;
bin = electron_40-bin;
};
}
)
electron_36
electron_37
electron_38
electron_39
electron_40
;
electron = electron_38;
electron-bin = electron_38-bin;
electron-chromedriver = electron-chromedriver_38;