about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/misc/datafusion/default.nix34
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 36 insertions, 0 deletions
diff --git a/pkgs/development/misc/datafusion/default.nix b/pkgs/development/misc/datafusion/default.nix
new file mode 100644
index 0000000000000..88859b9761299
--- /dev/null
+++ b/pkgs/development/misc/datafusion/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, lib
+, rustPlatform
+, fetchFromGitHub
+}:
+let
+  pname = "datafusion-cli";
+  version = "unstable-2022-04-08";
+in
+rustPlatform.buildRustPackage {
+  inherit pname version;
+
+  # TODO the crate has been yanked so not the best source
+  # the repo is a workspace with a lock inside a subdirectory, making
+  # compilation from github source not straightforward
+  # re-evaluate strategy on release after 7.0.0
+  src = fetchFromGitHub {
+    owner = "apache";
+    repo = "arrow-datafusion";
+    rev = "9cbde6d0e30fd29f59b0a16e309bdb0843cc7c64";
+    sha256 = "sha256-XXd9jvWVivOBRS0PVOU9F4RQ6MrS/q78JF4S6Htd67w=";
+  };
+  sourceRoot = "source/datafusion-cli";
+
+  cargoSha256 = "sha256-Q0SjVofl1+sex15sSU9s7PgKeHG2b0gJPSqz7YZFOVs=";
+
+  meta = with lib; {
+    description = "cli for Apache Arrow DataFusion";
+    homepage = "https://arrow.apache.org/datafusion";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ happysalada ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ae2bbc045ecf8..5ef3b10956336 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2869,6 +2869,8 @@ with pkgs;
 
   dasher = callPackage ../applications/accessibility/dasher { };
 
+  datafusion-cli = callPackage ../development/misc/datafusion { };
+
   datamash = callPackage ../tools/misc/datamash { };
 
   datasette = with python3Packages; toPythonApplication datasette;