{ description = "Env for Kraken and the extacted Koka bencmarks"; inputs = { #flake.lock pins a particular version of 21.11 that has non-broken Swift nixpkgs.url = "nixpkgs/nixos-21.11"; #nixpkgs.url = "github:NixOS/nixpkgs"; # Pure-er, so we don't have to mess with the --impure flag moz_overlay.url = "github:oxalica/rust-overlay"; #moz_overlay.url = "github:mozilla/nixpkgs-mozilla"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, moz_overlay, flake-utils }: (flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; overlays = [ moz_overlay.overlay ]; }; newlisp = pkgs.stdenv.mkDerivation rec { pname = "newLisp"; version = "10.7.5"; src = pkgs.fetchurl { url = "http://www.newlisp.org/downloads/newlisp-10.7.5.tgz"; sha256 = "sha256-3C0P9lHCsnW8SvOvi6WYUab7bh6t3CCudftgsekBJuw="; }; nativeBuildInputs = [ pkgs.autoPatchelfHook ]; buildInputs = [ pkgs.stdenv.cc.cc.lib pkgs.libffi pkgs.readline ]; installPhase = '' mkdir -p $out/bin cp newlisp $out/bin ''; meta = with pkgs.lib; { homepage = "http://www.newlisp.org/index.cgi"; description = "A Lisp-like, general-purpose scripting language"; platforms = platforms.linux; }; }; wavm = pkgs.stdenv.mkDerivation rec { pname = "wavm"; version = "0.0.0"; src = pkgs.fetchurl { url = "https://github.com/WAVM/WAVM/releases/download/nightly%2F2022-05-14/wavm-0.0.0-prerelease-linux.tar.gz"; sha256 = "sha256-+PpnwPJDty6XCjjuHVFwiHc1q+k0zPF11EbRpqSKfyY="; }; nativeBuildInputs = [ pkgs.autoPatchelfHook ]; buildInputs = [ pkgs.stdenv.cc.cc.lib ]; sourceRoot = "."; installPhase = '' mkdir -p $out/bin cp -r bin/wavm $out/bin/ cp -r include/ $out cp -r lib64/ $out cp -r share/ $out #install -m755 -D studio-link-standalone-v${version} $out/bin/studio-link ''; meta = with pkgs.lib; { homepage = "https://wavm.github.io/"; description = "WAVM WebAssembly Engine"; platforms = platforms.linux; }; }; in { devShell = pkgs.mkShell { buildInputs = with pkgs; [ chicken #gambit gambit-unstable chez wabt wasmtime wasm3 wasmer leiningen clang kakoune wavm hyperfine graph-cli (rust-bin.stable.latest.default.override { targets = [ "wasm32-wasi" ]; }) cmake stack (haskellPackages.ghcWithPackages (p: [p.parallel])) koka ocaml jdk swift picolisp newlisp ]; }; } )); }