about summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/signal-cli
diff options
context:
space:
mode:
authorIvan Kozik <ivan@ludios.org>2019-01-21 03:15:18 +0000
committerIvan Kozik <ivan@ludios.org>2019-01-21 16:20:59 +0000
commitda0c791c4555b2c647cd226a5d5b71d5833e126a (patch)
treea0b8745e1a744eb36bad67271543692873e87d40 /pkgs/applications/networking/instant-messengers/signal-cli
parente6af8309613318187f67b36a8ac4f75d338e23ee (diff)
signal-cli: init at 0.6.2
This commit is based on work by Christopher Fredén in
https://github.com/icetan/dot-nixpkgs/blob/8867ed07f78d7632ffefa1a3aceb8136a8c46a03/overlays/pkgs/signal-cli.nix
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/signal-cli')
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-cli/default.nix45
1 files changed, 45 insertions, 0 deletions
diff --git a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
new file mode 100644
index 0000000000000..3336c05aae742
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, lib, fetchurl, makeWrapper, jre_headless }:
+
+stdenv.mkDerivation rec {
+  name = "signal-cli-${version}";
+  version = "0.6.2";
+
+  # Building from source would be preferred, but is much more involved.
+  src = fetchurl {
+    url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}.tar.gz";
+    sha256 = "050nizf7v10jlrwr8f4awzi2368qr01pzpvl2qkrwhdk25r505yr";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -r lib $out/lib
+    cp bin/signal-cli $out/bin/signal-cli
+    wrapProgram $out/bin/signal-cli \
+      --prefix PATH : ${lib.makeBinPath [ jre_headless ]} \
+      --set JAVA_HOME ${jre_headless}
+  '';
+
+  # Execution in the macOS (10.13) sandbox fails with
+  # dyld: Library not loaded: /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
+  #   Referenced from: /nix/store/5ghc2l65p8jcjh0bsmhahd5m9k5p8kx0-zulu1.8.0_121-8.20.0.5/bin/java
+  #   Reason: no suitable image found.  Did find:
+  #         /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa: file system sandbox blocked stat()
+  #         /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa: file system sandbox blocked stat()
+  # /nix/store/in41dz8byyyz4c0w132l7mqi43liv4yr-stdenv-darwin/setup: line 1310:  2231 Abort trap: 6           signal-cli --version
+  doInstallCheck = stdenv.isLinux;
+  installCheckPhase = ''
+    export PATH=$PATH:$out/bin
+    # --help returns non-0 exit code even when working
+    signal-cli --version
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/AsamK/signal-cli;
+    description = "Command-line and dbus interface for communicating with the Signal messaging service";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ ivan ];
+    platforms = platforms.all;
+  };
+}