gchristensen changed the topic of #nixos-dev to: NixOS Development (#nixos for questions) | https://hydra.nixos.org/jobset/nixos/trunk-combined https://channels.nix.gsc.io/graph.html | 18.03 release managers: fpletz and vcunat
kmicklas has quit [Ping timeout: 268 seconds]
Lisanna has joined #nixos-dev
mbrgm has quit [Ping timeout: 265 seconds]
mbrgm has joined #nixos-dev
pxc has joined #nixos-dev
Lisanna has quit [Remote host closed the connection]
infinisil has quit [Ping timeout: 240 seconds]
infinisil has joined #nixos-dev
pxc has quit [Ping timeout: 265 seconds]
pxc has joined #nixos-dev
pie__ has quit [Ping timeout: 276 seconds]
ma27 has joined #nixos-dev
ma27 has quit [Ping timeout: 276 seconds]
MichaelRaskin has quit [Quit: MichaelRaskin]
zybell_ has quit [Ping timeout: 240 seconds]
orivej has joined #nixos-dev
zybell_ has joined #nixos-dev
orivej_ has joined #nixos-dev
orivej has quit [Ping timeout: 260 seconds]
goibhniu has joined #nixos-dev
pxc has quit [Ping timeout: 260 seconds]
pxc has joined #nixos-dev
<Mic92> do we backport minor nodejs upgrades? (9.10.1 -> 9.11.1)
<adisbladis[m]> Mic92: Typically we do. If you want me to I can do it (I'm the one who usually does it)
<adisbladis[m]> Actually I'll get on that right now anyway.
<Mic92> adisbladis[m]: ok. go ahead
pxc has quit [Ping timeout: 276 seconds]
orivej has joined #nixos-dev
orivej_ has quit [Ping timeout: 256 seconds]
__Sander__ has joined #nixos-dev
ma27 has joined #nixos-dev
ma27 has quit [Client Quit]
ma27 has joined #nixos-dev
orivej has quit [Ping timeout: 245 seconds]
orivej has joined #nixos-dev
ciil has quit [Quit: leaving]
<LnL> urgh, how do you kill the substitutes cache again?
ciil has joined #nixos-dev
<aminechikhaoui> kill the substitution or the disk cache ?
<LnL> the cache
<LnL> there's a binary-caches-*.sqlite somewhere
<aminechikhaoui> check ~/.cache/nix/
<LnL> yeah that's what I thought but .cache is empty
<LnL> oh root
<aminechikhaoui> if you're on nix master there are also few options to disable that now
pie__ has joined #nixos-dev
__Sander__ has quit [Ping timeout: 260 seconds]
__Sander__ has joined #nixos-dev
orivej_ has joined #nixos-dev
orivej has quit [Ping timeout: 256 seconds]
zybell_ has quit [Read error: Connection reset by peer]
orivej_ has quit [Ping timeout: 265 seconds]
zybell_ has joined #nixos-dev
<niksnut> hm, why does release-18.03 have a newer version of e2fsprogs than master?
<Dezgeg> the upgrade is still stuck in staging
jtojnar has joined #nixos-dev
<niksnut> ?
<niksnut> oh
<niksnut> I see it was cherry-picked in the wrong direction
jtojnar_ has joined #nixos-dev
jtojnar has quit [Ping timeout: 264 seconds]
jtojnar_ is now known as jtojnar
__Sander__ has quit [Ping timeout: 260 seconds]
kmicklas has joined #nixos-dev
<globin> niksnut: packages-unstable.json on the website isn't updating again
<niksnut> probably because the channel is broken?
phreedom has quit [Ping timeout: 268 seconds]
gleber_ has quit [Quit: ~]
phreedom has joined #nixos-dev
gleber_ has joined #nixos-dev
cbarrett has quit [Quit: ~]
cbarrett has joined #nixos-dev
elvishjerricco has quit [Quit: ~]
elvishjerricco has joined #nixos-dev
terrorjack has quit [Quit: ~]
vdemeester` has quit [Quit: ~]
vdemeester` has joined #nixos-dev
terrorjack has joined #nixos-dev
<globin> niksnut: unstable updated 5 days ago, 18.03 2 days ago, but the json is from Mar 24
{^_^} has quit [Remote host closed the connection]
{^_^} has joined #nixos-dev
{^_^} has quit [Changing host]
{^_^} has joined #nixos-dev
<Sonarpulse> Dezgeg: yeah i guess staging is jammed full of the automatic updates?
<Sonarpulse> shlevy: so at the very least we need the intensional store because Tweag using Nix + Bazel is rightfully an embarrassment for Nix :D
<shlevy> :P
jtojnar_ has joined #nixos-dev
<Sonarpulse> shlevy: and sometime (after I get lunch at least) I need to explain my very convoluted idea for drvs for delayed eval for inport for derivation along with drvs than produce drvs
<Sonarpulse> for perfect --dry-run
<shlevy> Sonarpulse: :) We should probably have a call at some point to sync up convoluted ideas
<Sonarpulse> hehe yeah
<Sonarpulse> drvs that produce drvs is sort of my idea for a recursive nix alternative
jtojnar has quit [Ping timeout: 256 seconds]
jtojnar_ is now known as jtojnar
<shlevy> You should talk to taktoa. I tried to convince him we couldn't avoid recursive nix altogether and I think he's now on board after a summer trying to work around it :P
<shlevy> But yeah drvs that produce drvs (and then rewrite up the chain) is fundamentally my idea for recursive nix
<shlevy> Where you split the phases can be configurable in principle
<Sonarpulse> shlevy: oh good
<Sonarpulse> yeah drvs that produce drvs mean no blocking on other builds
<Sonarpulse> a blocking which I'd fine very conceptually suspect and probably not good for our infra anyways
<shlevy> Hmm say more?
<shlevy> What do you mean by blocking here?
<Sonarpulse> if you nix-build in a nix-build
<Sonarpulse> then you are like a non-top call stack frame waiting for that build to finish
<Sonarpulse> drvs producing drvs is more cps
<Sonarpulse> you make your continuation drv
<shlevy> Ah yeah. My design won't disallow that in principle but it's not a nice way to do it :)
<shlevy> And you don't get the nice rewriting properties
<Sonarpulse> rewriting?
<shlevy> So, obviously we're not to far away from a world where glibc uses recursive nix instead of Make. Should you rebuild the world because someone added a comment in nixpkgs?
<Sonarpulse> oh yeah intensional store plus drv->drv helps with that
<shlevy> Don't need intensional store
<Sonarpulse> for me they are very related
<Sonarpulse> in that "forwarding" one drv to another
<Sonarpulse> is just like substituting drvs hash of deps with actual builds
<Sonarpulse> ok g2g food
<shlevy> a.drv has b.drv as an input. b.drv replaces itself with b'.drv. a.drv gets rewritten to a'.drv that depends on b'.drv. Everything's already built, everyone is happy
jtojnar has quit [Quit: jtojnar]
pie__ has quit [Read error: Connection reset by peer]
pie_ has joined #nixos-dev
goibhniu has quit [Ping timeout: 264 seconds]
pxc has joined #nixos-dev
pxc has quit [Ping timeout: 260 seconds]
<Sonarpulse> shlevy: right that sort of input substitution is shared with intensional store
<Sonarpulse> b.drv -> b'.drv -> b''.drv - ..... -> content addressable of b's output
<Sonarpulse> (agree that is totally separate from the intensional store self-reference rewriting stuff)
cstrahan has joined #nixos-dev
<cstrahan> Sonarpulse: Hey, regarding that subtractLists comment -- what exactly did you mean there?
MichaelRaskin has joined #nixos-dev
<thoughtpolice> https://github.com/NixOS/nixpkgs/pull/38698 is up in case anyone wants to do a concrete review
<zybell_> in postgresql.nix you generate a file and mark it as Generated File (not your change, was before) On #guix a user couldn't figure out why edits were missing. So I think: while your at it, could you please insert that the file is Generated by postgresql.nix (with full path)? That could help such users.
<Sonarpulse> cstrahan: it seems odd to me that we are subtracting lists twice?
<Sonarpulse> I mean probably not a big deal
<cstrahan> Sonarpulse: in one case we're checking if the flags aren't in the set of those we expect, and in the other we're removing the disabled flags from the (default + explicitly enabled) flags.
<cstrahan> If we can do that in one go, that would be cool, but I don't see how we can do that.
<cstrahan> At any rate, 99% of the time a package will leave things at their defaults, in which case both expressions are never evaluated.
<Sonarpulse> cstrahan: yeah
<Sonarpulse> I think I'm about to say worry about it post merge :)
<Sonarpulse> let me read once more for <1 minute :)
<cstrahan> Correction: erroneousHardeningFlags will still be evaluated, but it'll be O(1) (or at least it should be -- if the second operand is [], it should immediately return [])
<Sonarpulse> cstrahan: oops somebody else pinged me
<Sonarpulse> just merge it :)
<Sonarpulse> I'll approve
<Sonarpulse> cstrahan: btw, and now worries if you are totally exhausted with *-wrapper, but would you be interested in helping abstract things?
<Sonarpulse> I don't regret splitting cc-wrapper and binutils-wrapper
<Sonarpulse> but I also want to add a pkg-config-wrapper
<Sonarpulse> and well there'd be decent duplication of things then (though not hardening)
<Sonarpulse> shlevy: yeah especially with all these automatic updates I really think we need separate staging for refactors and version bumps
<Sonarpulse> refactors are more likely to cause superficial breakage, but version bumps cause deeper breakage when they do
<Sonarpulse> cstrahan: you're approved, but I can merge too if you like
<zybell_> in postgresql.xml a comment start is removed, but not the end (can be missing from start,can be missed by me)
<zybell_> that was all I found
<Sonarpulse> cstrahan: oh wait found another thing
<Sonarpulse> cstrahan: it's minor though
<Sonarpulse> cstrahan: double checking
<Sonarpulse> if we remove it
<Sonarpulse> we can move allHardeningFlags and hardeningDisabledMap to just the if NIX_DEBUG "scope" below, right?
<Sonarpulse> cstrahan: I can make a PR against PR with that
<cstrahan> Sonarpulse: I think that sounds right. I'll make that change and push it up for your review.
<Sonarpulse> cstrahan: also I wonder what happens if you unset thing that is unset
<Sonarpulse> let me check
<cstrahan> right -- hopefully a nop, rather than a failure.
<cstrahan> should I inline allHardeningFlags at its use site, or keep the var?
<Sonarpulse> cstrahan: yeah I think move it to the NIX_DEBUG
<Sonarpulse> I liked that with the thing I told you months ago
<Sonarpulse> the disabled map was no longer part of main code just debugging
<Sonarpulse> but the debug code was scattered about
<Sonarpulse> now we can mke it just 1 or 2 if NIX_DEBUG!
<Sonarpulse> cstrahan: I checked in bash `set -x; declare -A asdf; asdf[asdf]=1; echo ${asdf[asdf]}; unset -v asdf[asdf]; echo ${asdf[asdf]}`
<Sonarpulse> the unset is fine
<Sonarpulse> only the echo fails
<Sonarpulse> so you can remove the `.... || continue` in that loop too
<cstrahan> was just about to ask, after I noticed that line.
<Sonarpulse> cstrahan: ooo and one more thing hah
<Sonarpulse> I'll just send you a diff maybe
<cstrahan> whatever is easiest for you.
<cstrahan> Sonarpulse: I noticed we have var=() in some places, and declare -A var=() in others
<Sonarpulse> cstrahan: the -A is necessary to show it is map not array in the empty case
<cstrahan> they're both equivalent, right? aside from the latter being more explicit, I figure.
<Sonarpulse> asdf=() and declare -a asdf=() are equivalent
<Sonarpulse> with small -a
<cstrahan> Sonarpulse: oh, right -- a little tired here :)
<cstrahan> we're using associative arrays as a poor man's set, whereas hardeningCFlags is supposed to be just a plain old array.
<cstrahan> I pushed up a commit with those changes
<Sonarpulse> cstrahan: cool thanks!
<Sonarpulse> I'll go stash pull pop
<Sonarpulse> on what I got to double check
<cstrahan> Cool. Ping me whenever
orivej has joined #nixos-dev
<Sonarpulse> look at them commit by commit
<Sonarpulse> cause the reindent makes it hard to read and is the second commit
taktoa has quit [Remote host closed the connection]
<gchristensen> ?w=1
phreedom has quit [Remote host closed the connection]
phreedom has joined #nixos-dev
<cstrahan> Sonarpulse: merged your PR. running a sanity check build or two, and then I'll ask you to merge, if you don't mind.
<Sonarpulse> cstrahan: awesome!
orivej has quit [Ping timeout: 256 seconds]
ma27 has quit [Ping timeout: 245 seconds]
ma27 has joined #nixos-dev
pxc has joined #nixos-dev
phreedom has quit [Remote host closed the connection]
phreedom has joined #nixos-dev
propumpkin has joined #nixos-dev
contrapumpkin has quit [Ping timeout: 264 seconds]
mbrgm has quit [Ping timeout: 240 seconds]
mbrgm has joined #nixos-dev
ma27 has quit [Ping timeout: 245 seconds]
Sonarpulse has quit [Quit: Leaving]
pxc has quit [Ping timeout: 256 seconds]
pxc has joined #nixos-dev
Jackneill has quit [Read error: Connection reset by peer]
Jackneill has joined #nixos-dev