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
codygman has quit [Read error: Connection reset by peer]
codygman has joined #haskell.nix
<angerman> tnks: that's an interesting idea. But to be honest, I'd make tags a separate component.
<angerman> tnks: using the plugin on transitive dependencies seems like it would provide little over just geenrating the tags right away?
<tnks> angerman: the only two things I was thinking of was 1) maybe speed (maybe in the noise)... and 2) maybe TAGs against TH splices?
<angerman> hmm... th spilces... there was something that coot demoed during HiW at ICFP.
<tnks> angerman: is this coming full circle then? Because coot made the compiler plugin I linked above, right?
<angerman> lulz, yea. Sorry just waking up.
<tnks> I mean, I'm not committed using a compiler plugin because I like Nix pain puzzles. If making a separate component is easy enough, then I should probably learn how to do that.
<angerman> tnks: plugins will be tricky with cross compilation, but in general what you want is to build the plugin, then inject that intot he package databnase (this should work, by just making it a build-depends (e.g. aftifically injecting int)), and then passing --ghc-option=-fplugin= as configure options.
<tnks> angerman: how divergent is the strategy for adding a new component between Nixpkgs infrastructure and Haskell.nix?
<angerman> it just won't work for any cross, we have someone working on making plugins work for cross compilation, but it's a long road.
<angerman> tnks: haskell.nix and nixpkgs, are somewhat orthogonal.
<tnks> Okay, that's what I suspected. That either way, there will be a Haskell.nix way of doing it, and then a Nixpkgs way of doing it. And that's whether I do a compiler plugin or make a new component, right?
<tnks> Well, since this is #haskell.nix... I won't worry about Nixpkgs for now... let's start with the easier of the two. Is making a new component for all the packages in a plan not too bad? Where do I start learning how to do that?
<tnks> And after that, when I look into compiler plugins... I think a ton of us are fine with it working, but not for cross-compilation. I think it would still be nice to have the option.
<angerman> tnks: haskell.nix takes only non-haskell stuff from nixpkgs. All your system dependencies, C compiler, Toolchains, ...
<angerman> the haskell compiler, haskell package compilation logic, ... it's all in haskell.nix
<angerman> haskell.nix doesn't need any haskell related logic from nixpkgs.
* tnks angerman: yeah, that makes sense given what I know. I think I asked my question wrong or not the harder part of it.
<angerman> Just trying to make sure we are on the same page here :-)
* tnks angerman: I think right now I'm looking at the haskell.nix source code to see if it's designed to have someone like me take a normal cabal project, and try to hack in a new component.
<tnks> I forget... I've been using both https://hydra.iohk.io and iohk.cachix.org as substituters, just to be safe. But are those days behind us? Can I drop the non-Cachix one?
<angerman> the hydra one should be the most recent. the cachix one is probably stale :(
<tnks> angerman: okay, so looking at Haskell.nix, the components that are built seem pretty hard-coded. But I see that the original src is passed through on each dependency on the pkgSet. So I'm not sure about the "make your own component" angle, but I could just traverse pkgSet and get all these source locations, and then make my TAGS file(s). Not sure if you had something slicker in mind.
mariatsji has joined #haskell.nix
mariatsji has quit [Ping timeout: 244 seconds]
mariatsji has joined #haskell.nix
fendor has joined #haskell.nix
hekkaidekapus has quit [Ping timeout: 240 seconds]
hekkaidekapus has joined #haskell.nix
<michaelpj> tnks: the main goal of haskell.nix is to build a project defined via cabal or stack. There's some ability to hack around with what's produced, but it's not really designed for you to completely redo things, add components, etc. The normal answer is "how would you do that with cabal?", and in this case I think the answer is "you can't do that with cabal", so you're a bit stuck. You *probably* could do the thing you're
<michaelpj> suggesting about traversing the source tree. Note that we do something a bit like that for generating a big hoogle index for shellFor, although that works on the Haddock instead
<michaelpj> in fact, I wonder if you could produce your TAGS file from the hoogle index?
Plien has joined #haskell.nix
mariatsji has quit [Remote host closed the connection]
mariatsji has joined #haskell.nix
mariatsji has quit [Ping timeout: 240 seconds]
mariatsji has joined #haskell.nix
o1lo01ol1o has joined #haskell.nix
mariatsji has quit [Remote host closed the connection]
mariatsji has joined #haskell.nix
mariatsji has quit [Ping timeout: 260 seconds]
fendor has quit [Remote host closed the connection]
mariatsji has joined #haskell.nix
hekkaidekapus has quit [Ping timeout: 240 seconds]
hekkaidekapus 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
mariatsji has quit [Remote host closed the connection]
fendor has joined #haskell.nix
fendor has quit [Remote host closed the connection]
fendor has joined #haskell.nix
fendor has quit [Remote host closed the connection]
<tnks> @michaelpj: I need links to actual source code that I can hop to. But still. I think I have a very simple solution to this. Just need to write it up. And it should be easy enough to make a function that works on both Haskell.nix package sets as well as a normal Nixpkgs-made derivation.
fendor has joined #haskell.nix
Plien has quit [Quit: Connection closed for inactivity]
mariatsji has joined #haskell.nix
fendor_ has joined #haskell.nix
fendor has quit [Ping timeout: 244 seconds]
rizary_ has joined #haskell.nix
ProofTechnique_ has joined #haskell.nix
mpickering_ has joined #haskell.nix
Tritlo_ has joined #haskell.nix
ajmcmiddlin_ has joined #haskell.nix
infinisi1 has joined #haskell.nix
ProofTechnique has quit [Ping timeout: 272 seconds]
mpickering has quit [Ping timeout: 272 seconds]
rizary has quit [Ping timeout: 272 seconds]
Tritlo has quit [Ping timeout: 272 seconds]
infinisil has quit [Ping timeout: 272 seconds]
ajmcmiddlin has quit [Ping timeout: 272 seconds]
blackriversoftwa has quit [Ping timeout: 272 seconds]
ProofTechnique_ is now known as ProofTechnique
mpickering_ is now known as mpickering
Tritlo_ is now known as Tritlo
blackriversoftwa has joined #haskell.nix
rizary_ is now known as rizary
ajmcmiddlin_ is now known as ajmcmiddlin
mariatsji has quit [Remote host closed the connection]
mariatsji has joined #haskell.nix
mariatsji has quit [Ping timeout: 272 seconds]
mariatsji has joined #haskell.nix
mariatsji has quit [Remote host closed the connection]
mariatsji has joined #haskell.nix
fendor_ has quit [Remote host closed the connection]
mariatsji has quit [Ping timeout: 246 seconds]
fendor has joined #haskell.nix
fendor has quit [Read error: Connection reset by peer]
fendor_ has joined #haskell.nix
codygman has quit [Ping timeout: 240 seconds]
codygman has joined #haskell.nix
codygman has quit [Ping timeout: 272 seconds]
codygman has joined #haskell.nix
codygman has quit [Read error: Connection reset by peer]
codygman has joined #haskell.nix
mariatsji has joined #haskell.nix
mariatsji has quit [Ping timeout: 272 seconds]
mariatsji 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]
mariatsj_ has joined #haskell.nix
fendor_ has quit [Remote host closed the connection]
Plien has joined #haskell.nix
__monty__ has joined #haskell.nix
fendor has joined #haskell.nix
tchouri has joined #haskell.nix
hekkaidekapus has quit [Ping timeout: 240 seconds]
mariatsj_ has quit [Remote host closed the connection]
tchouri is now known as hekkaidekapus
codygman has quit [Read error: Connection reset by peer]
codygman has joined #haskell.nix
fendor has quit [Remote host closed the connection]
infinisi1 is now known as infinisil
mariatsji has joined #haskell.nix
mariatsji has quit [Ping timeout: 244 seconds]
__monty__ has quit [Quit: leaving]
o1lo01ol_ has quit [Remote host closed the connection]
o1lo01ol1o has joined #haskell.nix
o1lo01ol1o has quit [Ping timeout: 258 seconds]