cardano-scaling / hydra

Implementation of the Hydra Head protocol
https://hydra.family/head-protocol/
Apache License 2.0
276 stars 84 forks source link

cabal rebuilds the world inside nix develop #1034

Open locallycompact opened 1 year ago

locallycompact commented 1 year ago

The nix build works fine, but

nix develop
cabal build all

results in cabal rebuilding libraries that should already be supplied by the shell

In order, the following will be built (use -v for more details):
 - cardano-data-1.1.0.0 (lib:testlib) (requires download & build)
 - hspec-discover-2.11.4 (lib) (requires download & build)
 - hydra-prelude-0.12.0 (lib) (cannot read state cache)
 - ouroboros-consensus-0.9.0.0 (lib) (requires download & build)
 - plutus-ledger-api-1.7.0.1 (lib) (requires download & build)
 - hspec-discover-2.11.4 (exe:hspec-discover) (requires download & build)
 - ouroboros-consensus-diffusion-0.7.0.0 (lib) (requires download & build)
 - plutus-ledger-api-1.7.0.1 (lib:plutus-ledger-api-testlib) (requires download & build)
 - cardano-ledger-binary-1.1.1.1 (lib) (requires download & build)
 - cardano-ledger-binary-1.1.1.1 (lib:testlib) (requires download & build)
 - cardano-data-1.1.0.0 (lib) (requires download & build)
 - cardano-crypto-wrapper-1.5.1.0 (lib) (requires download & build)
 - small-steps-test-1.0.0.1 (lib) (requires download & build)
 - set-algebra-1.1.0.1 (lib) (requires download & build)
 - cardano-ledger-byron-1.0.0.2 (lib) (requires download & build)
 - cardano-crypto-test-1.5.0.0 (lib) (requires download & build)
 - byron-spec-ledger-1.0.0.1 (lib) (requires download & build)
 - cardano-ledger-core-1.4.1.0 (lib) (requires download & build)
 - byron-spec-chain-1.0.0.1 (lib) (requires download & build)
 - cardano-ledger-shelley-1.4.2.0 (lib) (requires download & build)
 - cardano-ledger-byron-test-1.5.0.0 (lib) (requires download & build)
 - cardano-ledger-allegra-1.2.1.0 (lib) (requires download & build)
 - cardano-ledger-core-1.4.1.0 (lib:testlib) (requires download & build)
 - cardano-ledger-mary-1.3.1.0 (lib) (requires download & build)
 - cardano-ledger-shelley-1.4.2.0 (lib:testlib) (requires download & build)
 - cardano-ledger-alonzo-1.3.3.0 (lib) (requires download & build)
 - cardano-ledger-allegra-1.2.1.0 (lib:testlib) (requires download & build)
 - cardano-ledger-babbage-1.4.2.0 (lib) (requires download & build)
 - cardano-ledger-mary-1.3.1.0 (lib:testlib) (requires download & build)
 - cardano-ledger-conway-1.6.3.0 (lib) (requires download & build)
 - cardano-ledger-alonzo-1.3.3.0 (lib:testlib) (requires download & build)
 - cardano-protocol-tpraos-1.0.3.3 (lib) (requires download & build)
 - cardano-ledger-api-1.3.1.0 (lib) (requires download & build)
 - cardano-ledger-babbage-1.4.2.0 (lib:testlib) (requires download & build)
 - ouroboros-consensus-protocol-0.5.0.4 (lib) (requires download & build)
 - ouroboros-consensus-cardano-0.7.0.0 (lib) (requires download & build)
 - cardano-api-8.11.0.0 (lib:internal) (requires download & build)
ffakenz commented 1 year ago

after exploration we found 2 potential alternatives:

both are time consuming tasks.

although, we don't think the stack alternative is not really worth it, so we might give horizon a try.

keep in mind horizon brings a massive architecture change.

Note: Link to #nix-channel thread

locallycompact commented 1 year ago

This is a public sublibrary problem:

https://github.com/input-output-hk/haskell.nix/issues/1662

https://github.com/haskell/cabal/issues/6039

There is no current workaround, you have to compile the things locally again with Cabal.