angerman changed the topic of #haskell.nix to: https://input-output-hk.github.io/haskell.nix - alternative haskell infrastructure for nix; logs at https://logs.nix.samueldr.com/haskell.nix
o1lo01ol1o has joined #haskell.nix
o1lo01ol1o has quit [Ping timeout: 256 seconds]
mariatsji has joined #haskell.nix
mariatsji has quit [Ping timeout: 272 seconds]
mariatsji has joined #haskell.nix
mariatsji has quit [Ping timeout: 260 seconds]
mariatsji has joined #haskell.nix
o1lo01ol1o has joined #haskell.nix
__monty__ has joined #haskell.nix
<ocharles> Struggling to get https://github.com/LumiGuide/haskell-opencv/blob/master/opencv/opencv.cabal to build, when using a source-repository directive. It looks like a fairly unique case, where the subpath https://github.com/LumiGuide/haskell-opencv/tree/master/opencv has a LICENSE _symlink_ to ../LICENSE
<ocharles> It fails in the install phase because it tries to copy LICENSE, but presumably the parent directory doesn't exist. Any ideas what I can do?
<ocharles> Can I somehow adjust the install-phase to not bother looking for that file?
<ocharles> Or maybe I should not use `subdir` in my `source-repository` stanza, and instead add a custom `postUnpack` to `cd`?
<ocharles> Ok, `packages.opencv.postUnpack = "touch LICENSE";` has done the job!
<angerman> ocharles: nice hack!
<angerman> I think you are running afoul of the source clean logic.
<ocharles> Do you think? It seems like a fairly reasonable bug - Cabal checks out the top level repo, then just copies the `subdir` and forgets the rest. So now `../LICENSE` is meaningless
<ocharles> But I have no idea if that's what actually happens
<angerman> You might be correct. It's just that source clean is pretty aggressive, so things outside of what what cabal references (and git) would be thrown out as well.
<ocharles> I see. A more immediate problem I have is I can't get comp-builder.nix to use an option I've supplied in plan.nix. I have https://gist.github.com/ocharles/4aea96b673665190fb0ebee4ee44808f, and I'm doing https://gist.github.com/ocharles/9c6ce08484cc5d1917dfb9515725472a, yet that `builtins.trace hardeningDisable`is always `[]`
<ocharles> If I change my haskell.nix call to `packages.opencv.hardeningDisable = "hello"` I get: The option value `packages.opencv.hardeningDisable' in `<unknown-file>' is not of type `list of strings'
<ocharles> So I know the option is definitely being picked up correctly
<ocharles> It just doesn't seem to get added to the component argument
<angerman> let me see if hamishmack has an idea.
<ocharles> Oh wait
<ocharles> This might be magically working now...
<angerman> O_o
<ocharles> Yes... everything seems to work... oh well, time to submit a PR!
<angerman> yey! PRs!
<ocharles> I think haskell.nix might finally build all of CircuitHub now
<ocharles> I'm hoping we can change over to it, it would be really nice to have libraries build while other tests are running...
<angerman> ocharles: Let me know if you hit any additional roadblocks!
<ocharles> Will do, thanks!
<julm> ocharles: nice that postUnpack trick, I hit the same ../LICENSE problem, but since it was for a package I maintain I just copied ../LICENCE to ./LICENSE
<ocharles> huge thank you to everyone involved with this project too, it's super rad
<ocharles> julm: I am a man of many gross hacks
<julm> ^^
<ocharles> How does one run test-suites built by haskell.nix?
<ocharles> I guess I could just take the result of `components.tests.*`, is that what people typically do?
<julm> it's what I do
<ocharles> I see `"checkPhase": "notice: Tests are only executed by building the .run sub-derivation of this component."`, so yea - looks like I use the `.run` attribute of the test
<ocharles> Though while nix-build haskell.nix.nix -A ch-persistence.components.tests.tests works, nix-build haskell.nix.nix -A ch-persistence.components.tests.tests.run says: error: attribute 'run' in selection path 'ch-persistence.components.run' not found
<ocharles> So it ain't that
<ocharles> Ok, `pkgs.haskell-nix.haskellLib.check` with a package seems to do the right thing
<angerman> I'm not super happy with this test/check/api stuff. I find it's not intuitive, but I can't offer a better solution either. If someone comes along and can provide one, I'm sure it can be changed for the better.
<ocharles> As long as I'm using what is roughly idiomatic, I'm happy
<hamishmack> That message is out of date. https://github.com/input-output-hk/haskell.nix/pull/835
<ocharles> Ah, there is a top level checks attribute. But wait, what if you have a Haskell package called "checks"? ;)
<hamishmack> So try something like `ch-persistence.checks.tests` should work (it calls `haskellLib.check`)
<ocharles> oh
<ocharles> it's component level
<ocharles> cool, thanks! I will give that a try
fendor has joined #haskell.nix
luite has quit [Quit: Connection closed for inactivity]
hekkaidekapus has quit [Remote host closed the connection]
hekkaidekapus has joined #haskell.nix
o1lo01ol1o has quit [Read error: Connection reset by peer]
o1lo01ol1o has joined #haskell.nix
fendor has quit [Remote host closed the connection]
fendor has joined #haskell.nix
__monty__ has quit [Quit: leaving]
fendor has quit [Read error: Connection reset by peer]
fendor has joined #haskell.nix
mariatsji has quit [Remote host closed the connection]
mariatsji has joined #haskell.nix
mariatsji has quit [Remote host closed the connection]
o1lo01ol_ has joined #haskell.nix
o1lo01ol1o has quit [Read error: Connection reset by peer]
mariatsji has joined #haskell.nix
tchouri has joined #haskell.nix
hekkaidekapus has quit [Ping timeout: 240 seconds]
tchouri is now known as hekkaidekapus
mariatsji has quit [Remote host closed the connection]
mariatsji has joined #haskell.nix
mariatsji has quit [Read error: Connection reset by peer]
mariatsji has joined #haskell.nix
mariatsji has quit [Ping timeout: 260 seconds]
o1lo01ol_ has quit [Remote host closed the connection]
o1lo01ol1o has joined #haskell.nix
o1lo01ol1o has quit [Ping timeout: 240 seconds]
julm has quit [Ping timeout: 260 seconds]
julm has joined #haskell.nix