summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/tools/amqpcat/default.nix33
-rw-r--r--pkgs/development/tools/amqpcat/shards.nix12
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/development/tools/amqpcat/default.nix b/pkgs/development/tools/amqpcat/default.nix
new file mode 100644
index 0000000000000..a7c30cc9e4b6d
--- /dev/null
+++ b/pkgs/development/tools/amqpcat/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, lib, fetchFromGitHub, crystal, openssl, testers, amqpcat }:
+
+crystal.buildCrystalPackage rec {
+  pname = "amqpcat";
+  version = "0.2.4";
+
+  src = fetchFromGitHub {
+    owner = "cloudamqp";
+    repo = "amqpcat";
+    rev = "v${version}";
+    hash = "sha256-Ec8LlOYYp3fXYgvps/ikeB4MqBEXTw1BAF5nJyL7dI0=";
+  };
+
+  format = "shards";
+  shardsFile = ./shards.nix;
+
+  buildInputs = [ openssl ];
+
+  # Tests require network access
+  doCheck = false;
+
+  passthru.tests.version = testers.testVersion {
+    package = amqpcat;
+  };
+
+  meta = with lib; {
+    description = "A CLI tool for publishing to and consuming from AMQP servers";
+    homepage = "https://github.com/cloudamqp/amqpcat";
+    license = licenses.mit;
+    maintainers = with maintainers; [ aaronjheng ];
+    broken = stdenv.isDarwin; # Linking errors. Hope someone can help fix it.
+  };
+}
diff --git a/pkgs/development/tools/amqpcat/shards.nix b/pkgs/development/tools/amqpcat/shards.nix
new file mode 100644
index 0000000000000..3321c4c9e170b
--- /dev/null
+++ b/pkgs/development/tools/amqpcat/shards.nix
@@ -0,0 +1,12 @@
+{
+  amq-protocol = {
+    url = "https://github.com/cloudamqp/amq-protocol.cr.git";
+    rev = "v0.3.24";
+    sha256 = "011xia60wkmbjsk8j4qnswx0lg1i7vrchjwnxlksjv3npp2z98a3";
+  };
+  amqp-client = {
+    url = "https://github.com/cloudamqp/amqp-client.cr.git";
+    rev = "v0.6.2";
+    sha256 = "0h9c2v7ks776msm3dn2d68y85i6mm4gm5s3jlrs8dlp36kndkplc";
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index df11cc0f6e9bc..7b234f0936359 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -238,6 +238,8 @@ with pkgs;
 
   althttpd = callPackage ../servers/althttpd { };
 
+  amqpcat = callPackage ../development/tools/amqpcat { };
+
   anders = callPackage ../applications/science/logic/anders { };
 
   ankisyncd = callPackage ../servers/ankisyncd {