6 Sep 2025 |
timschumi | The directory where file is trying to install itself into is ovbiously already existing and well-referred:
$ nix-store --query --referrers /nix/store/dr62dbw08z1ff3y423zw6xh8pff12n3p-file-5.45
/nix/store/dr62dbw08z1ff3y423zw6xh8pff12n3p-file-5.45
/nix/store/0w79a0jh56j5dwm15k5a72caizqqasli-stdenv-linux.drv
/nix/store/80jx7q4ngfgbnljbvx2g3hsx82ad4yfx-stdenv-linux
/nix/store/117p1nn1fm3ylwhfmbzjh3fly8a7vgg8-Private.SourceBuilt.Artifacts.8.0.118-servicing.25323.1.centos.9-x64
/nix/store/15mvhsvv80ikl6d5n2gsxawbf1lmggl4-stdenv-linux
/nix/store/1wcj6nwanpphksfah0z8d4f74giznpjl-stdenv-linux.drv
[...]
| 18:48:18 |
timschumi | * I'm currently on a very fun trip into ca-derivations, currently fighting with a package that appears to try to build/install into the nix store even if it already exists. Are there any tips as to figure out why Nix decides to rebuild that package? | 18:49:11 |
7 Sep 2025 |
| @bookshorse:matrix.org removed their profile picture. | 06:14:31 |
| @bookshorse:matrix.org removed their display name bookshorse. | 06:14:40 |
| @bookshorse:matrix.org left the room. | 06:15:16 |
| Aspen Smith joined the room. | 09:43:20 |
Aspen Smith | Sergei Zimmerman (xokdvium): hi! I am at the nixcon hack day, trying to get rid of null-terminated strings; John Ericson told me to reach out to you | 09:45:55 |
Aspen Smith | when I did pascal-strings for tvix-eval it was like a 15% improvement on evaluating pkgs.hello.outPath | 09:48:22 |
Sergei Zimmerman (xokdvium) | FWIW Lix is also moving in this direction. https://git.lix.systems/lix-project/lix/issues/963 emily | 09:50:17 |
Sergei Zimmerman (xokdvium) | Aspen Smith: https://github.com/NixOS/nix/pull/13407 | 09:57:36 |
| @slime90:matrix.org left the room. | 15:39:56 |
| @desttinghim:matrix.org left the room. | 21:34:45 |
8 Sep 2025 |
Sergei Zimmerman (xokdvium) | Some insights into 128 bit atomics in gcc:
https://gcc.gnu.org/legacy-ml/gcc/2018-02/msg00224.html
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84563 | 00:11:35 |
| inayet set a profile picture. | 02:15:58 |
| oddlama joined the room. | 13:36:49 |
oddlama | I'm having trouble overriding stdenv for the nix package:
{
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
outputs =
inputs:
let
pkgs = import inputs.nixpkgs {
system = "x86_64-linux";
};
in
{
packages.x86_64-linux = {
nix_2_30_clang = pkgs.nixVersions.nix_2_30.override {
stdenv = pkgs.clangStdenv;
};
};
};
}
Building this package does not actually trigger a build but reuses the gcc artifacts while rebuilding some kind of wrapper (?)
$ nix build .#packages.x86_64-linux.nix_2_30_clang
$ readelf -p .comment ./result/bin/nix
String dump of section '.comment':
[ 1] GCC: (GNU) 14.3.0
This should probably say something like:
[ 0] GCC: (GNU) 14.3.0
[ 12] clang version 18.1.8
Overriding still works for the autoconf based build (nix_2_24) but not for any of the newer package builds. It seems like the override is silently ignored and not passed down to the sub-derivations anymore.
| 13:50:11 |
Sandro π§ | Did you try?
nixVersions = prev.nixVersions.extend (final: prev:
nixComponents_2_31 = prev.nixComponents_2_31.overrideScope (finalScope: prevScope: { stdenv = pkgs_25_05.clangStdenv; };
};
| 14:37:21 |
oddlama | Yes that is looking good, thanks. Is this the preferred way to do overrides for those types of packages now? | 15:35:33 |
Sergei Zimmerman (xokdvium) | In reply to @oddlama:matrix.org Yes that is looking good, thanks. Is this the preferred way to do overrides for those types of packages now? For the modular packaging - yes. Since now this is not a monolithic package that you can override | 16:04:22 |
Sandro π§ | Also an example on how to add patches
nixComponents_2_31 = (prev.nixComponents_2_31.overrideScope (finalScope: prevScope: {
aws-sdk-cpp = null;
boost = boost231;
withAWS = false;
})).appendPatches (commonPatches ++ [
./nix-derivation-better-copy-2.30.diff
]);
| 16:05:49 |
9 Sep 2025 |
Winter | this is seemingly missing where commonPatches comes from fyi | 02:21:31 |
Sandro π§ | * Also an example on how to add patches
nixComponents_2_31 = (prev.nixComponents_2_31.overrideScope (finalScope: prevScope: {
aws-sdk-cpp = null;
boost = boost231;
withAWS = false;
})).appendPatches [
./nix-derivation-better-copy-2.30.diff
];
| 08:50:38 |
Sandro π§ | That's just a list I have somewhere above in a let in | 08:50:56 |
| aciceri changed their display name from zrsk to aciceri. | 15:02:57 |
Sergei Zimmerman (xokdvium) | Curiously, Boehm granule size on 64 bit systems is 16 bytes. That means that 16 byte atomics for Value are very workable, since x86_64 needs stuff to be 16 bytes aligned (otherwise memory might straddle the cache line and that wonβt be atomic ever) | 17:31:17 |
10 Sep 2025 |
| SomeoneSerge (back on matrix) changed their display name from SomeoneSerge (@nixcon & back on matrix) to SomeoneSerge (back on matrix). | 00:34:03 |
| @nerves:bark.lgbt left the room. | 12:31:49 |
| Hierophilos joined the room. | 14:18:45 |
| matthewcroughan changed their display name from matthewcroughan @ nixcon to matthewcroughan. | 14:56:12 |
| connor (he/him) (UTC-7) changed their display name from connor (he/him) (UTC+2) to connor (he/him) (UTC-7). | 22:20:37 |