nix: Make project config consistent#204
Conversation
95c36a7 to
b90c222
Compare
* Make examples depend on granite version consistent with non-examples; non-examples want >= 0.6, examples wanted 0.6.* * Remove `flake.lock` from `.gitignore` -- this is an important file to have in version control; without it, reproducibility guarantees are out the window (since, if we're using `nixpkgs-*` as an input, without the `flake.lock`, the `nixpkgs-*` package set you use won't necessarily be the same `nixpkgs-*` package set that I use) * Add (almost) the rest of the dataframe-* packages to the package outputs / dev shell
b90c222 to
a9d69a6
Compare
| go decoder = | ||
| foldNonNullable totalRows $ | ||
| (\(vs, _, _) -> vs) | ||
| <$> Stream.unfoldEach (readPages description decoder) (Stream.fromList chunks) |
There was a problem hiding this comment.
compiler said unfoldEach didn't exist and suggested unfoldMany
There was a problem hiding this comment.
The problem here is a wrong version bound in the cabal file. It should require streamly-core >= 0.3.0
There was a problem hiding this comment.
All dataframe-learn changes are from fourmolu
There was a problem hiding this comment.
I'd suggest just removing those changes from the PR
There was a problem hiding this comment.
Lint doesn't pass without them! I think "passes its own lint steps" is an element of project config consistency. It's in a separate commit though so easy to separate 🤷🏻♂️
There was a problem hiding this comment.
flake.lock tracks hashes of inputs like nixpkgs to make sure people using nix build with the same package sets. It's an essential file to be in version control.
fourmolucheck indataframe-learn>= 0.6, examples wanted0.6.*flake.lockfrom.gitignore-- this is an important file to have in version control; without it, reproducibility guarantees are out the window (discovered when I got yelled at by nix about the hash being wrong for granite, which seemed like it should have been impossible)Notes
I had to make a few changes I'm < 100% sure about:
dataframe-fusion, since I don't currently know how to vendor the header file / ad hoc rust lib to the package in the nix flakeStream.unfoldEach->Stream.unfoldMany;dataframe-parquetwasn't building, so I applied one of the suggestions from the build failure. Where I made changes looked like it hadn't been touched in a while, but I'm still surprised that CI was green for building packages with the compilation failure. It's possible we could use ahaskell-ci regenerateTesting
nix developin this branchcabal repl <any project except dataframe-fusion>