Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from NixOS:master #119

Merged
merged 68 commits into from
Dec 26, 2023
Merged

[pull] master from NixOS:master #119

merged 68 commits into from
Dec 26, 2023

Conversation

pull[bot]
Copy link

@pull pull bot commented Dec 26, 2023

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

SuperSandro2000 and others added 30 commits September 4, 2023 15:26
Let’s point `DESTDIR` to a path under the build directory rather than under "$out".
This will prevent `installPhase` from creating `$out` or any other output directory,
allowing us to install the outputs just by moving them out of `$DESTDIR` directly into the store with `mv`.
Of course, that will also require moving the installing of `etc` after the outputs are installed.

Since `$out` does not currently contain `etc` subdirectory, we can also just move `$DESTDIR/etc` directly to `$out` rather than copying it.
And even if `$out/etc` existed, we could just merge it with `cp --recursive` instead of `rsync` so `rsync` is not actually necessary.

The code remains written defensively against files accidentally being misplaced while shuffling them around – parent directories of targets are used as `mv` destinations so that the move fails loudly if the directory already exists, rather than being moved inside as e.g. `$out/etc/etc`.

While at it let’s also improve practices a bit:
- Quote command arguments.
- Move `DESTDIR` definition into `env` block.
- Add vertical space and clearer comments.
- Handle non-standard Nix store paths.
Let’s point `DESTDIR` to a path under the build directory rather than under "$out".
This will prevent `installPhase` from creating `$out` or any other output directory,
allowing us to install the outputs just by moving them out of `$DESTDIR` directly into the store with `mv`.
Of course, that will also require moving the installing of `etc` and `var` after the outputs are installed
and ensuring there is no library litter from `checkPhase`.

Since `$out` does not currently contain `var` subdirectory, we can also just move `$DESTDIR/var` directly to `$out` rather than copying it.
`$out/etc` does exist but we can just merge it with `cp --recursive` instead of `rsync` so `rsync` is not actually necessary.

The code remains written defensively against files accidentally being misplaced while shuffling them around – parent directories of targets are used as `mv` destinations so that the move fails loudly if the directory already exists, rather than being moved inside as e.g. `$out/etc/etc`.


While at it let’s also improve practices a bit:
- Add vertical space and clearer comments.
- Handle non-standard Nix store paths.
Otherwise, if `QT_QPA_PLATFORM=wayland`, qt based programs will
segfault.
r-ryantm and others added 28 commits December 25, 2023 18:38
vscode-extensions.asvetliakov.vscode-neovim: 1.0.1 -> 1.5.0
txtpbfmt: unstable-2023-03-28 -> unstable-2023-10-25
backblaze-b2: add missing dependency setuptools
…s.aioguardian

python310Packages.aioguardian: 2023.11.0 -> 2023.12.0
librewolf-unwrapped: 120.0.1-1 -> 121.0-1
kanata: mention breaking changes of v1.5.0
nixos/installation-device: remove warning about mdadm
rust: set sourceProvenance for bootstrap binary
…s.simplisafe-python

python310Packages.simplisafe-python: 2023.10.0 -> 2023.12.0
teams-for-linux: 1.3.22 -> 1.4.1
@pull pull bot added the ⤵️ pull label Dec 26, 2023
@pull pull bot merged commit d2a5f16 into khaneliman:master Dec 26, 2023
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.