| 15 Nov 2024 |
emily | maybe hash of the file contents + hash of command line + a counter (but then, nondeterminism from parallelism?) | 10:41:57 |
emily | ideally C++ wouldn't work like that | 10:42:12 |
emily | I wonder how viable it would be to just set -frandom-seed=0 and set it specifically in packages that would break | 10:42:28 |
p14 | https://github.com/NixOS/nixpkgs/issues/151475#issuecomment-1245992562 | 10:42:36 |
p14 | I've been doing -frandom-seed=fixed in some projects and haven't become aware of ill effects but I do not know what the true generalised consequences might be. | 10:43:10 |
p14 | The need to have such a seed seems a bit bonkers from a reproducible builds standpoint | 10:43:33 |
p14 | The idea of hashing stuff in the compiler wrapper is really unappealing from a performance standpoint too | 10:44:06 |
emily | it's because of C++ saying you can define things in multiple files and they shouldn't collide or whatever | 10:44:14 |
emily | I want compiler wrappers to die anyway, so 😅 | 10:44:25 |
emily | btw, as a ca-derivations enjoyer you may enjoy this long but fruitful conversation I had with amjoseph on the Discourse about how we can achieve proper short-circuiting for shared libraries with stubs (like the macOS .tbds I was talking about) and splitting out linking into multiple steps https://discourse.nixos.org/t/why-does-the-nixos-infrastructure-have-to-be-hosted-in-a-centralized-way/46789/32 | 10:44:33 |
emily | even header cleaning is relevant! | 10:44:39 |
emily | (also this could dovetail with runtime performance improvements by doing the "dynamic loading" part of things at the time of the "relink" build) | 10:47:45 |
p14 | That's a great thread, thanks for sharing. | 11:08:30 |
p14 | I have a feeling I've read it before too. | 11:09:34 |
p14 | So, how to actually make some of these things happen? | 11:09:43 |
p14 | I guess there are two parts: 1) get fundamental infra inplace 2) an immense amount of grind to actually make it work sensibly in practice. | 11:10:34 |
p14 | I've come up with a possible use case for this abandoned PR https://github.com/NixOS/nixpkgs/pull/355000
Being able to put link-only flags in it for clang: warning: argument unused during compilation: '-pie' [-Wunused-command-line-argument] would be useful.
| 11:13:11 |
p14 | * I've come up with a possible use case for this abandoned PR https://github.com/NixOS/nixpkgs/pull/355000
Being able to put link-only flags in it for clang: warning: argument unused during compilation: '-pie' [-Wunused-command-line-argument] would be useful. Sensible?
| 11:13:24 |
p14 | * I've come up with a possible use case for this abandoned PR https://github.com/NixOS/nixpkgs/pull/355000
Being able to put link-only flags in it for clang: warning: argument unused during compilation: '-pie' [-Wunused-command-line-argument] would be useful. Sensible?
An alternative route would be to bracket these flags in --start-no-unused-arguments and --end-no-unused-arguments.
| 11:14:38 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | In reply to @emilazy:matrix.org btw, as a ca-derivations enjoyer you may enjoy this long but fruitful conversation I had with amjoseph on the Discourse about how we can achieve proper short-circuiting for shared libraries with stubs (like the macOS .tbds I was talking about) and splitting out linking into multiple steps https://discourse.nixos.org/t/why-does-the-nixos-infrastructure-have-to-be-hosted-in-a-centralized-way/46789/32 Btw the comment mentioned is not accurate | 11:14:41 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | Open Build System at least (optionally) rebuilds everything | 11:15:14 |
emily | which comment? | 11:15:30 |
emily | I don't see any mention of OBS there | 11:15:43 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | In reply to @emilazy:matrix.org which comment? The comment you are linking to | 11:17:38 |
emily | oh, "No other distro"? | 11:17:48 |
emily | does openSUSE rebuild every downstream package for a one-byte security fix patch in OpenSSL that doesn't affect the headers or ABI? | 11:18:13 |
p14 | Just because other distros may pay the cost doesn't mean nixpkgs must also. | 11:18:36 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | In reply to @p14:matrix.org Just because other distros may pay the cost doesn't mean nixpkgs must also. Don't get me wrong; I mean it's not something specific to Nixpkgs or Guix | 11:19:12 |
emily | the world rebuilds are generally more gradual with other distros, AIUI | 11:20:18 |
emily | involving manual pkgrel bumps etc. | 11:20:25 |