From 321e8ba06efd05605ff13fe9087f099b5b4ec8dc Mon Sep 17 00:00:00 2001 From: Erik Arvstedt Date: Sun, 21 Aug 2022 10:22:34 +0200 Subject: [PATCH] clightning: fix build --- .../clightning-mistune-workaround/default.nix | 12 +++++++++ .../clightning-mistune-workaround/mistune.nix | 27 +++++++++++++++++++ pkgs/default.nix | 8 ++++++ pkgs/pinned.nix | 1 - pkgs/python-packages/default.nix | 2 +- 5 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 pkgs/clightning-mistune-workaround/default.nix create mode 100644 pkgs/clightning-mistune-workaround/mistune.nix diff --git a/pkgs/clightning-mistune-workaround/default.nix b/pkgs/clightning-mistune-workaround/default.nix new file mode 100644 index 0000000..5fd55d9 --- /dev/null +++ b/pkgs/clightning-mistune-workaround/default.nix @@ -0,0 +1,12 @@ +{ clightning, python3 }: + +clightning.override { + python3 = python3.override { + packageOverrides = self: super: { + mistune = self.callPackage ./mistune.nix { + version = "0.8.4"; + sha256 = "59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e"; + }; + }; + }; +} diff --git a/pkgs/clightning-mistune-workaround/mistune.nix b/pkgs/clightning-mistune-workaround/mistune.nix new file mode 100644 index 0000000..2450837 --- /dev/null +++ b/pkgs/clightning-mistune-workaround/mistune.nix @@ -0,0 +1,27 @@ +{ lib +, buildPythonPackage +, fetchPypi +, nose +, version +, sha256 +, format ? "setuptools" +, extraMeta ? {} +}: + +buildPythonPackage rec { + inherit version format; + pname = "mistune"; + + src = fetchPypi { + inherit pname version sha256; + }; + + buildInputs = [ nose ]; + pythonImportsCheck = [ "mistune" ]; + + meta = with lib; { + description = "The fastest markdown parser in pure Python"; + homepage = "https://github.com/lepture/mistune"; + license = licenses.bsd3; + } // extraMeta; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 3dfbc14..97d40b8 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -25,6 +25,14 @@ let self = { packageOverrides = import ./python-packages self; }).pkgs; + # Fix clightning build by using python package mistune 0.8.4, which is a + # strict requirement. This version is affected by CVE-2022-34749, but this + # is irrelevant in this context. + # + # TODO-EXTERNAL: + # Remove this when the clightning build is fixed upstream. + clightning = pkgs.callPackage ./clightning-mistune-workaround { inherit (pkgs) clightning; }; + # Internal pkgs netns-exec = pkgs.callPackage ./netns-exec { }; krops = import ./krops { inherit pkgs; }; diff --git a/pkgs/pinned.nix b/pkgs/pinned.nix index e61c9b4..91629b3 100644 --- a/pkgs/pinned.nix +++ b/pkgs/pinned.nix @@ -14,7 +14,6 @@ pkgs: pkgsUnstable: inherit (pkgsUnstable) btcpayserver charge-lnd - clightning fulcrum hwi lightning-loop diff --git a/pkgs/python-packages/default.nix b/pkgs/python-packages/default.nix index cd2c593..3d4f84f 100644 --- a/pkgs/python-packages/default.nix +++ b/pkgs/python-packages/default.nix @@ -3,7 +3,7 @@ let inherit (self) callPackage; joinmarketPkg = pkg: callPackage pkg { inherit (nbPkgs.joinmarket) version src; }; - clightningPkg = pkg: callPackage pkg { inherit (nbPkgs.pinned) clightning; }; + clightningPkg = pkg: callPackage pkg { inherit (nbPkgs) clightning; }; unstable = (import ../nixpkgs-pinned.nix).nixpkgs-unstable; in {