diff --git a/pkgs/by-name/py/pympress/issue-330-gprops-iter-actually-iterable.patch b/pkgs/by-name/py/pympress/issue-330-gprops-iter-actually-iterable.patch new file mode 100644 index 000000000000..4449daeda189 --- /dev/null +++ b/pkgs/by-name/py/pympress/issue-330-gprops-iter-actually-iterable.patch @@ -0,0 +1,11 @@ +--- i/pympress/builder.py ++++ w/pympress/builder.py +@@ -76,7 +76,7 @@ class Builder(Gtk.Builder): + Args: + a_widget (:class:`~GObject.Object`): an object built by the builder, usually a widget + """ +- for str_prop in (prop.name for prop in a_widget.props if prop.value_type == GObject.TYPE_STRING): ++ for str_prop in (prop.name for prop in list(a_widget.props) if prop.value_type == GObject.TYPE_STRING): + try: + str_val = getattr(a_widget.props, str_prop) + if str_val: diff --git a/pkgs/by-name/py/pympress/package.nix b/pkgs/by-name/py/pympress/package.nix index e93c371b2808..00516db13471 100644 --- a/pkgs/by-name/py/pympress/package.nix +++ b/pkgs/by-name/py/pympress/package.nix @@ -30,6 +30,13 @@ python3Packages.buildPythonApplication rec { babel ]; + patches = [ + # Workaround for a bug on Python >= 3.13+ and pygobject < 3.51. + # This can go away once nixpkgs is using pygobject >= 3.51. + # See for details. + ./issue-330-gprops-iter-actually-iterable.patch + ]; + dependencies = with python3Packages; [