Closed pmarreck closed 1 year ago
I'm not familiar enough with Haskell to fix; was just trying to compile the commandline apps to play with zfec
...
Thank you - confirmed. I get the same build error. We should fix this (I suppose by downgrading our cabal format version).
Meanwhile, if anyone needs a workaround, this should work:
nix develop
cabal build
The Python bindings should be unaffected (since the Nix packaging doesn't even try to account for them - you just have to use pip, etc).
One nice thing about Nix is that the original dev being able to reproduce a build failure is highly probable instead of highly improbable, which seems to be the case in literally every other non-trivial example I've seen, lol. Glad you're reproducing it, at least. Thanks for the workaround. You may just need to pin cabal to an earlier version (or make it work with the later version, assuming that isn't too difficult)
silly question, how do I just get a commandline version to play with?
The Python packaging comes with zfec
and zunfec
command line tools - does that help? You should also get these if you install a pre-build package (ie pip install zfec
).
I'm not sure there are any command line tools that use the Haskell bindings (at least, fec.cabal
doesn't seem to define any).
I'm running on NixOS, we declaratively install things, so pip install zfec
is not really an option unfortunately, is there a way to build the python bits within the project directory using whatever tooling the flake.nix
file provides?
I'm running on NixOS, we declaratively install things, so
pip install zfec
is not really an option unfortunately,
Ah, indeed.
is there a way to build the python bits within the project directory using whatever tooling the
flake.nix
file provides?
Not currently, though this would be a nice addition to the flake, I think.
The Python bindings are actually in nixpkgs itself though, so if you install legacyPackages.x86_64-linux.python3.withPackages (ps: [ps.zfec])
then I think you'll get something usable - though it's whatever version is in your nixpkgs rather than master@HEAD. However, not much has changed in zfec in a while so unless you wanted to explore some specific recent change, maybe this is good enough?
Although, this also seems to work, if you did want master@HEAD:
legacyPackages.x86_64-linux.python3.withPackages (ps: [(ps.zfec.overrideAttrs (old: {
src = /path/to/zfec/checkout;
}))])
Yep, got it in that way, thanks!