| 12 Sep 2023 |
rhelmot | how does cross compiling help with the case that I'm trying to address, which is that I'm running nix on freebsd? | 19:11:41 |
rhelmot | correct me if I'm wrong, but in order to use a binary substitute, you need to boot the same stdenv as the builder in order to get the hashes to match? | 19:12:23 |
John Ericson | I mean there is no reason to modify those packages | 19:12:58 |
John Ericson | if we can build them cross + pure, we can also build them native + pure | 19:13:19 |
John Ericson | if you need to change a package, that is not because native, that is because impurities | 19:13:35 |
John Ericson | the impure stdenv will be a different in a number of small inconsequential but papercut-causing ways | 19:13:54 |
John Ericson | it is not maintainable to support those paper cuts on every package | 19:14:06 |
rhelmot | so what's the deal with the various platform checks scattered throughout every package that I've looked at? | 19:14:44 |
rhelmot | I recognize that I'm new to nix, but I have a hard time believing that the purity guarantees are really that strong, especially on freebsd where you don't get bind mounting. | 19:16:26 |
rhelmot | like no ill will if all of my work is obsoleted, but I just don't understand it | 19:17:35 |
John Ericson | there are certainly still platform checks needed | 19:41:23 |
John Ericson | don't get me worng | 19:41:27 |
John Ericson | but I just don't think native should need more than cross | 19:41:39 |
| 13 Sep 2023 |
| mib š„ joined the room. | 08:28:08 |
| @theesm:lispy.eu joined the room. | 22:51:27 |
| 16 Sep 2023 |
| Majiir Paktu joined the room. | 00:04:14 |
p14 | I've got a pipeline of things I want to fix to make pkgsLLVM.pkgsStatic to work well, but review is going slow. I don't want to generate a mass of PRs which go unreviewed for a long time since that risks increasing the infinite TODO list for everybody. Any kind souls able to help me clear this review from the pipeline? I hope it is uncontroversial. https://github.com/NixOS/nixpkgs/pull/253116 | 09:06:10 |
p14 | Alyssa Ross: thanks for the review. (AFK so responding here rather than gh for a moment) Is it possible you have missed that link type is a single word value āstaticā or ādynamicā according to the output of the checkLinkType function? If not, I donāt understand, can you clarify? | 09:29:09 |
Alyssa Ross | I did miss that :) | 09:29:26 |
| 20 Sep 2023 |
rhelmot | I've added to my PR the ability to parameterize the freebsd packages so they can be cross compiled for either freebsd13 or freebsd14. I can now compile all the inputs necessary for the freebsd stdenv. what's the protocol on being able to access a cross-compiled package from a native-booting stdenv? I assume there's some magic somewhere to make it so the hashes line up, but I'm not sure what that would look like. | 07:03:37 |
rhelmot | * I've added to my PR the ability to parameterize the freebsd packages so they can be cross compiled for either freebsd13 or freebsd14. I can now cross compile all the inputs necessary for the freebsd stdenv. what's the protocol on being able to access a cross-compiled package from a native-booting stdenv? I assume there's some magic somewhere to make it so the hashes line up, but I'm not sure what that would look like. | 07:04:12 |
rhelmot | if the answer is "no such thing", what exactly is john's vision in terms of being able to use cross compilation to generate substitutes such that nix can run on freebsd and actually download them as needed? | 07:10:35 |
Alyssa Ross | You can import <nixpkgs> { localSystem = "x86_64-linux"; crossSystem = "x86_64-freebsd"; } or something and get the same packages | 08:07:12 |
Alyssa Ross | but if I understand correctly, what John means to do is to cross compile some packages, and use them to generate a bootstrap tarball for the native stdenv, not to substitute them directly. | 08:07:47 |
Alyssa Ross | Also hi! Sorry, I haven't had much of a chance to look at your work so far. | 08:07:56 |
Alyssa Ross | Re: FreeBSD version: the reason we have "13" in the triples is because we misunderstood how backwards compatible FreeBSD is. Probably it would be fine to just target a single version. | 08:08:57 |
rhelmot | Can you elaborate on the misunderstanding? I certainly encountered binary incompatibilities (potentially solved by nix and strict library versioning?) while upgrading from 13 to 14. | 12:36:06 |
rhelmot | Also hi :) | 12:36:10 |
rhelmot | If thatās the vision, why can the bootstrap binaries not be generated by the (fully booted?) impure stdenv? This definitely sounds like a situation where Iām misunderstanding the benefits of purity, but to my knowledge it would be solved by a bunch of binary auditing. | 12:40:14 |
rhelmot | * Can you elaborate on the misunderstanding? I certainly encountered binary incompatibilities (upgraded my kernel but not my userland on accident and very little would still run? I hope Iām misremembering that) while upgrading from 13 to 14. | 12:47:19 |