cardano-base
cardano-base copied to clipboard
Import cardano addresses repo
trafficstars
This PR integrates the repo https://github.com/IntersectMBO/cardano-addresses in https://github.com/IntersectMBO/cardano-base.
This PR:
- Moves the three haskell projects from
cardano-addresessrepo (the pattern is using the name of the cabal file/project as folder inside):core->cardano-addresses/cardano-addressescommand-line->cardano-addresses/cardano-addresses-clijsapi->cardano-addresses/cardano-addresses-jsapi
- Also the mainly JS project:
jsbits->cardano-addresses/cardano-addresses-jsbits
- Adds a nix output that generates a docker image with the
cardano-cliexecutable (e.g:.#docker.x86_64-linux.cardano-address). - Adds
ghcjscross-compilation- But I have discarded all packages from
ghcjscross-compilation except for those incardano-addresses, because they weren't compiling.
- But I have discarded all packages from
- Migrates the three custom derivations from
cardano-addresses-js:.#cardano-addresses-js.#cardano-addresses-demo-js.#cardano-addresses-js-shell
- Adds convenience derivation with patched sources of
cardano-addresses-jsbitscalled.#jsbits, because it seemed quite necessary for following theREADME.mds injsapiandjsbits. - Does some fixes to the
cardano-addressescode to make it compatible with ghc above9.8.2, some required having someCPPdirectives.
Considerations:
jsapitests are disabled except forghcjs, I think they are only meant to work on JS- I've tried to adapt the
README.mds, and I moved the one in the root to thecardano-addressessubdir. - I haven't migrated the
musloutputs, or any artifact generation. Happy to do them in another PR (or even partially in this one). - There is an issue with docs, in
cardano-addressesthe haddock is not in the top level index because there are more things deployed: demo app and js doc. I haven't migrated either, it would require to move thecardano-basea level higher. Happy to do that in another PR. - Dependency on
ghcjs-overlay, needs to be updated periodically forcabal buildto work withoutnix, this is done with an action currently. This is important for the CI action that caches the CodeSpaces. Don't know how the CI action is triggered, may need credentials. - There is an associated NPM package, and it is still pointing to the
input-output-hkrepo for documentation. Presumably that requires credentials to manage too. - In order to use the
cardano-addresseslibraries from this repo, I think it is necessary to cut a new version of the library and add it to CHaP. I have never done a CHaP release, but probably makes sense to do it in a separate PR. - I have disabled
hjsonschemalibrary for versions ofghcgreater than9.8.2, because it doesn't compile and is deprecated. It seems this only affects a test which is still being run on the other versions of ghc, so it is not a problem yet. Also, it was already disabled forghcjs.