Skip to content

staging-next 2024-04-22#306080

Merged
vcunat merged 773 commits intomasterfrom
staging-next
May 3, 2024
Merged

staging-next 2024-04-22#306080
vcunat merged 773 commits intomasterfrom
staging-next

Conversation

@vcunat
Copy link
Member

@vcunat vcunat commented Apr 22, 2024

@vcunat vcunat added the 1.severity: security Issues which raise a security issue, or PRs that fix one label Apr 22, 2024
@github-actions github-actions bot added 6.topic: python Python is a high-level, general-purpose programming language. 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: documentation This PR adds or changes documentation 8.has: changelog This PR adds or changes release notes 8.has: module (update) This PR changes an existing module in `nixos/` 6.topic: rust General-purpose programming language emphasizing performance, type safety, and concurrency. 6.topic: ruby A dynamic, open source programming language with a focus on simplicity and productivity. 6.topic: vim Advanced text editor 6.topic: fetch Fetchers (e.g. fetchgit, fetchsvn, ...) 6.topic: stdenv Standard environment 6.topic: nodejs Node.js is a free, open-source, cross-platform JavaScript runtime environment 6.topic: lua Lua is a powerful, efficient, lightweight, embeddable scripting language. labels Apr 22, 2024
@jtojnar
Copy link
Member

jtojnar commented May 2, 2024

Propagating just gobject-introspection.setupHook wouldn't fix python3Packages.pydbus build, so let me propagate it whole for now. (feel free to improve)

As mentioned above, you would need both the setup hook and glib. gobject-introspection itself is not needed.

To my knowledge you always needed the wrapper for applications for gobject stuff to work.

If you just needed GLib (or other bindings shipped with gobject-introspection), wrapper was not needed since ${gobject-introspection}/lib/girepository-1.0 is implicitly on typelib path. Now that GLib bindings were moved to glib package, ${glib}/lib/girepository-1.0 must be added to GI_TYPELIB_PATH by the wrapper (or gobject-introspection setup hook for build time).

@vcunat
Copy link
Member Author

vcunat commented May 2, 2024

I now tried gobject-introspection.setupHook glib but it didn't suffice for python3Packages.pydbus.

@jtojnar
Copy link
Member

jtojnar commented May 2, 2024

Just tried it and it works for me:

diff --git a/pkgs/development/python-modules/pydbus/default.nix b/pkgs/development/python-modules/pydbus/default.nix
index fc8965fd3538..8e47b4489e17 100644
--- a/pkgs/development/python-modules/pydbus/default.nix
+++ b/pkgs/development/python-modules/pydbus/default.nix
@@ -3,6 +3,8 @@
 , fetchFromGitHub
 , setuptools
 , pygobject3
+, gobject-introspection
+, glib
 }:
 
 buildPythonPackage rec {
@@ -24,12 +26,17 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     setuptools
+    gobject-introspection.setupHook
   ];
 
   propagatedBuildInputs = [
     pygobject3
   ];
 
+  buildInputs = [
+    glib
+  ];
+
   pythonImportsCheck = [
     "pydbus"
     "pydbus.generic"

@vcunat
Copy link
Member Author

vcunat commented May 2, 2024

I was only modifying pygobject3. Maybe I didn't choose the right combination of native and propagated.

@jtojnar
Copy link
Member

jtojnar commented May 2, 2024

If I am reading the reference right, I believe, if pygobject3 goes to buildInputs ((0,1)), gobject-introspection.setupHook should go to depsBuildBuildPropagated ((-1,-1)) in pygobject3 to result in (-1,0) (nativeBuildInputs) in dependents, and glib should go to depsHostHostPropagated ((0,0)), if we want it in (0,1) (buildInputs).

@jtojnar
Copy link
Member

jtojnar commented May 2, 2024

I tried #308488 and it fixes pydbus but it only works with glib in depsBuildBuildPropagated, not in depsHostHostPropagated I would expect.

Got to run now.

@vcunat vcunat merged commit e96601e into master May 3, 2024
@vcunat
Copy link
Member Author

vcunat commented May 3, 2024

Well, it's not great, bringing a few hundred build regressions (closest view probably here so far), mostly because of python packages – but:

  • I see nothing critical
  • just waiting wouldn't help much, most likely
  • ZHF will be soon, so hopefully the issues will attract more attention and get reduced.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1.severity: security Issues which raise a security issue, or PRs that fix one 6.topic: cinnamon Desktop environment 6.topic: emacs Text editor 6.topic: Enlightenment DE The Enlightenment Desktop Environment 6.topic: erlang General-purpose, concurrent, functional high-level programming language 6.topic: fetch Fetchers (e.g. fetchgit, fetchsvn, ...) 6.topic: GNOME GNOME desktop environment and its underlying platform 6.topic: haskell General-purpose, statically typed, purely functional programming language 6.topic: lua Lua is a powerful, efficient, lightweight, embeddable scripting language. 6.topic: Lumina DE The Lumina Desktop Environment 6.topic: mate The MATE Desktop Environment 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 6.topic: nodejs Node.js is a free, open-source, cross-platform JavaScript runtime environment 6.topic: pantheon The Pantheon desktop environment 6.topic: python Python is a high-level, general-purpose programming language. 6.topic: qt/kde Object-oriented framework for GUI creation 6.topic: ruby A dynamic, open source programming language with a focus on simplicity and productivity. 6.topic: rust General-purpose programming language emphasizing performance, type safety, and concurrency. 6.topic: stdenv Standard environment 6.topic: vim Advanced text editor 6.topic: vscode A free and versatile code editor that supports almost every major programming language. 6.topic: xfce The Xfce Desktop Environment 8.has: changelog This PR adds or changes release notes 8.has: clean-up This PR removes packages or removes other cruft 8.has: documentation This PR adds or changes documentation 8.has: module (update) This PR changes an existing module in `nixos/` 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. 10.rebuild-linux-stdenv This PR causes stdenv to rebuild on Linux and must target a staging branch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.