Start version experiments to narrow down if Koka or Emscripten is the problem

This commit is contained in:
2023-01-16 18:54:34 -05:00
parent 54f1092a2a
commit 18b901b2f1
2 changed files with 88 additions and 68 deletions

20
flake.lock generated
View File

@@ -65,7 +65,22 @@
"type": "github" "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": { "locked": {
"lastModified": 1659446231, "lastModified": 1659446231,
"narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=",
@@ -84,7 +99,8 @@
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"moz_overlay": "moz_overlay", "moz_overlay": "moz_overlay",
"nixpkgs": "nixpkgs_2" "nixpkgs_stable_new": "nixpkgs_stable_new",
"nixpkgs_stable_old": "nixpkgs_stable_old"
} }
} }
}, },

136
flake.nix
View File

@@ -2,86 +2,90 @@
description = "Env for Kraken and the extacted Koka bencmarks"; description = "Env for Kraken and the extacted Koka bencmarks";
inputs = { inputs = {
# For some reason the newer one has broken koka/emscripten (probs same change) # For some reason the newer one has broken koka/emscripten (probs same change)
#nixpkgs.url = "nixpkgs/nixos-22.11"; nixpkgs_stable_new.url = "nixpkgs/nixos-22.11";
nixpkgs.url = "nixpkgs/nixos-21.11"; nixpkgs_stable_old.url = "nixpkgs/nixos-21.11";
#nixpkgs.url = "github:NixOS/nixpkgs"; #nixpkgs.url = "github:NixOS/nixpkgs";
moz_overlay.url = "github:oxalica/rust-overlay"; moz_overlay.url = "github:oxalica/rust-overlay";
flake-utils.url = "github:numtide/flake-utils"; 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: (flake-utils.lib.eachDefaultSystem (system:
let let
pkgs = import nixpkgs { pkgs_new = import nixpkgs_stable_new {
inherit system; inherit system;
overlays = [ moz_overlay.overlay ]; overlays = [ moz_overlay.overlay ];
}; };
newlisp = pkgs.stdenv.mkDerivation rec { pkgs_old = import nixpkgs_stable_old {
pname = "newLisp"; inherit system;
version = "10.7.5"; overlays = [ moz_overlay.overlay ];
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 { #newlisp = pkgs.stdenv.mkDerivation rec {
pname = "wavm"; #pname = "newLisp";
version = "0.0.0"; #version = "10.7.5";
src = pkgs.fetchurl { #src = pkgs.fetchurl {
url = "https://github.com/WAVM/WAVM/releases/download/nightly%2F2022-05-14/wavm-0.0.0-prerelease-linux.tar.gz"; #url = "http://www.newlisp.org/downloads/newlisp-10.7.5.tgz";
sha256 = "sha256-+PpnwPJDty6XCjjuHVFwiHc1q+k0zPF11EbRpqSKfyY="; #sha256 = "sha256-3C0P9lHCsnW8SvOvi6WYUab7bh6t3CCudftgsekBJuw=";
}; #};
nativeBuildInputs = [ #nativeBuildInputs = [
pkgs.autoPatchelfHook #pkgs.autoPatchelfHook
]; #];
buildInputs = [ #buildInputs = [
pkgs.stdenv.cc.cc.lib #pkgs.stdenv.cc.cc.lib
]; #pkgs.libffi
#pkgs.readline
#];
sourceRoot = "."; #installPhase = ''
#mkdir -p $out/bin
#cp newlisp $out/bin
#'';
installPhase = '' #meta = with pkgs.lib; {
mkdir -p $out/bin #homepage = "http://www.newlisp.org/index.cgi";
cp -r bin/wavm $out/bin/ #description = "A Lisp-like, general-purpose scripting language";
cp -r include/ $out #platforms = platforms.linux;
cp -r lib64/ $out #};
cp -r share/ $out #};
#install -m755 -D studio-link-standalone-v${version} $out/bin/studio-link #wavm = pkgs.stdenv.mkDerivation rec {
''; #pname = "wavm";
#version = "0.0.0";
meta = with pkgs.lib; { #src = pkgs.fetchurl {
homepage = "https://wavm.github.io/"; #url = "https://github.com/WAVM/WAVM/releases/download/nightly%2F2022-05-14/wavm-0.0.0-prerelease-linux.tar.gz";
description = "WAVM WebAssembly Engine"; #sha256 = "sha256-+PpnwPJDty6XCjjuHVFwiHc1q+k0zPF11EbRpqSKfyY=";
platforms = platforms.linux; #};
};
}; #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 { in {
devShell = pkgs.mkShell { devShell = pkgs_old.mkShell {
buildInputs = with pkgs; [ buildInputs = with pkgs_old; [
which # used for shell stuff when inside pure env which # used for shell stuff when inside pure env
hyperfine hyperfine
@@ -97,10 +101,10 @@
(rust-bin.stable.latest.default.override { targets = [ "wasm32-wasi" ]; }) (rust-bin.stable.latest.default.override { targets = [ "wasm32-wasi" ]; })
#stack (haskellPackages.ghcWithPackages (p: [p.parallel])) #stack (haskellPackages.ghcWithPackages (p: [p.parallel]))
koka koka
emscripten pkgs_old.emscripten
picolisp #picolisp
newlisp #newlisp
]; ];
}; };
} }