|
3 | 3 |
|
4 | 4 | inputs = {
|
5 | 5 | lean = {
|
6 |
| - url = github:leanprover/lean4; |
| 6 | + url = "github:leanprover/lean4/v4.0.0-m5"; |
7 | 7 | inputs.flake-utils.follows = "flake-utils";
|
8 | 8 | inputs.nixpkgs.follows = "nixpkgs";
|
9 | 9 | };
|
10 | 10 | ipld = {
|
11 |
| - url = github:yatima-inc/Ipld.lean; |
| 11 | + url = "github:yatima-inc/Ipld.lean"; |
12 | 12 | inputs.lean.follows = "lean";
|
13 | 13 | inputs.nixpkgs.follows = "nixpkgs";
|
14 | 14 | };
|
15 |
| - |
16 |
| - nixpkgs.url = github:nixos/nixpkgs/nixos-21.11; |
| 15 | + yatima-std = { |
| 16 | + # url = "github:yatima-inc/YatimaStdLib.lean"; |
| 17 | + url = "github:anderssorby/YatimaStdLib.lean/acs/add-flake"; |
| 18 | + inputs.lean.follows = "lean"; |
| 19 | + inputs.nixpkgs.follows = "nixpkgs"; |
| 20 | + }; |
| 21 | + nixpkgs.url = "nixpkgs/nixos-unstable"; |
17 | 22 | naersk = {
|
18 | 23 | url = github:nix-community/naersk;
|
19 | 24 | inputs.flake-utils.follows = "flake-utils";
|
20 | 25 | inputs.nixpkgs.follows = "nixpkgs";
|
21 | 26 | };
|
22 | 27 | flake-utils = {
|
23 |
| - url = github:numtide/flake-utils; |
| 28 | + url = "github:numtide/flake-utils"; |
24 | 29 | inputs.nixpkgs.follows = "nixpkgs";
|
25 | 30 | };
|
26 |
| - utils = { |
27 |
| - url = github:yatima-inc/nix-utils; |
28 |
| - inputs.flake-utils.follows = "flake-utils"; |
| 31 | + fenix = { |
| 32 | + url = "github:nix-community/fenix"; |
29 | 33 | inputs.nixpkgs.follows = "nixpkgs";
|
30 |
| - inputs.naersk.follows = "naersk"; |
31 | 34 | };
|
32 | 35 | };
|
33 | 36 |
|
34 |
| - outputs = { self, lean, flake-utils, utils, nixpkgs, naersk, ipld }: |
| 37 | + outputs = { self, lean, flake-utils, nixpkgs, naersk, ipld, yatima-std, fenix }: |
35 | 38 | let
|
36 | 39 | supportedSystems = [
|
37 | 40 | # "aarch64-linux"
|
|
45 | 48 | let
|
46 | 49 | leanPkgs = lean.packages.${system};
|
47 | 50 | pkgs = nixpkgs.legacyPackages.${system};
|
48 |
| - lib = utils.lib.${system}; |
49 |
| - inherit (lib) buildRustProject getRust; |
50 |
| - rustNightly = getRust { date = "2022-05-12"; sha256 = "sha256-ttn4r8k3yzreTgsMSJAg37uZWHuZBPUDsBhJDkASyWM="; }; |
| 51 | + rust = fenix.packages.${system}.complete; |
| 52 | + inherit (rust) cargo rustc; |
| 53 | + # Get a naersk with the input rust version |
| 54 | + naerskWithRust = rust: naersk.lib."${system}".override { |
| 55 | + inherit (rust) cargo rustc; |
| 56 | + }; |
| 57 | + env = with pkgs; { |
| 58 | + LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib"; |
| 59 | + }; |
| 60 | + # Naersk using the default rust version |
| 61 | + buildRustProject = pkgs.makeOverridable ({ naersk ? naerskWithRust rust, ... } @ args: with pkgs; naersk.buildPackage ({ |
| 62 | + buildInputs = [ |
| 63 | + clang |
| 64 | + pkg-config |
| 65 | + ] ++ lib.optionals stdenv.isDarwin [ |
| 66 | + darwin.apple_sdk.frameworks.Security |
| 67 | + ]; |
| 68 | + copyLibs = true; |
| 69 | + copyBins = true; |
| 70 | + targets = [ ]; |
| 71 | + remapPathPrefix = |
| 72 | + true; # remove nix store references for a smaller output package |
| 73 | + } // env // args)); |
51 | 74 | yatima-rs = buildRustProject {
|
52 |
| - rust = rustNightly; |
53 | 75 | src = ./yatima-rs;
|
54 | 76 | copyLibs = true;
|
55 | 77 | };
|
56 | 78 | project = leanPkgs.buildLeanPackage {
|
57 | 79 | debug = false;
|
58 | 80 | deps = [ ipld.project.${system} ];
|
59 | 81 | name = "Yatima";
|
60 |
| - src = ./src; |
| 82 | + src = ./.; |
61 | 83 | };
|
62 | 84 | main = leanPkgs.buildLeanPackage {
|
63 | 85 | debug = false;
|
|
0 commit comments