abathur has joined #nix-darwin
abathur has quit [Ping timeout: 240 seconds]
abathur has joined #nix-darwin
abathur has quit [Ping timeout: 260 seconds]
abathur has joined #nix-darwin
eraserhd has quit [Ping timeout: 268 seconds]
abathur has quit [Ping timeout: 272 seconds]
philr has joined #nix-darwin
Chiliparrot has joined #nix-darwin
__monty__ has joined #nix-darwin
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 :)
<dhess> now that I think of it
virus_dave has quit [Quit: virus_dave]
__monty__ has quit [Quit: leaving]