From c28f6fce9948e8d6927fa274803e3887d77fbf46 Mon Sep 17 00:00:00 2001
From: Oleksii Filonenko <brightone@protonmail.com>
Date: Thu, 5 Dec 2019 12:56:33 +0200
Subject: [PATCH] oq: init at 1.0.2

---
 pkgs/development/tools/oq/default.nix | 31 +++++++++++++++++++++++++++
 pkgs/top-level/all-packages.nix       |  2 ++
 2 files changed, 33 insertions(+)
 create mode 100644 pkgs/development/tools/oq/default.nix

diff --git a/pkgs/development/tools/oq/default.nix b/pkgs/development/tools/oq/default.nix
new file mode 100644
index 00000000000..1fc839577c5
--- /dev/null
+++ b/pkgs/development/tools/oq/default.nix
@@ -0,0 +1,31 @@
+{ lib, fetchFromGitHub, crystal, jq, libxml2, makeWrapper }:
+
+crystal.buildCrystalPackage rec {
+  pname = "oq";
+  version = "1.0.2";
+
+  src = fetchFromGitHub {
+    owner = "Blacksmoke16";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0sf6rb5b6g7gzyq11l5868p3a1s5z8432swlpv457bfbbnbg6j6q";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jq libxml2 ];
+
+  crystalBinaries.oq.src = "src/oq_cli.cr";
+
+  postInstall = ''
+    wrapProgram "$out/bin/oq" \
+      --prefix PATH : "${lib.makeBinPath [ jq ]}"
+  '';
+
+  meta = with lib; {
+    description = "A performant, and portable jq wrapper";
+    homepage = "https://blacksmoke16.github.io/oq/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 71e114686aa..d432bfecb39 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5420,6 +5420,8 @@ in
     stdenv = clangStdenv;
   };
 
+  oq = callPackage ../development/tools/oq { };
+
   out-of-tree = callPackage ../development/tools/out-of-tree { };
 
   oppai-ng = callPackage ../tools/misc/oppai-ng { };