hekkaidekapus_ has quit [Ping timeout: 268 seconds]
__monty__ has joined #haskell.nix
hexagoxel has quit [Ping timeout: 256 seconds]
hexagoxel has joined #haskell.nix
<ocharles>
infinisil: this is perfect! Just what I was hoping to do
hekkaidekapus} has joined #haskell.nix
hekkaidekapus{ has quit [Ping timeout: 268 seconds]
<ocharles>
Am I correct in understanding that Haskell.nix already uses gold for linking when possible?
<michaelpj>
ocharles: yeah we use it on linux
<ocharles>
cool, so no need for me to manually set that up :)
<ocharles>
Almost done converting our codebase to use Haskell.nix. Didn't quite anticipate it taking a week, but ah well
<ocharles>
One of those projects where 90% is easy, but that last 10%... oof.
<michaelpj>
yeah
<michaelpj>
who knew that building Haskell packages was so complicated...
<ocharles>
Nix constantly rebuilding things because you breathed on something doesn't help
<michaelpj>
you've got your source filtering set up properly, right?
<michaelpj>
helps a lot
<ocharles>
Afaik. It's more just the multiple minute evaluation before anything happens. Once this is done that will hardly matter as lorri will cache it. I think it's just the churn of me working directly on this bit
<michaelpj>
is that with materializaion?
<ocharles>
No, I haven't tried that yet
<ocharles>
I'm still nervous to do that. Right now CI takes ~3min to evaluate then gets building. I can live with that
<ocharles>
And all devs use some form of shell caching (and our shell tends to be fairly stable)
fendor has quit [Remote host closed the connection]
<ocharles>
I think I'm just moaning, don't pay me too much attention :)
fendor has joined #haskell.nix
<michaelpj>
it makes a fairly significant difference because your'e not waiting for the `cabal configure` call
<michaelpj>
anyway, it's there if you want it
<ocharles>
I'm just nervous about that falling out of sync and surprising our devs. I don't want everyone to have to have deep intimate knowledge of haskell.nix for when things go wrong
<ocharles>
As long as I can have CI flag "hey, this stuff is wrong" then I'm happy. I can picture the hard stuff happening at build time, not evaluation, and then doing a directory diff - that would work nicely
<michaelpj>
this is what the `checkMaterialization` flag is for. You can set that in your CI - then the CI will check it but your devs won't
<ocharles>
Right, and that only costs build time, not evaluation time?
<michaelpj>
no, it costs eval time - but only in CI
<ocharles>
I could of course just try it :)
<ocharles>
Ah, right
<michaelpj>
hm, interesting idea though
<michaelpj>
maybe we could continue assuming it's correct for evaluation, but give you a build-time task that will check if its' wrong
<ocharles>
Yea, that's what I'm thinking. So yea, if things are wrong the CI build might be weird, but you get this obvious canary
<michaelpj>
I like the idea, it would probably require some reworking, though. At the moment it does get checked at eval time, though
<michaelpj>
but "materialization+checking" is no worse than "no materialization"!
<ocharles>
well, CI is the bit that I don't want to be slow :)
<ocharles>
I just find it annoying when you've made a dumb typo that gets caught in a 5s build but it took 3 minutes to get to that ponit
<michaelpj>
in the Haskell? or in the Nix? there's not really a solution for the Nix, unfortunately... except materialization :p
<ocharles>
In Nix. And sure, but this is why I need materialization and a check for materialization that doesn't impact evaluation time
<ocharles>
But it sounds like that doesn't exist today (which is fine, I can contribute it!)
<michaelpj>
yeah, I'm keen! I would love to not pay that penalty in our CI any more :D
<ocharles>
Ok, finally got green on CI. I'll try materialization everywhere now
carter has quit [Ping timeout: 264 seconds]
gluegadget has quit [Ping timeout: 246 seconds]
lally has quit [Ping timeout: 265 seconds]
manveru has quit [Ping timeout: 272 seconds]
hamishmack has quit [Ping timeout: 272 seconds]
tnks has quit [Read error: Connection reset by peer]
blackriversoftwa has quit [Read error: Connection reset by peer]
angerman has quit [Read error: Connection reset by peer]
typetetris has quit [Write error: Connection reset by peer]
jbetz has quit [Read error: Connection reset by peer]
ProofTechnique has quit [Read error: Connection reset by peer]
buggymcbugfix has quit [Read error: Connection reset by peer]
ajmcmiddlin has quit [Read error: Connection reset by peer]
chessai has quit [Read error: Connection reset by peer]
adamse has quit [Write error: Connection reset by peer]
mpickering has quit [Read error: Connection reset by peer]
joshmeredith has quit [Read error: Connection reset by peer]
Tritlo has quit [Write error: Connection reset by peer]
elvishjerricco has quit [Read error: Connection reset by peer]
feepo has quit [Write error: Connection reset by peer]
rizary has quit [Read error: Connection reset by peer]
dsal has quit [Read error: Connection reset by peer]
dmj` has quit [Read error: Connection reset by peer]
ajmcmiddlin has joined #haskell.nix
elvishjerricco has joined #haskell.nix
buggymcbugfix has joined #haskell.nix
blackriversoftwa has joined #haskell.nix
joshmeredith has joined #haskell.nix
jbetz has joined #haskell.nix
carter has joined #haskell.nix
hamishmack has joined #haskell.nix
tnks has joined #haskell.nix
chessai has joined #haskell.nix
Tritlo has joined #haskell.nix
dsal has joined #haskell.nix
gluegadget has joined #haskell.nix
angerman has joined #haskell.nix
lally has joined #haskell.nix
manveru has joined #haskell.nix
typetetris has joined #haskell.nix
ProofTechnique has joined #haskell.nix
dmj` has joined #haskell.nix
dmj` has quit [Ping timeout: 272 seconds]
ProofTechnique has quit [Ping timeout: 264 seconds]
mpickering has joined #haskell.nix
rizary has joined #haskell.nix
feepo has joined #haskell.nix
dmj` has joined #haskell.nix
ProofTechnique has joined #haskell.nix
adamse has joined #haskell.nix
adamse has quit [Read error: Connection reset by peer]
dmj` has quit [Read error: Connection reset by peer]
ProofTechnique has quit [Read error: Connection reset by peer]
adamse has joined #haskell.nix
dmj` has joined #haskell.nix
ProofTechnique has joined #haskell.nix
joshmeredith has quit [Read error: Connection reset by peer]
joshmeredith has joined #haskell.nix
joshmeredith has quit [Ping timeout: 264 seconds]
joshmeredith has joined #haskell.nix
fendor_ has joined #haskell.nix
fendor has quit [Ping timeout: 256 seconds]
ProofTechnique has quit [Read error: Connection reset by peer]
jbetz has quit [Read error: Connection reset by peer]
angerman has quit [Read error: Connection reset by peer]
jbetz has joined #haskell.nix
angerman has joined #haskell.nix
ProofTechnique has joined #haskell.nix
Tritlo has quit [Ping timeout: 256 seconds]
gluegadget has quit [Read error: Connection reset by peer]
dmj` has quit [Read error: Connection reset by peer]
mpickering has quit [Ping timeout: 265 seconds]
gluegadget has joined #haskell.nix
dmj` has joined #haskell.nix
mpickering has joined #haskell.nix
Tritlo has joined #haskell.nix
aveltras has joined #haskell.nix
mpickering has quit [Ping timeout: 264 seconds]
angerman has quit [Read error: Connection reset by peer]
gluegadget has quit [Ping timeout: 260 seconds]
ProofTechnique has quit [Read error: Connection reset by peer]
jbetz has quit [Read error: Connection reset by peer]
Tritlo has quit [Read error: Connection reset by peer]
dmj` has quit [Ping timeout: 260 seconds]
aveltras has quit [Ping timeout: 260 seconds]
blackriversoftwa has quit [Read error: Connection reset by peer]
dsal has quit [Read error: Connection reset by peer]
ajmcmiddlin has quit [Write error: Connection reset by peer]
chessai has quit [Read error: Connection reset by peer]
angerman has joined #haskell.nix
blackriversoftwa has joined #haskell.nix
gluegadget has joined #haskell.nix
mpickering has joined #haskell.nix
ajmcmiddlin has joined #haskell.nix
dsal has joined #haskell.nix
jbetz has joined #haskell.nix
chessai has joined #haskell.nix
Tritlo has joined #haskell.nix
ProofTechnique has joined #haskell.nix
aveltras has joined #haskell.nix
_d0t has joined #haskell.nix
dmj` has joined #haskell.nix
<_d0t>
ohai! I'm having this problem with haskell.nix. It seems to ignore data-files pragma from cabal. Is there anything I could do?
<__monty__>
_d0t: I used data-files for my Advent of Code solutions this year, with haskell.nix.
<_d0t>
__monty__: could you maybe provide a link to your code?
<_d0t>
What I'm having now is these files aren't copied to a build dir unless I manually specify every file in `extraSrcFiles` in nix.