Commit 46da6473 authored by Konstantin Alekseev's avatar Konstantin Alekseev
Browse files

playwright: apply nixfmt

parent 67602af1
Loading
Loading
Loading
Loading
+117 −104
Original line number Diff line number Diff line
{ lib
, stdenv
, chromium
, ffmpeg
, git
, jq
, nodejs
, fetchurl
, makeFontsConf
, makeWrapper
, runCommand
, unzip
, cacert
{
  lib,
  stdenv,
  chromium,
  ffmpeg,
  git,
  jq,
  nodejs,
  fetchurl,
  makeFontsConf,
  makeWrapper,
  runCommand,
  unzip,
  cacert,
}:
let
  inherit (stdenv.hostPlatform) system;

  throwSystem = throw "Unsupported system: ${system}";

  driver = stdenv.mkDerivation (finalAttrs:
  driver = stdenv.mkDerivation (
    finalAttrs:
    let
      suffix = {
      suffix =
        {
          x86_64-linux = "linux";
          aarch64-linux = "linux-arm64";
          x86_64-darwin = "mac";
          aarch64-darwin = "mac-arm64";
      }.${system} or throwSystem;
        }
        .${system} or throwSystem;
      filename = "playwright-${finalAttrs.version}-${suffix}.zip";
    in
    {
@@ -34,12 +38,14 @@ let

      src = fetchurl {
        url = "https://playwright.azureedge.net/builds/driver/${filename}";
      sha256 = {
        sha256 =
          {
            x86_64-linux = "0y9n23r4yfcgm4a50rfgicl91vrllak0d8h26yagh6h8hl0r3nhh";
            aarch64-linux = "0zd456klidi4sg7wahfrdbs2bwiq3q6ngxd4iv3vi9f9w9nq2p2k";
            x86_64-darwin = "0yaiwg9821w9nszzkrp5skzf5792nahvfqnr4axk84dcngslxvmk";
            aarch64-darwin = "1b1jmv6l97ss8c4sc3n1xckn05fpq3fihjbjxr2qz6i9dsy3xj57";
      }.${system} or throwSystem;
          }
          .${system} or throwSystem;
      };

      sourceRoot = ".";
@@ -70,16 +76,19 @@ let

      passthru = {
        inherit filename;
      browsers = {
        browsers =
          {
            x86_64-linux = browsers-linux { };
            aarch64-linux = browsers-linux { };
            x86_64-darwin = browsers-mac;
            aarch64-darwin = browsers-mac;
      }.${system} or throwSystem;
          }
          .${system} or throwSystem;
        browsers-chromium = browsers-linux { };
      };
      meta.mainProgram = "playwright";
  });
    }
  );

  browsers-mac = stdenv.mkDerivation {
    pname = "playwright-browsers";
@@ -87,9 +96,7 @@ let

    dontUnpack = true;

    nativeBuildInputs = [
      cacert
    ];
    nativeBuildInputs = [ cacert ];

    installPhase = ''
      runHook preInstall
@@ -104,21 +111,25 @@ let
    meta.platforms = lib.platforms.darwin;
  };

  browsers-linux = { withChromium ? true }: let
    fontconfig = makeFontsConf {
      fontDirectories = [];
    };
  browsers-linux =
    {
      withChromium ? true,
    }:
    let
      fontconfig = makeFontsConf { fontDirectories = [ ]; };
    in
    runCommand ("playwright-browsers"
    + lib.optionalString withChromium "-chromium")
    runCommand ("playwright-browsers" + lib.optionalString withChromium "-chromium")
      {
        nativeBuildInputs = [
          makeWrapper
          jq
        ];
  } (''
      }
      (
        ''
          BROWSERS_JSON=${driver}/package/browsers.json
  '' + lib.optionalString withChromium ''
        ''
        + lib.optionalString withChromium ''
          CHROMIUM_REVISION=$(jq -r '.browsers[] | select(.name == "chromium").revision' $BROWSERS_JSON)
          mkdir -p $out/chromium-$CHROMIUM_REVISION/chrome-linux

@@ -127,10 +138,12 @@ let
          makeWrapper ${chromium}/bin/chromium $out/chromium-$CHROMIUM_REVISION/chrome-linux/chrome \
            --set SSL_CERT_FILE /etc/ssl/certs/ca-bundle.crt \
            --set FONTCONFIG_FILE ${fontconfig}
  '' + ''
        ''
        + ''
          FFMPEG_REVISION=$(jq -r '.browsers[] | select(.name == "ffmpeg").revision' $BROWSERS_JSON)
          mkdir -p $out/ffmpeg-$FFMPEG_REVISION
          ln -s ${ffmpeg}/bin/ffmpeg $out/ffmpeg-$FFMPEG_REVISION/ffmpeg-linux
  '');
        ''
      );
in
driver