about summary refs log tree commit diff
path: root/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix')
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix56
1 files changed, 56 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix b/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix
new file mode 100644
index 000000000000..e7928dab5417
--- /dev/null
+++ b/nixpkgs/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, fetchFromGitHub
+, fetchYarnDeps
+, makeWrapper
+, matrix-sdk-crypto-nodejs
+, mkYarnPackage
+, nodejs
+}:
+
+let
+  data = lib.importJSON ./pin.json;
+in
+mkYarnPackage rec {
+  inherit nodejs;
+
+  pname = "matrix-appservice-slack";
+  version = data.version;
+
+  packageJSON = ./package.json;
+  src = fetchFromGitHub {
+    owner = "matrix-org";
+    repo = "matrix-appservice-slack";
+    rev = data.version;
+    hash = data.srcHash;
+  };
+
+  offlineCache = fetchYarnDeps {
+    yarnLock = src + "/yarn.lock";
+    sha256 = data.yarnHash;
+  };
+  packageResolutions = {
+    "@matrix-org/matrix-sdk-crypto-nodejs" = "${matrix-sdk-crypto-nodejs}/lib/node_modules/@matrix-org/matrix-sdk-crypto-nodejs";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildPhase = ''
+    runHook preBuild
+    yarn run build
+    runHook postBuild
+  '';
+
+  postInstall = ''
+    makeWrapper '${nodejs}/bin/node' "$out/bin/matrix-appservice-slack" --add-flags \
+        "$out/libexec/matrix-appservice-slack/deps/matrix-appservice-slack/lib/app.js"
+  '';
+
+  doDist = false;
+
+  meta = with lib; {
+    description = "A Matrix <--> Slack bridge";
+    mainProgram = "matrix-appservice-slack";
+    maintainers = with maintainers; [ beardhatcode chvp ];
+    license = licenses.asl20;
+  };
+}