git.delta.rocks / jrsonnet / refs/commits / f9767f0798d6

difftreelog

source

flake.nix3.4 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 = "2022-11-19"; 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 = "current"; }54              { drv = jrsonnet-nightly; name = "current-nightly"; }55            ];56          };57          benchmarks-quick = pkgs.callPackage ./nix/benchmarks.nix {58            inherit go-jsonnet sjsonnet jsonnet;59            quick = true;60            jrsonnetVariants = [61              { drv = jrsonnet; name = "current"; }62              { drv = jrsonnet-nightly; name = "current-nightly"; }63            ];64          };65          benchmarks-against-release = pkgs.callPackage ./nix/benchmarks.nix {66            inherit go-jsonnet sjsonnet jsonnet;67            jrsonnetVariants = [68              { drv = jrsonnet; name = "current"; }69              { drv = jrsonnet-nightly; name = "current-nightly"; }70              { drv = jrsonnet-release; name = "before-str-extend"; }71            ];72          };73          benchmarks-quick-against-release = pkgs.callPackage ./nix/benchmarks.nix {74            inherit go-jsonnet sjsonnet jsonnet;75            quick = true;76            jrsonnetVariants = [77              { drv = jrsonnet; name = "current"; }78              { drv = jrsonnet-nightly; name = "current-nightly"; }79              { drv = jrsonnet-release; name = "before-str-extend"; }80            ];81          };82        };83        devShell = pkgs.mkShell {84          nativeBuildInputs = with pkgs;[85            rust86            cargo-edit87            cargo-asm88            lld89            hyperfine90            valgrind91            kcachegrind92            graphviz93          ];94        };95      }96    );97}