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"
}
},
"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"
}
}
},

136
flake.nix
View File

@@ -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
];
};
}