about summary refs log tree commit diff
path: root/pkgs/development/compilers/cairo
diff options
context:
space:
mode:
authorRaito Bezarius <masterancpp@gmail.com>2023-06-07 14:40:26 +0200
committerRaito Bezarius <masterancpp@gmail.com>2023-06-07 16:37:23 +0200
commit2ef54182a39463cbf50f0387d2493b98d3abb3c5 (patch)
tree92cc849a23296e0b1edddd6c13c2e475c6486a7f /pkgs/development/compilers/cairo
parent0663e8287c301aca2fc155514699c9f27c67c059 (diff)
cairo-lang: init at 1.1.0
`cairo-lang` is a general purpose language for provable computations using
PCP (probabilistically checkable proofs — https://en.wikipedia.org/wiki/Probabilistically_checkable_proof)

This is the v1 Rust-based compiler version of the project.
Diffstat (limited to 'pkgs/development/compilers/cairo')
-rw-r--r--pkgs/development/compilers/cairo/default.nix40
1 files changed, 40 insertions, 0 deletions
diff --git a/pkgs/development/compilers/cairo/default.nix b/pkgs/development/compilers/cairo/default.nix
new file mode 100644
index 0000000000000..b39c26d424a90
--- /dev/null
+++ b/pkgs/development/compilers/cairo/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, rustfmt
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cairo";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "starkware-libs";
+    repo = "cairo";
+    rev = "v${version}";
+    hash = "sha256-8dzDe4Kw9OASD0i3bMooqEclStxS/Ta/tOVCcFhvwSI=";
+  };
+
+  cargoHash = "sha256-IY3RE+EeNRhUSZX+bqojhPl6y8qm+i9C0zQmNApmat8=";
+
+  nativeCheckInputs = [
+    rustfmt
+  ];
+
+  checkFlags = [
+    # Requires a mythical rustfmt 2.0 or a nightly compiler
+    "--skip=golden_test::sourcegen_ast"
+  ];
+
+  postInstall = ''
+    # The core library is needed for compilation.
+    cp -r corelib $out/
+  '';
+
+  meta = with lib; {
+    description = "Turing-complete language for creating provable programs for general computation";
+    homepage = "https://github.com/starkware-libs/cairo";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ raitobezarius ];
+  };
+}