diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix index 2f29144a7b..bdd999d4cf 100644 --- a/nix/pkgs/default.nix +++ b/nix/pkgs/default.nix @@ -24,6 +24,13 @@ let urbit = mkUrbit { debug = false; }; urbit-debug = mkUrbit { debug = true; }; + urbit-large-log = pkgs.stdenv.lib.overrideDerivation urbit (_: { + patches = [ ./urbit/patches/large-log-limit.patch ]; + patchFlags = "-p3"; + }); + in -{ inherit ent ge-additions arvo arvo-ropsten herb urbit urbit-debug; } +{ inherit ent ge-additions arvo arvo-ropsten herb; + inherit urbit urbit-debug urbit-large-log; +} diff --git a/nix/pkgs/urbit/builder.sh b/nix/pkgs/urbit/builder.sh deleted file mode 100644 index 3bd7155383..0000000000 --- a/nix/pkgs/urbit/builder.sh +++ /dev/null @@ -1,15 +0,0 @@ -source $stdenv/setup - -cp -r $src ./src -chmod -R u+w ./src -cd src - -bash ./configure - -make clean -make all -j8 -make test - -mkdir -p $out/bin -cp ./build/urbit $out/bin/$exename -cp ./build/urbit-worker $out/bin/$exename-worker diff --git a/nix/pkgs/urbit/default.nix b/nix/pkgs/urbit/default.nix index 2617f9afca..328b17f55e 100644 --- a/nix/pkgs/urbit/default.nix +++ b/nix/pkgs/urbit/default.nix @@ -27,9 +27,17 @@ let inherit name meta; exename = name; src = ../../../pkg/urbit; - builder = ./builder.sh; nativeBuildInputs = deps ++ vendor; + installPhase = '' + make all -j8 + make test + + mkdir -p $out/bin + cp ./build/urbit $out/bin/$exename + cp ./build/urbit-worker $out/bin/$exename-worker + ''; + # See https://github.com/NixOS/nixpkgs/issues/18995 hardeningDisable = if debug then [ "all" ] else []; diff --git a/nix/pkgs/urbit/patches/large-log-limit.patch b/nix/pkgs/urbit/patches/large-log-limit.patch new file mode 100644 index 0000000000..7d88d0d52d --- /dev/null +++ b/nix/pkgs/urbit/patches/large-log-limit.patch @@ -0,0 +1,15 @@ +diff --git a/pkg/urbit/vere/lmdb.c b/pkg/urbit/vere/lmdb.c +index b46cc66ee..b8f647dde 100644 +--- a/pkg/urbit/vere/lmdb.c ++++ b/pkg/urbit/vere/lmdb.c +@@ -44,8 +44,8 @@ MDB_env* u3_lmdb_init(const char* log_path) + // TODO: Start with forty gigabytes for the maximum event log size. We'll + // need to do something more sophisticated for real in the long term, though. + // +- const size_t forty_gigabytes = 42949672960; +- ret_w = mdb_env_set_mapsize(env, forty_gigabytes); ++ const size_t sixty_gigabytes = 64424509440; ++ ret_w = mdb_env_set_mapsize(env, sixty_gigabytes); + if (ret_w != 0) { + u3l_log("lmdb: failed to set database size: %s\n", mdb_strerror(ret_w)); + return 0;