From 18b901b2f173841cd7d994433b6aae6c7557c99e Mon Sep 17 00:00:00 2001 From: Nathan Braswell Date: Mon, 16 Jan 2023 18:54:34 -0500 Subject: [PATCH] Start version experiments to narrow down if Koka or Emscripten is the problem --- flake.lock | 20 +++++++- flake.nix | 136 +++++++++++++++++++++++++++-------------------------- 2 files changed, 88 insertions(+), 68 deletions(-) diff --git a/flake.lock b/flake.lock index d3d8619..43030eb 100644 --- a/flake.lock +++ b/flake.lock @@ -65,7 +65,22 @@ "type": "github" } }, - "nixpkgs_2": { + "nixpkgs_stable_new": { + "locked": { + "lastModified": 1673800717, + "narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-22.11", + "type": "indirect" + } + }, + "nixpkgs_stable_old": { "locked": { "lastModified": 1659446231, "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", @@ -84,7 +99,8 @@ "inputs": { "flake-utils": "flake-utils", "moz_overlay": "moz_overlay", - "nixpkgs": "nixpkgs_2" + "nixpkgs_stable_new": "nixpkgs_stable_new", + "nixpkgs_stable_old": "nixpkgs_stable_old" } } }, diff --git a/flake.nix b/flake.nix index b432e97..7393363 100644 --- a/flake.nix +++ b/flake.nix @@ -2,86 +2,90 @@ description = "Env for Kraken and the extacted Koka bencmarks"; inputs = { # For some reason the newer one has broken koka/emscripten (probs same change) - #nixpkgs.url = "nixpkgs/nixos-22.11"; - nixpkgs.url = "nixpkgs/nixos-21.11"; + nixpkgs_stable_new.url = "nixpkgs/nixos-22.11"; + nixpkgs_stable_old.url = "nixpkgs/nixos-21.11"; #nixpkgs.url = "github:NixOS/nixpkgs"; moz_overlay.url = "github:oxalica/rust-overlay"; flake-utils.url = "github:numtide/flake-utils"; }; - outputs = { self, nixpkgs, moz_overlay, flake-utils }: + outputs = { self, nixpkgs_stable_new, nixpkgs_stable_old, moz_overlay, flake-utils }: (flake-utils.lib.eachDefaultSystem (system: let - pkgs = import nixpkgs { + pkgs_new = import nixpkgs_stable_new { 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; - }; + pkgs_old = import nixpkgs_stable_old { + inherit system; + overlays = [ moz_overlay.overlay ]; }; - wavm = pkgs.stdenv.mkDerivation rec { - pname = "wavm"; - version = "0.0.0"; + #newlisp = pkgs.stdenv.mkDerivation rec { + #pname = "newLisp"; + #version = "10.7.5"; - 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="; - }; + #src = pkgs.fetchurl { + #url = "http://www.newlisp.org/downloads/newlisp-10.7.5.tgz"; + #sha256 = "sha256-3C0P9lHCsnW8SvOvi6WYUab7bh6t3CCudftgsekBJuw="; + #}; - nativeBuildInputs = [ - pkgs.autoPatchelfHook - ]; + #nativeBuildInputs = [ + #pkgs.autoPatchelfHook + #]; - buildInputs = [ - pkgs.stdenv.cc.cc.lib - ]; + #buildInputs = [ + #pkgs.stdenv.cc.cc.lib + #pkgs.libffi + #pkgs.readline + #]; - sourceRoot = "."; + #installPhase = '' + #mkdir -p $out/bin + #cp newlisp $out/bin + #''; - 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 = "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"; - meta = with pkgs.lib; { - homepage = "https://wavm.github.io/"; - description = "WAVM WebAssembly Engine"; - platforms = platforms.linux; - }; - }; + #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; [ + devShell = pkgs_old.mkShell { + buildInputs = with pkgs_old; [ which # used for shell stuff when inside pure env hyperfine @@ -97,10 +101,10 @@ (rust-bin.stable.latest.default.override { targets = [ "wasm32-wasi" ]; }) #stack (haskellPackages.ghcWithPackages (p: [p.parallel])) koka - emscripten + pkgs_old.emscripten - picolisp - newlisp + #picolisp + #newlisp ]; }; }