joinmarket: fix for NixOS 25.11

Temporarily add nixpkgs-25.05 for joinmarket (see code comment).
This commit is contained in:
Erik Arvstedt
2025-12-24 08:33:48 +01:00
parent 4ba311c425
commit 3b9406a4d2
8 changed files with 51 additions and 15 deletions
Generated
+17
View File
@@ -58,6 +58,22 @@
"type": "github"
}
},
"nixpkgs-25_05": {
"locked": {
"lastModified": 1766014764,
"narHash": "sha256-+73VffE5GP5fvbib6Hs1Su6LehG+9UV1Kzs90T2gBLA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2b0d2b456e4e8452cf1c16d00118d145f31160f9",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1766314097,
@@ -79,6 +95,7 @@
"extra-container": "extra-container",
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs",
"nixpkgs-25_05": "nixpkgs-25_05",
"nixpkgs-unstable": "nixpkgs-unstable"
}
},
+6 -2
View File
@@ -7,6 +7,7 @@
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
nixpkgs-25_05.url = "github:NixOS/nixpkgs/nixos-25.05";
flake-utils.url = "github:numtide/flake-utils";
extra-container = {
url = "github:erikarvstedt/extra-container/0.13";
@@ -15,7 +16,7 @@
};
};
outputs = { self, nixpkgs, nixpkgs-unstable, flake-utils, ... }:
outputs = { self, nixpkgs, nixpkgs-unstable, nixpkgs-25_05, flake-utils, ... }:
let
supportedSystems = [
"x86_64-linux"
@@ -33,8 +34,9 @@
system
, pkgs ? nixpkgs.legacyPackages.${system}
, pkgsUnstable ? nixpkgs-unstable.legacyPackages.${system}
, pkgs-25_05 ? nixpkgs-25_05.legacyPackages.${system}
}:
import ./pkgs { inherit pkgs pkgsUnstable; };
import ./pkgs { inherit pkgs pkgsUnstable pkgs-25_05; };
test = {
inherit (test) scenarios;
@@ -95,6 +97,8 @@
"nixops19_09"
"pinned"
"generate-secrets"
"nbPython3Packages"
"nbPython3PackagesJoinmarket"
]) // {
inherit (import ./examples/qemu-vm/minimal-vm.nix self pkgs system)
# A simple demo VM.
+2 -2
View File
@@ -64,7 +64,7 @@ in rec {
toLines = pkgs: builtins.concatStringsSep "\n " (builtins.attrNames pkgs);
in ''
# This file is generated by ../helper/update-flake.nix
pkgs: pkgsUnstable:
pkgs: pkgsUnstable: pkgs-25_05:
{
inherit (pkgs)
${toLines versions.stable};
@@ -72,7 +72,7 @@ in rec {
inherit (pkgsUnstable)
${toLines versions.unstable};
inherit pkgs pkgsUnstable;
inherit pkgs pkgsUnstable pkgs-25_05;
}
'';
}
+6 -1
View File
@@ -8,6 +8,11 @@ in
config = {};
overlays = [];
}
, pkgs-25_05 ? import nixpkgsPinned.nixpkgs-25_05 {
inherit (pkgs.stdenv.hostPlatform) system;
config = {};
overlays = [];
}
}:
let self = {
clightning-rest = pkgs.callPackage ./clightning-rest { inherit (self) fetchNodeModules; };
@@ -43,7 +48,7 @@ let self = {
generate-secrets = import ./generate-secrets-deprecated.nix;
nixops19_09 = pkgs.callPackage ./nixops { };
pinned = import ./pinned.nix pkgs pkgsUnstable;
pinned = import ./pinned.nix pkgs pkgsUnstable pkgs-25_05;
modulesPkgs = self // self.pinned;
}; in self
+2 -2
View File
@@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, python3, nbPython3PackagesJoinmarket }:
{ stdenv, lib, fetchFromGitHub, nbPython3PackagesJoinmarket }:
let
# Note:
@@ -18,7 +18,7 @@ let
matplotlib # for ob-watcher
];
pythonEnv = python3.withPackages (_: runtimePackages);
pythonEnv = nbPython3PackagesJoinmarket.python.withPackages (_: runtimePackages);
in
stdenv.mkDerivation {
pname = "joinmarket";
+1
View File
@@ -17,4 +17,5 @@ in
{
nixpkgs = fetch lockedInputs.nixpkgs;
nixpkgs-unstable = fetch lockedInputs.nixpkgs-unstable;
nixpkgs-25_05 = fetch lockedInputs.nixpkgs-25_05;
}
+2 -2
View File
@@ -1,5 +1,5 @@
# This file is generated by ../helper/update-flake.nix
pkgs: pkgsUnstable:
pkgs: pkgsUnstable: pkgs-25_05:
{
inherit (pkgs)
bitcoin
@@ -21,5 +21,5 @@ pkgs: pkgsUnstable:
inherit (pkgsUnstable)
;
inherit pkgs pkgsUnstable;
inherit pkgs pkgsUnstable pkgs-25_05;
}
+15 -6
View File
@@ -21,18 +21,27 @@ rec {
sha256 = callPackage ./sha256 {};
joinmarket = callPackage ./joinmarket { inherit (nbPkgs.joinmarket) version src; };
## Specific versions of packages that already exist in nixpkgs
# autobahn 20.12.3, required by joinmarketclient
autobahn = callPackage ./specific-versions/autobahn.nix {};
};
nbPython3Packages = (python3.override {
packageOverrides = pyPkgsOverrides;
}).pkgs;
nbPython3PackagesJoinmarket = nbPython3Packages;
# joinmarket requires cython 3.0 via pkg bencoder.pyx.
# The python pkgs from nixpkgs-25.11 default to cython 3.1.
# Downgrading to 3.0 causes mass rebuilds, so we use python pkgs from nixpkgs-25.05 for joinmarket.
# The nixpkgs-25.05 dependency will be removed with the next joinmarket update.
# https://github.com/JoinMarket-Org/joinmarket-clientserver/issues/1787
nbPython3PackagesJoinmarket =
(nbPkgs.pinned.pkgs-25_05.python3.override {
packageOverrides = self: super:
(pyPkgsOverrides self super) // {
## Specific versions of packages that already exist in nixpkgs
# autobahn 20.12.3, required by joinmarketclient
autobahn = self.callPackage ./specific-versions/autobahn.nix {};
};
}).pkgs;
# Re-enable pkgs `hwi`, `trezor` that are unaffected by `CVE-2024-23342` because
# they don't use python pkg `ecdsa` for signing.