diff --git a/pkgs/development/python-modules/kconfiglib/0001-Add-rudimentary-support-for-modules-property.patch b/pkgs/development/python-modules/kconfiglib/0001-Add-rudimentary-support-for-modules-property.patch new file mode 100644 index 000000000000..2a6bca2b9183 --- /dev/null +++ b/pkgs/development/python-modules/kconfiglib/0001-Add-rudimentary-support-for-modules-property.patch @@ -0,0 +1,41 @@ +From 3161fec0b9ff9154dbd952c3481400118fabb744 Mon Sep 17 00:00:00 2001 +From: Helmut Grohne +Date: Thu, 21 Apr 2022 10:07:53 +0200 +Subject: [PATCH] Add rudimentary support for modules property + +In linux commit 6dd85ff178cd76851e2184b13e545f5a88d1be30, Linux Torvalds +changed "option modules" to plain "modules" since it was the only option +left. kconfiglib does not have much support for either besides parsing +it and suppressing warnings when it is applied to the 'MODULES' symbol. +Mirror this behaviour for the newer "modules" property. + +Fixes: #106 +--- + kconfiglib.py | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/kconfiglib.py b/kconfiglib.py +index c67895c..ccef123 100644 +--- a/kconfiglib.py ++++ b/kconfiglib.py +@@ -3263,6 +3263,20 @@ def _parse_props(self, node): + else: + self._parse_error("unrecognized option") + ++ elif t0 is _T_MODULES: ++ # 'modules' formerly was 'option modules'. See above for why ++ # and when it is ignored. It was changed in ++ # linux commit 6dd85ff178cd76851e2184b13e545f5a88d1be30. ++ if node.item is not self.modules: ++ self._warn("the 'modules' property is not supported. Let " ++ "me know if this is a problem for you, as it " ++ "wouldn't be that hard to implement. Note that " ++ "modules are supported -- Kconfiglib just " ++ "assumes the symbol name MODULES, like older " ++ "versions of the C implementation did when " ++ "'modules' wasn't used.", ++ self.filename, self.linenr) ++ + elif t0 is _T_OPTIONAL: + if node.item.__class__ is not Choice: + self._parse_error('"optional" is only valid for choices') diff --git a/pkgs/development/python-modules/kconfiglib/default.nix b/pkgs/development/python-modules/kconfiglib/default.nix index 12c7ba6170db..e94ef18a9896 100644 --- a/pkgs/development/python-modules/kconfiglib/default.nix +++ b/pkgs/development/python-modules/kconfiglib/default.nix @@ -14,6 +14,11 @@ buildPythonPackage rec { sha256 = "0g690bk789hsry34y4ahvly5c8w8imca90ss4njfqf7m2qicrlmy"; }; + patches = [ + # see https://github.com/ulfalizer/Kconfiglib/pull/119 + ./0001-Add-rudimentary-support-for-modules-property.patch + ]; + # doesnt work out of the box but might be possible doCheck = false;