nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 fetchFromGitHub,
4 gerbilPackages,
5 gerbil-support,
6 gerbil,
7 ...
8}:
9
10rec {
11 pname = "gerbil-ethereum";
12 version = "unstable-2023-12-04";
13 git-version = "0.2-11-g124ec58";
14 softwareName = "Gerbil-ethereum";
15 gerbil-package = "clan/ethereum";
16 version-path = "version";
17
18 gerbilInputs = with gerbilPackages; [
19 gerbil-utils
20 gerbil-crypto
21 gerbil-poo
22 gerbil-persist
23 gerbil-leveldb
24 ];
25
26 pre-src = {
27 fun = fetchFromGitHub;
28 owner = "mighty-gerbils";
29 repo = "gerbil-ethereum";
30 rev = "124ec585157e2c505cd3c449a389c124ca6da9e9";
31 sha256 = "0xg07k421r5p0qx98id66k0k2l3vi1is875857sd8q3h6bks0z54";
32 };
33
34 postInstall = ''
35 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/
36 mkdir -p $out/bin
37 cat > $out/bin/run-ethereum-test-net <<EOF
38 #!/bin/sh
39 #|
40 ORIG_GERBIL_LOADPATH="\$GERBIL_LOADPATH"
41 ORIG_GERBIL_PATH="\$GERBIL_PATH"
42 ORIG_GERBIL_HOME="\$GERBIL_HOME"
43 unset GERBIL_HOME
44 GERBIL_LOADPATH="${gerbil-support.gerbilLoadPath ([ "$out" ] ++ gerbilInputs)}"
45 GERBIL_PATH="\$HOME/.cache/gerbil-ethereum/gerbil"
46 export GERBIL_PATH GERBIL_LOADPATH GLOW_SOURCE ORIG_GERBIL_PATH ORIG_GERBIL_LOADPATH
47 exec ${gerbil}/bin/gxi "\$0" "\$@"
48 |#
49 (import :clan/ethereum/scripts/run-ethereum-test-net :std/lib/multicall)
50 (apply call-entry-point (cdr (command-line)))
51 EOF
52 chmod a+x $out/bin/run-ethereum-test-net
53 '';
54
55 meta = {
56 description = "Gerbil Ethereum: a Scheme alternative to web3.js";
57 homepage = "https://github.com/fare/gerbil-ethereum";
58 license = lib.licenses.asl20;
59 platforms = lib.platforms.unix;
60 maintainers = with lib.maintainers; [ fare ];
61 };
62}