zimward
November 23, 2024, 2:50am
1
I noticed that there currently seems to be no way to override inputs to buildFHSEnv
as it isn’t wrapped with lib.makeOverrideable
and overrideAttrs
is also not functional to pass a modified targetPkgs
for example.
Is there a architectural reason overriding was not considered or was it just forgotten?
5 Likes
Atemu
November 23, 2024, 1:01pm
2
No and it’s in dire need of a refactor anyways. Feel free to hack on it if you’re motivated.
As long as the external API for callers of the builder remains in-tact (or has reasonable changes) I don’t think anyone would disapprove.
1 Like
zimward
November 25, 2024, 10:27pm
3
NixOS:master
← zimward:fully-hysterical-screaming
opened 12:18PM - 25 Nov 24 UTC
The primary function has been moved to `bwScript.nix` to reduce the amount of in… dentation.
I am planing to refactor this in the next few weeks, but this should be good to go for now.
<!--
^ Please summarise the changes you have done and explain why they are necessary here ^
For package updates please link to a changelog or describe changes, this helps your fellow maintainers discover breaking updates.
For new packages please briefly describe the package or provide a link to its homepage.
-->
## 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](https://nixos.org/manual/nix/stable/command-ref/conf-file.html))
- [ ] `sandbox = relaxed`
- [ ] `sandbox = true`
- [ ] Tested, as applicable:
- [NixOS test(s)](https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests) (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests))
- and/or [package tests](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#package-tests)
- or, for functions and "core" functionality, tests in [lib/tests](https://github.com/NixOS/nixpkgs/blob/master/lib/tests) or [pkgs/test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/test)
- made sure NixOS tests are [linked](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#linking-nixos-module-tests-to-a-package) to the relevant packages
- [ ] 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](https://github.com/Mic92/nixpkgs-review#usage)
- [ ] Tested basic functionality of all binary files (usually in `./result/bin/`)
- [25.05 Release Notes](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2505.section.md) (or backporting [24.11](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2411.section.md) and [25.05](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2505.section.md) 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
- [x] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).
<!--
To help with the large amounts of pull requests, we would appreciate your
reviews of other pull requests, especially simple package updates. Just leave a
comment describing what you have tested in the relevant package/service.
Reviewing helps to reduce the average time-to-merge for everyone.
Thanks a lot if you do!
List of open PRs: https://github.com/NixOS/nixpkgs/pulls
Reviewing guidelines: https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#reviewing-contributions
-->
---
Add a :+1: [reaction] to [pull requests you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[pull requests you find important]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+sort%3Areactions-%2B1-desc
for now i wrapped it in lib.makeOverridable
, but as pointed out it should be refactored. When are the bulidFHSuserEnv
aliases supposed to get deprecated btw? I think it should be safe to add a deprecation warning as they are no longer used in nixpkgs.
1 Like
Deprecations should last until at least the next release, after which it could be removed.
Can you please elaborate?
Atemu
November 30, 2024, 9:12pm
6
I’m not sure what’s you want me to elaborate on here; someone needs to have a good look at the code and organise it better.
Grand
February 21, 2025, 4:35pm
8
Whats the state of this PR? seems to be in limbo right now.
zimward
February 21, 2025, 4:47pm
9
I need to rebase it (again) due to other PR’s having created a merge conflict. Apart from that the interest in it seems to be low.
Grand
February 21, 2025, 5:04pm
10
I know I have a need for it. The package for envision (a tool for managing builds of monado and Opencomposite) uses a buildFHSEnv wrapper and dependencies are often added to those projects that need adding to the environment envision works in. Being able to override buildFHSEnv packages can alleviate some pain points when a new dependency gets added to those projects that hasn’t been addressed in the envision package yet.
1 Like
zimward
February 22, 2025, 8:23am
11
I just rebased onto master. From my point of view the pr is ready as it improves the status quo (objections are also welcome in the PR ).