Unverified Commit 17c2b8e1 authored by Yt's avatar Yt Committed by GitHub
Browse files

windmill: 1.333.2 -> 1.410.3 (#350049)

parents 8fc84df0 8d575db4
Loading
Loading
Loading
Loading
+2898 −2075

File changed.

Preview size limit exceeded, changes collapsed.

+62 −37
Original line number Diff line number Diff line
{ lib
, rustPlatform
, fetchFromGitHub
, buildNpmPackage
, bash
, cmake
, cairo
, deno
, fetchurl
, go
, lld
, makeWrapper
, nsjail
, openssl
, pango
, pixman
, giflib
, pkg-config
, python3
, rustfmt
, stdenv
, swagger-cli
{
  lib,
  rustPlatform,
  fetchFromGitHub,
  buildNpmPackage,
  bash,
  cmake,
  cairo,
  deno,
  fetchurl,
  go,
  lld,
  makeWrapper,
  nsjail,
  openssl,
  pango,
  pixman,
  giflib,
  pkg-config,
  python3,
  rustfmt,
  stdenv,
  swagger-cli,
}:

let
  pname = "windmill";
  version = "1.333.2";
  version = "1.410.3";

  src = fetchFromGitHub {
    owner = "windmill-labs";
    repo = "windmill";
    rev = "v${version}";
    hash = "sha256-QwjmkKe3jxgXQjj/+WlhOdGOXZsrYdRmHtVakoNqYtI=";
    hash = "sha256-QPabzgSs+zxgI2dHcMY9ki4jEwm5jQbzwSMaIfBbFG8=";
  };

  pythonEnv = python3.withPackages (ps: [ ps.pip-tools ]);
@@ -42,7 +43,7 @@ let

    sourceRoot = "${src.name}/frontend";

    npmDepsHash = "sha256-I9h2MvngsluWYaoOP44ufE82SFW+8yhNI2qQNi6oyZE=";
    npmDepsHash = "sha256-3AeDGd/4dGHm8kGKEH3sqNOuQ1LPjP5n4qOEaqVMm0w=";

    # without these you get a
    # FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
@@ -52,8 +53,16 @@ let
      npm run generate-backend-client
    '';

    buildInputs = [ pixman cairo pango giflib ];
    nativeBuildInputs = [ python3 pkg-config ];
    buildInputs = [
      pixman
      cairo
      pango
      giflib
    ];
    nativeBuildInputs = [
      python3
      pkg-config
    ];

    installPhase = ''
      mkdir -p $out/share
@@ -69,11 +78,14 @@ rustPlatform.buildRustPackage {
    SQLX_OFFLINE = "true";
    RUSTY_V8_ARCHIVE =
      let
        fetch_librusty_v8 = args:
        fetch_librusty_v8 =
          args:
          fetchurl {
            name = "librusty_v8-${args.version}";
            url = "https://github.com/denoland/rusty_v8/releases/download/v${args.version}/librusty_v8_release_${stdenv.hostPlatform.rust.rustcTarget}.a";
            sha256 = args.shas.${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}");
            sha256 =
              args.shas.${stdenv.hostPlatform.system}
                or (throw "Unsupported platform ${stdenv.hostPlatform.system}");
            meta = {
              inherit (args) version;
              sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
@@ -94,8 +106,6 @@ rustPlatform.buildRustPackage {
  cargoLock = {
    lockFile = ./Cargo.lock;
    outputHashes = {
      "archiver-rs-0.5.1" = "sha256-ZIik0mMABmhdx/ullgbOrKH5GAtqcOKq5A6vB7aBSjk=";
      "pg-embed-0.7.2" = "sha256-R/SrlzNK7aAOyXVTQ/WPkiQb6FyMg9tpsmPTsiossDY=";
      "php-parser-rs-0.1.3" = "sha256-ZeI3KgUPmtjlRfq6eAYveqt8Ay35gwj6B9iOQRjQa9A=";
      "progenitor-0.3.0" = "sha256-F6XRZFVIN6/HfcM8yI/PyNke45FL7jbcznIiqj22eIQ=";
      "rustpython-ast-0.3.1" = "sha256-q9N+z3F6YICQuUMp3a10OS792tCq0GiSSlkcaLxi3Gs=";
@@ -151,7 +161,15 @@ rustPlatform.buildRustPackage {
    patchelf --set-rpath ${lib.makeLibraryPath [ openssl ]} $out/bin/windmill

    wrapProgram "$out/bin/windmill" \
      --prefix PATH : ${lib.makeBinPath [go pythonEnv deno nsjail bash]} \
      --prefix PATH : ${
        lib.makeBinPath [
          go
          pythonEnv
          deno
          nsjail
          bash
        ]
      } \
      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ stdenv.cc.cc.lib ]} \
      --set PYTHON_PATH "${pythonEnv}/bin/python3" \
      --set GO_PATH "${go}/bin/go" \
@@ -164,9 +182,16 @@ rustPlatform.buildRustPackage {
    description = "Open-source developer platform to turn scripts into workflows and UIs";
    homepage = "https://windmill.dev";
    license = lib.licenses.agpl3Only;
    maintainers = with lib.maintainers; [ dit7ya happysalada ];
    maintainers = with lib.maintainers; [
      dit7ya
      happysalada
    ];
    mainProgram = "windmill";
    # limited by librusty_v8
    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
    # nsjail not available on darwin
    platforms = [
      "x86_64-linux"
      "aarch64-linux"
    ];
  };
}