about summary refs log tree commit diff
path: root/pkgs/servers/mautrix-signal
diff options
context:
space:
mode:
authorJoe Hermaszewski <git@monoid.al>2021-04-13 11:37:17 +0800
committerJoe Hermaszewski <git@monoid.al>2021-04-15 08:24:39 +0800
commita71b18f5d48e5c6aa2b8effc797b3d381deaeab5 (patch)
tree2896a2b0d37ac6aa0b739d7bab6905aaafe56979 /pkgs/servers/mautrix-signal
parenta64b9f2b106607b5d533c8238e577a79b229a679 (diff)
mautrix-signal: init at v0.1.1
The script wrapping python -m mautrix_signal was inspired by
the gunicorn script in powerdns-admin
Diffstat (limited to 'pkgs/servers/mautrix-signal')
-rw-r--r--pkgs/servers/mautrix-signal/default.nix55
1 files changed, 55 insertions, 0 deletions
diff --git a/pkgs/servers/mautrix-signal/default.nix b/pkgs/servers/mautrix-signal/default.nix
new file mode 100644
index 0000000000000..2bf69a6306150
--- /dev/null
+++ b/pkgs/servers/mautrix-signal/default.nix
@@ -0,0 +1,55 @@
+{ lib, python3Packages, fetchFromGitHub }:
+
+python3Packages.buildPythonPackage rec {
+  pname = "mautrix-signal";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "tulir";
+    repo = "mautrix-signal";
+    rev = "v${version}";
+    sha256 = "11snsl7i407855h39g1fgk26hinnq0inr8sjrgd319li0d3jwzxl";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    CommonMark
+    aiohttp
+    asyncpg
+    attrs
+    mautrix
+    phonenumbers
+    pillow
+    prometheus_client
+    pycryptodome
+    python-olm
+    python_magic
+    qrcode
+    ruamel_yaml
+    unpaddedbase64
+    yarl
+  ];
+
+  doCheck = false;
+
+  postInstall = ''
+    mkdir -p $out/bin
+
+    # Make a little wrapper for running mautrix-signal with its dependencies
+    echo "$mautrixSignalScript" > $out/bin/mautrix-signal
+    echo "#!/bin/sh
+      exec python -m mautrix_signal \"$@\"
+    " > $out/bin/mautrix-signal
+    chmod +x $out/bin/mautrix-signal
+    wrapProgram $out/bin/mautrix-signal \
+      --set PATH ${python3Packages.python}/bin \
+      --set PYTHONPATH "$PYTHONPATH"
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/tulir/mautrix-signal";
+    description = "A Matrix-Signal puppeting bridge";
+    license = licenses.agpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ expipiplus1 ];
+  };
+}