!UNVBThoJtlIiVwiDjU:nixos.org

Staging

369 Members
Staging merges | Find currently open staging-next PRs: https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+sort%3Aupdated-desc+head%3Astaging-next+head%3Astaging-next-21.05+is%3Aopen117 Servers

Load older messages


SenderMessageTime
22 Apr 2026
@raitobezarius:matrix.orgraitobezarius on my side, I see: https://bin.hubrecht.ovh/?2b4ded4a9c12972e#BUuCq1fnzB3qgHj9wk4HqPvZkvU39YkJKQwF6LfUFi33 12:08:18
@raitobezarius:matrix.orgraitobezariusi will look if i don't have a fucked up store right now12:08:48
@raitobezarius:matrix.orgraitobezarius that being said, attribute '__bootPackages' missing can only mean that pkgs.stdenv is the root stdenv or a fucked-up stage no? 12:10:31
@raitobezarius:matrix.orgraitobezarius All intermediate stdenv stages always have __bootPackages 12:10:45
@raitobezarius:matrix.orgraitobezarius If Lix's pointer equality update cause this, the most obvious cause would be that a conditional if some_attr_set_containing_funs == another_set_containing_funs differs between CppNix and Lix 12:11:17
@raitobezarius:matrix.orgraitobezariusand cause a different attrset or value to be returned in the stdenv machinery12:11:26
@raitobezarius:matrix.orgraitobezariuscppnix still cannot Ctrl-C evaluations in REPL I see :D…12:13:35
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)
In reply to @raitobezarius:matrix.org
on my side, I see: https://bin.hubrecht.ovh/?2b4ded4a9c12972e#BUuCq1fnzB3qgHj9wk4HqPvZkvU39YkJKQwF6LfUFi33
I don’t think does eval with Lix in that case, since it’s using cppnix inside the derivation?
12:14:04
@raitobezarius:matrix.orgraitobezariuscorrect12:14:33
@raitobezarius:matrix.orgraitobezariusstill remains weird…12:14:39
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)Anyway that nixpkgs source path is in cno, I just substituted it12:14:48
@raitobezarius:matrix.orgraitobezariusokie12:14:59
@raitobezarius:matrix.orgraitobezarius
  f =
    pkgs: prev:
    if !pkgs.stdenv.hostPlatform.isDarwin || pkgs.stdenv.name == "bootstrap-stage0-stdenv-darwin" then
      prev.darwin.sourceRelease
    else
      f pkgs.stdenv.__bootPackages pkgs;
  bootstrapSourceRelease = f pkgs pkgs;
12:18:10
@raitobezarius:matrix.orgraitobezarius f pkgs pkgs → f pkgs.stdenv.__bootPackages pkgs → f (pkgs.stdenv.__bootPackages).stdenv.__bootPackages pkgs.stdenv.__bootPackages → ... until we find a pkgs` for which the host platform is not Darwin (i.e. cross compilation mode) OR we found the root stage0 of Darwin, that's the intent right? 12:19:14
@raitobezarius:matrix.orgraitobezarius and prev.darwin.sourceRelease is a function 12:20:57
@raitobezarius:matrix.orgraitobezarius why the trace is in pkgsExtraHardening ? 12:22:06
@raitobezarius:matrix.orgraitobezarius
       … while evaluating the attribute 'stdenv.__bootPackages'
         at /nix/store/phggf546c3ig9x349z4rf0qr4ckdci62-source/pkgs/top-level/variants.nix:161:11:
          160|           pkgsExtraHardening = super';
          161|           stdenv = super'.withDefaultHardeningFlags (
             |           ^
          162|             super'.stdenv.cc.defaultHardeningFlags

       error: attribute '__bootPackages' missing
       at /nix/store/phggf546c3ig9x349z4rf0qr4ckdci62-source/pkgs/os-specific/darwin/by-name/av/AvailabilityVersions/package.nix:17:9:
           16|     else
           17|       f pkgs.stdenv.__bootPackages pkgs;
             |         ^
           18|   bootstrapSourceRelease = f pkgs pkgs;
12:22:14
@raitobezarius:matrix.orgraitobezarius that top frame is evaluating a stdenv of the new top level pkgsExtraHardening 12:22:25
@raitobezarius:matrix.orgraitobezariusis this used in the Darwin bootstrapping?12:22:31
@raitobezarius:matrix.orgraitobezariusok12:23:37
@raitobezarius:matrix.orgraitobezariusI found a shorter reproducer on CppNix12:23:42
@raitobezarius:matrix.orgraitobezarius pkgs.pkgsExtraHardening on CppNix 12:23:47
@raitobezarius:matrix.orgraitobezariusOK, I think I understand what is going on12:27:42
@raitobezarius:matrix.orgraitobezarius Lix won't fail on evaluating pkgs.pkgsExtraHardening but will fail on pkgs.pkgsExtraHardening.stdenv 12:27:57
@raitobezarius:matrix.orgraitobezariusLooks like a forcing/laziness issue somewhere12:28:11
@raitobezarius:matrix.orgraitobezarius So, first of all, withDefaultHardeningFlags do not return a correctly formed stdenv with __bootPackages and that's arguably a pkgsExtraHardening bug 12:28:43
@raitobezarius:matrix.orgraitobezariusSecond, I think we need to rule out should Lix force more thunks here or should CppNix force less thunks12:29:07
@raitobezarius:matrix.orgraitobezarius If Lix can produce a list of attribute keys for pkgs.pkgsExtraHardening but CppNix cannot, either Lix is making up keys that cannot be calculated or CppNix is not lazy enough with respect to the attrset spine thingie 12:29:58
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)Maybe easier to compare Lix 2.93/94?12:30:35
@xokdvium:matrix.orgSergei Zimmerman (xokdvium) Those should differ too and it might be easier to gauge whether those differ intentionally 12:30:56

Show newer messages


Back to Room ListRoom Version: 6