update Nix configuration

This commit is contained in:
The MMGen Project 2025-09-11 17:37:10 +00:00
commit 84b0843be3
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
14 changed files with 96 additions and 37 deletions

View file

@ -1 +1 @@
15.1.dev54 15.1.dev55

View file

@ -39,6 +39,12 @@ will make executables from your native environment inaccessible within the
shell, so you may need to add some additional tools to your environment such as shell, so you may need to add some additional tools to your environment such as
a text editor. For examples, refer to ‘user-packages.nix’ a text editor. For examples, refer to ‘user-packages.nix’
Speedup tip: Look for the commented-out ‘url =’ lines in the *.nix files in
this directory, and make local shallow clones of the corresponding remote git
repositories using ‘git clone --depth=1’ plus ‘--revision=<commit>’ or
‘--branch=<tag>’. Then uncomment the local paths, adjusting them to suit.
This will also allow you to use your installation in an offline environment.
NixOS: NixOS:
To install the MMGen Wallet environment under NixOS, copy the contents of the ‘nix’ To install the MMGen Wallet environment under NixOS, copy the contents of the ‘nix’

View file

@ -5,13 +5,15 @@ pkgs.stdenv.mkDerivation rec {
version = "v28.0.1"; version = "v28.0.1";
src = fetchGit { src = fetchGit {
url = "https://gitlab.com/bitcoin-cash-node/bitcoin-cash-node"; url = "https://gitlab.com/bitcoin-cash-node/bitcoin-cash-node";
# url = /path/to/repo/bitcoin-cash-node-28.0.1;
ref = "refs/tags/${version}"; ref = "refs/tags/${version}";
shallow = true;
}; };
nativeBuildInputs = [ nativeBuildInputs = [
pkgs.cmake pkgs.cmake
pkgs.ninja pkgs.ninja
pkgs.help2man pkgs.help2man
pkgs.python3 pkgs.python313
]; ];
buildInputs = [ buildInputs = [
pkgs.boost pkgs.boost

View file

@ -1,4 +1,5 @@
# adapted from go-ethereum.nix in nixpkgs repository # adapted from go-ethereum.nix in nixpkgs repository
# not currently used, as nixpkgs 25.05 go-ethereum (v1.15.11) is OK
{ {
pkgs, pkgs,

View file

@ -5,7 +5,9 @@ pkgs.stdenv.mkDerivation rec {
version = "v0.21.4"; version = "v0.21.4";
src = fetchGit { src = fetchGit {
url = "https://github.com/litecoin-project/litecoin.git"; url = "https://github.com/litecoin-project/litecoin.git";
# url = /path/to/repo/litecoin-0.21.4.git;
ref = "refs/tags/${version}"; ref = "refs/tags/${version}";
shallow = true;
}; };
nativeBuildInputs = [ nativeBuildInputs = [
pkgs.autoconf pkgs.autoconf
@ -15,7 +17,7 @@ pkgs.stdenv.mkDerivation rec {
# pkgs.hexdump # for tests # pkgs.hexdump # for tests
]; ];
buildInputs = [ buildInputs = [
pkgs.boost pkgs.boost183 # 'fs::copy_option' was removed in Boost 1.84
pkgs.libevent pkgs.libevent
pkgs.fmt pkgs.fmt
pkgs.db4 pkgs.db4
@ -30,7 +32,7 @@ pkgs.stdenv.mkDerivation rec {
"--with-sqlite" "--with-sqlite"
"--disable-bench" "--disable-bench"
"--disable-tests" "--disable-tests"
"--with-boost-libdir=${pkgs.boost.out}/lib" "--with-boost-libdir=${pkgs.boost183.out}/lib"
]; ];
buildFlags = [ buildFlags = [
"src/litecoind" "src/litecoind"

View file

@ -1,8 +1,8 @@
{ add_pkgs_path }: { add_pkgs_path }:
let let
dfl_nixpkgs = import ./nixpkgs-24.11.nix {}; dfl_nixpkgs = import ./nixpkgs-25.05.nix {};
dfl_python = pkgs.python312; dfl_python = pkgs.python313;
null_pkgs = { null_pkgs = {
system-packages = {}; system-packages = {};
python-packages = {}; python-packages = {};

View file

@ -1,7 +0,0 @@
import (
fetchGit {
url = "https://github.com/NixOS/nixpkgs.git";
rev = "63dacb46bf939521bdc93981b4cbb7ecb58427a0"; # refs/tags/24.05
shallow = true;
}
)

View file

@ -1,8 +0,0 @@
import (
fetchGit {
url = "https://github.com/NixOS/nixpkgs.git";
ref = "release-24.11";
rev = "8b27c1239e5c421a2bbc2c65d52e4a6fbf2ff296"; # refs/tags/24.11
shallow = true;
}
)

9
nix/nixpkgs-25.05.nix Normal file
View file

@ -0,0 +1,9 @@
import (
fetchGit {
url = "https://github.com/NixOS/nixpkgs.git";
# url = /path/to/repo/nixpkgs-25.05.git;
ref = "release-25.05";
rev = "11cb3517b3af6af300dd6c055aeda73c9bf52c48"; # refs/tags/25.05
shallow = true;
}
)

View file

@ -10,17 +10,10 @@
libtool = libtool; libtool = libtool;
autoconf = autoconf; autoconf = autoconf;
gmp = gmp; gmp = gmp;
gmp4 = gmp4;
openssl = openssl; openssl = openssl;
pcre = pcre; pcre = pcre;
mpfr = mpfr; mpfr = mpfr;
secp256k1 = secp256k1.overrideAttrs { secp256k1 = secp256k1;
pname = "secp256k1-v0.6.0";
src = fetchGit {
url = "https://github.com/bitcoin-core/secp256k1.git";
ref = "refs/tags/v0.6.0";
};
};
less = less; # test suite (cmdtest.py regtest) less = less; # test suite (cmdtest.py regtest)
procps = procps; # test suite (pgrep) procps = procps; # test suite (pgrep)
ruff = ruff; ruff = ruff;

48
nix/reth.nix Normal file
View file

@ -0,0 +1,48 @@
{
lib,
pkgs,
rustPlatform,
}:
let
# cargo and rustc packages from 25.05 are out of date,
# so fetch them from a more recent commit:
pinnedPkgs = fetchGit {
url = "https://github.com/NixOS/nixpkgs.git";
# url = /path/to/repo/nixpkgs-fe8997.git;
rev = "fe89979ad5e8fd233ae0aac0e7e56f465945ae70";
shallow = true;
};
pkgs2 = import pinnedPkgs {};
in
rustPlatform.buildRustPackage rec {
pname = "reth";
version = "1.7.0";
src = fetchGit {
url = "https://github.com/paradigmxyz/reth";
# url = /path/to/repo/reth;
ref = "refs/tags/v${version}";
shallow = true;
};
cargoHash = "sha256-2zdilVIHCW0N2yZNfLNoVpTASjXU1ABcZzQLzpAGEsY=";
nativeBuildInputs = [
pkgs.clang
pkgs.libclang
pkgs2.rustc
pkgs2.cargo
];
env.LIBCLANG_PATH = pkgs.libclang.lib + "/lib/";
meta = with lib; {
description = "Rust Ethereum daemon";
homepage = "https://github.com/paradigmxyz/reth";
license = licenses.mit;
mainProgram = "reth";
};
}

View file

@ -8,31 +8,40 @@
rec { rec {
### Set nixpkgs globally for the MMGen environment. ### Set nixpkgs globally for the MMGen environment.
### If you set it, make sure to uncomment the python variable assignment below. ### If you set it, make sure to uncomment the python variable assignment below.
# pkgs = import (bdir + /nixpkgs-24.11.nix) {}; # pkgs = import (bdir + /nixpkgs-25.05.nix) {};
### Set python version globally for the MMGen environment. ### Set python version globally for the MMGen environment.
### Must be set if pkgs is set. ### Must be set if pkgs is set.
# python = pkgs.python312; # python = pkgs.python313;
system-packages = with pkgs; { system-packages = with pkgs; {
# monero-cli = monero-cli; # Monero daemon # monero-cli = monero-cli; # Monero daemon
# # go-ethereum = go-ethereum; # Geth - latest version for transacting on mainnet # go-ethereum = go-ethereum; # Geth
# go-ethereum = callPackage (bdir + /go-ethereum.nix) { # Geth - old version for test suite (ethdev) # reth = callPackage (bdir + /reth.nix) {}; # Rust Ethereum daemon
# buildGoModule = buildGo122Module;
# tag_version = "v1.13.15";
# vendor_hash = "sha256-LWNFuF66KudxrpWBBXjMbrWP5CwEuPE2h3kGfILIII0";
# };
# solc = callPackage (bdir + /solc.nix) {}; # Solidity compiler # solc = callPackage (bdir + /solc.nix) {}; # Solidity compiler
# litecoin = callPackage (bdir + /litecoin.nix) {}; # Litecoin daemon # litecoin = callPackage (bdir + /litecoin.nix) {}; # Litecoin daemon
# bitcoin-cash = callPackage (bdir + /bitcoin-cash-node.nix) {}; # Bitcoin Cash Node daemon # bitcoin-cash = callPackage (bdir + /bitcoin-cash-node.nix) {}; # Bitcoin Cash Node daemon
# zcash-mini = callPackage (bdir + /zcash-mini.nix) {}; # ZEC (test suite) # zcash-mini = callPackage (bdir + /zcash-mini.nix) {}; # ZEC (test suite)
### For development with --pure (add/remove packages for your setup): ### For development with --pure (add/remove packages for your setup):
# neovim = neovim;
# neovim-qt = neovim-qt; # neovim-qt = neovim-qt;
# rxvt-unicode = rxvt-unicode; # rxvt-unicode = rxvt-unicode;
# which = which; # which = which;
# ctags = ctags; # ctags = ctags;
# xclip = xclip; # xclip = xclip;
# ruff = ruff;
# perl = perl;
# netcat = netcat-openbsd;
# jq = jq;
# ed = ed;
# rsync = rsync;
# pandoc = pandoc;
# gnupg = gnupg;
# iproute2 = iproute2;
# tinyxxd = tinyxxd;
# ranger = ranger;
# hostname = hostname;
### For test suite with --pure: ### For test suite with --pure:
# openssh = openssh; # openssh = openssh;

View file

@ -5,7 +5,9 @@ pkgs.stdenv.mkDerivation {
version = "e7858035"; version = "e7858035";
src = fetchGit { src = fetchGit {
url = "https://github.com/10gic/vanitygen-plusplus"; url = "https://github.com/10gic/vanitygen-plusplus";
# url = /path/to/repo/vanitygen-plusplus-e78580;
rev = "e7858035d092f9b9d6468e2b812475faaf7c69c6"; rev = "e7858035d092f9b9d6468e2b812475faaf7c69c6";
shallow = true;
}; };
buildInputs = [ pkgs.openssl pkgs.pcre ]; buildInputs = [ pkgs.openssl pkgs.pcre ];
installPhase = '' installPhase = ''

View file

@ -5,7 +5,9 @@ pkgs.stdenvNoCC.mkDerivation {
version = "a2b35042"; version = "a2b35042";
src = fetchGit { src = fetchGit {
url = "https://github.com/FiloSottile/zcash-mini"; url = "https://github.com/FiloSottile/zcash-mini";
# url = /path/to/repo/zcash-mini-a2b350;
rev = "a2b35042ad3a3bc22b925ecfc45e768a376bd29a"; rev = "a2b35042ad3a3bc22b925ecfc45e768a376bd29a";
shallow = true;
}; };
buildInputs = [ pkgs.go pkgs.binutils ]; buildInputs = [ pkgs.go pkgs.binutils ];
patchPhase = '' patchPhase = ''