Chiliparrot has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
<LnL>
Ericson2314: around?
pasukon has quit []
pasukon has joined #nix-darwin
Chiliparrot has joined #nix-darwin
virus_dave has joined #nix-darwin
virus_dave has quit [Client Quit]
virus_dave has joined #nix-darwin
eraserhd has joined #nix-darwin
virus_dave has quit [Quit: virus_dave]
virus_dave has joined #nix-darwin
abathur has joined #nix-darwin
philr has quit [Ping timeout: 260 seconds]
<Ericson2314>
LnL: slightly
Chiliparrot has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
<LnL>
Ericson2314: was wondering if you had some time to talk about stdenv bootstrapping
Chiliparrot has joined #nix-darwin
rizary_ has quit []
rizary_ has joined #nix-darwin
Chiliparrot has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
abathur has quit [Ping timeout: 268 seconds]
<LnL>
oh neat, since when is cc.libcxx a thing?
kalbasit has quit []
kalbasit has joined #nix-darwin
<Ericson2314>
oh libcxx landed?
<Ericson2314>
neat
<Ericson2314>
LnL: what's up?
<Ericson2314>
we do need better bootstrapping :)
<LnL>
so firstly I noticed a lot of bootstrapping overrides, especially with cross fixes, seem to have moved into all-packages, etc. instead of being part of the bootstrap stages
<Ericson2314>
LnL: hmm example?
<LnL>
so taking cross into account it's not really clear to me what belongs where anymore
<Ericson2314>
I'd say it depends on the fix, some of the ones ought to be in all-packages
<LnL>
fetchurl is a good example
<Ericson2314>
there was some oxij pr doing a thing with that like a year ago?
<LnL>
so instead of having a stage with fetchurl = fetchurlBoot there are a whole bunch of overrides (since it's not for self in this case) in the fetchurl import
<Ericson2314>
LnL: do you mean a1fec8667dceac682f4cd5deeb9dff28fcee5e37 ?
<LnL>
yeah, alltho fetchurlBoot was already a thing before
<LnL>
but what I was thinking is, instead of this, isn't there a connection between buildPackages and the previous stage?
<Ericson2314>
LnL: so for the native boostrapping stages it *doesn't*
<Ericson2314>
and that's a real shame
<Ericson2314>
we need to completely redo the bootstrapping cross-style
<Ericson2314>
and then we will out of the box leverage `buildPackages` and that will be sooooo much nicer
<LnL>
so when eg. curl is used as a nativeBuildInput it can be taken from the previous stage, resolving the cycle between fetchurl and curl automatically
<Ericson2314>
LnL: basically
<Ericson2314>
it's perfectly fine to use `fetchurlBoot` as much as we want in that first stage as long as it doesn't make it to the main stage
<Ericson2314>
we also need to use allowedRequisites / disallowedRequsites so catch things early
<LnL>
the darwin stdenv does that
<Ericson2314>
great!!
<Ericson2314>
I didn't know that
<LnL>
and fetchurlBoot doesn't work for things like fetchzip/fetchpatch so those need to use the final one
<Ericson2314>
yeah eventually I hope `mkDerivation` does it accross the bord
<Ericson2314>
LnL: we should probably have like a fetchurlWithExtras or something
peel has quit [Ping timeout: 252 seconds]
kalbasit has quit [Ping timeout: 272 seconds]
<Ericson2314>
That is the same in the end, but different earlier
mpickering has quit [Ping timeout: 248 seconds]
carter has quit [Ping timeout: 264 seconds]
<LnL>
right
<Ericson2314>
that would be much more declarative
teehemkay has quit [Ping timeout: 245 seconds]
<Ericson2314>
depend on what you need; don't guess what the bootstrapping hjinx are
manveru has quit [Ping timeout: 264 seconds]
hamishmack has quit [Ping timeout: 246 seconds]
rizary_ has quit [Ping timeout: 272 seconds]
<LnL>
yeah that's currently a bit of a mess
peel has joined #nix-darwin
kalbasit has joined #nix-darwin
mpickering has joined #nix-darwin
hamishmack has joined #nix-darwin
abathur has joined #nix-darwin
manveru has joined #nix-darwin
<LnL>
so what would it take to make this happen?
<LnL>
there are a few parts of this like splice.nix that are pretty much magic to me for the moment
<Ericson2314>
LnL: so I think we should work on a new bootstrap
<Ericson2314>
all strictDeps
<Ericson2314>
from musl
<Ericson2314>
and with clang
<Ericson2314>
and then we take what we learned and apply it to the existing ones
<Ericson2314>
and linux or some other free software OS because macos is harder
<LnL>
right, I want this to cleanup the darwin stuff since it's much more complex than linux
<LnL>
but starting with something simpler is probably a good idea
mpickering has quit [Ping timeout: 265 seconds]
<Ericson2314>
(if non linux "musl" can mean something simple, ideally statically linked)
<Ericson2314>
I think @matthewbauer and I would both be interested in working with you on this
<Ericson2314>
I do feel bad structuredAttrs is started but unfinished before starting another Big Project (tm)
<Ericson2314>
but other than that, yeah been waiting to do this for a whlie
<Ericson2314>
and Matt got the llvm cross stuff in place
manveru has quit [Ping timeout: 272 seconds]
<LnL>
cool
<LnL>
have to go now, back in ~2h
<Ericson2314>
ok nw that was me 2 hours ago!
<LnL>
:)
mpickering has joined #nix-darwin
virus_dave has quit [Quit: virus_dave]
virus_dave has joined #nix-darwin
dhess has joined #nix-darwin
<dhess>
Is it kosher to mention job opportunities in here?
<gchristensen>
dhess: so far our "policy" has been yeah if you're polite, not spammy, and it is a direct hire thing (ie: not a recruiter)
<dhess>
ok cool :)
<dhess>
I'm hiring soon for a position in the UK. The job will be Nix-focused, with an emphasis on improving Nixpkgs on macOS. It'll also involve some NixOps, some general Nixpkgs work, tooling for other developers, and a bit of Haskell (but Haskell knowledge is not a requirement).
<dhess>
Most of the work will just be working on Nix and Nixpkgs, and all of that work will be open source and hopefully accepted into upstream.
<dhess>
If anyone here is interested, you can contact me via GitHub (@dhess)!
<dhess>
also feel free to refer anyone you know.
johnw has quit [Remote host closed the connection]
<dhess>
I'll have formal job postings on the usual places in the next few weeks, but I thought I'd mention it here first.
philr has joined #nix-darwin
abathur has quit [Ping timeout: 272 seconds]
<LnL>
Ericson2314: so for now I still have some extra free time to mess with stuff, if you have some ideas on how to approach this I could hack on it for a bit
<Ericson2314>
dhess: Can consultancies apply :)
<gchristensen>
dhess: if you can publish that somewhere, I'd be happy to share it around
<__monty__>
dhess: Much experience required?
virus_dave has quit [Quit: virus_dave]
virus_dave has joined #nix-darwin
<dhess>
Ericson2314: this is for a full-time hire.
<dhess>
gchristensen: I'm not quite ready to make it widely public, need to flesh out the web site etc first. But I will let you know when the time comes, certainly! Thanks!
<dhess>
__monty__: no not particularly. Anyone who's hanging out here probably has enough experience already.
<dhess>
I am willing to/want to spend time and resources on whatever training is required.
<dhess>
Ericson2314: however it's possible a consultancy could help out. Link?
<gchristensen>
cool, lmk
philr has quit [Ping timeout: 268 seconds]
virus_dave has quit [Ping timeout: 265 seconds]
virus_dave has joined #nix-darwin
<Ericson2314>
dhess: oh well!
<Ericson2314>
good luck :)
<dhess>
Thanks! But as I mentioned, a consultancy might be able to help out, with other various tasks. I assume you're the consultant?
<dhess>
actually cross-compiling for iOS will eventually be critical and I think you would be perfect for that :)