Unverified Commit f2f32f1f authored by Toma's avatar Toma Committed by GitHub
Browse files

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

parents da1b0d06 af15cb49
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -5725,27 +5725,48 @@ with pkgs;
    electron-chromedriver_40
    ;

  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 =
    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;
        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;