Help with haskell package that lives in a subdirectory of src
Help with haskell package that lives in a subdirectory of src
edit: for the solution, see my comment below
I need/want to build aeson and its subproject attoparsec-aeson from source (it's a fork of the "official" aeson), but I'm stuck... can you help out?
The sources of attoparsec-aeson live in a subdirectory of the aeson ones, so I have the sources:
nix
aeson-src = fetchFromGitHub { ... };
and the "main" aeson library:
nix
aeson = haskellPackages.mkDerivation { pname = "aeson"; src = aeson-src; ... };
When I get to attoparsec-aeson however I run into a wall: I tried to follow the documentation about sourceRoot
:
undefined
attoparsec-aeson = haskellPackages.mkDerivation { pname = "attoparsec-aeson"; src = aeson-src; sourceRoot = "./attoparsec-aeson"; # maybe this should be "${aeson-src}/attoparsec-aeson"? # (it doesn't work either way) ... };
but I get
plaintext
error: function 'anonymous lambda' called with unexpected argument 'sourceRoot'
Did I fail to spot some major blunder (I am nowhere near an expert)?
Does sourceRoot
not apply to haskellPackages.mkDerivation
? What should I do to make it work?
BTW:
IDK if this may cause issues, but the attoparsec-aeson
sources include symlinks to files in the "main" attoparsec
sources:
shell
~/git-clone-of-attoparsec-sources $ tree attoparsec-aeson/ attoparsec-aeson/ ├── src │ └── Data │ └── Aeson │ ├── Internal │ │ ├── ByteString.hs -> ../../../../../src/Data/Aeson/Internal/ByteString.hs │ │ ├── Text.hs -> ../../../../../src/Data/Aeson/Internal/Text.hs │ │ └── Word8.hs -> ../../../../../src/Data/Aeson/Internal/Word8.hs │ ├── Parser │ │ └── Internal.hs │ └── Parser.hs ├── attoparsec-aeson.cabal └── LICENSE