about summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/briar-desktop
diff options
context:
space:
mode:
authorJonas Heinrich <onny@project-insanity.org>2022-01-29 16:08:35 +0100
committerYt <happysalada@proton.me>2022-06-27 12:56:49 -0400
commit0ff3a27898457ade5f0f42ca417cdc4ff438a3c5 (patch)
treeb5adcbc2c02ab85338bf471ab26e4160e2fb8857 /pkgs/applications/networking/instant-messengers/briar-desktop
parent2d958456dbf6e7eb3c9fc9c8ddcc5497b8baea9a (diff)
briar: init at 0.2.1-beta
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/briar-desktop')
-rw-r--r--pkgs/applications/networking/instant-messengers/briar-desktop/default.nix58
1 files changed, 58 insertions, 0 deletions
diff --git a/pkgs/applications/networking/instant-messengers/briar-desktop/default.nix b/pkgs/applications/networking/instant-messengers/briar-desktop/default.nix
new file mode 100644
index 0000000000000..1b16786649f90
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/briar-desktop/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, stdenv
+, fetchzip
+, openjdk
+, makeWrapper
+, tor
+, p7zip
+, bash
+, writeScript
+}:
+let
+
+  briar-tor = writeScript "briar-tor" ''
+    #! ${bash}/bin/bash
+    exec ${tor}/bin/tor "$@"
+  '';
+
+in
+stdenv.mkDerivation rec {
+  pname = "briar-desktop";
+  version = "0.2.1-beta";
+
+  src = fetchzip {
+    url = "https://code.briarproject.org/briar/briar-desktop/-/jobs/18424/artifacts/download?file_type=archive";
+    sha256 = "sha256-ivMbgo0+iZE4/Iffq9HUBErGIQMVLrRZUQ6R3V3X8II=";
+    extension = "zip";
+  };
+
+  nativeBuildInputs = [
+    makeWrapper
+    p7zip
+  ];
+
+  installPhase = ''
+    mkdir -p $out/{bin,lib}
+    cp ${src}/briar-desktop.jar $out/lib/
+    makeWrapper ${openjdk}/bin/java $out/bin/briar-desktop \
+      --add-flags "-jar $out/lib/briar-desktop.jar"
+  '';
+
+  fixupPhase = ''
+    # Replace the embedded Tor binary (which is in a Tar archive)
+    # with one from Nixpkgs.
+    cp ${briar-tor} ./tor
+    for arch in {aarch64,armhf,x86_64}; do
+      7z a tor_linux-$arch.zip tor
+      7z a $out/lib/briar-desktop.jar tor_linux-$arch.zip
+    done
+  '';
+
+  meta = with lib; {
+    description = "Decentalized and secure messnger";
+    homepage = "https://code.briarproject.org/briar/briar-desktop";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ onny ];
+    platforms = [ "x86_64-linux" "aarch64-linux" "armv7l-linux" ];
+  };
+}