diff --git a/pkgs/development/compilers/cairo/default.nix b/pkgs/development/compilers/cairo/default.nix new file mode 100644 index 000000000000..b39c26d424a9 --- /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 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8332be7a9106..16bbd2c2ab47 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21023,6 +21023,8 @@ with pkgs; cairo = callPackage ../development/libraries/cairo { }; + cairo-lang = callPackage ../development/compilers/cairo { }; + cairomm = callPackage ../development/libraries/cairomm { }; cairomm_1_16 = callPackage ../development/libraries/cairomm/1.16.nix {