<Sonarpulse> bgamari: ah there is a try-eval in splice.nix
<Sonarpulse> I don't think its good enough
<bgamari> hmm
* bgamari looks up the semantics of tryEval
<bgamari> huh, it's undocumented
<bgamari> how mysterious
<bgamari> well, I guess it's obvious enough
<Sonarpulse> bgamari: so I asssume that the default value fails
<Sonarpulse> if anything spliced fails
<Sonarpulse> but here only the native one fails
<Sonarpulse> best to just get rid of that assumption
<Sonarpulse> so make all the spliced values fallback on {} if eval fails
<Sonarpulse> ({} being the union identity)
<bgamari> right
<Sonarpulse> but to be really fancy
<Sonarpulse> actually not all values
<Sonarpulse> bgamari: hmm i am a bit hazy now
<Sonarpulse> splicing with divergence is very odd
<bgamari> yes, this all seems quite fairly subtle
<Sonarpulse> the convenient thing of a diverging value with mayb-converging splice fields isn't so avaible
<Sonarpulse> a workaround
<Sonarpulse> is callPackage ({ pkgs }: pkgs.glibcCross) {}
<Sonarpulse> that should be fine?
<bgamari> perhaps?
<bgamari> the reference is going away anyways
<bgamari> seems to work
<Sonarpulse> bgamari: fixed
<bgamari> now I just need to figure out the crti.o issue that my branch introduced in the gcc expression
<Sonarpulse> bgamari: the value* shouldn't have "or {}" definitions
<bgamari> ahh
<Sonarpulse> instead getOutputs should have a try-eval
<Sonarpulse> the or {} was like half-assed try eval
<bgamari> try
<bgamari> right
<Sonarpulse> for actually making the splice attrs
<Sonarpulse> we never hit the the missing key case
<Sonarpulse> cause the optional
<Sonarpulse> so the `or {}` was super misleading
<Sonarpulse> for outputs the splice *function* (rather than extra attrs binding operation) does have {} as identity
<Sonarpulse> and so then, and only then, should the {} fallback be used for sake of any non-diverging attrs
laggy_wifi has joined joined #nixos-dev
* bgamari bisects his regression
<laggy_wifi> hai
phreedom has quit [(Remote host closed the connection)]
laggy_wifi_ has joined joined #nixos-dev
laggy_wifi has quit [(Read error: Connection reset by peer)]
Sonarpulse has quit [(Ping timeout: 240 seconds)]
mbrgm has quit [(Ping timeout: 248 seconds)]
mbrgm has joined joined #nixos-dev
orivej has quit [(Ping timeout: 248 seconds)]
<disasm> sorry I haven't been around much... work and life kinda got in the way. I have an annual review at work next week and one of my asks I put on the self assessment was 5-10 hours a week to work on improving nixos, so hopefully that gets approved.
hl has quit [(Ping timeout: 245 seconds)]
pstn has quit [(Ping timeout: 240 seconds)]
moredread[m] has quit [(Ping timeout: 257 seconds)]
florianjacob has quit [(Ping timeout: 257 seconds)]
nocent has quit [(Ping timeout: 252 seconds)]
olejorgenb[m] has quit [(Ping timeout: 252 seconds)]
peterhoeg has quit [(Ping timeout: 240 seconds)]
sphalerite has quit [(Ping timeout: 240 seconds)]
rycee has quit [(Ping timeout: 255 seconds)]
hedning[m] has quit [(Ping timeout: 255 seconds)]
adisbladis[m] has quit [(Ping timeout: 251 seconds)]
stites[m] has quit [(Ping timeout: 250 seconds)]
copumpkin has quit [(Ping timeout: 264 seconds)]
mbrgm has joined joined #nixos-dev
infinisil has joined joined #nixos-dev
pbogdan has joined joined #nixos-dev
shlevy has joined joined #nixos-dev
Nadrieril has joined joined #nixos-dev
aszlig has joined joined #nixos-dev
andi- has joined joined #nixos-dev
mingc has joined joined #nixos-dev
Profpatsch has joined joined #nixos-dev
GlennS has joined joined #nixos-dev
mbrgm is now known as Guest63896
dtzWill has joined joined #nixos-dev
hiberno has joined joined #nixos-dev
stqism has joined joined #nixos-dev
MoreTea has joined joined #nixos-dev
yorick has joined joined #nixos-dev
clever has joined joined #nixos-dev
rsa has joined joined #nixos-dev
aminechikhaoui has joined joined #nixos-dev
layus has joined joined #nixos-dev
capisce has joined joined #nixos-dev
Guest63896 has quit [(Ping timeout: 240 seconds)]
mbrgm_ has joined joined #nixos-dev
laggy_wifi_ has joined joined #nixos-dev
adisbladis has joined joined #nixos-dev
{^_^} has joined joined #nixos-dev
mbrgm_ is now known as mbrgm
FRidh[m] has joined joined #nixos-dev
hedning[m] has joined joined #nixos-dev
pstn has joined joined #nixos-dev
<fpletz> disasm: same :)
orivej has joined joined #nixos-dev
FRidh[m] has quit [(Remote host closed the connection)]
pstn has quit [(Read error: Connection reset by peer)]
hedning[m] has quit [(Read error: Connection reset by peer)]
florianjacob has joined joined #nixos-dev
florianjacob has quit [(Remote host closed the connection)]
FRidh has joined joined #nixos-dev
florianjacob has joined joined #nixos-dev
ma27 has joined joined #nixos-dev
FRidh has quit [(Quit: Konversation terminated!)]
hedning[m] has joined joined #nixos-dev
regnat[m] has joined joined #nixos-dev
sphalerite has joined joined #nixos-dev
grahamc has joined joined #nixos-dev
olejorgenb[m] has joined joined #nixos-dev
hl has joined joined #nixos-dev
stites[m] has joined joined #nixos-dev
nocent has joined joined #nixos-dev
pstn has joined joined #nixos-dev
copumpkin has joined joined #nixos-dev
adisbladis[m] has joined joined #nixos-dev
peterhoeg has joined joined #nixos-dev
rycee has joined joined #nixos-dev
FRidh[m] has joined joined #nixos-dev
moredread[m] has joined joined #nixos-dev
orivej has quit [(Ping timeout: 255 seconds)]
<LnL> niksnut: are you planning to replace the build hooks with something that talks the worker protocol or do you want to get rid of them completely?
phreedom has joined joined #nixos-dev
orivej has joined joined #nixos-dev
ma27 has quit [(Quit: WeeChat 1.9.1)]
<sphalerite> What's up with this failure? https://hydra.nixos.org/build/65315352/nixlog/18
<sphalerite> it seems to be keeping 17.09 from updating
<sphalerite> is it a known issue/
<gchristensen> huh
<sphalerite> actually same for nixos-unstable
<sphalerite> but the -small channels are fine
<gchristensen> nice Dezgeg
ma27 has joined joined #nixos-dev
orivej_ has joined joined #nixos-dev
orivej has quit [(Ping timeout: 248 seconds)]
ma27 has quit [(Ping timeout: 246 seconds)]
ma27 has joined joined #nixos-dev
ma27 has quit [(Ping timeout: 255 seconds)]
xvapx has joined joined #nixos-dev
<domenkozar> any tips how to debug cycle references?
<LnL> I usually just build with --keep-failed and grep around in the outputs
<domenkozar> aight
<LnL> are you looking at the haskell multiple outputs issue?
JosW has joined joined #nixos-dev
<domenkozar> LnL: ye
<domenkozar> gchristensen: I might be able to reduce elm closure soon :)
<domenkozar> ~tomorrow
<LnL> I know what's going on there, out propagates bin but binaries have rpath references to out because of the links hack
<LnL> not sure how that's handled on linux
<domenkozar> LnL: I'm currently debugging linux hevm build
<domenkozar> patching script interpreter paths in /nix/store/n7x771ibs25n1lffrcn7mbrw9cl9asjg-hevm-0.8.5-etc
<domenkozar> checking for references to /tmp/nix-build-hevm-0.8.5.drv-0 in /nix/store/n7x771ibs25n1lffrcn7mbrw9cl9asjg-hevm-0.8.5-etc...
<domenkozar> cycle detected in the references of ‘/nix/store/3l7i7yjq4chb0iach10vyvnnxndga76v-hevm-0.8.5’
<domenkozar> I'm fresh to this cycles, does that mean /nix/store/3l7i7yjq4chb0iach10vyvnnxndga76v-hevm-0.8.5 refers to itself?
<LnL> ah, that's something else
<domenkozar> that sounds OK to me, so I'm missing something
<LnL> the etc output has references to out I think
<LnL> and out probably propagates etc, similar to bin
<domenkozar> etc doesn't reference out
<domenkozar> $out does references $etc
<domenkozar> -s
<LnL> hmm, how did you check?
<domenkozar> with grep
<LnL> just grep -r $out $etc
<domenkozar> grep -R /nix/store/3l7i7yjq4chb0iach10vyvnnxndga76v-hevm-0.8.5 /nix/store/n7x771ibs25n1lffrcn7mbrw9cl9asjg-hevm-0.8.5-etc
<LnL> not sure then
JosW has quit [(Quit: Konversation terminated!)]
<gchristensen> nice, domenkozar!
<sphalerite> gchristensen: I have a mac that I don't use very actively, could contribute some building to GrahamcOfBorg if you're interested?
xvapx has quit [(Quit: xvapx)]
xvapx has joined joined #nixos-dev
<bgamari> huh
<bgamari> what do you all suppose `echo "$(< /etc/issue || true)"` would do?
<bgamari> once you have your guess, try it and be surprised
<LnL> nothing?
<bgamari> yep
stqism is now known as stqism_
<bgamari> I'll admit I don't see why
<bgamari> removing the || true makes it behave as expected
<samueldr> was it part of a refactor to remove useless uses of cat?
<bgamari> I don't know which refactor this was but it sounds quite plausible
<bgamari> the GCC builder uses this idiom
<bgamari> and it breaks
<LnL> I think the stdin gets piped to true
<bgamari> LnL, I don't think so
<bgamari> replace true with cat
<LnL> that gives the contents of the file for me
<bgamari> it seems that the redirection is just eliminated
<bgamari> oh?
<bgamari> hmm
<bgamari> odd
<bgamari> it prints nothing for me
<bgamari> echo "$(< /etc/issue || cat)", right?
<LnL> echo "$(< /tmp/foo || cat)" # => foo
<bgamari> huh
* bgamari has no explanation for this
<samueldr> is it in gcc or nixpkgs? if it's in gcc, it might be for non-bash sh shells?
<bgamari> samueldr, nixpkgs
<LnL> bgamari: oh wait, it doesn't in bash
<samueldr> doesn't seem to do anything special using -o pipefail or -e
<samueldr> where is it in nixpkgs?
<bgamari> samueldr, pkgs/development/compilers/gcc/builder.sh
<samueldr> it it's used by darwin's bash, it's 3.x, which might have different behaviour?
<samueldr> if*
<bgamari> mm
<bgamari> is replacing this with $(cat file || true) an acceptable option?
xvapx has quit [(Quit: xvapx)]
* bgamari doesn't know a way to do this without cat
<LnL> what's that supposed to do, I've only used "$(foo)" || true
<samueldr> the question would be: is the `|| true` necessary?
<sphalerite> yeah I think it is, since foo=$(false) returns 1
<samueldr> sphalerite: that's for a pipe with a command
<samueldr> for a file not found, from my non-scientific tests, it seems to always be 0
Sonarpulse has joined joined #nixos-dev
<samueldr> test might be wrong since I'm not assigning stuff
<sphalerite> well that's significantly more thorough than what I've done so… I believe you :D
<samueldr> ah!, assignation is different
<sphalerite> oh yeah I think that might make a difference actually
<sphalerite> I've said it before, I'll say it again… shell is insane
<samueldr> it sure is, but fixing all that means breaking decades of *defined* and *undefined* insanity :(
<sphalerite> do you know about http://www.oilshell.org/ ?
<samueldr> yes, afaiui it can't replace existing shells for existing scripts, but it does look like it tries to stay sane
<sphalerite> well the goal of osh is to be able to compile posix sh/bash to oil
<samueldr> oh, first goal is "implement a bash-compatible shell"... I must be wrong then
<sphalerite> AFAIU
ma27 has joined joined #nixos-dev
stqism_ is now known as stqism
<bgamari> Sonarpulse, I'm once again able to cross compile
<bgamari> we'll see in a few minutes whether I can cross gcc itself
<bgamari> Sonarpulse, do we want to use --enable-bootstrap when building gcc where build != host == target
orivej_ is now known as orivej
phreedom has quit [(Quit: No Ping reply in 180 seconds.)]
phreedom has joined joined #nixos-dev
ma27 has quit [(Ping timeout: 255 seconds)]
<bgamari> Sonarpulse, it seems that the host CFLAGS are being passed to the build CC during the cross gcc build
<Sonarpulse> bgamari: glad its working!
<bgamari> I think the gcc builder is rather wrong though
<bgamari> in particular I think this should be looking at NIX_BUILD_CC, not NIX_CC
<Sonarpulse> bgamari: it does both
<Sonarpulse> in the loop
<Sonarpulse> OH that builder
<bgamari> which loop is this?
<Sonarpulse> yeah it's a damn mess
<Sonarpulse> bgamari: so in old cross
<Sonarpulse> NIX_CC was always the native compile
<bgamari> yes it is
<Sonarpulse> so just _FOR_BUILD for cross
<bgamari> ahh
<Sonarpulse> this was the source of much conditional bullshit
<Sonarpulse> :)
<bgamari> ahh, I now see the commit where you fixed this
<bgamari> good, I think we are getting places then
<Sonarpulse> and then again for bintools wrapper in that PR
<Sonarpulse> is AR not defined??
<bgamari> hmm
<bgamari> I have hacked around numerous of these cases by defining it manually
<bgamari> so unless you have defined it globally probably not
<Sonarpulse> bgamari: wow, it should be defined in bintools wrapper's setup hook
<Sonarpulse> was this just some gaping oversight of mine all along??....
<Sonarpulse> huh I see it there
<Sonarpulse> bgamari: as to the --enable-bootstrap stuff, I didn't touch that
<bgamari> Sonarpulse, hmm
<Sonarpulse> maybe it need emulation?
<bgamari> I have disabled bootstrap for all cases except build==target==host for now
<Sonarpulse> at the very least, that speeds things up!
<Sonarpulse> ok weird my build is still going
<Sonarpulse> locally of cross-elegantn
<Sonarpulse> oh it was gawk that failed, not gcc hmm
<Sonarpulse> bgamari: on a side note
<Sonarpulse> the mingw stuff fails with "configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES."
<Sonarpulse> in gccCrossStageFinal