nixpkgs/pkgs/development/compilers/gerbil/gerbil-ethereum.nix
2023-10-15 19:00:22 -04:00

51 lines
1.7 KiB
Nix

{ lib, fetchFromGitHub, gerbilPackages, gerbil-support, gerbil, ... }:
rec {
pname = "gerbil-ethereum";
version = "unstable-2023-10-06";
git-version = "0.1-1-g08b08fc";
softwareName = "Gerbil-ethereum";
gerbil-package = "clan/ethereum";
version-path = "version";
gerbilInputs = with gerbilPackages; [
gerbil-utils gerbil-crypto gerbil-poo gerbil-persist gerbil-leveldb ];
pre-src = {
fun = fetchFromGitHub;
owner = "mighty-gerbils";
repo = "gerbil-ethereum";
rev = "08b08fce8c83cb59bfb532eebb1c7a2dd4bd57ab";
sha256 = "1sy7l869d2xqhq2qflsmkvr343jfhzsq43ixx75rqfpr3cdljz0b";
};
postInstall = ''
cp scripts/{croesus.prv,genesis.json,logback.xml,yolo-evm.conf,yolo-kevm.conf,run-ethereum-test-net.ss} $out/gerbil/lib/clan/ethereum/scripts/
mkdir -p $out/bin
cat > $out/bin/run-ethereum-test-net <<EOF
#!/bin/sh
#|
ORIG_GERBIL_LOADPATH="\$GERBIL_LOADPATH"
ORIG_GERBIL_PATH="\$GERBIL_PATH"
ORIG_GERBIL_HOME="\$GERBIL_HOME"
unset GERBIL_HOME
GERBIL_LOADPATH="${gerbil-support.gerbilLoadPath (["$out"] ++ gerbilInputs)}"
GERBIL_PATH="\$HOME/.cache/gerbil-ethereum/gerbil"
export GERBIL_PATH GERBIL_LOADPATH GLOW_SOURCE ORIG_GERBIL_PATH ORIG_GERBIL_LOADPATH
exec ${gerbil}/bin/gxi "\$0" "\$@"
|#
(import :clan/ethereum/scripts/run-ethereum-test-net :clan/multicall)
(apply call-entry-point (cdr (command-line)))
EOF
chmod a+x $out/bin/run-ethereum-test-net
'';
meta = with lib; {
description = "Gerbil Ethereum: a Scheme alternative to web3.js";
homepage = "https://github.com/fare/gerbil-ethereum";
license = licenses.asl20;
platforms = platforms.unix;
maintainers = with maintainers; [ fare ];
};
}