Unverified Commit adede1eb authored by Nick Cao's avatar Nick Cao
Browse files

mjolnir: 1.5.0 -> 1.6.4, build with mkYarnPackage

parent a0ca4311
Loading
Loading
Loading
Loading
+27 −38
Original line number Diff line number Diff line
{ lib
, nixosTests
, stdenv
, mkYarnPackage
, fetchFromGitHub
, fetchYarnDeps
, matrix-sdk-crypto-nodejs
, makeWrapper
, nodejs
, pkgs
, nixosTests
}:

stdenv.mkDerivation rec {
mkYarnPackage rec {
  pname = "mjolnir";
  version = "1.5.0";
  version = "1.6.4";

  src = fetchFromGitHub {
    owner = "matrix-org";
    repo = "mjolnir";
    rev = "v${version}";
    sha256 = "YmP+r9W5e63Aw66lSQeTTbYwSF/vjPyHkoehJxtcRNw=";
    rev = "refs/tags/v${version}";
    hash = "sha256-/vnojWLpu/fktqPUhAdL1QTESxDwFrBVYAkyF79Fj9w=";
  };

  nativeBuildInputs = [
    nodejs
    makeWrapper
  ];
  packageJSON = ./package.json;

  buildPhase =
    let
      nodeDependencies = ((import ./node-composition.nix {
        inherit pkgs nodejs;
        inherit (stdenv.hostPlatform) system;
      }).nodeDependencies.override (old: {
        # access to path '/nix/store/...-source' is forbidden in restricted mode
        src = src;
        dontNpmInstall = true;
      }));
    in
    ''
      runHook preBuild
  offlineCache = fetchYarnDeps {
    yarnLock = src + "/yarn.lock";
    hash = "sha256-B4s0CYr5Ihoh4gkckwZ3z0Nb4LMET48WvRXuhk3fpQM=";
  };

      ln -s ${nodeDependencies}/lib/node_modules .
      export HOME=$(mktemp -d)
      export PATH="${nodeDependencies}/bin:$PATH"
      npm run build
  packageResolutions = {
    "@matrix-org/matrix-sdk-crypto-nodejs" = "${matrix-sdk-crypto-nodejs}/lib/node_modules/@matrix-org/matrix-sdk-crypto-nodejs";
  };

      runHook postBuild
    '';
  nativeBuildInputs = [ makeWrapper ];

  installPhase = ''
    runHook preInstall
  buildPhase = ''
    runHook preBuild

    mkdir -p $out/share
    cp -a . $out/share/mjolnir
    pushd deps/${pname}
    yarn run build
    popd

    makeWrapper ${nodejs}/bin/node $out/bin/mjolnir \
      --add-flags $out/share/mjolnir/lib/index.js
    runHook postBuild
  '';

    runHook postInstall
  postInstall = ''
    makeWrapper ${nodejs}/bin/node "$out/bin/mjolnir" \
      --add-flags "$out/libexec/mjolnir/deps/mjolnir/lib/index.js"
  '';

  passthru = {
    tests = {
      inherit (nixosTests) mjolnir;
    };
    updateScript = ./update.sh;
  };

  meta = with lib; {
+0 −17
Original line number Diff line number Diff line
# This file has been generated by node2nix 1.11.1. Do not edit!

{pkgs ? import <nixpkgs> {
    inherit system;
  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:

let
  nodeEnv = import ./node-env.nix {
    inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript;
    inherit pkgs nodejs;
    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
  };
in
import ./node-deps.nix {
  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
  inherit nodeEnv;
}
+0 −4402

File deleted.

Preview size limit exceeded, changes collapsed.

pkgs/servers/mjolnir/node-env.nix

deleted100644 → 0
+0 −598

File deleted.

Preview size limit exceeded, changes collapsed.

+69 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading