git.delta.rocks / jrsonnet / refs/commits / 76b0db1d8913

difftreelog

source

flake.nix3.2 KiBsourcehistory
1{2  description = "Jrsonnet";3  inputs = {4    nixpkgs.url = "github:nixos/nixpkgs";5    flake-utils.url = "github:numtide/flake-utils";6    rust-overlay = {7      url = "github:oxalica/rust-overlay";8      inputs.nixpkgs.follows = "nixpkgs";9      inputs.flake-utils.follows = "flake-utils";10    };11  };12  outputs = { nixpkgs, flake-utils, rust-overlay, ... }:13    flake-utils.lib.eachDefaultSystem (system:14      let15        pkgs = import nixpkgs {16          inherit system;17          overlays = [ rust-overlay.overlays.default ];18        };19        rust = ((pkgs.rustChannelOf { date = "2023-01-06"; channel = "nightly"; }).default.override {20          extensions = [ "rust-src" "miri" ];21        });22      in23      rec {24        packages = rec {25          go-jsonnet = pkgs.callPackage ./nix/go-jsonnet.nix { };26          sjsonnet = pkgs.callPackage ./nix/sjsonnet.nix { };27          jsonnet = pkgs.callPackage ./nix/jsonnet.nix { };28          # I didn't managed to build it, and nixpkgs version is marked as broken29          # haskell-jsonnet = pkgs.callPackage ./nix/haskell-jsonnet.nix { };30          jrsonnet = pkgs.callPackage ./nix/jrsonnet.nix {31            rustPlatform = pkgs.makeRustPlatform {32              rustc = rust;33              cargo = rust;34            };35          };36          jrsonnet-nightly = pkgs.callPackage ./nix/jrsonnet.nix {37            rustPlatform = pkgs.makeRustPlatform {38              rustc = rust;39              cargo = rust;40            };41            withNightlyFeatures = true;42          };43          jrsonnet-release = pkgs.callPackage ./nix/jrsonnet-release.nix {44            rustPlatform = pkgs.makeRustPlatform {45              rustc = rust;46              cargo = rust;47            };48          };4950          benchmarks = pkgs.callPackage ./nix/benchmarks.nix {51            inherit go-jsonnet sjsonnet jsonnet;52            jrsonnetVariants = [53              { drv = jrsonnet; name = ""; }54            ];55          };56          benchmarks-quick = pkgs.callPackage ./nix/benchmarks.nix {57            inherit go-jsonnet sjsonnet jsonnet;58            quick = true;59            jrsonnetVariants = [60              { drv = jrsonnet; name = ""; }61            ];62          };63          benchmarks-against-release = pkgs.callPackage ./nix/benchmarks.nix {64            inherit go-jsonnet sjsonnet jsonnet;65            jrsonnetVariants = [66              { drv = jrsonnet; name = "current"; }67              { drv = jrsonnet-nightly; name = "current-nightly"; }68              { drv = jrsonnet-release; name = "before-str-extend"; }69            ];70          };71          benchmarks-quick-against-release = pkgs.callPackage ./nix/benchmarks.nix {72            inherit go-jsonnet sjsonnet jsonnet;73            quick = true;74            jrsonnetVariants = [75              { drv = jrsonnet; name = "current"; }76              { drv = jrsonnet-nightly; name = "current-nightly"; }77              { drv = jrsonnet-release; name = "before-str-extend"; }78            ];79          };80        };81        devShell = pkgs.mkShell {82          nativeBuildInputs = with pkgs;[83            rust84            cargo-edit85            cargo-asm86            lld87            hyperfine88            valgrind89            kcachegrind90            graphviz91          ];92        };93      }94    );95}