Skip to content

stdenv: topological sorting of dependencies#388767

Closed
ConnorBaker wants to merge 3 commits intoNixOS:stagingfrom
ConnorBaker:feat/stdenv-toposort
Closed

stdenv: topological sorting of dependencies#388767
ConnorBaker wants to merge 3 commits intoNixOS:stagingfrom
ConnorBaker:feat/stdenv-toposort

Conversation

@ConnorBaker
Copy link
Contributor

Updated version of #31414.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

Ericson2314 and others added 3 commits March 9, 2025 09:56
The following commit will add a way to prepend, so this makes the
choice explicit.

Co-authored-by: Connor Baker <ConnorBaker01@gmail.com>
This would be changing from a "preorder traversal" to a "postorder
traversal".

We need to *prepend* to `_PATH` now so that shallower entries take
priority. Other appends that should be prepends will be fixed in the
following commits.

Co-authored-by: Connor Baker <ConnorBaker01@gmail.com>
…etup hook

This will affect the path, and anything else should be harmless. I do
wonder why this is needed at all with the wrapper scripts doing their
own PATHs however.

Co-authored-by: Connor Baker <ConnorBaker01@gmail.com>
@ConnorBaker ConnorBaker self-assigned this Mar 10, 2025
@github-actions github-actions bot added 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: erlang General-purpose, concurrent, functional high-level programming language 6.topic: ocaml OCaml is a general-purpose, high-level, multi-paradigm programming language. 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. 6.topic: R R is a programming language for statistical computing and data visualization. 6.topic: cuda Parallel computing platform and API 6.topic: dotnet Language: .NET 6.topic: flutter Open-source UI software development kit for cross-platform applications labels Mar 10, 2025
@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Apr 7, 2025
@ConnorBaker
Copy link
Contributor Author

I don't have the energy to push this at the moment so I'm closing it. It's still a problem!

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

Labels

2.status: merge conflict This PR has merge conflicts with the target branch 6.topic: cuda Parallel computing platform and API 6.topic: dotnet Language: .NET 6.topic: erlang General-purpose, concurrent, functional high-level programming language 6.topic: flutter Open-source UI software development kit for cross-platform applications 6.topic: lua Lua is a powerful, efficient, lightweight, embeddable scripting language. 6.topic: nodejs Node.js is a free, open-source, cross-platform JavaScript runtime environment 6.topic: ocaml OCaml is a general-purpose, high-level, multi-paradigm programming language. 6.topic: python Python is a high-level, general-purpose programming language. 6.topic: qt/kde Object-oriented framework for GUI creation 6.topic: R R is a programming language for statistical computing and data visualization. 6.topic: ruby A dynamic, open source programming language with a focus on simplicity and productivity. 6.topic: stdenv Standard environment

Projects

Status: ✅ Done
Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants