about summary refs log tree commit diff
diff options
context:
space:
mode:
authorKevin Cox <kevincox@kevincox.ca>2021-09-11 07:43:17 -0400
committerGitHub <noreply@github.com>2021-09-11 07:43:17 -0400
commitfff9593c7a8004f2a23a8031a9492a789f89bbe1 (patch)
tree7dc26198c4faefb2accf6923c1cedc6a9f674574
parentc99388db0c4fd9fed3991e611743787173494940 (diff)
parent33bbe582996d4941ef059e82be628abfcc32e7c6 (diff)
Merge pull request #136716 from kevincox/mautrix-facebook
mautrix-facebook: init at 0.3.1
-rw-r--r--pkgs/servers/mautrix-facebook/default.nix58
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 60 insertions, 0 deletions
diff --git a/pkgs/servers/mautrix-facebook/default.nix b/pkgs/servers/mautrix-facebook/default.nix
new file mode 100644
index 0000000000000..b9e86f01fbdb2
--- /dev/null
+++ b/pkgs/servers/mautrix-facebook/default.nix
@@ -0,0 +1,58 @@
+{ enableSystemd ? stdenv.isLinux
+, fetchFromGitHub
+, lib
+, python3
+, stdenv
+}:
+
+python3.pkgs.buildPythonPackage rec {
+  pname = "mautrix-facebook";
+  version = "0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "mautrix";
+    repo = "facebook";
+    rev = "v${version}";
+    sha256 = "0m7nznx3z6cg4wgvjybdivx22ifxcdri4i8501yibsri0jnpf0y2";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    CommonMark
+    aiohttp
+    asyncpg
+    mautrix
+    paho-mqtt
+    pillow
+    prometheus-client
+    pycryptodome
+    python-olm
+    python_magic
+    ruamel_yaml
+    unpaddedbase64
+    yarl
+  ] ++ lib.optional enableSystemd systemd;
+
+  doCheck = false;
+
+  postPatch = ''
+    sed -ie 's/^asyncpg.*/asyncpg>=0.20/' requirements.txt
+  '';
+
+  postInstall = ''
+    mkdir -p $out/bin
+
+    cat <<-END >$out/bin/mautrix-facebook
+    #!/bin/sh
+    PYTHONPATH="$PYTHONPATH" exec ${python3}/bin/python -m mautrix_facebook "\$@"
+    END
+    chmod +x $out/bin/mautrix-facebook
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/mautrix/facebook";
+    description = "A Matrix-Facebook Messenger puppeting bridge";
+    license = licenses.agpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ kevincox ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b79709e0c2377..f0d944d525aaf 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6629,6 +6629,8 @@ with pkgs;
 
   matrix-corporal = callPackage ../servers/matrix-corporal { };
 
+  mautrix-facebook = callPackage ../servers/mautrix-facebook { };
+
   mautrix-signal = recurseIntoAttrs (callPackage ../servers/mautrix-signal { });
 
   mautrix-telegram = recurseIntoAttrs (callPackage ../servers/mautrix-telegram { });