!djTaTBQyWEPRQxrPTb:nixos.org

Nixpkgs Architecture

216 Members
Discussions about Nixpkgs' architecture - https://github.com/NixOS/nixpkgs/labels/architecture47 Servers

Load older messages


SenderMessageTime
29 Jan 2024
@jade_:matrix.org@jade_:matrix.orgoh also i found a use for the isFlake feature even if my pkgs path thing gets canned: improving the errors for stuff where we ask for env-vars for broken, insecure, or proprietary packages00:24:04
@k900:0upti.meK900 pkgs/by-name/c-/c-periphery/package.nix 07:53:15
@k900:0upti.meK900That's a funny edge case07:53:17
@lehmanator:tchncs.deSam Lehman joined the room.11:01:00
@lehmanator:tchncs.deSam Lehman set a profile picture.11:06:02
@flandweber:envs.netFinn Landweber joined the room.15:02:12
@flandweber:envs.netFinn Landweber changed their display name from flandweber to Finn Landweber.18:20:07
30 Jan 2024
@infinisil:matrix.orginfinisil

There is one remaining problem with the current pkgs/by-name check, and this fixes it: https://github.com/NixOS/nixpkgs/pull/285089

Quite a bit of Rust code there, would appreciate a review

20:49:34
@infinisil:matrix.orginfinisilI added tests and comments20:49:49
@infinisil:matrix.orginfinisil(actually just discovered another issue, but that one's pretty easy to fix)21:27:25
@infinisil:matrix.orginfinisilEasy and touching the same parts of the code, so I just included it in the above PR too as the last commit21:56:28
31 Jan 2024
@federicodschonborn:matrix.org@federicodschonborn:matrix.org changed their profile picture.03:36:13
@federicodschonborn:matrix.org@federicodschonborn:matrix.org changed their profile picture.06:21:49
@aliarokapis:matrix.orgAlexandros LiarokapisAre there any documented requirements for what constitutes a valid stdenv?21:31:45
@infinisil:matrix.orginfinisilPretty sure the answer is No and I personally don't have the knowledge to write that 😅22:27:31
@aliarokapis:matrix.orgAlexandros LiarokapisIts kind of funny sincenit is so integral to the whole ecosystem22:38:52
@qyriad:matrix.org@qyriad:matrix.orgMost alternate stdenvs are derived from stdenv in someway anyway right?23:01:11
@aliarokapis:matrix.orgAlexandros LiarokapisI am not sure if that is the case with llvmPackages.stdenv and there are also some other stdenvs with other compilers both in stdenv and in various third party flakes.23:21:20
@tomberek:matrix.orgtomberekFirst question is what you mean by "valid". If you mean compatibility with mkDerivation and its semantics, then that will be complicated. Just making nix-shell/develop work is easy.23:36:50
@aliarokapis:matrix.orgAlexandros LiarokapisYea I mean compatible with mkDerivation and other nixpkgs assumptions like the isPlatform checks and others23:43:15
1 Feb 2024
@qyriad:matrix.org@qyriad:matrix.org
In reply to @aliarokapis:matrix.org
I am not sure if that is the case with llvmPackages.stdenv and there are also some other stdenvs with other compilers both in stdenv and in various third party flakes.
LLVM's stdenv's are overrideCCs on base stdenv: https://github.com/NixOS/nixpkgs/blob/e4f711a40e2124d11f84c3e67443d02fa413a634/pkgs/development/compilers/llvm/16/default.nix#L319
00:32:30
@qyriad:matrix.org@qyriad:matrix.orgI don't know about the others though00:32:35
@raitobezarius:matrix.orgraitobezariusI am aware of stdenv non derived by nixpkgs and those are completely different beast having their own semantics01:42:51
@raitobezarius:matrix.orgraitobezariusBefore documenting what is a valid nixpkgs abiding stdenv, I think if we can document how to derive more complicated stdenv using combinators, that'd be great01:43:10
@raitobezarius:matrix.orgraitobezariusDocumenting a valid nixpkgs abiding stdenv is bound to be very complicated notably due to splicing constraints, etc. which are not even totally clear for experts01:43:29
@qyriad:matrix.org@qyriad:matrix.org
In reply to @aliarokapis:matrix.org
I am not sure if that is the case with llvmPackages.stdenv and there are also some other stdenvs with other compilers both in stdenv and in various third party flakes.
* LLVM's stdenvs are overrideCCs on base stdenv: https://github.com/NixOS/nixpkgs/blob/e4f711a40e2124d11f84c3e67443d02fa413a634/pkgs/development/compilers/llvm/16/default.nix#L319
02:05:09
@jade_:matrix.org@jade_:matrix.org
In reply to @aliarokapis:matrix.org
Yea I mean compatible with mkDerivation and other nixpkgs assumptions like the isPlatform checks and others
I'm very suspicious of if that's actually well defined at all, there's some extremely tight coupling, especially with respect to the (imo) pretty evil stuff stdenv does with security hardening flags
02:41:41
@aliarokapis:matrix.orgAlexandros Liarokapis
In reply to @raitobezarius:matrix.org
Documenting a valid nixpkgs abiding stdenv is bound to be very complicated notably due to splicing constraints, etc. which are not even totally clear for experts
This is a very good note, my main usecase currently is to use standard industry toolchains for cross building so keeping derivations compatible with the cross building infra is important.
12:47:25
@aliarokapis:matrix.orgAlexandros LiarokapisUsing such external toolchains is sometimes required due to them being IEC 61508 qualified.12:53:33
@aliarokapis:matrix.orgAlexandros LiarokapisWhich allows them to be used in automotive and similar sectors, so it is good to have an escape hatch to use your own stdenv. Nix would be a great pitch for such sectors due to facilitating reproducible builds but this is kind of a game breaker because verifying compilers is expensive.12:57:07

Show newer messages


Back to Room ListRoom Version: 9