diff --git a/.buildkite/bench-db.sh b/.buildkite/bench-db.sh index 60cdfa73a9a..4d897de0f75 100755 --- a/.buildkite/bench-db.sh +++ b/.buildkite/bench-db.sh @@ -8,7 +8,7 @@ bench_name=bench-db rm -rf $bench_name echo "--- Build" -nix-build -A benchmarks.cardano-wallet-core.db -o $bench_name +nix build .#benchmarks.cardano-wallet-core.db -o $bench_name echo "+++ Run benchmark" diff --git a/.buildkite/bench-latency.sh b/.buildkite/bench-latency.sh index 06ca8edea9b..2858e44e108 100755 --- a/.buildkite/bench-latency.sh +++ b/.buildkite/bench-latency.sh @@ -6,7 +6,7 @@ set -euo pipefail cd `dirname $0`/.. echo "--- Build" -nix-build -A benchmarks.cardano-wallet.latency -o bench-latency-shelley +nix build .#benchmarks.cardano-wallet.latency -o bench-latency-shelley # Note: the tracing will not work if program output is piped # to another process (e.g. "tee"). diff --git a/.buildkite/bench-restore.sh b/.buildkite/bench-restore.sh index f1ec69c9f5f..070902cce23 100755 --- a/.buildkite/bench-restore.sh +++ b/.buildkite/bench-restore.sh @@ -24,7 +24,7 @@ fi echo "--- Build" -nix-build -A benchmarks.cardano-wallet.restore -o bench-restore +nix build .#benchmarks.cardano-wallet.restore -o bench-restore bench="./bench-restore/bin/restore $network --node-db $node_db" diff --git a/.buildkite/default.nix b/.buildkite/default.nix index f9290fc245d..c26771ad902 100644 --- a/.buildkite/default.nix +++ b/.buildkite/default.nix @@ -1,4 +1,9 @@ -{ pkgs ? import ../nix/default.nix {} }: +{ pkgs ? (import ../default.nix {}).legacyPackages.${builtins.currentSystem}.pkgs + # Include the stack nix-shell in closure of stackRebuild, so that it + # doesn't get garbage-collected whilst the build is running. + # https://github.com/commercialhaskell/stack/issues/3479 +, stackShell ? import ../nix/stack-shell.nix {} +}: with pkgs.lib; with pkgs; @@ -12,11 +17,6 @@ let libs = ps: with ps; [turtle safe transformers extra async digest]; ghc' = haskellPackages.ghcWithPackages libs; - # Include the stack nix-shell in closure of stackRebuild, so that it - # doesn't get garbage-collected whilst the build is running. - # https://github.com/commercialhaskell/stack/issues/3479 - stackShell = import ../nix/stack-shell.nix {}; - stackRebuild = runCommand "stack-rebuild" { buildInputs = [ ghc' makeWrapper ]; } '' diff --git a/.buildkite/docker-build-push.nix b/.buildkite/docker-build-push.nix index 9224e692d00..49e69ecbf46 100644 --- a/.buildkite/docker-build-push.nix +++ b/.buildkite/docker-build-push.nix @@ -25,10 +25,9 @@ # recent VERSION tag build (shelley backend). # -{ walletPackages ? import ../default.nix {} -, pkgs ? walletPackages.private.pkgs -# TODO: take the musl build instead because it's smaller -, dockerImage ? walletPackages.dockerImage +{ defaultNix ? import ../default.nix {} +, pkgs ? defaultNix.legacyPackages.pkgs +, dockerImage ? defaultNix.hydraJobs.linux.musl.dockerImage # Build system's Nixpkgs. We use this so that we have the same docker # version as the docker daemon. diff --git a/.buildkite/nightly.yml b/.buildkite/nightly.yml index 7e4a7cce515..381f748cc48 100644 --- a/.buildkite/nightly.yml +++ b/.buildkite/nightly.yml @@ -64,7 +64,9 @@ steps: # if: 'build.env("step") == null || build.env("step") =~ /migration-tests/' - label: 'Full cabal build' - command: 'nix-shell nix/cabal-shell.nix --arg withCabalCache true --run "scripts/buildkite/cabal-ci.sh build"' + command: + - "mkdir -p config && echo '{ outputs = _: { withCabalCache = true; }; }' > config/flake.nix" + - "nix develop --override-input customConfig path:./config .#cabal --command scripts/buildkite/cabal-ci.sh build" env: CABAL_CACHE_ARCHIVE: "/cache/cardano-wallet" CABAL_STORE_DIR: "/build/cardano-wallet.store" diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index dd7972792df..02e4d7a148e 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -26,7 +26,7 @@ steps: - label: 'Stack Rebuild' command: - "rm -rf $TESTS_LOGDIR && mkdir -p $TESTS_LOGDIR" - - "nix-build .buildkite/default.nix -o sr" + - "nix build .#hydraJobs.linux.native.buildkiteScript -o sr" - "./sr/bin/rebuild --build-dir=$BUILD_DIR --cache-dir=$CACHE_DIR" timeout_in_minutes: 120 artifact_paths: @@ -36,46 +36,47 @@ steps: system: x86_64-linux - label: 'Check Cabal Configure' - command: 'nix-shell --pure nix/cabal-shell.nix --run "scripts/buildkite/cabal-ci.sh configure"' + command: 'nix develop .#cabal --command scripts/buildkite/cabal-ci.sh configure' agents: system: x86_64-linux - label: 'Check auto-generated Nix' key: nix commands: - - './nix/regenerate.sh --cache /dev/null' - - 'nix-build ./nix -A iohkNix.checkStackProject -o check-stack-project.sh && ./check-stack-project.sh' + - './nix/regenerate.sh' + - 'nix build .#checkStackProject -o check-stack-project.sh && ./check-stack-project.sh' agents: system: x86_64-linux - label: 'Check Cabal Configure (Haskell.nix shellFor)' depends_on: nix - command: 'nix-shell --run scripts/buildkite/check-haskell-nix-cabal.sh' + command: 'nix develop --command scripts/buildkite/check-haskell-nix-cabal.sh' agents: system: x86_64-linux - label: 'Check Stylish Haskell' depends_on: nix - command: 'nix-shell --run .buildkite/check-stylish.sh' + command: 'nix develop --command .buildkite/check-stylish.sh' agents: system: x86_64-linux - label: 'HLint' depends_on: nix - command: 'nix-shell --run "echo +++ HLint ; hlint lib"' + command: 'nix develop --command bash -c "echo +++ HLint ; hlint lib"' agents: system: x86_64-linux - label: 'Validate OpenAPI Specification' depends_on: nix - command: 'nix-shell --run "echo +++ openapi-spec-validator ; openapi-spec-validator --schema 3.0.0 specifications/api/swagger.yaml"' + command: 'nix develop --command bash -c "echo +++ openapi-spec-validator ; openapi-spec-validator --schema 3.0.0 specifications/api/swagger.yaml"' agents: system: x86_64-linux - label: 'Docker Image' depends_on: nix command: - - "nix-build .buildkite/docker-build-push.nix --argstr dockerHubRepoName inputoutput/cardano-wallet -o docker-build-push" + - "mkdir -p config && echo '{ outputs = _: { dockerHubRepoName = \"inputoutput/cardano-wallet\"; }; }' > config/flake.nix" + - "nix build .#pushDockerImage --override-input hostNixpkgs \"path:$(nix eval --impure -I $NIX_PATH --expr '(import {}).path')\" --override-input customConfig path:./config -o docker-build-push" - "./docker-build-push" agents: system: x86_64-linux @@ -84,7 +85,7 @@ steps: - label: 'TODO list' depends_on: nix - command: 'nix-shell --run scripts/todo-list.sh' + command: 'nix develop --command scripts/todo-list.sh' agents: system: x86_64-linux diff --git a/.gitattributes b/.gitattributes index 35feb48d8bd..a27b4cf6a75 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,12 +5,11 @@ # https://github.com/github/linguist/blob/master/docs/overrides.md # Hide stuff that is generated by nix-tools stack-to-nix -nix/.stack.nix/*.nix linguist-generated=true merge=binary +nix/materialized/stack-nix/*.cache* linguist-generated=true merge=binary nix/materialized/*/*.nix linguist-generated=true merge=binary -nix/materialized/*/.plan.nix/*.nix linguist-generated=true merge=binary -# Hide niv boilerplate -nix/sources.nix linguist-generated=true +# Hide nix flake lock boilerplate +flake.lock linguist-generated=true # Hide the Cabal freeze file cabal.project.freeze linguist-generated=true diff --git a/.github/ISSUE_TEMPLATE/failing_test.yml b/.github/ISSUE_TEMPLATE/failing_test.yml index 53f13a70731..e53d785a84e 100644 --- a/.github/ISSUE_TEMPLATE/failing_test.yml +++ b/.github/ISSUE_TEMPLATE/failing_test.yml @@ -57,6 +57,6 @@ body: The URL of a build job in CI where the error occurs. Please link to a specific build number. In Hydra, please link to the job page rather than the logs. - placeholder: https://hydra.iohk.io/job/Cardano/cardano-wallet-bors-staging/cardano-wallet-linux64 + placeholder: https://hydra.iohk.io/job/Cardano/cardano-wallet-bors-staging/linux.musl.cardano-wallet-linux64 validations: required: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 032c6a694cf..21d475ca331 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,7 +17,7 @@ jobs: id: hydra with: hydra: 'https://hydra.iohk.io' - jobs: 'cardano-wallet-linux64 cardano-wallet-macos64 cardano-wallet-win64' + jobs: 'linux.musl.cardano-wallet-linux64 macos.cardano-wallet-macos64 linux.windows.cardano-wallet-win64' - name: '🍒 Fetch release files' run: | diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index d2e4ca99501..93d81d5fa9a 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -21,7 +21,7 @@ jobs: id: hydra with: hydra: 'https://hydra.iohk.io' - jobs: 'cardano-wallet-tests-win64' + jobs: 'linux.windows.cardano-wallet-tests-win64' - name: 'Fetch Windows testing bundle' shell: powershell run: | diff --git a/.gitignore b/.gitignore index ec161c5b5b2..b6a7b069d47 100644 --- a/.gitignore +++ b/.gitignore @@ -32,7 +32,6 @@ hie.yaml ### Nix ### /result* -/.stack-to-nix.cache /.nix-shell-cabal.project* ### Direnv ### diff --git a/cabal.project b/cabal.project index 0203cf90b2b..25464263a4f 100644 --- a/cabal.project +++ b/cabal.project @@ -28,11 +28,11 @@ -- from stack.yaml. -- -- To build, start "nix-shell", then run Cabal inside: --- nix-shell +-- nix develop -- cabal build all -O0 -- -- To build with profiling enabled, use: --- nix-shell --arg profiling true +-- nix develop .#profiled -- cabal configure --enable-tests --enable-benchmarks --enable-profiling -- cabal build all -- diff --git a/default.nix b/default.nix index 92961d7f55e..fbd62b5a7f3 100644 --- a/default.nix +++ b/default.nix @@ -1,6 +1,7 @@ ############################################################################ # -# Cardano Wallet Nix build +# Cardano Wallet Nix build - legacy flake compatibility layer. +# See flake.nix for native flake instructions. # # Derivation attributes of this file can be build with "nix-build -A ..." # Discover attribute names using tab-completion in your shell. @@ -20,143 +21,15 @@ # - cardano-wallet-core.db # - cardano-wallet.latency # - etc -# - migration-tests - tests db migrations from previous versions # - dockerImage - tarball of the docker image -# - private -# - shell - import of shell.nix -# - project.hsPkgs - a Haskell.nix package set of all packages and their dependencies -# - cardano-wallet-core.components.library -# - etc (layout is PACKAGE-NAME.components.COMPONENT-TYPE.COMPONENT-NAME) -# -# The attributes of this file are imported by the Hydra jobset and -# mapped into the layout TARGET-SYSTEM.ATTR-PATH.BUILD-SYSTEM. -# See release.nix for more info about that. # # Other documentation: # https://input-output-hk.github.io/cardano-wallet/dev/Building#nix-build # ############################################################################ -{ system ? builtins.currentSystem -, crossSystem ? null -, config ? {} -# Import pinned Nixpkgs with iohk-nix and Haskell.nix overlays -, pkgs ? import ./nix/default.nix { inherit system crossSystem config sourcesOverride; } -# Use this git revision for stamping executables -, gitrev ? pkgs.commonLib.commitIdFromGitRepoOrZero ./.git -# Use this to reference local sources rather than the niv pinned versions (see nix/default.nix) -, sourcesOverride ? {} -# GitHub PR number (as a string), set when building a Hydra PR jobset. -, pr ? null -# Bors job type (as a string), set when building a Hydra bors jobset. -, borsBuild ? null -}: - -let - # The project sources. Sources are filtered by filename, and then - # further filtered by package subdirectory. - src = lib.cleanSourceWith { - src = pkgs.haskell-nix.cleanSourceHaskell { src = ./.; }; - name = "cardano-wallet-src"; - filter = commonLib.removeSocketFilesFilter; - }; - - # Builds the Haskell project with Haskell.nix. - # There are variants with profiling or test coverage enabled. - buildHaskellProject = args: import ./nix/haskell.nix ({ - inherit config pkgs; - inherit (pkgs) buildPackages lib stdenv haskell-nix; - inherit src gitrev pr borsBuild; - } // args); - project = buildHaskellProject {}; - profiledProject = buildHaskellProject { profiling = true; }; - coveredProject = buildHaskellProject { coverage = true; }; - - # Functions used in this file - inherit (pkgs) lib commonLib; - inherit (pkgs.haskell-nix.haskellLib) - selectProjectPackages - isProjectPackage - collectComponents - collectChecks; - getPackageChecks = lib.mapAttrs (_: package: package.checks); - - self = { - inherit (project.hsPkgs.cardano-wallet-core.identifier) version; - inherit src; - - # Cardano wallet - cardano-wallet = import ./nix/release-build.nix { - inherit pkgs gitrev; - exe = project.hsPkgs.cardano-wallet.components.exes.cardano-wallet; - backend = self.cardano-node; - }; - # Local test cluster and mock metadata server - inherit (project.hsPkgs.cardano-wallet.components.exes) - local-cluster - mock-token-metadata-server; - - # Adrestia tool belt - inherit (project.hsPkgs.bech32.components.exes) bech32; - inherit (project.hsPkgs.cardano-addresses-cli.components.exes) cardano-address; - - # Cardano - inherit (project.hsPkgs.cardano-cli.components.exes) cardano-cli; - cardano-node = project.hsPkgs.cardano-node.components.exes.cardano-node // { - deployments = pkgs.cardano-node-deployments; - }; - - # Provide db-converter, so daedalus can ship it without needing to - # pin an ouroborus-network rev. - inherit (project.hsPkgs.ouroboros-consensus-byron.components.exes) - db-converter; - - # `tests` are the test suites which have been built. - tests = collectComponents "tests" isProjectPackage coveredProject.hsPkgs; - # `checks` are the result of executing the tests. - checks = pkgs.recurseIntoAttrs (getPackageChecks (selectProjectPackages coveredProject.hsPkgs)); - # Combined project coverage report - testCoverageReport = coveredProject.projectCoverageReport; - # `benchmarks` are only built, not run. - benchmarks = collectComponents "benchmarks" isProjectPackage project.hsPkgs; - - # See the imported file for how to use the docker build. - dockerImage = pkgs.callPackage ./nix/docker.nix { - exes = with self; [ cardano-wallet local-cluster ]; - base = with self; [ - bech32 - cardano-address - cardano-cli - cardano-node - (pkgs.linkFarm "docker-config-layer" [ { name = "config"; path = pkgs.cardano-node-deployments; } ]) - ]; - }; - - # These attributes are part of the project build, but are - # considered to be implementation details, not public API. - # It's possible to use them, but they may change at any time - # without warning. - private = pkgs.recurseIntoAttrs { - inherit pkgs project profiledProject coveredProject; - - # Shells - shell = import ./shell.nix { inherit pkgs; walletPackages = self; }; - shell-prof = import ./shell.nix { inherit pkgs; walletPackages = self; profiling = true; }; - cabalShell = import ./nix/cabal-shell.nix { inherit pkgs; walletPackages = self; }; - stackShell = import ./nix/stack-shell.nix { inherit pkgs; walletPackages = self; }; - - # This is the ./nix/regenerate.sh script. Put it here so that it's - # built and cached on CI. - inherit (pkgs) stackNixRegenerate; - - # Ensure that the project's eval-time GC roots are built and - # cached by CI. - roots = pkgs.recurseIntoAttrs { - project = project.roots; - iohk-nix-utils = pkgs.iohk-nix-utils.roots; - }; - }; - }; - -in - self +{ ... }@args: +with (import ./nix/flake-compat.nix args); +defaultNix // defaultNix.packages.${builtins.currentSystem} // { + private.project = defaultNix.legacyPackages.${builtins.currentSystem}; +} diff --git a/docs/contributing/Hydra.md b/docs/contributing/Hydra.md index 9dc6b39e21a..5f18803903e 100644 --- a/docs/contributing/Hydra.md +++ b/docs/contributing/Hydra.md @@ -6,14 +6,12 @@ For general information about nix, see [[Nix]]. ## Jobset -The Hydra jobset is defined by [`release.nix`](https://github.com/input-output-hk/cardano-wallet/blob/master/release.nix#L1). There are some explanatory comments at the top of this file. - -Here are links to the jobsets for different branches: +The Hydra jobsets are defined by the `hydraJobs`, `hydraJobsPr` and `hydraJobsBors` flake attributes (cf. `mkSystemHydraJobs` function `flake.nix`). There is slight variations between them to avoid test results caching for bors builds and to disable integration tests for PRs. +Here are the corresponding links to the jobsets for the different branches: * Master branch - https://hydra.iohk.io/jobset/Cardano/cardano-wallet#tabs-jobs -* bors/staging - https://hydra.iohk.io/jobset/Cardano/cardano-wallet-bors-staging * GitHub PR builds - https://hydra.iohk.io/jobset/Cardano/cardano-wallet-pr-NNNN - replace _NNNN_ with the PR number. - +* bors/staging - https://hydra.iohk.io/jobset/Cardano/cardano-wallet-bors-staging ## Required job @@ -23,7 +21,7 @@ It is an aggregate job containing the following constituents: https://hydra.iohk.io/job/Cardano/cardano-wallet/required/latest-finished#tabs-constituents -This job is set up with the `mkRequiredJob` function in `release.nix`. +This job is set up with the `mkRequiredJob` function in `flake.nix`. ## Build Products @@ -44,8 +42,8 @@ lines to the file `$out/nix-support/hydra-build-products`. ## Evaluation -Hydra instantiates the `release.nix` file on the Hydra master host -(hydra.iohk.io). This is evaluation. It then sends the jobs out to the +Hydra evaluate `hydraJobs` attribute of the `flake.nix` file on the +Hydra master host (hydra.iohk.io). It then sends the jobs out to the build farm to be built. Evaluation fails if there are syntax errors in the Nix files, type diff --git a/docs/contributing/Nix.md b/docs/contributing/Nix.md index fe639a697a1..539ff4637c6 100644 --- a/docs/contributing/Nix.md +++ b/docs/contributing/Nix.md @@ -58,24 +58,24 @@ branch. The Nix build also depends on the [Haskell.nix](https://github.com/input-output-hk/haskell.nix) build infrastructure. It may be necessary to update `haskell.nix` when moving to a new Haskell LTS version or adding Hackage dependencies. -To update to the latest version, run the following command in a `nix-shell`: +To update to the latest version, run the following command in a `nix develop`: ``` -niv update haskell.nix +nix flake lock --update-input haskellNix ``` Then commit the updated -[sources.json](https://github.com/input-output-hk/cardano-wallet/blob/master/nix/sources.json#L1) +[flack.lock](https://github.com/input-output-hk/cardano-wallet/blob/master/flack.lock#L1) file. When updating Haskell.nix, consult the [ChangeLog](https://github.com/input-output-hk/haskell.nix/blob/master/changelog.md#L1) file. There may have been API changes which need corresponding updates in `cardano-wallet`. ### iohk-nix pin -The procedure for updating the [`iohk-nix`](https://github.com/input-output-hk/iohk-nix) library of common code is much the same as for Haskell.nix. Run this in a `nix-shell` and commit the updated `nix/sources.json` file: +The procedure for updating the [`iohk-nix`](https://github.com/input-output-hk/iohk-nix) library of common code is much the same as for Haskell.nix. Run this in a `nix develop` and commit the updated `flake.lock` file: ``` -niv update iohk-nix +nix flake lock --update-input iohkNix ``` It is not often necessary to update `iohk-nix`. Before updating, ask devops whether there may be changes which affect our build. diff --git a/docs/contributing/Updating-Dependencies.md b/docs/contributing/Updating-Dependencies.md index ed14b0af3f6..8976d630e51 100644 --- a/docs/contributing/Updating-Dependencies.md +++ b/docs/contributing/Updating-Dependencies.md @@ -9,11 +9,11 @@ It is possible to specify any git revision for the dependency and Nix will automatically build it -- unless it has already been built by Hydra -- in which case the build result will be downloaded instead. -## nix-shell +## nix develop -The default `nix-shell` contains build tools, utilities and GHC +The default `nix develop` contains build tools, utilities and GHC configured with a global package-db which matches `stack.yaml`. This -is defined in the `shell` attribute of `default.nix`. +is defined in the `devShell` attribute of `flake.nix`. ## Stack @@ -22,25 +22,12 @@ means that all stack commands will run inside the `nix-shell` defined by [`nix/stack-shell.nix`](https://github.com/input-output-hk/cardano-wallet/blob/master/nix/stack-shell.nix). If there is a program that is needed by the build or tests, make sure that it is present there. -## niv +## nix flake lock -The [`niv`](https://github.com/nmattia/niv) utility manages the file -[`nix/sources.json`](https://github.com/input-output-hk/cardano-wallet/blob/master/nix/sources.json). -To get this program, just run `nix-shell`. +[`nix flake`](https://nixos.wiki/wiki/Flakes) manages the file [`flake.lock`](https://github.com/input-output-hk/cardano-wallet/blob/master/flake.lock). ## Updating node backends -### `cardano-node` - -To update the version of `cardano-node` used by the Nix shells, run: - -``` -niv update cardano-node --branch REF -``` - -The `REF` argument can be a tag or a branch. Commit the updated -`nix/sources.json`. - ### `cardano-node` Haskell dependencies These are defined by the `resolver` in [`stack.yaml`](https://github.com/input-output-hk/cardano-wallet/blob/master/stack.yaml). diff --git a/docs/developers/Building.md b/docs/developers/Building.md index 7c5d5250e23..346faf3720c 100644 --- a/docs/developers/Building.md +++ b/docs/developers/Building.md @@ -112,7 +112,7 @@ then you don't have the IOHK Hydra binary cache configured correctly. To build the wallet for your current platform: ``` -nix-build -A cardano-wallet +nix build ``` Unless you have local changes in your git repo, this will download the @@ -123,32 +123,21 @@ build from the Hydra cache rather than building locally. To build the wallet for Windows, from **Linux**: ``` -nix-build release.nix -A x86_64-w64-mingw32.cardano-wallet.x86_64-linux -``` - -If you're using **macOS**, then change `x86_64-linux` to -`x86_64-darwin`, and enable the cross-building flag (macOS is disabled -by default to reduce the load on CI): - -``` -nix-build \ - release.nix \ - --arg supportedCrossSystems '["x86_64-darwin"]' \ - -A x86_64-w64-mingw32.cardano-wallet.x86_64-darwin +nix build .#hydraJobs.linux.windows.cardano-wallet ``` #### Building straight from GitHub -To build another branch (replace `master` with the branch name, tag, or commit hash): +To build another branch, add `/`: ``` -nix-build https://github.com/input-output-hk/cardano-wallet/archive/master.tar.gz --argstr gitrev master -A cardano-wallet +nix build github:input-output-hk/cardano-wallet ``` #### Navigating Hydra The Hydra [Jobset page](https://hydra.iohk.io/jobset/Cardano/cardano-wallet#tabs-jobs) -shows all jobs defined in `release.nix`. Some of the release jobs have a download link. +shows all jobs defined in the `hydraJobs` attribute of `flake.nix`. Some of the release jobs have a download link. - [Windows](https://hydra.iohk.io/job/Cardano/cardano-wallet/cardano-wallet-win64/latest) - [macOS](https://hydra.iohk.io/job/Cardano/cardano-wallet/cardano-wallet-macos64/latest) @@ -160,7 +149,7 @@ See [[Hydra]] for more information. Use the Cabal+Nix build if you want to develop with incremental builds, but also have it automatically download all dependencies. -If you run `nix-shell`, it will start a +If you run `nix develop`, it will start a [development environment](https://input-output-hk.github.io/haskell.nix/user-guide/development/) for `cardano-wallet`. This will contain: @@ -181,7 +170,7 @@ Cabal generally tries to download and build `source-repository-package` dependen If you would like to further speed up your build, you may provide [`cabal-nix.project`](https://github.com/input-output-hk/cardano-wallet/blob/master/cabal-nix.project#L1) as the `--project file` argument when running Cabal. ```console -$ nix-shell +$ nix develop [nix-shell:~/iohk/cardano-wallet]$ cabal build \ --project-file=cabal-nix.project \ @@ -191,13 +180,13 @@ $ nix-shell ##### Profiling build with cached dependencies -Use `nix-shell --arg profiling true` to get a shell where Haskell +Use `nix develop .#profiled` to get a shell where Haskell dependencies are built with profiling enabled. You won't need to rebuild all of the dependencies because they can be downloaded from the Hydra cache. ```console -$ nix-shell --arg profiling true +$ nix develop .#profiled [nix-shell:~/iohk/cardano-wallet]$ cabal build \ --enable-tests --enable-benchmarks \ diff --git a/docs/shell.nix b/docs/shell.nix index b92e55bdd3e..bf43aa5d8ce 100644 --- a/docs/shell.nix +++ b/docs/shell.nix @@ -1,8 +1 @@ -{ pkgs ? import ../nix/default.nix {} }: - -with pkgs; - -mkShell { - name = "cardano-wallet-docs-env"; - nativeBuildInputs = [ emanote ]; -} +{ ... }@args: (import ../nix/flake-compat.nix args).shellNix.devShells.${builtins.currentSystem}.docs diff --git a/docs/user-guide/Docker.md b/docs/user-guide/Docker.md index b80a190a51b..d9a2fc6ae55 100644 --- a/docs/user-guide/Docker.md +++ b/docs/user-guide/Docker.md @@ -43,7 +43,7 @@ Ensure that you have Nix installed and the IOHK binary cache enabled Then run this command from the `cardano-wallet` git repo: ``` -docker load -i $(nix-build -A dockerImage --no-out-link) +docker load -i $(nix build --json .#dockerImage | jq -r '.[0].outputs.out') ``` If you have no local changes, the build should be downloaded from diff --git a/flake.lock b/flake.lock new file mode 100644 index 00000000000..f199ad0268f --- /dev/null +++ b/flake.lock @@ -0,0 +1,649 @@ +{ + "nodes": { + "HTTP": { + "flake": false, + "locked": { + "lastModified": 1451647621, + "narHash": "sha256-oHIyw3x0iKBexEo49YeUDV1k74ZtyYKGR2gNJXXRxts=", + "owner": "phadej", + "repo": "HTTP", + "rev": "9bc0996d412fef1787449d841277ef663ad9a915", + "type": "github" + }, + "original": { + "owner": "phadej", + "repo": "HTTP", + "type": "github" + } + }, + "cabal-32": { + "flake": false, + "locked": { + "lastModified": 1603716527, + "narHash": "sha256-sDbrmur9Zfp4mPKohCD8IDZfXJ0Tjxpmr2R+kg5PpSY=", + "owner": "haskell", + "repo": "cabal", + "rev": "94aaa8e4720081f9c75497e2735b90f6a819b08e", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.2", + "repo": "cabal", + "type": "github" + } + }, + "cabal-34": { + "flake": false, + "locked": { + "lastModified": 1622475795, + "narHash": "sha256-chwTL304Cav+7p38d9mcb+egABWmxo2Aq+xgVBgEb/U=", + "owner": "haskell", + "repo": "cabal", + "rev": "b086c1995cdd616fc8d91f46a21e905cc50a1049", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.4", + "repo": "cabal", + "type": "github" + } + }, + "cabal-36": { + "flake": false, + "locked": { + "lastModified": 1640163203, + "narHash": "sha256-TwDWP2CffT0j40W6zr0J1Qbu+oh3nsF1lUx9446qxZM=", + "owner": "haskell", + "repo": "cabal", + "rev": "ecf418050c1821f25e2e218f1be94c31e0465df1", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.6", + "repo": "cabal", + "type": "github" + } + }, + "cardano-shell": { + "flake": false, + "locked": { + "lastModified": 1608537748, + "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "owner": "input-output-hk", + "repo": "cardano-shell", + "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-shell", + "type": "github" + } + }, + "customConfig": { + "locked": { + "lastModified": 1630400035, + "narHash": "sha256-MWaVOCzuFwp09wZIW9iHq5wWen5C69I940N1swZLEQ0=", + "owner": "input-output-hk", + "repo": "empty-flake", + "rev": "2040a05b67bf9a669ce17eca56beb14b4206a99a", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "empty-flake", + "type": "github" + } + }, + "ema": { + "inputs": { + "flake-compat": [ + "emanote", + "flake-compat" + ], + "flake-utils": [ + "emanote", + "flake-utils" + ], + "nixpkgs": "nixpkgs", + "pre-commit-hooks": "pre-commit-hooks" + }, + "locked": { + "lastModified": 1641753633, + "narHash": "sha256-POXgt4uvzbfvj+2tFXVrVx08+O8/tpTNiqA4r7cUGpY=", + "owner": "srid", + "repo": "ema", + "rev": "8e6a660cb3d1582577be70004dccc2321b2854e1", + "type": "github" + }, + "original": { + "owner": "srid", + "ref": "master", + "repo": "ema", + "type": "github" + } + }, + "emanote": { + "inputs": { + "ema": "ema", + "flake-compat": "flake-compat", + "flake-utils": "flake-utils_2", + "heist": "heist", + "nixpkgs": [ + "emanote", + "ema", + "nixpkgs" + ], + "tailwind-haskell": "tailwind-haskell" + }, + "locked": { + "lastModified": 1641915689, + "narHash": "sha256-b0r+CEw6aoEChE9p04FErNRp+md/1HD8TIxs4l5jn/s=", + "owner": "srid", + "repo": "emanote", + "rev": "a7bf21d0583251805a822053ca6c19e7c23a928d", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "emanote", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1627913399, + "narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1641205782, + "narHash": "sha256-4jY7RCWUoZ9cKD8co0/4tFARpWB+57+r1bLLvXNJliY=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b7547d3eed6f32d06102ead8991ec52ab0a4f1a7", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_3": { + "flake": false, + "locked": { + "lastModified": 1638445031, + "narHash": "sha256-dtIZLlf2tfYeLvpZa/jFxP5HvfoXAzr7X76yn6FQAdM=", + "owner": "input-output-hk", + "repo": "flake-compat", + "rev": "20f79e3976b76a37090fbeec7b49dc08dac96b8e", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "fixes", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { + "locked": { + "lastModified": 1619345332, + "narHash": "sha256-qHnQkEp1uklKTpx3MvKtY6xzgcqXDsz5nLilbbuL+3A=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "2ebf2558e5bf978c7fb8ea927dfaed8fefab2e28", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "locked": { + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "locked": { + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_4": { + "locked": { + "lastModified": 1638122382, + "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_5": { + "locked": { + "lastModified": 1623875721, + "narHash": "sha256-A8BU7bjS5GirpAUv4QA+QnJ4CceLHkcXdRp4xITDB0s=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "f7e004a55b120c02ecb6219596820fcd32ca8772", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "ghc-8.6.5-iohk": { + "flake": false, + "locked": { + "lastModified": 1600920045, + "narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=", + "owner": "input-output-hk", + "repo": "ghc", + "rev": "95713a6ecce4551240da7c96b6176f980af75cae", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "release/8.6.5-iohk", + "repo": "ghc", + "type": "github" + } + }, + "hackage": { + "flake": false, + "locked": { + "lastModified": 1641863583, + "narHash": "sha256-QCviqA5BgFFcS8F9rfiPts5bfUP1/tEH7GwoSNkcltA=", + "owner": "input-output-hk", + "repo": "hackage.nix", + "rev": "d3e03042af2d0c71773965051d29b1e50fbb128e", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "hackage.nix", + "type": "github" + } + }, + "haskellNix": { + "inputs": { + "HTTP": "HTTP", + "cabal-32": "cabal-32", + "cabal-34": "cabal-34", + "cabal-36": "cabal-36", + "cardano-shell": "cardano-shell", + "flake-utils": "flake-utils_5", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", + "hackage": "hackage", + "hpc-coveralls": "hpc-coveralls", + "nix-tools": "nix-tools", + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-2003": "nixpkgs-2003", + "nixpkgs-2105": "nixpkgs-2105", + "nixpkgs-2111": "nixpkgs-2111", + "nixpkgs-unstable": "nixpkgs-unstable", + "old-ghc-nix": "old-ghc-nix", + "stackage": "stackage" + }, + "locked": { + "lastModified": 1641864086, + "narHash": "sha256-T/MUurQIxV4N015sU8M92+XVRLX+1LE6S02xL/X4ywM=", + "owner": "input-output-hk", + "repo": "haskell.nix", + "rev": "f05b4ce7337cfa833a377a4f7a889cdbc6581103", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "haskell.nix", + "type": "github" + } + }, + "heist": { + "flake": false, + "locked": { + "lastModified": 1624205223, + "narHash": "sha256-+bcrEKjB/kDRAqOunCD/cKBBVOJUTmY9RoCQ++I42oM=", + "owner": "srid", + "repo": "heist", + "rev": "a8be6f93656f87199e03b9dfb9979dc061614108", + "type": "github" + }, + "original": { + "owner": "srid", + "ref": "emanote", + "repo": "heist", + "type": "github" + } + }, + "hpc-coveralls": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, + "iohkNix": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1642517206, + "narHash": "sha256-mMEq8LxansMCt3qzRCa1qiovvZWLYt6yAMoFSl3lq7w=", + "owner": "input-output-hk", + "repo": "iohk-nix", + "rev": "62d853d3216083ecadc8e7f192498bebad4eee76", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "iohk-nix", + "type": "github" + } + }, + "nix-tools": { + "flake": false, + "locked": { + "lastModified": 1636018067, + "narHash": "sha256-ng306fkuwr6V/malWtt3979iAC4yMVDDH2ViwYB6sQE=", + "owner": "input-output-hk", + "repo": "nix-tools", + "rev": "ed5bd7215292deba55d6ab7a4e8c21f8b1564dda", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "nix-tools", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1641521701, + "narHash": "sha256-IuW+4EqqKjNdJ4yO0Qr8k63OkyV1TaF5vsrZzU3GCfI=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "d77bbfcbb650d9c219ca3286e1efb707b922d7c2", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nixpkgs", + "rev": "d77bbfcbb650d9c219ca3286e1efb707b922d7c2", + "type": "github" + } + }, + "nixpkgs-2003": { + "locked": { + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2105": { + "locked": { + "lastModified": 1640283157, + "narHash": "sha256-6Ddfop+rKE+Gl9Tjp9YIrkfoYPzb8F80ergdjcq3/MY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "dde1557825c5644c869c5efc7448dc03722a8f09", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2111": { + "locked": { + "lastModified": 1640283207, + "narHash": "sha256-SCwl7ZnCfMDsuSYvwIroiAlk7n33bW8HFfY8NvKhcPA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "64c7e3388bbd9206e437713351e814366e0c3284", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1641285291, + "narHash": "sha256-KYaOBNGar3XWTxTsYPr9P6u74KAqNq0wobEC236U+0c=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0432195a4b8d68faaa7d3d4b355260a3120aeeae", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1619531122, + "narHash": "sha256-ovm5bo6PkZzNKh2YGXbRKYIjega0EjiEP0YDwyeXEYU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "bb80d578e8ad3cb5a607f468ac00cc546d0396dc", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1641521701, + "narHash": "sha256-IuW+4EqqKjNdJ4yO0Qr8k63OkyV1TaF5vsrZzU3GCfI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d77bbfcbb650d9c219ca3286e1efb707b922d7c2", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "old-ghc-nix": { + "flake": false, + "locked": { + "lastModified": 1631092763, + "narHash": "sha256-sIKgO+z7tj4lw3u6oBZxqIhDrzSkvpHtv0Kki+lh9Fg=", + "owner": "angerman", + "repo": "old-ghc-nix", + "rev": "af48a7a7353e418119b6dfe3cd1463a657f342b8", + "type": "github" + }, + "original": { + "owner": "angerman", + "ref": "master", + "repo": "old-ghc-nix", + "type": "github" + } + }, + "pre-commit-hooks": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1639823344, + "narHash": "sha256-jlsQb2y6A5dB1R0wVPLOfDGM0wLyfYqEJNzMtXuzCXw=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "ff9c0b459ddc4b79c06e19d44251daa8e9cd1746", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, + "root": { + "inputs": { + "customConfig": "customConfig", + "emanote": "emanote", + "flake-compat": "flake-compat_3", + "flake-utils": "flake-utils_4", + "haskellNix": "haskellNix", + "hostNixpkgs": [ + "nixpkgs" + ], + "iohkNix": "iohkNix", + "nixpkgs": [ + "haskellNix", + "nixpkgs-2105" + ] + } + }, + "stackage": { + "flake": false, + "locked": { + "lastModified": 1641864028, + "narHash": "sha256-8qrm8lZPqxAJ9YM3aYkip8f/ar10IsOCpj4TT8u33Dw=", + "owner": "input-output-hk", + "repo": "stackage.nix", + "rev": "308844000fafade0754e8c6641d0277768050413", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "stackage.nix", + "type": "github" + } + }, + "tailwind-haskell": { + "inputs": { + "flake-compat": [ + "emanote", + "flake-compat" + ], + "flake-utils": [ + "emanote", + "flake-utils" + ], + "nixpkgs": [ + "emanote", + "ema", + "nixpkgs" + ], + "tailwind-nix": "tailwind-nix" + }, + "locked": { + "lastModified": 1641669733, + "narHash": "sha256-9kSXy2QYF22oLTvRGOQNHmZr9JC5MP+zk4AdH7jXttI=", + "owner": "srid", + "repo": "tailwind-haskell", + "rev": "eea071321505b725ff5f928741aa7a18ce335bbc", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "tailwind-haskell", + "type": "github" + } + }, + "tailwind-nix": { + "inputs": { + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils_3", + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1641667991, + "narHash": "sha256-c49tfYdq3rztwJuQ6/GT4QdQh0fN/vEH75Ny0/+9Mvw=", + "owner": "srid", + "repo": "tailwind-nix", + "rev": "e27e11a66ae26533b265eb826eec357fbf481c92", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "tailwind-nix", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 00000000000..27aacf7324e --- /dev/null +++ b/flake.nix @@ -0,0 +1,355 @@ +{ + description = "Cardano Wallet"; + + ############################################################################ + # + # Cardano Wallet Flake Nix build + # + # Nix Flake support instruction: https://nixos.wiki/wiki/Flakes + # + # Derivation attributes of this file can be build with "nix build .#" + # Discover attribute names using tab-completion in your shell. + # + # Interesting top-level attributes: + # + # - cardano-wallet - cli executable + # - tests - attrset of test-suite executables + # - cardano-wallet-core.unit + # - cardano-wallet.integration + # - etc (layout is PACKAGE.COMPONENT) + # - checks - attrset of test-suite results + # - cardano-wallet-core.unit + # - cardano-wallet.integration + # - etc + # - benchmarks - attret of benchmark executables + # - cardano-wallet-core.db + # - cardano-wallet.latency + # - etc + # - dockerImage - tarball of the docker image + # + # Other documentation: + # https://input-output-hk.github.io/cardano-wallet/dev/Building#nix-build + # + ############################################################################ + + inputs = { + nixpkgs.follows = "haskellNix/nixpkgs-2105"; + hostNixpkgs.follows = "nixpkgs"; + haskellNix = { + url = "github:input-output-hk/haskell.nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + flake-utils.url = "github:numtide/flake-utils"; + iohkNix = { + url = "github:input-output-hk/iohk-nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + flake-compat = { + url = "github:input-output-hk/flake-compat/fixes"; + flake = false; + }; + customConfig.url = "github:input-output-hk/empty-flake"; + emanote.url = "github:srid/emanote"; + }; + + outputs = { self, nixpkgs, hostNixpkgs, flake-utils, haskellNix, iohkNix, customConfig, emanote, ... }: + let + inherit (nixpkgs) lib; + config = import ./nix/config.nix lib customConfig; + inherit (flake-utils.lib) eachSystem mkApp flattenTree; + removeRecurse = lib.filterAttrsRecursive (n: _: n != "recurseForDerivations"); + supportedSystems = import ./nix/supported-systems.nix; + defaultSystem = lib.head supportedSystems; + overlay = final: prev: + { + cardanoWalletHaskellProject = self.legacyPackages.${final.system}; + inherit (final.cardanoWalletHaskellProject.hsPkgs.cardano-wallet.components.exes) cardano-wallet; + }; + # Which exes should be put in the release archives. + releaseContents = jobs: map (exe: jobs.${exe}) [ + "cardano-wallet" + "bech32" + "cardano-address" + "cardano-cli" + "cardano-node" + ]; + + mkRequiredJob = hydraJobs: + let + nonRequiredPaths = map lib.hasPrefix [ ]; + in + self.legacyPackages.${lib.head supportedSystems}.pkgs.releaseTools.aggregate { + name = "github-required"; + meta.description = "All jobs required to pass CI"; + constituents = lib.collect lib.isDerivation (lib.mapAttrsRecursiveCond (v: !(lib.isDerivation v)) + (path: value: + let stringPath = lib.concatStringsSep "." path; in if (lib.any (p: p stringPath) nonRequiredPaths) then { } else value) + hydraJobs); + }; + + mkHydraJobs = systemsJobs: + let hydraJobs = lib.foldl' lib.mergeAttrs { } (lib.attrValues systemsJobs); + in + hydraJobs // { + required = mkRequiredJob hydraJobs; + }; + + systems = eachSystem supportedSystems + (system: + let + pkgs = import nixpkgs { + inherit system; + inherit (haskellNix) config; + overlays = [ + haskellNix.overlay + iohkNix.overlays.utils + iohkNix.overlays.crypto + iohkNix.overlays.haskell-nix-extra + iohkNix.overlays.cardano-lib + # Haskell build tools + (import ./nix/overlays/build-tools.nix) + # Cardano deployments + (import ./nix/overlays/cardano-deployments.nix) + # Other packages overlay + (import ./nix/overlays/pkgs.nix) + # Our own utils (cardanoWalletLib) + (import ./nix/overlays/common-lib.nix) + overlay + ]; + }; + + inherit (pkgs.stdenv) buildPlatform; + + inherit (pkgs.haskell-nix.haskellLib) + isProjectPackage + collectComponents + collectChecks; + + project = (import ./nix/haskell.nix pkgs.haskell-nix).appendModule [{ + gitrev = + if config.gitrev != null + then config.gitrev + else self.rev or "0000000000000000000000000000000000000000"; + } + config.haskellNix]; + profiledProject = project.appendModule { profiling = true; }; + hydraProject = project.appendModule ({ pkgs, ... }: { + # FIXME: Set in the CI so we don't make mistakes. + #checkMaterialization = true; + # Don't build benchmarks for musl. + buildBenchmarks = !pkgs.stdenv.hostPlatform.isMusl; + }); + hydraProjectBors = hydraProject.appendModule ({ pkgs, ... }: { + # Sets the anti-cache cookie only when building a jobset for bors. + cacheTestFailures = false; + }); + hydraProjectPr = hydraProject.appendModule ({ pkgs, ... }: { + # Don't run integration tests on PR jobsets. Note that + # the master branch jobset will just re-use the cached Bors + # staging build and test results. + doIntegrationCheck = false; + }); + + mkPackages = project: + let + coveredProject = project.appendModule { coverage = true; }; + self = { + # Cardano wallet + cardano-wallet = import ./nix/release-build.nix { + inherit pkgs; + exe = project.hsPkgs.cardano-wallet.components.exes.cardano-wallet; + backend = self.cardano-node; + }; + # Local test cluster and mock metadata server + inherit (project.hsPkgs.cardano-wallet.components.exes) + local-cluster + mock-token-metadata-server; + + # Adrestia tool belt + inherit (project.hsPkgs.bech32.components.exes) bech32; + inherit (project.hsPkgs.cardano-addresses-cli.components.exes) cardano-address; + + # Cardano + inherit (project.hsPkgs.cardano-cli.components.exes) cardano-cli; + cardano-node = project.hsPkgs.cardano-node.components.exes.cardano-node // { + deployments = pkgs.cardano-node-deployments; + }; + + # Provide db-converter, so daedalus can ship it without needing to + # pin an ouroborus-network rev. + inherit (project.hsPkgs.ouroboros-consensus-byron.components.exes) + db-converter; + + # Combined project coverage report + testCoverageReport = coveredProject.projectCoverageReport; + # `tests` are the test suites which have been built. + tests = removeRecurse (collectComponents "tests" isProjectPackage coveredProject.hsPkgs); + # `checks` are the result of executing the tests. + checks = removeRecurse (collectChecks isProjectPackage coveredProject.hsPkgs); + # `benchmarks` are only built, not run. + benchmarks = removeRecurse (collectComponents "benchmarks" isProjectPackage project.hsPkgs); + }; + in + self; + + # See the imported file for how to use the docker build. + mkDockerImage = packages: pkgs.callPackage ./nix/docker.nix { + exes = with packages; [ cardano-wallet local-cluster ]; + base = with packages; [ + bech32 + cardano-address + cardano-cli + cardano-node + (pkgs.linkFarm "docker-config-layer" [{ name = "config"; path = pkgs.cardano-node-deployments; }]) + ]; + }; + + mkDevShells = project: rec { + profiled = (project.appendModule { profiling = true; }).shell; + cabal = import ./nix/cabal-shell.nix { + haskellProject = project; + inherit (config) withCabalCache ghcVersion; + }; + stack = cabal.overrideAttrs (old: { + name = "cardano-wallet-stack-env"; + nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.stack ]; + # Build environment setup copied from + # + STACK_PLATFORM_VARIANT = "nix"; + STACK_IN_NIX_SHELL = 1; + STACK_IN_NIX_EXTRA_ARGS = config.stackExtraArgs; + }); + docs = pkgs.mkShell { + name = "cardano-wallet-docs-env"; + nativeBuildInputs = [ emanote.defaultPackage.${system} ]; + # allow building the shell so that it can be cached in hydra + phases = [ "installPhase" ]; + installPhase = "echo $nativeBuildInputs > $out"; + }; + }; + + mkSystemHydraJobs = hydraProject: lib.optionalAttrs buildPlatform.isLinux + rec { + linux = { + # Don't run tests on linux native, because they are run for linux musl. + native = removeAttrs (mkPackages hydraProject) [ "checks" "testCoverageReport" ] // { + shells = (mkDevShells hydraProject) // { + default = hydraProject.shell; + }; + # Build and cache the build script used on Buildkite + buildkiteScript = import ./.buildkite/default.nix { + inherit pkgs; + stackShell = linux.native.shells.stack; + }; + internal.roots = { + project = hydraProject.roots; + iohk-nix-utils = pkgs.iohk-nix-utils.roots; + }; + }; + musl = + let + project = hydraProject.projectCross.musl64; + packages = mkPackages project; + in + packages // { + dockerImage = mkDockerImage packages; + internal.roots = { + project = project.roots; + }; + cardano-wallet-linux64 = import ./nix/release-package.nix { + inherit pkgs; + exes = releaseContents packages; + platform = "linux64"; + format = "tar.gz"; + }; + }; + windows = + let + project = hydraProject.projectCross.mingwW64; + # Remove the test coverage report - only generate that for Linux musl. + windowsPackages = removeAttrs (mkPackages project) [ "testCoverageReport" ]; + in + windowsPackages // { + cardano-wallet-win64 = import ./nix/release-package.nix { + inherit pkgs; + exes = releaseContents windowsPackages; + platform = "win64"; + format = "zip"; + }; + # This is used for testing the build on windows. + cardano-wallet-tests-win64 = import ./nix/windows-testing-bundle.nix { + inherit pkgs; + cardano-wallet = windowsPackages.cardano-wallet; + cardano-node = windowsPackages.cardano-node; + cardano-cli = windowsPackages.cardano-cli; + tests = lib.collect lib.isDerivation windowsPackages.tests; + benchmarks = lib.collect lib.isDerivation windowsPackages.benchmarks; + }; + internal.roots = { + project = project.roots; + }; + }; + }; + } // (lib.optionalAttrs buildPlatform.isMacOS { + macos = let packages = mkPackages hydraProject; in + packages // { + cardano-wallet-macos64 = import ./nix/release-package.nix { + inherit pkgs; + exes = releaseContents packages; + platform = "macos64"; + format = "tar.gz"; + }; + shells = (mkDevShells hydraProject) // { + default = hydraProject.shell; + }; + internal.roots = { + project = hydraProject.roots; + iohk-nix-utils = pkgs.iohk-nix-utils.roots; + }; + }; + }); + in + rec { + + legacyPackages = project; + + # Built by `nix build .` + defaultPackage = packages.cardano-wallet; + + # Run by `nix run .` + defaultApp = apps.cardano-wallet; + + packages = mkPackages project // rec { + dockerImage = mkDockerImage (mkPackages project.projectCross.musl64); + pushDockerImage = import ./.buildkite/docker-build-push.nix { + hostPkgs = import hostNixpkgs { inherit system; }; + inherit dockerImage; + inherit (config) dockerHubRepoName; + }; + inherit (pkgs) sha256map-regenerate checkStackProject; + inherit (project.stack-nix.passthru) generateMaterialized; + buildToolsGenerateMaterialized = pkgs.haskell-build-tools.regenerateMaterialized; + iohkNixGenerateMaterialized = pkgs.iohk-nix-utils.regenerateMaterialized; + }; + + apps = lib.mapAttrs (n: p: { type = "app"; program = if (p ? exePath) then p.exePath else "${p}/bin/${n}"; }) packages; + + devShell = project.shell; + + devShells = mkDevShells project; + + systemHydraJobs = mkSystemHydraJobs hydraProject; + systemHydraJobsPr = mkSystemHydraJobs hydraProjectPr; + systemHydraJobsBors = mkSystemHydraJobs hydraProjectBors; + }); + + in + lib.recursiveUpdate (removeAttrs systems [ "systemHydraJobs" "systemHydraJobsPr" "systemHydraJobsBors" ]) + { + inherit overlay; + hydraJobs = mkHydraJobs systems.systemHydraJobs; + hydraJobsPr = mkHydraJobs systems.systemHydraJobsPr; + hydraJobsBors = mkHydraJobs systems.systemHydraJobsBors; + } + ; +} diff --git a/lib/cli/cardano-wallet-cli.cabal b/lib/cli/cardano-wallet-cli.cabal index 34d76571fb9..9fd458b5330 100644 --- a/lib/cli/cardano-wallet-cli.cabal +++ b/lib/cli/cardano-wallet-cli.cabal @@ -78,12 +78,13 @@ test-suite unit , text , text-class , unliftio - build-tools: - hspec-discover + build-tool-depends: + hspec-discover:hspec-discover type: exitcode-stdio-1.0 hs-source-dirs: test/unit + test/data main-is: cli-unit-test.hs other-modules: diff --git a/lib/core/cardano-wallet-core.cabal b/lib/core/cardano-wallet-core.cabal index 90a33c6c166..11c0c207368 100644 --- a/lib/core/cardano-wallet-core.cabal +++ b/lib/core/cardano-wallet-core.cabal @@ -390,13 +390,14 @@ test-suite unit , wai , wai-extra , warp - build-tools: - hspec-discover + build-tool-depends: + hspec-discover:hspec-discover type: exitcode-stdio-1.0 hs-source-dirs: test-common test/unit + test/data main-is: core-unit-test.hs other-modules: diff --git a/lib/dbvar/dbvar.cabal b/lib/dbvar/dbvar.cabal index ac4bfaf0f4c..4bbb764b290 100644 --- a/lib/dbvar/dbvar.cabal +++ b/lib/dbvar/dbvar.cabal @@ -73,8 +73,8 @@ test-suite unit , io-sim , hspec , QuickCheck - build-tools: - hspec-discover + build-tool-depends: + hspec-discover:hspec-discover type: exitcode-stdio-1.0 hs-source-dirs: diff --git a/lib/launcher/cardano-wallet-launcher.cabal b/lib/launcher/cardano-wallet-launcher.cabal index 5af4fedd211..0d64e3d2457 100644 --- a/lib/launcher/cardano-wallet-launcher.cabal +++ b/lib/launcher/cardano-wallet-launcher.cabal @@ -86,8 +86,8 @@ test-suite unit , text-class , time , unliftio - build-tools: - hspec-discover + build-tool-depends: + hspec-discover:hspec-discover type: exitcode-stdio-1.0 hs-source-dirs: diff --git a/lib/numeric/cardano-numeric.cabal b/lib/numeric/cardano-numeric.cabal index 5e27dac9d29..d423eb9598d 100644 --- a/lib/numeric/cardano-numeric.cabal +++ b/lib/numeric/cardano-numeric.cabal @@ -52,8 +52,8 @@ test-suite unit , cardano-numeric , hspec , QuickCheck - build-tools: - hspec-discover + build-tool-depends: + hspec-discover:hspec-discover type: exitcode-stdio-1.0 hs-source-dirs: diff --git a/lib/shelley/bench/restore-bench.hs b/lib/shelley/bench/restore-bench.hs index 28fc87594a5..c92714073b2 100644 --- a/lib/shelley/bench/restore-bench.hs +++ b/lib/shelley/bench/restore-bench.hs @@ -21,7 +21,7 @@ -- Easiest run using -- @ -- $ export NODE_DB="node-db-testnet" --- $ nix-build -A benchmarks.cardano-wallet.restore -o restore && ./restore/bin/restore testnet +-- $ nix build .#benchmarks/cardano-wallet/restore -o restore && ./restore/bin/restore testnet -- @ -- -- or diff --git a/lib/shelley/cardano-wallet.cabal b/lib/shelley/cardano-wallet.cabal index 50039fc48f5..bd5d040f1cc 100644 --- a/lib/shelley/cardano-wallet.cabal +++ b/lib/shelley/cardano-wallet.cabal @@ -249,12 +249,13 @@ test-suite unit , transformers , unliftio , QuickCheck - build-tools: - hspec-discover + build-tool-depends: + hspec-discover:hspec-discover type: exitcode-stdio-1.0 hs-source-dirs: test/unit + test/data main-is: shelley-unit-test.hs other-modules: @@ -303,6 +304,7 @@ test-suite integration exitcode-stdio-1.0 hs-source-dirs: test/integration + test/data main-is: shelley-integration-test.hs other-modules: diff --git a/lib/strict-non-empty-containers/strict-non-empty-containers.cabal b/lib/strict-non-empty-containers/strict-non-empty-containers.cabal index 4713dad5b94..e7a1c9d4b42 100644 --- a/lib/strict-non-empty-containers/strict-non-empty-containers.cabal +++ b/lib/strict-non-empty-containers/strict-non-empty-containers.cabal @@ -60,8 +60,8 @@ test-suite unit , quickcheck-classes , should-not-typecheck , strict-non-empty-containers - build-tools: - hspec-discover + build-tool-depends: + hspec-discover:hspec-discover type: exitcode-stdio-1.0 hs-source-dirs: diff --git a/lib/test-utils/cardano-wallet-test-utils.cabal b/lib/test-utils/cardano-wallet-test-utils.cabal index f6b22840832..d9a34ce4bac 100644 --- a/lib/test-utils/cardano-wallet-test-utils.cabal +++ b/lib/test-utils/cardano-wallet-test-utils.cabal @@ -109,8 +109,8 @@ test-suite unit , QuickCheck , unliftio , unliftio-core - build-tools: - hspec-discover + build-tool-depends: + hspec-discover:hspec-discover type: exitcode-stdio-1.0 hs-source-dirs: diff --git a/lib/text-class/text-class.cabal b/lib/text-class/text-class.cabal index 9e08c811456..e84571c48d3 100644 --- a/lib/text-class/text-class.cabal +++ b/lib/text-class/text-class.cabal @@ -61,8 +61,8 @@ test-suite unit , text , text-class , time - build-tools: - hspec-discover + build-tool-depends: + hspec-discover:hspec-discover type: exitcode-stdio-1.0 hs-source-dirs: diff --git a/nix/.stack.nix/default.nix b/nix/.stack.nix/default.nix deleted file mode 100644 index c7708e6d5ce..00000000000 --- a/nix/.stack.nix/default.nix +++ /dev/null @@ -1,186 +0,0 @@ -{ - extras = hackage: - { - packages = { - "OddWord" = (((hackage.OddWord)."1.0.2.0").revisions).default; - "command" = (((hackage.command)."0.1.1").revisions).default; - "hspec" = (((hackage.hspec)."2.8.2").revisions).default; - "hspec-core" = (((hackage.hspec-core)."2.8.2").revisions).default; - "hspec-discover" = (((hackage.hspec-discover)."2.8.2").revisions).default; - "cryptonite" = (((hackage.cryptonite)."0.27").revisions).default; - "Cabal" = (((hackage.Cabal)."3.4.0.0").revisions).default; - "containers" = (((hackage.containers)."0.6.4.1").revisions).default; - "dns" = (((hackage.dns)."3.0.4").revisions).default; - "network" = (((hackage.network)."3.1.2.1").revisions).default; - "ral" = (((hackage.ral)."0.1").revisions).default; - "recursion-schemes" = (((hackage.recursion-schemes)."5.1.3").revisions).default; - "text" = (((hackage.text)."1.2.4.0").revisions).default; - "Win32" = (((hackage.Win32)."2.6.2.0").revisions).default; - "async-timer" = (((hackage.async-timer)."0.2.0.0").revisions).default; - "beam-core" = (((hackage.beam-core)."0.9.1.0").revisions).default; - "beam-migrate" = (((hackage.beam-migrate)."0.5.1.0").revisions).default; - "beam-sqlite" = (((hackage.beam-sqlite)."0.5.1.0").revisions).default; - "canonical-json" = (((hackage.canonical-json)."0.6.0.0").revisions).default; - "composition-prelude" = (((hackage.composition-prelude)."3.0.0.2").revisions).default; - "constraints-extras" = (((hackage.constraints-extras)."0.3.1.0").revisions).default; - "ip" = (((hackage.ip)."1.5.1").revisions).default; - "gray-code" = (((hackage.gray-code)."0.3.1").revisions).default; - "lazy-search" = (((hackage.lazy-search)."0.1.2.1").revisions).default; - "lazysmallcheck" = (((hackage.lazysmallcheck)."0.6").revisions).default; - "libsystemd-journal" = (((hackage.libsystemd-journal)."1.4.4").revisions).default; - "markov-chain-usage-model" = (((hackage.markov-chain-usage-model)."0.0.0").revisions).default; - "micro-recursion-schemes" = (((hackage.micro-recursion-schemes)."5.0.2.2").revisions).default; - "monoidal-containers" = (((hackage.monoidal-containers)."0.6.0.1").revisions).default; - "moo" = (((hackage.moo)."1.2").revisions).default; - "nothunks" = (((hackage.nothunks)."0.1.2").revisions).default; - "partial-order" = (((hackage.partial-order)."0.2.0.0").revisions).default; - "quickcheck-state-machine" = (((hackage.quickcheck-state-machine)."0.7.0").revisions).default; - "regex-posix-clib" = (((hackage.regex-posix-clib)."2.7").revisions).default; - "row-types" = (((hackage.row-types)."1.0.1.0").revisions).default; - "servant-subscriber" = (((hackage.servant-subscriber)."0.7.0.0").revisions).default; - "dom-lt" = (((hackage.dom-lt)."0.2.2.1").revisions).default; - "servant-websockets" = (((hackage.servant-websockets)."2.0.0").revisions).default; - "size-based" = (((hackage.size-based)."0.1.2.0").revisions).default; - "statistics-linreg" = (((hackage.statistics-linreg)."0.3").revisions).default; - "streaming-binary" = (((hackage.streaming-binary)."0.2.2.0").revisions).default; - "time-interval" = (((hackage.time-interval)."0.1.1").revisions).default; - "time-out" = (((hackage.time-out)."0.2").revisions).default; - "transformers-except" = (((hackage.transformers-except)."0.1.1").revisions).default; - "Unique" = (((hackage.Unique)."0.4.7.6").revisions).default; - "binary" = (((hackage.binary)."0.8.8.0").revisions).default; - "parsec" = (((hackage.parsec)."3.1.14.0").revisions).default; - dbvar = ./dbvar.nix; - cardano-wallet-core = ./cardano-wallet-core.nix; - cardano-wallet-core-integration = ./cardano-wallet-core-integration.nix; - cardano-wallet-cli = ./cardano-wallet-cli.nix; - cardano-wallet-launcher = ./cardano-wallet-launcher.nix; - cardano-numeric = ./cardano-numeric.nix; - text-class = ./text-class.nix; - cardano-wallet-test-utils = ./cardano-wallet-test-utils.nix; - cardano-wallet = ./cardano-wallet.nix; - strict-non-empty-containers = ./strict-non-empty-containers.nix; - cardano-addresses-cli = ./cardano-addresses-cli.nix; - cardano-addresses = ./cardano-addresses.nix; - optparse-applicative-fork = ./optparse-applicative-fork.nix; - bech32 = ./bech32.nix; - bech32-th = ./bech32-th.nix; - base-deriving-via = ./base-deriving-via.nix; - cardano-binary = ./cardano-binary.nix; - cardano-binary-test = ./cardano-binary-test.nix; - cardano-crypto-class = ./cardano-crypto-class.nix; - cardano-crypto-praos = ./cardano-crypto-praos.nix; - cardano-crypto-tests = ./cardano-crypto-tests.nix; - orphans-deriving-via = ./orphans-deriving-via.nix; - cardano-slotting = ./cardano-slotting.nix; - strict-containers = ./strict-containers.nix; - measures = ./measures.nix; - cardano-crypto = ./cardano-crypto.nix; - cardano-ledger-alonzo = ./cardano-ledger-alonzo.nix; - cardano-ledger-alonzo-test = ./cardano-ledger-alonzo-test.nix; - byron-spec-chain = ./byron-spec-chain.nix; - cardano-crypto-wrapper = ./cardano-crypto-wrapper.nix; - cardano-crypto-test = ./cardano-crypto-test.nix; - byron-spec-ledger = ./byron-spec-ledger.nix; - cardano-ledger-byron = ./cardano-ledger-byron.nix; - cardano-ledger-byron-test = ./cardano-ledger-byron-test.nix; - cardano-ledger-shelley = ./cardano-ledger-shelley.nix; - cardano-ledger-shelley-test = ./cardano-ledger-shelley-test.nix; - cardano-ledger-shelley-ma = ./cardano-ledger-shelley-ma.nix; - cardano-ledger-shelley-ma-test = ./cardano-ledger-shelley-ma-test.nix; - cardano-ledger-core = ./cardano-ledger-core.nix; - cardano-ledger-pretty = ./cardano-ledger-pretty.nix; - cardano-protocol-tpraos = ./cardano-protocol-tpraos.nix; - cardano-data = ./cardano-data.nix; - compact-map = ./compact-map.nix; - set-algebra = ./set-algebra.nix; - small-steps = ./small-steps.nix; - small-steps-test = ./small-steps-test.nix; - non-integral = ./non-integral.nix; - cardano-api = ./cardano-api.nix; - cardano-cli = ./cardano-cli.nix; - cardano-node = ./cardano-node.nix; - trace-dispatcher = ./trace-dispatcher.nix; - trace-resources = ./trace-resources.nix; - trace-forward = ./trace-forward.nix; - cardano-prelude = ./cardano-prelude.nix; - cardano-prelude-test = ./cardano-prelude-test.nix; - cardano-sl-x509 = ./cardano-sl-x509.nix; - flat = ./flat.nix; - goblins = ./goblins.nix; - hedgehog-extras = ./hedgehog-extras.nix; - contra-tracer = ./contra-tracer.nix; - iohk-monitoring = ./iohk-monitoring.nix; - lobemo-backend-aggregation = ./lobemo-backend-aggregation.nix; - lobemo-backend-ekg = ./lobemo-backend-ekg.nix; - lobemo-backend-monitoring = ./lobemo-backend-monitoring.nix; - lobemo-backend-trace-forwarder = ./lobemo-backend-trace-forwarder.nix; - lobemo-scribe-systemd = ./lobemo-scribe-systemd.nix; - tracer-transformers = ./tracer-transformers.nix; - purescript-bridge = ./purescript-bridge.nix; - io-classes = ./io-classes.nix; - io-sim = ./io-sim.nix; - monoidal-synchronisation = ./monoidal-synchronisation.nix; - network-mux = ./network-mux.nix; - ouroboros-consensus = ./ouroboros-consensus.nix; - ouroboros-consensus-test = ./ouroboros-consensus-test.nix; - ouroboros-consensus-byron = ./ouroboros-consensus-byron.nix; - ouroboros-consensus-byronspec = ./ouroboros-consensus-byronspec.nix; - ouroboros-consensus-byron-test = ./ouroboros-consensus-byron-test.nix; - ouroboros-consensus-protocol = ./ouroboros-consensus-protocol.nix; - ouroboros-consensus-shelley = ./ouroboros-consensus-shelley.nix; - ouroboros-consensus-shelley-test = ./ouroboros-consensus-shelley-test.nix; - ouroboros-consensus-cardano = ./ouroboros-consensus-cardano.nix; - ouroboros-consensus-cardano-test = ./ouroboros-consensus-cardano-test.nix; - ouroboros-network = ./ouroboros-network.nix; - ouroboros-network-framework = ./ouroboros-network-framework.nix; - ouroboros-network-testing = ./ouroboros-network-testing.nix; - strict-stm = ./strict-stm.nix; - typed-protocols = ./typed-protocols.nix; - typed-protocols-cborg = ./typed-protocols-cborg.nix; - typed-protocols-examples = ./typed-protocols-examples.nix; - cardano-client = ./cardano-client.nix; - ntp-client = ./ntp-client.nix; - ouroboros-consensus-mock = ./ouroboros-consensus-mock.nix; - freer-extras = ./freer-extras.nix; - playground-common = ./playground-common.nix; - plutus-chain-index = ./plutus-chain-index.nix; - plutus-contract = ./plutus-contract.nix; - plutus-core = ./plutus-core.nix; - plutus-ledger = ./plutus-ledger.nix; - plutus-ledger-api = ./plutus-ledger-api.nix; - plutus-pab = ./plutus-pab.nix; - plutus-tx = ./plutus-tx.nix; - plutus-tx-plugin = ./plutus-tx-plugin.nix; - plutus-use-cases = ./plutus-use-cases.nix; - plutus-ghc-stub = ./plutus-ghc-stub.nix; - prettyprinter-configurable = ./prettyprinter-configurable.nix; - quickcheck-dynamic = ./quickcheck-dynamic.nix; - word-array = ./word-array.nix; - ekg-forward = ./ekg-forward.nix; - cardano-config = ./cardano-config.nix; - servant-purescript = ./servant-purescript.nix; - Win32-network = ./Win32-network.nix; - }; - compiler.version = "8.10.7"; - compiler.nix-name = "ghc8107"; - }; - resolver = "lts-18.21"; - modules = [ - ({ lib, ... }: - { - packages = { - "cryptonite" = { - flags = { "support_rdrand" = lib.mkOverride 900 false; }; - }; - "cardano-crypto-praos" = { - flags = { "external-libsodium-vrf" = lib.mkOverride 900 false; }; - }; - "zip" = { flags = { "disable-bzip2" = lib.mkOverride 900 true; }; }; - }; - }) - { packages = { "$locals" = { ghcOptions = [ "-fwrite-ide-info" ]; }; }; } - ({ lib, ... }: - { planned = lib.mkOverride 900 true; }) - ]; - compiler = "ghc-8.10.7"; - } \ No newline at end of file diff --git a/nix/Dockerfile b/nix/Dockerfile index b528640451b..c1874dc0619 100644 --- a/nix/Dockerfile +++ b/nix/Dockerfile @@ -26,7 +26,7 @@ # Use multi-stage build FROM nixos/nix as builder -RUN nix-channel --add https://nixos.org/channels/nixos-20.03 nixpkgs +RUN nix-channel --add https://nixos.org/channels/nixos-21.05 nixpkgs RUN nix-channel --update RUN nix-env -i git gnutar @@ -42,7 +42,7 @@ RUN test -n "${USE_IOHK_CACHE}" && ( echo "Note: using IOHK nix cache" > /dev/st # Make a docker layer with a warm cache (helps re-use compilers for # subsequent builds). -RUN nix-build https://github.com/input-output-hk/cardano-wallet/archive/master.tar.gz -A cardano-wallet --no-out-link +RUN nix --experimental-features "nix-command flakes" build github:input-output-hk/cardano-wallet#hydraJobs.linux.musl.cardano-wallet --no-link ############################################################################ @@ -61,7 +61,9 @@ WORKDIR cardano-wallet # Build # Build the wallet and node static binaries package, untar to "out" directory -RUN tar -xzvf $(nix-build release.nix -A cardano-wallet-linux64 --no-out-link)/*.tar.gz +RUN nix --experimental-features "nix-command flakes" build .#hydraJobs.linux.musl.cardano-wallet-linux64 +RUN tar -xzvf result/*.tar.gz +RUN rm result RUN mv cardano-wallet-* ../out # TODO: Alternatively, we could build the dockerImage.shelley diff --git a/nix/cabal-shell.nix b/nix/cabal-shell.nix index 7fe0f5916c8..24069e70c1d 100644 --- a/nix/cabal-shell.nix +++ b/nix/cabal-shell.nix @@ -5,36 +5,36 @@ # The default shell (../shell.nix) uses the Haskell.nix shellFor to # also provide Haskell package dependencies in the shell environment. -{ walletPackages ? import ../default.nix {} -, pkgs ? walletPackages.private.pkgs -# optional string argument to override compiler, e.g. -# nix-shell nix/cabal-shell.nix --argstr ghcVersion ghc8105 -, ghcVersion ? null -# Enable building the cabal-cache util - only needed under CI -, withCabalCache ? false +{ haskellProject + # Enable building the cabal-cache util - only needed under CI +, withCabalCache + # optional string argument to override compiler, e.g. + # nix-shell nix/cabal-shell.nix --argstr ghcVersion ghc8105 +, ghcVersion }: -with pkgs; +with haskellProject.pkgs; mkShell rec { name = "cardano-wallet-cabal-env"; meta.platforms = lib.platforms.unix; - ghc = if (ghcVersion == null) - then walletPackages.private.project.pkg-set.config.ghc.package + ghc = + if (ghcVersion == null) + then haskellProject.pkg-set.config.ghc.package else haskell-nix.compiler.${ghcVersion}; tools = [ ghc haskell-build-tools.cabal-install - nix + nixWrapped pkgconfig gnutar ] ++ lib.optional (!stdenv.isDarwin) git - ++ (with walletPackages; [ - cardano-node - cardano-cli + ++ (with haskellProject.hsPkgs; [ + cardano-node.components.exes.cardano-node + cardano-cli.components.exes.cardano-cli ]) ++ lib.optional withCabalCache haskell-build-tools.cabal-cache; @@ -52,14 +52,17 @@ mkShell rec { ++ lib.optional (stdenv.hostPlatform.libc == "glibc") glibcLocales ++ lib.optional stdenv.isLinux systemd.dev ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ - Cocoa CoreServices libcxx libiconv + Cocoa + CoreServices + libcxx + libiconv ]); - buildInputs = tools ++ libs; + nativeBuildInputs = tools ++ libs; # allow building the shell so that it can be cached in hydra - phases = ["nobuildPhase"]; - nobuildPhase = "echo '${lib.concatStringsSep "\n" buildInputs}' > $out"; + phases = [ "nobuildPhase" ]; + nobuildPhase = "echo '${lib.concatStringsSep "\n" nativeBuildInputs}' > $out"; preferLocalBuild = true; # Ensure that libz.so and other libraries are available to TH splices. diff --git a/nix/config.nix b/nix/config.nix new file mode 100644 index 00000000000..4973d263772 --- /dev/null +++ b/nix/config.nix @@ -0,0 +1,31 @@ +lib: customConfig: let config = + lib.recursiveUpdate { + platform = "all"; + # The systems that the jobset will be built for. + supportedSystems = import ./nix/supported-systems.nix; + + # Enable debug tracing + debug = false; + + # Use this git revision for stamping executables + gitrev = null; + + # Enable building the cabal-cache util - only needed under CI + withCabalCache = false; + + # optional extra haskell.nix module + haskellNix = {}; + + # optional arguments for stack (nix-shell -A stack --arg stackExtraArgs '[]') + stackExtraArgs = []; + + # optional string argument to override compiler, in cabal shell. + ghcVersion = null; + + dockerHubRepoName = null; + +} customConfig; +in + assert lib.asserts.assertOneOf "platform" config.platform + ["all" "linux" "macos" "windows"]; + config diff --git a/nix/default.nix b/nix/default.nix index 6fb36ca8013..dddfd790c55 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -1,67 +1,3 @@ -{ system ? builtins.currentSystem -, crossSystem ? null -# Lets you customise ghc and profiling (see ./haskell.nix): -, config ? {} -# Lets you override niv dependencies of the project without -# modifications to the source. -# eg. to test build against a local checkout of cardano-node: -# nix-build default.nix -A cardano-wallet --arg sourcesOverride '{ nixpkgs = ../nixpkgs; }' -, sourcesOverride ? {} -}: -let - sources = import ./sources.nix { inherit pkgs; } - // sourcesOverride; - iohkNixMain = import sources.iohk-nix {}; - haskellNix = import sources."haskell.nix" { - inherit system; - # If niv sources for Hackage or Stackage are present, pass them through to Haskell.nix. - sourcesOverride = - (if builtins.hasAttr "hackage" sources then { inherit (sources) hackage; } else {}) // - (if builtins.hasAttr "stackage" sources then { inherit (sources) stackage; } else {}) - // sourcesOverride; - }; - # use our own nixpkgs if it exists in our sources, - # otherwise use iohkNix default nixpkgs. - nixpkgs = if (sources ? nixpkgs) - then - (builtins.trace "Not using Haskell.nix nixpkgs pin (use 'niv drop nixpkgs' to use default for better sharing)" - sources.nixpkgs) - # else iohkNixMain.nixpkgs; - else haskellNix.sources.nixpkgs; - - # for inclusion in pkgs: - overlays = - # Haskell.nix (https://github.com/input-output-hk/haskell.nix) - haskellNix.nixpkgsArgs.overlays - # haskell-nix.haskellLib.extra: some useful extra utility functions for haskell.nix - ++ iohkNixMain.overlays.haskell-nix-extra - # iohkNix: iohkNix.lib and niv packages: - ++ iohkNixMain.overlays.iohkNix - # iohkNix: utils - ++ iohkNixMain.overlays.utils - # iohkNix: crypto - ++ iohkNixMain.overlays.crypto - # our own overlays: - ++ [ - (final: prev: { - # commonLib: iohk-nix utils - commonLib = final.iohkNix - # also expose our sources and overlays - // { inherit overlays sources; }; - }) - # Add our own utils to commonLib - (import ./overlays/common-lib.nix) - # Haskell build tools - (import ./overlays/build-tools.nix) - # Cardano deployments - (import ./overlays/cardano-deployments.nix) - # Other packages overlay - (import ./overlays/pkgs.nix { inherit sources; }) - ]; - - pkgs = import nixpkgs { - inherit system crossSystem overlays; - config = haskellNix.nixpkgsArgs.config // config; - }; - -in pkgs +{ ... }@args: +with (import ./flake-compat.nix args); +defaultNix.legacyPackages.${builtins.currentSystem}.pkgs diff --git a/nix/docker.nix b/nix/docker.nix index 33f3a89394e..465becb3efa 100644 --- a/nix/docker.nix +++ b/nix/docker.nix @@ -3,7 +3,7 @@ # # To test it out, use: # -# docker load -i $(nix-build -A dockerImage --no-out-link) +# docker load -i $(nix build --json .#dockerImage | jq -r '.[0].outputs.out') # docker run cardano-wallet # ############################################################################ diff --git a/nix/flake-compat.nix b/nix/flake-compat.nix new file mode 100644 index 00000000000..47ec2b7ed71 --- /dev/null +++ b/nix/flake-compat.nix @@ -0,0 +1,23 @@ +{...}@args: +let + src = args.src or ../.; + lock = builtins.fromJSON (builtins.readFile (src + "/flake.lock")); + flake-compate-input = lock.nodes.root.inputs.flake-compat; + nixpkgs-input = lock.nodes.haskellNix.inputs.${builtins.elemAt lock.nodes.root.inputs.nixpkgs 1}; + flake-compat = import (builtins.fetchTarball { + url = "https://api.github.com/repos/input-output-hk/flake-compat/tarball/${lock.nodes.${flake-compate-input}.locked.rev}"; + sha256 = lock.nodes.${flake-compate-input}.locked.narHash; + }); + pkgs = import + (builtins.fetchTarball { + url = "https://api.github.com/repos/NixOS/nixpkgs/tarball/${lock.nodes.${nixpkgs-input}.locked.rev}"; + sha256 = lock.nodes.${nixpkgs-input}.locked.narHash; + }) + { }; +in +flake-compat { + inherit src pkgs; + override-inputs = { + customConfig = args; + }; +} diff --git a/nix/haskell.nix b/nix/haskell.nix index d240dfa2306..8318246c724 100644 --- a/nix/haskell.nix +++ b/nix/haskell.nix @@ -1,361 +1,465 @@ ############################################################################ # Builds Haskell packages with Haskell.nix ############################################################################ -{ lib -, stdenv -, pkgs -, haskell-nix -, buildPackages -, config ? {} -# Enable profiling -, profiling ? config.haskellNix.profiling or false -# Enable Haskell Program Coverage for cardano-wallet libraries and test suites. -, coverage ? config.haskellNix.coverage or false -# Project top-level source tree -, src -# GitHub PR number (when building a PR jobset on Hydra) -, pr ? null -# Bors job type (when building a bors jobset on Hydra) -, borsBuild ? null -# Git revision of sources -, gitrev ? null -}: - -let - haskell = pkgs.haskell-nix; - jmPkgs = pkgs.jmPkgs; - - # our packages - stack-pkgs = import ./.stack.nix/default.nix; - - # When adding a new Cabal package, or removing, update this attrset. - # It's not automatically discovered from stack-pkgs yet. - projectPackages = { - dbvar = "lib/dbvar"; - cardano-wallet-cli = "lib/cli"; - cardano-wallet-core-integration = "lib/core-integration"; - cardano-wallet-core = "lib/core"; - cardano-wallet-launcher = "lib/launcher"; - cardano-numeric = "lib/numeric"; - cardano-wallet = "lib/shelley"; - strict-non-empty-containers = "lib/strict-non-empty-containers"; - cardano-wallet-test-utils = "lib/test-utils"; - text-class = "lib/text-class"; - }; - - pkg-set = haskell.mkStackPkgSet { - inherit stack-pkgs; - modules = [ - { - packages = lib.mapAttrs (name: subDir: { - # Add source filtering to local packages and chop out a - # subdirectory of the source, so that the package is only - # rebuilt when something relevant in the subdirectory changes. - src = haskell.haskellLib.cleanSourceWith { inherit src subDir; }; - # Mark package as local non-dep in the nix-shell. - # fixme: Haskell.nix should set it - package.isProject = true; - - # Enable release flag (optimization and -Werror) - flags.release = true; - - # Enable Haskell Program Coverage for all local libraries - # and test suites. - doCoverage = coverage; - }) projectPackages; - } - - # Provide configuration and dependencies to cardano-wallet components - ({ config, ...}: let - cardanoNodeExes = with config.hsPkgs; - [ cardano-node.components.exes.cardano-node - cardano-cli.components.exes.cardano-cli ]; - in { - packages.cardano-wallet-core.components.tests = { - unit.preCheck = noCacheOnBorsCookie; - # Attempt to ensure visible progress in the macOS hydra job. - # - # An hypothesis is that #2472 is caused by heavy load and unfocused - # resources from running the tests concurrently, risking that the slowest - # hspec runner - and thererefore the stdout - being silent for 900s causing - # hydra to timeout. - # - # Setting -j 1 should hopefully focus the resource we have in one place. It - # should go silent less often, at the expense of the full run getting slower. - unit.testFlags = lib.optionals pkgs.stdenv.hostPlatform.isDarwin ["-j" "1"]; +haskell-nix: haskell-nix.stackProject' [ + ({ lib, pkgs, buildProject, ... }: { + options = { + gitrev = lib.mkOption { + type = lib.types.str; + description = "Git revision of sources"; + }; + profiling = lib.mkOption { + type = lib.types.bool; + description = "Enable profiling"; + default = false; + }; + coverage = lib.mkOption { + type = lib.types.bool; + description = "Enable Haskell Program Coverage for cardano-wallet libraries and test suites."; + default = false; + }; + doIntegrationCheck = lib.mkOption { + type = lib.types.bool; + description = ''Wether to run integration tests.''; + default = true; + }; + buildBenchmarks = lib.mkOption { + type = lib.types.bool; + description = ''Wether to run integration tests.''; + default = true; + }; + cacheTestFailures = lib.mkOption { + type = lib.types.bool; + description = ''If false, prevent test results from being cached''; + default = true; + }; + }; + }) + ({ pkgs + , lib + , config + , buildProject + , ... + }: + + let + inherit (pkgs) stdenv; + inherit (haskell-nix) haskellLib; + + # Add this string to a tests preCheck to prevent test results from + # being cached. + # + # It is useful to have when your tests are flaky and fail a lot -- + # we don't want to cache false failures. + noCacheCookie = '' + # Causes tests to be re-run whenever the git revision + # changes, even if everything else is identical. + echo "Git revision is ${toString config.gitrev}" + ''; + + noCacheTestFailuresCookie = lib.optionalString (!config.cacheTestFailures) noCacheCookie; + + # Make sure that the libsodium DLL is available beside the EXEs of + # the windows build. + libSodiumPostInstall = lib.optionalString stdenv.hostPlatform.isWindows '' + ln -s ${pkgs.libsodium-vrf}/bin/libsodium-23.dll $out/bin + ln -s ${pkgs.buildPackages.gcc.cc}/x86_64-w64-mingw32/lib/libstdc++-6.dll $out/bin + ln -s ${pkgs.buildPackages.gcc.cc}/x86_64-w64-mingw32/lib/libgcc_s_seh-1.dll $out/bin + ln -s ${pkgs.windows.mcfgthreads}/bin/mcfgthread-12.dll $out/bin + ''; + + # setGitRev is a postInstall script to stamp executables with + # version info. It uses the "gitrev" option. + setGitRevPostInstall = '' + ${pkgs.buildPackages.iohk-nix-utils}/bin/set-git-rev "${config.gitrev}" $out/bin/* + ''; + + rewriteLibsPostInstall = lib.optionalString (pkgs.stdenv.hostPlatform.isDarwin) '' + export PATH=$PATH:${lib.makeBinPath (with pkgs.buildPackages; [ iohk-nix-utils binutils nix ])} + rewrite-libs $out/bin $out/bin/* + ''; + + stripBinariesPostInstall = lib.optionalString stdenv.hostPlatform.isLinux '' + ${pkgs.buildPackages.binutils-unwrapped}/bin/*strip $out/bin/* + ''; + + # This exe component postInstall script adds shell completion + # scripts. These completion + # scripts will be picked up automatically if the resulting + # derivation is installed, e.g. by `nix-env -i`. + optparseCompletionPostInstall = lib.optionalString stdenv.hostPlatform.isUnix '' + exeName=$(ls -1 $out/bin | head -n1) # FIXME add $exeName to Haskell.nix + bashCompDir="$out/share/bash-completion/completions" + zshCompDir="$out/share/zsh/vendor-completions" + fishCompDir="$out/share/fish/vendor_completions.d" + mkdir -p "$bashCompDir" "$zshCompDir" "$fishCompDir" + "$out/bin/$exeName" --bash-completion-script "$exeName" >"$bashCompDir/$exeName" + "$out/bin/$exeName" --zsh-completion-script "$exeName" >"$zshCompDir/_$exeName" + "$out/bin/$exeName" --fish-completion-script "$exeName" >"$fishCompDir/$exeName.fish" + ''; + + # It's not automatically discovered from stack-pkgs yet, + # so it's generated by nix/regenerate.sh + projectPackages = import ./project-package-list.nix; + + in + { + + name = "cardano-wallet"; + + src = haskellLib.cleanSourceWith { + src = lib.cleanSource ../.; + name = "cardano-wallet-src"; + filter = name: type: (pkgs.cardanoWalletLib.removeSocketFilesFilter name type) + && (haskell-nix.haskellSourceFilter name type); + }; + + materialized = ./materialized/stack-nix; + + sha256map = import ./sha256map.nix; + + shell = { + name = "cardano-wallet-shell${lib.optionalString config.profiling "-profiled"}"; + packages = ps: builtins.attrValues (haskellLib.selectProjectPackages ps); + + # Should prevents cabal from choosing alternate plans, so that + # *all* dependencies are provided by Nix.... + # but: https://github.com/input-output-hk/haskell.nix/issues/231 + # exactDeps = true; + + # fixme: this is needed to prevent Haskell.nix double-evaluating hoogle + tools.hoogle = { + inherit (pkgs.haskell-build-tools.hoogle) version; + inherit (pkgs.haskell-build-tools.hoogle.project) index-state; + checkMaterialization = false; + materialized = ./materialized + "/hoogle"; }; - - packages.cardano-wallet.components.tests = { - # Only run integration tests on non-PR jobsets. Note that - # the master branch jobset will just re-use the cached Bors - # staging build and test results. - integration.doCheck = !isHydraPRJobset; - - # Running Windows integration tests under Wine is disabled - # because ouroboros-network doesn't fully work under Wine. - integration.testWrapper = lib.mkIf pkgs.stdenv.hostPlatform.isWindows ["echo"]; - - unit.preCheck = noCacheOnBorsCookie + - lib.optionalString stdenv.isDarwin '' - # cardano-node socket path becomes too long otherwise - export TMPDIR=/tmp - ''; - - # Force more integration tests to run in parallel than the - # default number of build cores. - # - # To alleviate TimeInterpreter race conditions on the mac builders - # since #2755, we run slightly less in paralell on macOS. - integration.testFlags = - if pkgs.stdenv.hostPlatform.isDarwin - then ["-j" "2"] - else ["-j" "3"]; - - integration.preCheck = noCacheCookie + '' - # Variables picked up by integration tests - export CARDANO_NODE_TRACING_MIN_SEVERITY=notice - export TESTS_RETRY_FAILED=yes - - # Integration tests will place logs here - export TESTS_LOGDIR=$(mktemp -d)/logs - '' + lib.optionalString stdenv.isDarwin '' - export TMPDIR=/tmp - ''; - - integration.postCheck = '' - # fixme: There needs to be some Haskell.nix changes to - # permit getting build products from failed builds. - if [ -n "$TESTS_LOGDIR" && -f $out/nix-support/failed ]; then - logfile=$out/cardano-wallet-integration-logs.tar.gz - ${buildPackages.gnutar}/bin/tar -C $(dirname $TESTS_LOGDIR) -czvf $logfile $TESTS_LOGDIR - echo "file none $logfile" >> $out/nix-support/hydra-build-products - fi - ''; - - # provide cardano-node & cardano-cli to tests - unit.build-tools = cardanoNodeExes; - integration.build-tools = cardanoNodeExes; - unit.postInstall = libSodiumPostInstall; - }; - - # Add node backend to the PATH of the latency benchmarks, and - # set the source tree as its working directory. - packages.cardano-wallet.components.benchmarks.latency = - lib.optionalAttrs (!stdenv.hostPlatform.isWindows) { - build-tools = [ pkgs.buildPackages.makeWrapper ]; - postInstall = '' - wrapProgram $out/bin/* \ - --run "cd $src/lib/shelley" \ - --prefix PATH : ${lib.makeBinPath cardanoNodeExes} - ''; - }; - - # Add cardano-node to the PATH of the byroon restore benchmark. - # cardano-node will want to write logs to a subdirectory of the working directory. - # We don't `cd $src` because of that. - packages.cardano-wallet.components.benchmarks.restore = - lib.optionalAttrs (!stdenv.hostPlatform.isWindows) { - build-tools = [ pkgs.buildPackages.makeWrapper ]; - postInstall = '' - wrapProgram $out/bin/restore \ - --set CARDANO_NODE_CONFIGS ${pkgs.cardano-node-deployments} \ - --prefix PATH : ${lib.makeBinPath cardanoNodeExes} - ''; - }; - - - packages.cardano-wallet.components.exes.local-cluster = let - testData = src + /lib/shelley/test/data/cardano-node-shelley; + nativeBuildInputs = with buildProject.hsPkgs; [ + cardano-node.components.exes.cardano-node + cardano-cli.components.exes.cardano-cli + cardano-addresses-cli.components.exes.cardano-address + bech32.components.exes.bech32 + pretty-simple.components.exes.pretty-simple + ] ++ (with pkgs.buildPackages.buildPackages; [ + go-jira + haskellPackages.ghcid + pkgconfig + python3Packages.openapi-spec-validator + (ruby.withPackages (ps: [ ps.thor ])) + sqlite-interactive + curlFull + jq + yq + nixWrapped + cabalWrapped + ] ++ lib.filter + (drv: lib.isDerivation drv && drv.name != "regenerate-materialized-nix") + (lib.attrValues haskell-build-tools)); + + CARDANO_NODE_CONFIGS = pkgs.cardano-node-deployments; + + meta.platforms = lib.platforms.unix; + }; + + modules = + let inherit (config) src coverage profiling doIntegrationCheck buildBenchmarks; in - if (stdenv.hostPlatform.isWindows) then { - postInstall = '' - mkdir -p $out/bin/test/data - cp -Rv ${testData} $out/bin/test/data - '' + libSodiumPostInstall; - } else { - build-tools = [ pkgs.buildPackages.makeWrapper ]; - postInstall = '' - wrapProgram $out/bin/local-cluster \ - --set SHELLEY_TEST_DATA ${testData} \ - --prefix PATH : ${lib.makeBinPath cardanoNodeExes} + [ + { + packages = lib.genAttrs projectPackages (name: { + # Mark package as local non-dep in the nix-shell. + # fixme: Haskell.nix should set it + package.isProject = true; + + # Enable release flag (optimization and -Werror) + flags.release = true; + + # Enable Haskell Program Coverage for all local libraries + # and test suites. + doCoverage = coverage; + }); + } + + (lib.optionalAttrs (!buildBenchmarks) { + packages = { + cardano-wallet-core.components.benchmarks.db.buildable = lib.mkForce false; + cardano-wallet.components.benchmarks = { + latency.buildable = lib.mkForce false; + restore.buildable = lib.mkForce false; + }; + }; + }) + + # Provide configuration and dependencies to cardano-wallet components + ({ config, ... }: + let + cardanoNodeExes = with config.hsPkgs; + [ + cardano-node.components.exes.cardano-node + cardano-cli.components.exes.cardano-cli + ]; + in + { + packages.cardano-wallet-core.components.tests = { + unit.preCheck = noCacheTestFailuresCookie; + # Attempt to ensure visible progress in the macOS hydra job. + # + # An hypothesis is that #2472 is caused by heavy load and unfocused + # resources from running the tests concurrently, risking that the slowest + # hspec runner - and thererefore the stdout - being silent for 900s causing + # hydra to timeout. + # + # Setting -j 1 should hopefully focus the resource we have in one place. It + # should go silent less often, at the expense of the full run getting slower. + unit.testFlags = lib.optionals pkgs.stdenv.hostPlatform.isDarwin [ "-j" "1" ]; + }; + + packages.cardano-wallet.components.tests = { + # Running Windows integration tests under Wine is disabled + # because ouroboros-network doesn't fully work under Wine. + integration.doCheck = doIntegrationCheck && !pkgs.stdenv.hostPlatform.isWindows; + + unit.preCheck = noCacheTestFailuresCookie + + lib.optionalString stdenv.isDarwin '' + # cardano-node socket path becomes too long otherwise + export TMPDIR=/tmp + ''; + + # Force more integration tests to run in parallel than the + # default number of build cores. + # + # To alleviate TimeInterpreter race conditions on the mac builders + # since #2755, we run slightly less in paralell on macOS. + integration.testFlags = + if pkgs.stdenv.hostPlatform.isDarwin + then [ "-j" "2" ] + else [ "-j" "3" ]; + + integration.preCheck = noCacheCookie + '' + # Variables picked up by integration tests + export CARDANO_NODE_TRACING_MIN_SEVERITY=notice + export TESTS_RETRY_FAILED=yes + + # Integration tests will place logs here + export TESTS_LOGDIR=$(mktemp -d)/logs + '' + lib.optionalString stdenv.isDarwin '' + export TMPDIR=/tmp + ''; + + integration.postCheck = '' + # fixme: There needs to be some Haskell.nix changes to + # permit getting build products from failed builds. + if [ -n "$TESTS_LOGDIR" && -f $out/nix-support/failed ]; then + logfile=$out/cardano-wallet-integration-logs.tar.gz + ${pkgs.buildPackages.gnutar}/bin/tar -C $(dirname $TESTS_LOGDIR) -czvf $logfile $TESTS_LOGDIR + echo "file none $logfile" >> $out/nix-support/hydra-build-products + fi + ''; + + # provide cardano-node & cardano-cli to tests + unit.build-tools = cardanoNodeExes; + integration.build-tools = cardanoNodeExes; + unit.postInstall = libSodiumPostInstall; + }; + + # Add node backend to the PATH of the latency benchmarks, and + # set the source tree as its working directory. + packages.cardano-wallet.components.benchmarks.latency = + lib.optionalAttrs (!stdenv.hostPlatform.isWindows) { + build-tools = [ pkgs.buildPackages.makeWrapper ]; + postInstall = '' + wrapProgram $out/bin/* \ + --run "cd $src/lib/shelley" \ + --prefix PATH : ${lib.makeBinPath cardanoNodeExes} + ''; + }; + + # Add cardano-node to the PATH of the byroon restore benchmark. + # cardano-node will want to write logs to a subdirectory of the working directory. + # We don't `cd $src` because of that. + packages.cardano-wallet.components.benchmarks.restore = + lib.optionalAttrs (!stdenv.hostPlatform.isWindows) { + build-tools = [ pkgs.buildPackages.makeWrapper ]; + postInstall = '' + wrapProgram $out/bin/restore \ + --set CARDANO_NODE_CONFIGS ${pkgs.cardano-node-deployments} \ + --prefix PATH : ${lib.makeBinPath cardanoNodeExes} + ''; + }; + + + packages.cardano-wallet.components.exes.local-cluster = + let + testData = src + /lib/shelley/test/data/cardano-node-shelley; + in + if (stdenv.hostPlatform.isWindows) then { + postInstall = '' + mkdir -p $out/bin/test/data + cp -Rv ${testData} $out/bin/test/data + '' + libSodiumPostInstall; + } else { + build-tools = [ pkgs.buildPackages.makeWrapper ]; + postInstall = '' + wrapProgram $out/bin/local-cluster \ + --set SHELLEY_TEST_DATA ${testData} \ + --prefix PATH : ${lib.makeBinPath cardanoNodeExes} + ''; + }; + + # Make sure that libsodium DLLs for all windows executables, + # and add shell completions for main executables. + packages.cardano-wallet.components.exes.cardano-wallet.postInstall = optparseCompletionPostInstall + libSodiumPostInstall + setGitRevPostInstall + rewriteLibsPostInstall + stripBinariesPostInstall; + packages.cardano-wallet-core.components.tests.unit.postInstall = libSodiumPostInstall; + packages.cardano-wallet-cli.components.tests.unit.postInstall = libSodiumPostInstall; + packages.cardano-wallet-launcher.components.tests.unit.postInstall = libSodiumPostInstall; + packages.cardano-wallet-test-utils.components.tests.unit.postInstall = libSodiumPostInstall; + }) + + ({ config, ... }: + let + setGitRevPostInstall = '' + ${pkgs.buildPackages.iohk-nix-utils}/bin/set-git-rev "${config.packages.cardano-node.src.rev}" $out/bin/* || true + ''; + in + { + # Add shell completions for tools. + packages.cardano-cli.components.exes.cardano-cli.postInstall = optparseCompletionPostInstall + libSodiumPostInstall + setGitRevPostInstall; + packages.cardano-node.components.exes.cardano-node.postInstall = optparseCompletionPostInstall + libSodiumPostInstall + setGitRevPostInstall; + packages.cardano-addresses-cli.components.exes.cardano-address.postInstall = optparseCompletionPostInstall; + packages.bech32.components.exes.bech32.postInstall = optparseCompletionPostInstall; + }) + + # Provide the git revision for cardano-addresses + ({ config, ... }: + { + packages.cardano-addresses-cli.components.library.preBuild = '' + export GITREV=${config.hsPkgs.cardano-addresses-cli.src.rev} + ''; + }) + + # Provide the swagger file in an environment variable for + # tests because it is located outside of the Cabal package + # source tree. + { + packages.cardano-wallet-core.components.tests.unit.preBuild = '' + export SWAGGER_YAML=${src + /specifications/api/swagger.yaml} ''; - }; - - # Make sure that libsodium DLLs for all windows executables, - # and add shell completions for main executables. - packages.cardano-wallet.components.exes.cardano-wallet.postInstall = optparseCompletionPostInstall + libSodiumPostInstall; - packages.cardano-wallet-core.components.tests.unit.postInstall = libSodiumPostInstall; - packages.cardano-wallet-cli.components.tests.unit.postInstall = libSodiumPostInstall; - packages.cardano-wallet-launcher.components.tests.unit.postInstall = libSodiumPostInstall; - packages.cardano-wallet-test-utils.components.tests.unit.postInstall = libSodiumPostInstall; - }) - - ({ config, ...}: let - setGitRevPostInstall = '' - ${buildPackages.iohk-nix-utils}/bin/set-git-rev "${config.packages.cardano-node.src.rev}" $out/bin/* || true - ''; - in { - # Add shell completions for tools. - packages.cardano-cli.components.exes.cardano-cli.postInstall = optparseCompletionPostInstall + libSodiumPostInstall + setGitRevPostInstall; - packages.cardano-node.components.exes.cardano-node.postInstall = optparseCompletionPostInstall + libSodiumPostInstall + setGitRevPostInstall; - packages.cardano-addresses-cli.components.exes.cardano-address.postInstall = optparseCompletionPostInstall; - packages.bech32.components.exes.bech32.postInstall = optparseCompletionPostInstall; - }) - - # Provide the git revision for cardano-addresses - ({ config, ... }: - { - packages.cardano-addresses-cli.components.library.preBuild = '' - export GITREV=${config.hsPkgs.cardano-addresses-cli.src.rev} - ''; - }) - - # Provide the swagger file in an environment variable for - # tests because it is located outside of the Cabal package - # source tree. - { - packages.cardano-wallet-core.components.tests.unit.preBuild = '' - export SWAGGER_YAML=${src + /specifications/api/swagger.yaml} - ''; - } - - ({ lib, pkgs, ... }: { - # Use our forked libsodium from iohk-nix crypto overlay. - packages.cardano-crypto-praos.components.library.pkgconfig = lib.mkForce [ [ pkgs.libsodium-vrf ] ]; - packages.cardano-crypto-class.components.library.pkgconfig = lib.mkForce [ [ pkgs.libsodium-vrf ] ]; - }) - - # Build fixes for library dependencies - { - # Packages we wish to ignore version bounds of. - # This is similar to jailbreakCabal, however it - # does not require any messing with cabal files. - packages.katip.doExactConfig = true; - - # split data output for ekg to reduce closure size - packages.ekg.components.library.enableSeparateDataOutput = true; - - # Avoid this error on the windows build: - # Wrap.hsc:96:10: fatal error: regex.h: No such file or directory - packages.regex-posix.flags._regex-posix-clib = stdenv.hostPlatform.isWindows; - - # Lets us put the pretty-simple tool in shell.nix. - packages.pretty-simple.flags.buildexe = true; - } - - # Enable profiling on executables if the profiling argument is set. - (lib.optionalAttrs profiling { - enableLibraryProfiling = true; - packages.cardano-wallet.components.exes.cardano-wallet.enableExecutableProfiling = true; - packages.cardano-wallet.components.benchmarks.restore.enableExecutableProfiling = true; - }) - - # Musl libc fully static build - (lib.optionalAttrs stdenv.hostPlatform.isMusl (let - staticLibs = with pkgs; [ zlib openssl libffi gmp6 libsodium-vrf ]; - - # Module options which add GHC flags and libraries for a fully static build - fullyStaticOptions = { - enableShared = false; - enableStatic = true; - configureFlags = map (drv: "--ghc-option=-optl=-L${drv}/lib") staticLibs; - }; - in { - # Apply fully static options to our Haskell executables - packages.cardano-wallet.components.benchmarks.restore = fullyStaticOptions; - packages.cardano-wallet.components.exes.cardano-wallet = fullyStaticOptions; - packages.cardano-wallet.components.tests.integration = fullyStaticOptions; - packages.cardano-wallet.components.tests.unit = fullyStaticOptions; - packages.cardano-wallet-cli.components.tests.unit = fullyStaticOptions; - packages.cardano-wallet-core.components.benchmarks.db = fullyStaticOptions; - packages.cardano-wallet-core.components.tests.unit = fullyStaticOptions; - packages.cardano-wallet-launcher.components.tests.unit = fullyStaticOptions; - - # systemd can't be statically linked - disable lobemo-scribe-journal - packages.cardano-config.flags.systemd = false; - packages.cardano-node.flags.systemd = false; - - # Haddock not working for cross builds and is not needed anyway - doHaddock = false; - })) - - # Silence some warnings about "cleaning component source not - # supported for hpack package" which appear in nix-shell - { - packages.cardano-addresses.cabal-generator = lib.mkForce null; - packages.cardano-addresses-cli.cabal-generator = lib.mkForce null; - } - - # Allow installation of a newer version of Win32 than what is - # included with GHC. The packages in this list are all those - # installed with GHC, except for Win32. - { nonReinstallablePkgs = - [ "rts" "ghc-heap" "ghc-prim" "integer-gmp" "integer-simple" "base" - "deepseq" "array" "ghc-boot-th" "pretty" "template-haskell" - # ghcjs custom packages - "ghcjs-prim" "ghcjs-th" - "ghc-boot" - "ghc" "array" "binary" "bytestring" "containers" - "filepath" "ghc-boot" "ghc-compact" "ghc-prim" - # "ghci" "haskeline" - "hpc" - "mtl" "parsec" "text" "transformers" - "xhtml" - # "stm" "terminfo" + } + + ({ lib, pkgs, ... }: { + # Use our forked libsodium from iohk-nix crypto overlay. + packages.cardano-crypto-praos.components.library.pkgconfig = lib.mkForce [ [ pkgs.libsodium-vrf ] ]; + packages.cardano-crypto-class.components.library.pkgconfig = lib.mkForce [ [ pkgs.libsodium-vrf ] ]; + }) + + # Build fixes for library dependencies + { + # Packages we wish to ignore version bounds of. + # This is similar to jailbreakCabal, however it + # does not require any messing with cabal files. + packages.katip.doExactConfig = true; + + # split data output for ekg to reduce closure size + packages.ekg.components.library.enableSeparateDataOutput = true; + + # Avoid this error on the windows build: + # Wrap.hsc:96:10: fatal error: regex.h: No such file or directory + packages.regex-posix.flags._regex-posix-clib = stdenv.hostPlatform.isWindows; + + # Lets us put the pretty-simple tool in shell.nix. + packages.pretty-simple.flags.buildexe = true; + } + + # Enable profiling on executables if the profiling argument is set. + (lib.optionalAttrs profiling { + enableLibraryProfiling = true; + packages.cardano-wallet.components.exes.cardano-wallet.enableProfiling = true; + packages.cardano-wallet.components.benchmarks.restore.enableProfiling = true; + }) + + # Musl libc fully static build + (lib.optionalAttrs stdenv.hostPlatform.isMusl ( + let + staticLibs = with pkgs; [ zlib openssl libffi gmp6 libsodium-vrf ]; + + # Module options which add GHC flags and libraries for a fully static build + fullyStaticOptions = { + enableShared = false; + enableStatic = true; + configureFlags = map (drv: "--ghc-option=-optl=-L${drv}/lib") staticLibs; + }; + in + { + # Apply fully static options to our Haskell executables + packages.cardano-wallet.components.benchmarks.restore = fullyStaticOptions; + packages.cardano-wallet.components.exes.cardano-wallet = fullyStaticOptions; + packages.cardano-wallet.components.tests.integration = fullyStaticOptions; + packages.cardano-wallet.components.tests.unit = fullyStaticOptions; + packages.cardano-wallet-cli.components.tests.unit = fullyStaticOptions; + packages.cardano-wallet-core.components.benchmarks.db = fullyStaticOptions; + packages.cardano-wallet-core.components.tests.unit = fullyStaticOptions; + packages.cardano-wallet-launcher.components.tests.unit = fullyStaticOptions; + + # systemd can't be statically linked - disable lobemo-scribe-journal + packages.cardano-config.flags.systemd = false; + packages.cardano-node.flags.systemd = false; + + # Haddock not working for cross builds and is not needed anyway + doHaddock = false; + } + )) + + # Silence some warnings about "cleaning component source not + # supported for hpack package" which appear in nix-shell + { + packages.cardano-addresses.cabal-generator = lib.mkForce null; + packages.cardano-addresses-cli.cabal-generator = lib.mkForce null; + } + + # Allow installation of a newer version of Win32 than what is + # included with GHC. The packages in this list are all those + # installed with GHC, except for Win32. + { + nonReinstallablePkgs = + [ + "rts" + "ghc-heap" + "ghc-prim" + "integer-gmp" + "integer-simple" + "base" + "deepseq" + "array" + "ghc-boot-th" + "pretty" + "template-haskell" + # ghcjs custom packages + "ghcjs-prim" + "ghcjs-th" + "ghc-boot" + "ghc" + "array" + "binary" + "bytestring" + "containers" + "filepath" + "ghc-boot" + "ghc-compact" + "ghc-prim" + # "ghci" "haskeline" + "hpc" + "mtl" + "parsec" + "text" + "transformers" + "xhtml" + # "stm" "terminfo" + ]; + } + { + packages.cardano-wallet-core.components.library.build-tools = [ pkgs.buildPackages.buildPackages.gitMinimal ]; + packages.cardano-config.components.library.build-tools = [ pkgs.buildPackages.buildPackages.gitMinimal ]; + } ]; - } - { - packages.cardano-wallet-core.components.library.build-tools = [ pkgs.buildPackages.buildPackages.gitMinimal ]; - packages.cardano-config.components.library.build-tools = [ pkgs.buildPackages.buildPackages.gitMinimal ]; - } - ]; - }; - - # Hydra will pass the GitHub PR number as a string argument to release.nix. - isHydraPRJobset = toString pr != ""; - isHydraBorsJobset = toString borsBuild != ""; - - # Add this string to a tests preCheck to prevent test results from - # being cached. - # - # It is useful to have when your tests are flaky and fail a lot -- - # we don't want to cache false failures. - noCacheCookie = '' - # Causes tests to be re-run whenever the git revision - # changes, even if everything else is identical. - echo "Git revision is ${toString gitrev}" - ''; - - # Sets the anti-cache cookie only when building a jobset for bors. - noCacheOnBorsCookie = lib.optionalString isHydraBorsJobset noCacheCookie; - - # Make sure that the libsodium DLL is available beside the EXEs of - # the windows build. - libSodiumPostInstall = lib.optionalString stdenv.hostPlatform.isWindows '' - ln -s ${pkgs.libsodium-vrf}/bin/libsodium-23.dll $out/bin - ln -s ${pkgs.buildPackages.gcc.cc}/x86_64-w64-mingw32/lib/libstdc++-6.dll $out/bin - ln -s ${pkgs.buildPackages.gcc.cc}/x86_64-w64-mingw32/lib/libgcc_s_seh-1.dll $out/bin - ln -s ${pkgs.windows.mcfgthreads}/bin/mcfgthread-12.dll $out/bin - ''; - - # This exe component postInstall script adds shell completion - # scripts. These completion - # scripts will be picked up automatically if the resulting - # derivation is installed, e.g. by `nix-env -i`. - optparseCompletionPostInstall = lib.optionalString stdenv.hostPlatform.isUnix '' - exeName=$(ls -1 $out/bin | head -n1) # fixme add $exeName to Haskell.nix - bashCompDir="$out/share/bash-completion/completions" - zshCompDir="$out/share/zsh/vendor-completions" - fishCompDir="$out/share/fish/vendor_completions.d" - mkdir -p "$bashCompDir" "$zshCompDir" "$fishCompDir" - "$out/bin/$exeName" --bash-completion-script "$exeName" >"$bashCompDir/$exeName" - "$out/bin/$exeName" --zsh-completion-script "$exeName" >"$zshCompDir/_$exeName" - "$out/bin/$exeName" --fish-completion-script "$exeName" >"$fishCompDir/$exeName.fish" - ''; - -in - haskell.addProjectAndPackageAttrs { - inherit pkg-set; - inherit (pkg-set.config) hsPkgs; - roots = haskell.roots pkg-set.config.compiler.nix-name; - } + }) +] diff --git a/nix/materialized/hie-bios/.plan.nix/hie-bios.nix b/nix/materialized/hie-bios/.plan.nix/hie-bios.nix index 691cbaca0e5..b4091cada9b 100644 --- a/nix/materialized/hie-bios/.plan.nix/hie-bios.nix +++ b/nix/materialized/hie-bios/.plan.nix/hie-bios.nix @@ -11,7 +11,7 @@ flags = {}; package = { specVersion = "2.2"; - identifier = { name = "hie-bios"; version = "0.8.0"; }; + identifier = { name = "hie-bios"; version = "0.8.1"; }; license = "BSD-3-Clause"; copyright = ""; maintainer = "Matthew Pickering "; @@ -213,7 +213,6 @@ (hsPkgs."aeson" or (errorHandler.buildDepError "aeson")) (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) (hsPkgs."hie-bios" or (errorHandler.buildDepError "hie-bios")) - (hsPkgs."hspec-expectations" or (errorHandler.buildDepError "hspec-expectations")) (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) (hsPkgs."text" or (errorHandler.buildDepError "text")) @@ -231,7 +230,6 @@ (hsPkgs."tasty" or (errorHandler.buildDepError "tasty")) (hsPkgs."tasty-hunit" or (errorHandler.buildDepError "tasty-hunit")) (hsPkgs."tasty-expected-failure" or (errorHandler.buildDepError "tasty-expected-failure")) - (hsPkgs."hspec-expectations" or (errorHandler.buildDepError "hspec-expectations")) (hsPkgs."hie-bios" or (errorHandler.buildDepError "hie-bios")) (hsPkgs."filepath" or (errorHandler.buildDepError "filepath")) (hsPkgs."directory" or (errorHandler.buildDepError "directory")) diff --git a/nix/materialized/hie-bios/default.nix b/nix/materialized/hie-bios/default.nix index 900fb852c5e..ae8ea86a348 100644 --- a/nix/materialized/hie-bios/default.nix +++ b/nix/materialized/hie-bios/default.nix @@ -24,7 +24,6 @@ "integer-logarithms".revision = (((hackage."integer-logarithms")."1.0.3.1").revisions).default; "integer-logarithms".flags.check-bounds = false; "integer-logarithms".flags.integer-gmp = true; - "HUnit".revision = (((hackage."HUnit")."1.6.2.0").revisions).default; "async".revision = (((hackage."async")."2.2.4").revisions).default; "async".flags.bench = false; "text".revision = (((hackage."text")."1.2.4.1").revisions).default; @@ -100,7 +99,6 @@ "clock".flags.llvm = false; "optparse-applicative".revision = (((hackage."optparse-applicative")."0.16.1.0").revisions).default; "optparse-applicative".flags.process = true; - "hspec-expectations".revision = (((hackage."hspec-expectations")."0.8.2").revisions).default; "tasty-expected-failure".revision = (((hackage."tasty-expected-failure")."0.12.3").revisions).default; "old-locale".revision = (((hackage."old-locale")."1.0.0.7").revisions).default; "tasty".revision = (((hackage."tasty")."1.4.2.1").revisions).default; @@ -263,7 +261,6 @@ "hslogger".components.library.planned = lib.mkOverride 900 true; "dlist".components.library.planned = lib.mkOverride 900 true; "ghc-prim".components.library.planned = lib.mkOverride 900 true; - "HUnit".components.library.planned = lib.mkOverride 900 true; "ghc-boot".components.library.planned = lib.mkOverride 900 true; "hpc".components.library.planned = lib.mkOverride 900 true; "array".components.library.planned = lib.mkOverride 900 true; @@ -314,7 +311,6 @@ "tasty".components.library.planned = lib.mkOverride 900 true; "containers".components.library.planned = lib.mkOverride 900 true; "aeson".components.library.planned = lib.mkOverride 900 true; - "hspec-expectations".components.library.planned = lib.mkOverride 900 true; "tasty-expected-failure".components.library.planned = lib.mkOverride 900 true; "ghc".components.library.planned = lib.mkOverride 900 true; "base-compat".components.library.planned = lib.mkOverride 900 true; diff --git a/nix/materialized/stack-nix/.stack-to-nix.cache b/nix/materialized/stack-nix/.stack-to-nix.cache new file mode 100644 index 00000000000..3e0a6d24e5f --- /dev/null +++ b/nix/materialized/stack-nix/.stack-to-nix.cache @@ -0,0 +1,101 @@ +https://github.com/input-output-hk/cardano-addresses 71006f9eb956b0004022e80aadd4ad50d837b621 command-line 11dl3fmq7ry5wdmz8kw07ji8yvrxnrsf7pgilw5q9mi4aqyvnaqk cardano-addresses-cli .stack-to-nix.cache.0 +https://github.com/input-output-hk/cardano-addresses 71006f9eb956b0004022e80aadd4ad50d837b621 core 11dl3fmq7ry5wdmz8kw07ji8yvrxnrsf7pgilw5q9mi4aqyvnaqk cardano-addresses .stack-to-nix.cache.1 +https://github.com/input-output-hk/optparse-applicative 7497a29cb998721a9068d5725d49461f2bba0e7a . 1gvsrg925vynwgqwplgjmp53vj953qyh3wbdf34pw21c8r47w35r optparse-applicative-fork .stack-to-nix.cache.2 +https://github.com/input-output-hk/bech32 ab61914443e5f53624d3b2995767761b3f68e576 bech32 0isqh5s6rdhmqa3jhvc32zb3kvzy149hmzddx1ld9f9jhls4f3wg bech32 .stack-to-nix.cache.3 +https://github.com/input-output-hk/bech32 ab61914443e5f53624d3b2995767761b3f68e576 bech32-th 0isqh5s6rdhmqa3jhvc32zb3kvzy149hmzddx1ld9f9jhls4f3wg bech32-th .stack-to-nix.cache.4 +https://github.com/input-output-hk/cardano-base 41545ba3ac6b3095966316a99883d678b5ab8da8 base-deriving-via 0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir base-deriving-via .stack-to-nix.cache.5 +https://github.com/input-output-hk/cardano-base 41545ba3ac6b3095966316a99883d678b5ab8da8 binary 0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir cardano-binary .stack-to-nix.cache.6 +https://github.com/input-output-hk/cardano-base 41545ba3ac6b3095966316a99883d678b5ab8da8 binary/test 0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir cardano-binary-test .stack-to-nix.cache.7 +https://github.com/input-output-hk/cardano-base 41545ba3ac6b3095966316a99883d678b5ab8da8 cardano-crypto-class 0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir cardano-crypto-class .stack-to-nix.cache.8 +https://github.com/input-output-hk/cardano-base 41545ba3ac6b3095966316a99883d678b5ab8da8 cardano-crypto-praos 0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir cardano-crypto-praos .stack-to-nix.cache.9 +https://github.com/input-output-hk/cardano-base 41545ba3ac6b3095966316a99883d678b5ab8da8 cardano-crypto-tests 0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir cardano-crypto-tests .stack-to-nix.cache.10 +https://github.com/input-output-hk/cardano-base 41545ba3ac6b3095966316a99883d678b5ab8da8 orphans-deriving-via 0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir orphans-deriving-via .stack-to-nix.cache.11 +https://github.com/input-output-hk/cardano-base 41545ba3ac6b3095966316a99883d678b5ab8da8 slotting 0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir cardano-slotting .stack-to-nix.cache.12 +https://github.com/input-output-hk/cardano-base 41545ba3ac6b3095966316a99883d678b5ab8da8 strict-containers 0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir strict-containers .stack-to-nix.cache.13 +https://github.com/input-output-hk/cardano-base 41545ba3ac6b3095966316a99883d678b5ab8da8 measures 0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir measures .stack-to-nix.cache.14 +https://github.com/input-output-hk/cardano-crypto f73079303f663e028288f9f4a9e08bcca39a923e . 1n87i15x54s0cjkh3nsxs4r1x016cdw1fypwmr68936n3xxsjn6q cardano-crypto .stack-to-nix.cache.15 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 eras/alonzo/impl 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm cardano-ledger-alonzo .stack-to-nix.cache.16 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 eras/alonzo/test-suite 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm cardano-ledger-alonzo-test .stack-to-nix.cache.17 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 eras/byron/chain/executable-spec 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm byron-spec-chain .stack-to-nix.cache.18 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 eras/byron/crypto 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm cardano-crypto-wrapper .stack-to-nix.cache.19 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 eras/byron/crypto/test 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm cardano-crypto-test .stack-to-nix.cache.20 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 eras/byron/ledger/executable-spec 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm byron-spec-ledger .stack-to-nix.cache.21 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 eras/byron/ledger/impl 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm cardano-ledger-byron .stack-to-nix.cache.22 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 eras/byron/ledger/impl/test 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm cardano-ledger-byron-test .stack-to-nix.cache.23 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 eras/shelley/impl 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm cardano-ledger-shelley .stack-to-nix.cache.24 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 eras/shelley/test-suite 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm cardano-ledger-shelley-test .stack-to-nix.cache.25 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 eras/shelley-ma/impl 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm cardano-ledger-shelley-ma .stack-to-nix.cache.26 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 eras/shelley-ma/test-suite 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm cardano-ledger-shelley-ma-test .stack-to-nix.cache.27 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 libs/cardano-ledger-core 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm cardano-ledger-core .stack-to-nix.cache.28 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 libs/cardano-ledger-pretty 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm cardano-ledger-pretty .stack-to-nix.cache.29 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 libs/cardano-protocol-tpraos 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm cardano-protocol-tpraos .stack-to-nix.cache.30 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 libs/cardano-data 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm cardano-data .stack-to-nix.cache.31 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 libs/compact-map 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm compact-map .stack-to-nix.cache.32 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 libs/set-algebra 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm set-algebra .stack-to-nix.cache.33 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 libs/small-steps 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm small-steps .stack-to-nix.cache.34 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 libs/small-steps-test 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm small-steps-test .stack-to-nix.cache.35 +https://github.com/input-output-hk/cardano-ledger 1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5 libs/non-integral 0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm non-integral .stack-to-nix.cache.36 +https://github.com/input-output-hk/cardano-node 814df2c146f5d56f8c35a681fe75e85b905aed5d cardano-api 1hr00wqzmcyc3x0kp2hyw78rfmimf6z4zd4vv85b9zv3nqbjgrik cardano-api .stack-to-nix.cache.37 +https://github.com/input-output-hk/cardano-node 814df2c146f5d56f8c35a681fe75e85b905aed5d cardano-cli 1hr00wqzmcyc3x0kp2hyw78rfmimf6z4zd4vv85b9zv3nqbjgrik cardano-cli .stack-to-nix.cache.38 +https://github.com/input-output-hk/cardano-node 814df2c146f5d56f8c35a681fe75e85b905aed5d cardano-node 1hr00wqzmcyc3x0kp2hyw78rfmimf6z4zd4vv85b9zv3nqbjgrik cardano-node .stack-to-nix.cache.39 +https://github.com/input-output-hk/cardano-node 814df2c146f5d56f8c35a681fe75e85b905aed5d trace-dispatcher 1hr00wqzmcyc3x0kp2hyw78rfmimf6z4zd4vv85b9zv3nqbjgrik trace-dispatcher .stack-to-nix.cache.40 +https://github.com/input-output-hk/cardano-node 814df2c146f5d56f8c35a681fe75e85b905aed5d trace-resources 1hr00wqzmcyc3x0kp2hyw78rfmimf6z4zd4vv85b9zv3nqbjgrik trace-resources .stack-to-nix.cache.41 +https://github.com/input-output-hk/cardano-node 814df2c146f5d56f8c35a681fe75e85b905aed5d trace-forward 1hr00wqzmcyc3x0kp2hyw78rfmimf6z4zd4vv85b9zv3nqbjgrik trace-forward .stack-to-nix.cache.42 +https://github.com/input-output-hk/cardano-prelude bb4ed71ba8e587f672d06edf9d2e376f4b055555 cardano-prelude 00h10l5mmiza9819p9v5q5749nb9pzgi20vpzpy1d34zmh6gf1cj cardano-prelude .stack-to-nix.cache.43 +https://github.com/input-output-hk/cardano-prelude bb4ed71ba8e587f672d06edf9d2e376f4b055555 cardano-prelude-test 00h10l5mmiza9819p9v5q5749nb9pzgi20vpzpy1d34zmh6gf1cj cardano-prelude-test .stack-to-nix.cache.44 +https://github.com/input-output-hk/cardano-sl-x509 12925934c533b3a6e009b61ede555f8f26bac037 . 1kma25g8sl6m3pgsihja7fysmv6vjdfc0x7dyky9g5z156sh8z7i cardano-sl-x509 .stack-to-nix.cache.45 +https://github.com/input-output-hk/flat ee59880f47ab835dbd73bea0847dab7869fc20d8 . 1lrzknw765pz2j97nvv9ip3l1mcpf2zr4n56hwlz0rk7wq7ls4cm flat .stack-to-nix.cache.46 +https://github.com/input-output-hk/goblins cde90a2b27f79187ca8310b6549331e59595e7ba . 17c88rbva3iw82yg9srlxjv2ia5wjb9cyqw44hik565f5v9svnyg goblins .stack-to-nix.cache.47 +https://github.com/input-output-hk/hedgehog-extras edf6945007177a638fbeb8802397f3a6f4e47c14 . 0wc7qzkc7j4ns2rz562h6qrx2f8xyq7yjcb7zidnj7f6j0pcd0i9 hedgehog-extras .stack-to-nix.cache.48 +https://github.com/input-output-hk/iohk-monitoring-framework 808724ff8a19a33d0ed06f9ef59fbd900b08553c contra-tracer 0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz contra-tracer .stack-to-nix.cache.49 +https://github.com/input-output-hk/iohk-monitoring-framework 808724ff8a19a33d0ed06f9ef59fbd900b08553c iohk-monitoring 0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz iohk-monitoring .stack-to-nix.cache.50 +https://github.com/input-output-hk/iohk-monitoring-framework 808724ff8a19a33d0ed06f9ef59fbd900b08553c plugins/backend-aggregation 0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz lobemo-backend-aggregation .stack-to-nix.cache.51 +https://github.com/input-output-hk/iohk-monitoring-framework 808724ff8a19a33d0ed06f9ef59fbd900b08553c plugins/backend-ekg 0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz lobemo-backend-ekg .stack-to-nix.cache.52 +https://github.com/input-output-hk/iohk-monitoring-framework 808724ff8a19a33d0ed06f9ef59fbd900b08553c plugins/backend-monitoring 0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz lobemo-backend-monitoring .stack-to-nix.cache.53 +https://github.com/input-output-hk/iohk-monitoring-framework 808724ff8a19a33d0ed06f9ef59fbd900b08553c plugins/backend-trace-forwarder 0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz lobemo-backend-trace-forwarder .stack-to-nix.cache.54 +https://github.com/input-output-hk/iohk-monitoring-framework 808724ff8a19a33d0ed06f9ef59fbd900b08553c plugins/scribe-systemd 0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz lobemo-scribe-systemd .stack-to-nix.cache.55 +https://github.com/input-output-hk/iohk-monitoring-framework 808724ff8a19a33d0ed06f9ef59fbd900b08553c tracer-transformers 0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz tracer-transformers .stack-to-nix.cache.56 +https://github.com/shmish111/purescript-bridge.git 6a92d7853ea514be8b70bab5e72077bf5a510596 . 13j64vv116in3c204qsl1v0ajphac9fqvsjp7x3zzfr7n7g61drb purescript-bridge .stack-to-nix.cache.57 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 io-classes 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx io-classes .stack-to-nix.cache.58 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 io-sim 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx io-sim .stack-to-nix.cache.59 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 monoidal-synchronisation 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx monoidal-synchronisation .stack-to-nix.cache.60 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 network-mux 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx network-mux .stack-to-nix.cache.61 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 ouroboros-consensus 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx ouroboros-consensus .stack-to-nix.cache.62 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 ouroboros-consensus-test 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx ouroboros-consensus-test .stack-to-nix.cache.63 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 ouroboros-consensus-byron 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx ouroboros-consensus-byron .stack-to-nix.cache.64 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 ouroboros-consensus-byronspec 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx ouroboros-consensus-byronspec .stack-to-nix.cache.65 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 ouroboros-consensus-byron-test 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx ouroboros-consensus-byron-test .stack-to-nix.cache.66 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 ouroboros-consensus-protocol 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx ouroboros-consensus-protocol .stack-to-nix.cache.67 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 ouroboros-consensus-shelley 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx ouroboros-consensus-shelley .stack-to-nix.cache.68 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 ouroboros-consensus-shelley-test 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx ouroboros-consensus-shelley-test .stack-to-nix.cache.69 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 ouroboros-consensus-cardano 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx ouroboros-consensus-cardano .stack-to-nix.cache.70 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 ouroboros-consensus-cardano-test 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx ouroboros-consensus-cardano-test .stack-to-nix.cache.71 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 ouroboros-network 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx ouroboros-network .stack-to-nix.cache.72 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 ouroboros-network-framework 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx ouroboros-network-framework .stack-to-nix.cache.73 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 ouroboros-network-testing 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx ouroboros-network-testing .stack-to-nix.cache.74 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 strict-stm 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx strict-stm .stack-to-nix.cache.75 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 typed-protocols 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx typed-protocols .stack-to-nix.cache.76 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 typed-protocols-cborg 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx typed-protocols-cborg .stack-to-nix.cache.77 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 typed-protocols-examples 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx typed-protocols-examples .stack-to-nix.cache.78 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 cardano-client 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx cardano-client .stack-to-nix.cache.79 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 ntp-client 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx ntp-client .stack-to-nix.cache.80 +https://github.com/input-output-hk/ouroboros-network d2d219a86cda42787325bb8c20539a75c2667132 ouroboros-consensus-mock 18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx ouroboros-consensus-mock .stack-to-nix.cache.81 +https://github.com/input-output-hk/plutus 1efbb276ef1a10ca6961d0fd32e6141e9798bd11 freer-extras 1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf freer-extras .stack-to-nix.cache.82 +https://github.com/input-output-hk/plutus 1efbb276ef1a10ca6961d0fd32e6141e9798bd11 playground-common 1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf playground-common .stack-to-nix.cache.83 +https://github.com/input-output-hk/plutus 1efbb276ef1a10ca6961d0fd32e6141e9798bd11 plutus-chain-index 1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf plutus-chain-index .stack-to-nix.cache.84 +https://github.com/input-output-hk/plutus 1efbb276ef1a10ca6961d0fd32e6141e9798bd11 plutus-contract 1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf plutus-contract .stack-to-nix.cache.85 +https://github.com/input-output-hk/plutus 1efbb276ef1a10ca6961d0fd32e6141e9798bd11 plutus-core 1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf plutus-core .stack-to-nix.cache.86 +https://github.com/input-output-hk/plutus 1efbb276ef1a10ca6961d0fd32e6141e9798bd11 plutus-ledger 1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf plutus-ledger .stack-to-nix.cache.87 +https://github.com/input-output-hk/plutus 1efbb276ef1a10ca6961d0fd32e6141e9798bd11 plutus-ledger-api 1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf plutus-ledger-api .stack-to-nix.cache.88 +https://github.com/input-output-hk/plutus 1efbb276ef1a10ca6961d0fd32e6141e9798bd11 plutus-pab 1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf plutus-pab .stack-to-nix.cache.89 +https://github.com/input-output-hk/plutus 1efbb276ef1a10ca6961d0fd32e6141e9798bd11 plutus-tx 1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf plutus-tx .stack-to-nix.cache.90 +https://github.com/input-output-hk/plutus 1efbb276ef1a10ca6961d0fd32e6141e9798bd11 plutus-tx-plugin 1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf plutus-tx-plugin .stack-to-nix.cache.91 +https://github.com/input-output-hk/plutus 1efbb276ef1a10ca6961d0fd32e6141e9798bd11 plutus-use-cases 1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf plutus-use-cases .stack-to-nix.cache.92 +https://github.com/input-output-hk/plutus 1efbb276ef1a10ca6961d0fd32e6141e9798bd11 stubs/plutus-ghc-stub 1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf plutus-ghc-stub .stack-to-nix.cache.93 +https://github.com/input-output-hk/plutus 1efbb276ef1a10ca6961d0fd32e6141e9798bd11 prettyprinter-configurable 1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf prettyprinter-configurable .stack-to-nix.cache.94 +https://github.com/input-output-hk/plutus 1efbb276ef1a10ca6961d0fd32e6141e9798bd11 quickcheck-dynamic 1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf quickcheck-dynamic .stack-to-nix.cache.95 +https://github.com/input-output-hk/plutus 1efbb276ef1a10ca6961d0fd32e6141e9798bd11 word-array 1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf word-array .stack-to-nix.cache.96 +https://github.com/input-output-hk/ekg-forward 2adc8b698443bb10154304b24f6c1d6913bb65b9 . 0cyixq3jmq43zs1yzrycqw1klyjy0zxf1vifknnr1k9d6sc3zf6b ekg-forward .stack-to-nix.cache.97 +https://github.com/input-output-hk/cardano-config e9de7a2cf70796f6ff26eac9f9540184ded0e4e6 . 1wm1c99r5zvz22pdl8nhkp13falvqmj8dgkm8fxskwa9ydqz01ld cardano-config .stack-to-nix.cache.98 +https://github.com/shmish111/servant-purescript.git a76104490499aa72d40c2790d10e9383e0dbde63 . 11nxxmi5bw66va7psvrgrw7b7n85fvqgfp58yva99w3v9q3a50v9 servant-purescript .stack-to-nix.cache.99 +https://github.com/input-output-hk/Win32-network 3825d3abf75f83f406c1f7161883c438dac7277d . 19wahfv726fa3mqajpqdqhnl9ica3xmf68i254q45iyjcpj1psqx Win32-network .stack-to-nix.cache.100 diff --git a/nix/.stack.nix/cardano-addresses-cli.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.0 similarity index 87% rename from nix/.stack.nix/cardano-addresses-cli.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.0 index 07329dd3e06..ed07046948d 100644 --- a/nix/.stack.nix/cardano-addresses-cli.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.0 @@ -7,7 +7,7 @@ , errorHandler , config , ... }: - ({ + { flags = { release = false; }; package = { specVersion = "1.12"; @@ -21,7 +21,6 @@ synopsis = "Utils for constructing a command-line on top of cardano-addresses."; description = "Please see the README on GitHub at "; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -82,15 +81,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-addresses"; - rev = "71006f9eb956b0004022e80aadd4ad50d837b621"; - sha256 = "11dl3fmq7ry5wdmz8kw07ji8yvrxnrsf7pgilw5q9mi4aqyvnaqk"; - }) // { - url = "https://github.com/input-output-hk/cardano-addresses"; - rev = "71006f9eb956b0004022e80aadd4ad50d837b621"; - sha256 = "11dl3fmq7ry5wdmz8kw07ji8yvrxnrsf7pgilw5q9mi4aqyvnaqk"; - }; - postUnpack = "sourceRoot+=/command-line; echo source root reset to \$sourceRoot"; - }) // { cabal-generator = "hpack"; } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/p41x76scfni8bax0n89fj86sf5mv2yd7-cardano-addresses-71006f9/command-line; + } diff --git a/nix/.stack.nix/cardano-addresses.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.1 similarity index 86% rename from nix/.stack.nix/cardano-addresses.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.1 index c53534c17b9..3603f2ef2fc 100644 --- a/nix/.stack.nix/cardano-addresses.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.1 @@ -7,7 +7,7 @@ , errorHandler , config , ... }: - ({ + { flags = { release = false; }; package = { specVersion = "1.12"; @@ -21,7 +21,6 @@ synopsis = "Library utilities for mnemonic generation and address derivation."; description = "Please see the README on GitHub at "; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -77,15 +76,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-addresses"; - rev = "71006f9eb956b0004022e80aadd4ad50d837b621"; - sha256 = "11dl3fmq7ry5wdmz8kw07ji8yvrxnrsf7pgilw5q9mi4aqyvnaqk"; - }) // { - url = "https://github.com/input-output-hk/cardano-addresses"; - rev = "71006f9eb956b0004022e80aadd4ad50d837b621"; - sha256 = "11dl3fmq7ry5wdmz8kw07ji8yvrxnrsf7pgilw5q9mi4aqyvnaqk"; - }; - postUnpack = "sourceRoot+=/core; echo source root reset to \$sourceRoot"; - }) // { cabal-generator = "hpack"; } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/p41x76scfni8bax0n89fj86sf5mv2yd7-cardano-addresses-71006f9/core; + } diff --git a/nix/.stack.nix/cardano-crypto-tests.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.10 similarity index 84% rename from nix/.stack.nix/cardano-crypto-tests.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.10 index c6ba7479314..0880d7a7e9b 100644 --- a/nix/.stack.nix/cardano-crypto-tests.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.10 @@ -21,7 +21,6 @@ synopsis = "Tests for cardano-crypto-class and -praos"; description = "Tests for cardano-crypto-class and -praos"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -70,15 +69,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-base"; - rev = "41545ba3ac6b3095966316a99883d678b5ab8da8"; - sha256 = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; - }) // { - url = "https://github.com/input-output-hk/cardano-base"; - rev = "41545ba3ac6b3095966316a99883d678b5ab8da8"; - sha256 = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; - }; - postUnpack = "sourceRoot+=/cardano-crypto-tests; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/bvppc469jii0bcz5y6mbv9svfi0nf7wi-cardano-base-41545ba/cardano-crypto-tests; + } diff --git a/nix/.stack.nix/Win32-network.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.100 similarity index 85% rename from nix/.stack.nix/Win32-network.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.100 index b4b260151a9..e7cc04d19e6 100644 --- a/nix/.stack.nix/Win32-network.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.100 @@ -21,7 +21,6 @@ synopsis = "Win32 network API"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -70,14 +69,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/Win32-network"; - rev = "3825d3abf75f83f406c1f7161883c438dac7277d"; - sha256 = "19wahfv726fa3mqajpqdqhnl9ica3xmf68i254q45iyjcpj1psqx"; - }) // { - url = "https://github.com/input-output-hk/Win32-network"; - rev = "3825d3abf75f83f406c1f7161883c438dac7277d"; - sha256 = "19wahfv726fa3mqajpqdqhnl9ica3xmf68i254q45iyjcpj1psqx"; - }; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/jlbg3d6rcixbbvhpnh8383yv26l041gp-Win32-network-3825d3a; + } diff --git a/nix/.stack.nix/orphans-deriving-via.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.11 similarity index 62% rename from nix/.stack.nix/orphans-deriving-via.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.11 index 4106edf1058..0497561f0f4 100644 --- a/nix/.stack.nix/orphans-deriving-via.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.11 @@ -21,7 +21,6 @@ synopsis = "Orphan instances for the base-deriving-via hooks"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -34,15 +33,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-base"; - rev = "41545ba3ac6b3095966316a99883d678b5ab8da8"; - sha256 = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; - }) // { - url = "https://github.com/input-output-hk/cardano-base"; - rev = "41545ba3ac6b3095966316a99883d678b5ab8da8"; - sha256 = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; - }; - postUnpack = "sourceRoot+=/orphans-deriving-via; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/bvppc469jii0bcz5y6mbv9svfi0nf7wi-cardano-base-41545ba/orphans-deriving-via; + } diff --git a/nix/.stack.nix/cardano-slotting.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.12 similarity index 71% rename from nix/.stack.nix/cardano-slotting.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.12 index bdce66128b3..1a5284b5782 100644 --- a/nix/.stack.nix/cardano-slotting.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.12 @@ -21,7 +21,6 @@ synopsis = "Key slotting types for cardano libraries"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -41,15 +40,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-base"; - rev = "41545ba3ac6b3095966316a99883d678b5ab8da8"; - sha256 = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; - }) // { - url = "https://github.com/input-output-hk/cardano-base"; - rev = "41545ba3ac6b3095966316a99883d678b5ab8da8"; - sha256 = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; - }; - postUnpack = "sourceRoot+=/slotting; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/bvppc469jii0bcz5y6mbv9svfi0nf7wi-cardano-base-41545ba/slotting; + } diff --git a/nix/.stack.nix/strict-containers.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.13 similarity index 70% rename from nix/.stack.nix/strict-containers.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.13 index 639089b3fb5..249def10dab 100644 --- a/nix/.stack.nix/strict-containers.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.13 @@ -21,7 +21,6 @@ synopsis = "Various strict container types"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -40,15 +39,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-base"; - rev = "41545ba3ac6b3095966316a99883d678b5ab8da8"; - sha256 = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; - }) // { - url = "https://github.com/input-output-hk/cardano-base"; - rev = "41545ba3ac6b3095966316a99883d678b5ab8da8"; - sha256 = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; - }; - postUnpack = "sourceRoot+=/strict-containers; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/bvppc469jii0bcz5y6mbv9svfi0nf7wi-cardano-base-41545ba/strict-containers; + } diff --git a/nix/.stack.nix/measures.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.14 similarity index 69% rename from nix/.stack.nix/measures.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.14 index 78f0214abec..b5170848cea 100644 --- a/nix/.stack.nix/measures.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.14 @@ -21,7 +21,6 @@ synopsis = "An abstraction for (tuples of) measured quantities"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -44,15 +43,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-base"; - rev = "41545ba3ac6b3095966316a99883d678b5ab8da8"; - sha256 = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; - }) // { - url = "https://github.com/input-output-hk/cardano-base"; - rev = "41545ba3ac6b3095966316a99883d678b5ab8da8"; - sha256 = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; - }; - postUnpack = "sourceRoot+=/measures; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/bvppc469jii0bcz5y6mbv9svfi0nf7wi-cardano-base-41545ba/measures; + } diff --git a/nix/.stack.nix/cardano-crypto.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.15 similarity index 89% rename from nix/.stack.nix/cardano-crypto.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.15 index 4d842996813..914bc57c6ad 100644 --- a/nix/.stack.nix/cardano-crypto.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.15 @@ -21,7 +21,6 @@ synopsis = "Cryptography primitives for cardano"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -92,14 +91,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-crypto"; - rev = "f73079303f663e028288f9f4a9e08bcca39a923e"; - sha256 = "1n87i15x54s0cjkh3nsxs4r1x016cdw1fypwmr68936n3xxsjn6q"; - }) // { - url = "https://github.com/input-output-hk/cardano-crypto"; - rev = "f73079303f663e028288f9f4a9e08bcca39a923e"; - sha256 = "1n87i15x54s0cjkh3nsxs4r1x016cdw1fypwmr68936n3xxsjn6q"; - }; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/my7vh3mmfqa3il78hdab5i690zsygfbx-cardano-crypto-f730793; + } diff --git a/nix/.stack.nix/cardano-ledger-alonzo.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.16 similarity index 84% rename from nix/.stack.nix/cardano-ledger-alonzo.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.16 index 9c92b487a5d..5e048628bf0 100644 --- a/nix/.stack.nix/cardano-ledger-alonzo.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.16 @@ -21,7 +21,6 @@ synopsis = "Cardano ledger introducing Plutus Core"; description = "This package builds upon the Mary ledger with support for extended UTxO\nvia Plutus Core."; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -61,15 +60,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/eras/alonzo/impl; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/eras/alonzo/impl; + } diff --git a/nix/.stack.nix/cardano-ledger-alonzo-test.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.17 similarity index 90% rename from nix/.stack.nix/cardano-ledger-alonzo-test.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.17 index 7d6d9dc3bd7..f237628db4d 100644 --- a/nix/.stack.nix/cardano-ledger-alonzo-test.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.17 @@ -24,7 +24,6 @@ synopsis = "Tests for Cardano ledger introducing Plutus Core"; description = "This package builds upon the Mary ledger with support for extended UTxO\nvia Plutus Core."; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -89,15 +88,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/eras/alonzo/test-suite; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/eras/alonzo/test-suite; + } diff --git a/nix/.stack.nix/byron-spec-chain.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.18 similarity index 82% rename from nix/.stack.nix/byron-spec-chain.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.18 index 0623bc6119d..0aed5d9b9ad 100644 --- a/nix/.stack.nix/byron-spec-chain.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.18 @@ -21,7 +21,6 @@ synopsis = "Executable specification of the Cardano blockchain"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -63,15 +62,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/eras/byron/chain/executable-spec; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/eras/byron/chain/executable-spec; + } diff --git a/nix/.stack.nix/cardano-crypto-wrapper.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.19 similarity index 85% rename from nix/.stack.nix/cardano-crypto-wrapper.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.19 index d431e6ed8eb..71e67801e7f 100644 --- a/nix/.stack.nix/cardano-crypto-wrapper.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.19 @@ -21,7 +21,6 @@ synopsis = "Cryptographic primitives used in the Cardano project"; description = "Cryptographic primitives used in the Cardano project"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -68,15 +67,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/eras/byron/crypto; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/eras/byron/crypto; + } diff --git a/nix/.stack.nix/optparse-applicative-fork.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.2 similarity index 84% rename from nix/.stack.nix/optparse-applicative-fork.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.2 index 325b1434a8c..ae6bde592d9 100644 --- a/nix/.stack.nix/optparse-applicative-fork.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.2 @@ -24,7 +24,6 @@ synopsis = "Utilities and combinators for parsing command line options"; description = "optparse-applicative-fork is a haskell library for parsing options\non the command line, and providing a powerful applicative\ninterface for composing them.\n\noptparse-applicative-fork takes care of reading and validating the\narguments passed to the command line, handling and reporting\nerrors, generating a usage line, a comprehensive help screen,\nand enabling context-sensitive bash, zsh, and fish completions.\n\nSee the included README for detailed instructions and examples,\nwhich is also available on github\n."; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -52,14 +51,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/optparse-applicative"; - rev = "7497a29cb998721a9068d5725d49461f2bba0e7a"; - sha256 = "1gvsrg925vynwgqwplgjmp53vj953qyh3wbdf34pw21c8r47w35r"; - }) // { - url = "https://github.com/input-output-hk/optparse-applicative"; - rev = "7497a29cb998721a9068d5725d49461f2bba0e7a"; - sha256 = "1gvsrg925vynwgqwplgjmp53vj953qyh3wbdf34pw21c8r47w35r"; - }; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/5adnnr69ipcmnbi3d3im92031pvxpgq2-optparse-applicative-7497a29; + } diff --git a/nix/.stack.nix/cardano-crypto-test.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.20 similarity index 73% rename from nix/.stack.nix/cardano-crypto-test.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.20 index 8d85177219a..064a127bcd0 100644 --- a/nix/.stack.nix/cardano-crypto-test.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.20 @@ -21,7 +21,6 @@ synopsis = "Test helpers from cardano-crypto exposed to other packages"; description = "Test helpers from cardano-crypto exposed to other packages"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -41,15 +40,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/eras/byron/crypto/test; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/eras/byron/crypto/test; + } diff --git a/nix/.stack.nix/byron-spec-ledger.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.21 similarity index 84% rename from nix/.stack.nix/byron-spec-ledger.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.21 index 68208f6ed4b..03c04d220f3 100644 --- a/nix/.stack.nix/byron-spec-ledger.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.21 @@ -21,7 +21,6 @@ synopsis = "Executable specification of Cardano ledger"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -67,15 +66,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/eras/byron/ledger/executable-spec; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/eras/byron/ledger/executable-spec; + } diff --git a/nix/.stack.nix/cardano-ledger-byron.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.22 similarity index 92% rename from nix/.stack.nix/cardano-ledger-byron.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.22 index 5140d428484..8f4a8688601 100644 --- a/nix/.stack.nix/cardano-ledger-byron.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.22 @@ -21,7 +21,6 @@ synopsis = "The blockchain layer of Cardano during the Byron era"; description = "The blockchain layer of Cardano during the Byron era"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -119,15 +118,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/eras/byron/ledger/impl; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/eras/byron/ledger/impl; + } diff --git a/nix/.stack.nix/cardano-ledger-byron-test.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.23 similarity index 84% rename from nix/.stack.nix/cardano-ledger-byron-test.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.23 index ef73110a443..f52f7aa83d8 100644 --- a/nix/.stack.nix/cardano-ledger-byron-test.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.23 @@ -21,7 +21,6 @@ synopsis = "Test helpers from cardano-ledger exposed to other packages"; description = "Test helpers from cardano-ledger exposed to other packages"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -60,15 +59,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/eras/byron/ledger/impl/test; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/eras/byron/ledger/impl/test; + } diff --git a/nix/.stack.nix/cardano-ledger-shelley.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.24 similarity index 84% rename from nix/.stack.nix/cardano-ledger-shelley.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.24 index 7a1fa3a50d4..5a900734b4f 100644 --- a/nix/.stack.nix/cardano-ledger-shelley.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.24 @@ -21,7 +21,6 @@ synopsis = ""; description = "Shelley Ledger Executable Model"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -63,15 +62,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/eras/shelley/impl; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/eras/shelley/impl; + } diff --git a/nix/.stack.nix/cardano-ledger-shelley-test.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.25 similarity index 94% rename from nix/.stack.nix/cardano-ledger-shelley-test.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.25 index aa39961769e..9459c112402 100644 --- a/nix/.stack.nix/cardano-ledger-shelley-test.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.25 @@ -24,7 +24,6 @@ synopsis = ""; description = "Test helpers from cardano-ledger-shelley exposed to other packages"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -152,15 +151,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/eras/shelley/test-suite; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/eras/shelley/test-suite; + } diff --git a/nix/.stack.nix/cardano-ledger-shelley-ma.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.26 similarity index 82% rename from nix/.stack.nix/cardano-ledger-shelley-ma.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.26 index 268ec139f1b..debab4486b0 100644 --- a/nix/.stack.nix/cardano-ledger-shelley-ma.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.26 @@ -21,7 +21,6 @@ synopsis = "Shelley ledger with multiasset and time lock support."; description = "This package extends the Shelley ledger with support for\nnative tokens and timelocks."; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -54,15 +53,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/eras/shelley-ma/impl; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/eras/shelley-ma/impl; + } diff --git a/nix/.stack.nix/cardano-ledger-shelley-ma-test.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.27 similarity index 89% rename from nix/.stack.nix/cardano-ledger-shelley-ma-test.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.27 index 9a9c5a635e7..15a5846d94b 100644 --- a/nix/.stack.nix/cardano-ledger-shelley-ma-test.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.27 @@ -24,7 +24,6 @@ synopsis = "Shelley ledger with multiasset and time lock support."; description = "This package extends the Shelley ledger with support for\nnative tokens and timelocks."; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -86,15 +85,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/eras/shelley-ma/test-suite; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/eras/shelley-ma/test-suite; + } diff --git a/nix/.stack.nix/cardano-ledger-core.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.28 similarity index 85% rename from nix/.stack.nix/cardano-ledger-core.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.28 index d5f97fc80a0..ba9e250514e 100644 --- a/nix/.stack.nix/cardano-ledger-core.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.28 @@ -21,7 +21,6 @@ synopsis = "Core components of Cardano ledgers from the Shelley release on."; description = "Cardano ledgers from the Shelley release onwards share a core basis rooted in\nthe Shelley ledger specification. This package abstracts a number of components\nwhich we expect to be shared amongst all future ledgers implemented around this base."; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -62,15 +61,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/libs/cardano-ledger-core; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/libs/cardano-ledger-core; + } diff --git a/nix/.stack.nix/cardano-ledger-pretty.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.29 similarity index 80% rename from nix/.stack.nix/cardano-ledger-pretty.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.29 index 4e0d31735ca..3de233909e5 100644 --- a/nix/.stack.nix/cardano-ledger-pretty.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.29 @@ -21,7 +21,6 @@ synopsis = ""; description = "Pretty Printers for the Cardano Ledger"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -52,15 +51,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/libs/cardano-ledger-pretty; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/libs/cardano-ledger-pretty; + } diff --git a/nix/.stack.nix/bech32.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.3 similarity index 86% rename from nix/.stack.nix/bech32.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.3 index 8bbb7963442..3716895873f 100644 --- a/nix/.stack.nix/bech32.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.3 @@ -21,7 +21,6 @@ synopsis = "Implementation of the Bech32 cryptocurrency address format (BIP 0173)."; description = "Implementation of the Bech32 cryptocurrency address format documented in the\nBIP (Bitcoin Improvement Proposal) 0173."; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -75,15 +74,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/bech32"; - rev = "ab61914443e5f53624d3b2995767761b3f68e576"; - sha256 = "0isqh5s6rdhmqa3jhvc32zb3kvzy149hmzddx1ld9f9jhls4f3wg"; - }) // { - url = "https://github.com/input-output-hk/bech32"; - rev = "ab61914443e5f53624d3b2995767761b3f68e576"; - sha256 = "0isqh5s6rdhmqa3jhvc32zb3kvzy149hmzddx1ld9f9jhls4f3wg"; - }; - postUnpack = "sourceRoot+=/bech32; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/0dv7g23bmbdx55i5rxz18lk55pkw6kv4-bech32-ab61914/bech32; + } diff --git a/nix/.stack.nix/cardano-protocol-tpraos.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.30 similarity index 75% rename from nix/.stack.nix/cardano-protocol-tpraos.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.30 index 4fd6ef98ea5..2d48bc93499 100644 --- a/nix/.stack.nix/cardano-protocol-tpraos.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.30 @@ -21,7 +21,6 @@ synopsis = ""; description = "Cardano Protocol: Transitional Praos"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -45,15 +44,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/libs/cardano-protocol-tpraos; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/libs/cardano-protocol-tpraos; + } diff --git a/nix/.stack.nix/cardano-data.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.31 similarity index 77% rename from nix/.stack.nix/cardano-data.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.31 index 5e7ba4a2979..60de0b2e501 100644 --- a/nix/.stack.nix/cardano-data.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.31 @@ -21,7 +21,6 @@ synopsis = "Specialized data for Cardano project"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -48,15 +47,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/libs/cardano-data; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/libs/cardano-data; + } diff --git a/nix/.stack.nix/compact-map.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.32 similarity index 84% rename from nix/.stack.nix/compact-map.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.32 index 988ff9da52a..8044750c635 100644 --- a/nix/.stack.nix/compact-map.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.32 @@ -21,7 +21,6 @@ synopsis = "A KeyMap that is based on collisionless HashMap implementation"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -72,15 +71,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/libs/compact-map; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/libs/compact-map; + } diff --git a/nix/.stack.nix/set-algebra.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.33 similarity index 67% rename from nix/.stack.nix/set-algebra.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.33 index 35842c7cd19..579ed6d5c6c 100644 --- a/nix/.stack.nix/set-algebra.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.33 @@ -21,7 +21,6 @@ synopsis = "Set Algebra"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -37,15 +36,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/libs/set-algebra; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/libs/set-algebra; + } diff --git a/nix/.stack.nix/small-steps.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.34 similarity index 72% rename from nix/.stack.nix/small-steps.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.34 index 47c979e5c19..f18d7c64234 100644 --- a/nix/.stack.nix/small-steps.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.34 @@ -21,7 +21,6 @@ synopsis = "Small step semantics"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -41,15 +40,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/libs/small-steps; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/libs/small-steps; + } diff --git a/nix/.stack.nix/small-steps-test.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.35 similarity index 83% rename from nix/.stack.nix/small-steps-test.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.35 index d4873625651..6144cc56829 100644 --- a/nix/.stack.nix/small-steps-test.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.35 @@ -21,7 +21,6 @@ synopsis = "Small step semantics testing library"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -64,15 +63,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/libs/small-steps-test; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/libs/small-steps-test; + } diff --git a/nix/.stack.nix/non-integral.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.36 similarity index 64% rename from nix/.stack.nix/non-integral.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.36 index f7a7b058479..97ab97017b4 100644 --- a/nix/.stack.nix/non-integral.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.36 @@ -21,7 +21,6 @@ synopsis = ""; description = "Implementation decision for non-integer calculations"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -39,15 +38,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }) // { - url = "https://github.com/input-output-hk/cardano-ledger"; - rev = "1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5"; - sha256 = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; - }; - postUnpack = "sourceRoot+=/libs/non-integral; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/x9qblgvxkw01bvlg0i6w2hyznkfli6jf-cardano-ledger-1a9ec4a/libs/non-integral; + } diff --git a/nix/.stack.nix/cardano-api.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.37 similarity index 94% rename from nix/.stack.nix/cardano-api.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.37 index 44ca11f0de2..01e41358ad3 100644 --- a/nix/.stack.nix/cardano-api.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.37 @@ -21,7 +21,6 @@ synopsis = ""; description = "The cardano api"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -144,15 +143,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-node"; - rev = "814df2c146f5d56f8c35a681fe75e85b905aed5d"; - sha256 = "1hr00wqzmcyc3x0kp2hyw78rfmimf6z4zd4vv85b9zv3nqbjgrik"; - }) // { - url = "https://github.com/input-output-hk/cardano-node"; - rev = "814df2c146f5d56f8c35a681fe75e85b905aed5d"; - sha256 = "1hr00wqzmcyc3x0kp2hyw78rfmimf6z4zd4vv85b9zv3nqbjgrik"; - }; - postUnpack = "sourceRoot+=/cardano-api; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/5v6m8vb6nqr07xqivmlshnc9b26pkm6d-cardano-node-814df2c/cardano-api; + } diff --git a/nix/.stack.nix/cardano-cli.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.38 similarity index 94% rename from nix/.stack.nix/cardano-cli.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.38 index 262ea753450..b523454107b 100644 --- a/nix/.stack.nix/cardano-cli.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.38 @@ -21,7 +21,6 @@ synopsis = ""; description = "The Cardano command-line interface."; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -150,15 +149,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-node"; - rev = "814df2c146f5d56f8c35a681fe75e85b905aed5d"; - sha256 = "1hr00wqzmcyc3x0kp2hyw78rfmimf6z4zd4vv85b9zv3nqbjgrik"; - }) // { - url = "https://github.com/input-output-hk/cardano-node"; - rev = "814df2c146f5d56f8c35a681fe75e85b905aed5d"; - sha256 = "1hr00wqzmcyc3x0kp2hyw78rfmimf6z4zd4vv85b9zv3nqbjgrik"; - }; - postUnpack = "sourceRoot+=/cardano-cli; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/5v6m8vb6nqr07xqivmlshnc9b26pkm6d-cardano-node-814df2c/cardano-cli; + } diff --git a/nix/.stack.nix/cardano-node.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.39 similarity index 93% rename from nix/.stack.nix/cardano-node.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.39 index 9d97f749eae..de01c0f4679 100644 --- a/nix/.stack.nix/cardano-node.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.39 @@ -21,7 +21,6 @@ synopsis = ""; description = "The cardano full node"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -127,15 +126,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-node"; - rev = "814df2c146f5d56f8c35a681fe75e85b905aed5d"; - sha256 = "1hr00wqzmcyc3x0kp2hyw78rfmimf6z4zd4vv85b9zv3nqbjgrik"; - }) // { - url = "https://github.com/input-output-hk/cardano-node"; - rev = "814df2c146f5d56f8c35a681fe75e85b905aed5d"; - sha256 = "1hr00wqzmcyc3x0kp2hyw78rfmimf6z4zd4vv85b9zv3nqbjgrik"; - }; - postUnpack = "sourceRoot+=/cardano-node; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/5v6m8vb6nqr07xqivmlshnc9b26pkm6d-cardano-node-814df2c/cardano-node; + } diff --git a/nix/.stack.nix/bech32-th.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.4 similarity index 77% rename from nix/.stack.nix/bech32-th.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.4 index ae298407db6..134c085272c 100644 --- a/nix/.stack.nix/bech32-th.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.4 @@ -21,7 +21,6 @@ synopsis = "Template Haskell extensions to the Bech32 library."; description = "Template Haskell extensions to the Bech32 library, including\nquasi-quoters for compile-time checking of Bech32 string\nliterals."; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -49,15 +48,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/bech32"; - rev = "ab61914443e5f53624d3b2995767761b3f68e576"; - sha256 = "0isqh5s6rdhmqa3jhvc32zb3kvzy149hmzddx1ld9f9jhls4f3wg"; - }) // { - url = "https://github.com/input-output-hk/bech32"; - rev = "ab61914443e5f53624d3b2995767761b3f68e576"; - sha256 = "0isqh5s6rdhmqa3jhvc32zb3kvzy149hmzddx1ld9f9jhls4f3wg"; - }; - postUnpack = "sourceRoot+=/bech32-th; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/0dv7g23bmbdx55i5rxz18lk55pkw6kv4-bech32-ab61914/bech32-th; + } diff --git a/nix/.stack.nix/trace-dispatcher.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.40 similarity index 90% rename from nix/.stack.nix/trace-dispatcher.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.40 index 2b6eadc285e..39b531dabb8 100644 --- a/nix/.stack.nix/trace-dispatcher.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.40 @@ -21,7 +21,6 @@ synopsis = "Package for development of simple and efficient tracers\nbased on the arrow based contra-tracer package"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -104,15 +103,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-node"; - rev = "814df2c146f5d56f8c35a681fe75e85b905aed5d"; - sha256 = "1hr00wqzmcyc3x0kp2hyw78rfmimf6z4zd4vv85b9zv3nqbjgrik"; - }) // { - url = "https://github.com/input-output-hk/cardano-node"; - rev = "814df2c146f5d56f8c35a681fe75e85b905aed5d"; - sha256 = "1hr00wqzmcyc3x0kp2hyw78rfmimf6z4zd4vv85b9zv3nqbjgrik"; - }; - postUnpack = "sourceRoot+=/trace-dispatcher; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/5v6m8vb6nqr07xqivmlshnc9b26pkm6d-cardano-node-814df2c/trace-dispatcher; + } diff --git a/nix/.stack.nix/trace-resources.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.41 similarity index 76% rename from nix/.stack.nix/trace-resources.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.41 index a71bf554cdc..041b6230b8f 100644 --- a/nix/.stack.nix/trace-resources.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.41 @@ -21,7 +21,6 @@ synopsis = "Package for tracing resources for linux, mac and windows"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -51,15 +50,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-node"; - rev = "814df2c146f5d56f8c35a681fe75e85b905aed5d"; - sha256 = "1hr00wqzmcyc3x0kp2hyw78rfmimf6z4zd4vv85b9zv3nqbjgrik"; - }) // { - url = "https://github.com/input-output-hk/cardano-node"; - rev = "814df2c146f5d56f8c35a681fe75e85b905aed5d"; - sha256 = "1hr00wqzmcyc3x0kp2hyw78rfmimf6z4zd4vv85b9zv3nqbjgrik"; - }; - postUnpack = "sourceRoot+=/trace-resources; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/5v6m8vb6nqr07xqivmlshnc9b26pkm6d-cardano-node-814df2c/trace-resources; + } diff --git a/nix/.stack.nix/trace-forward.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.42 similarity index 84% rename from nix/.stack.nix/trace-forward.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.42 index bdaf7d1e191..a2d23f6dc16 100644 --- a/nix/.stack.nix/trace-forward.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.42 @@ -21,7 +21,6 @@ synopsis = "The forwarding protocols library for cardano node."; description = "The library providing typed protocols for forwarding different\ninformation from the cardano node to an external application."; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -66,15 +65,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-node"; - rev = "814df2c146f5d56f8c35a681fe75e85b905aed5d"; - sha256 = "1hr00wqzmcyc3x0kp2hyw78rfmimf6z4zd4vv85b9zv3nqbjgrik"; - }) // { - url = "https://github.com/input-output-hk/cardano-node"; - rev = "814df2c146f5d56f8c35a681fe75e85b905aed5d"; - sha256 = "1hr00wqzmcyc3x0kp2hyw78rfmimf6z4zd4vv85b9zv3nqbjgrik"; - }; - postUnpack = "sourceRoot+=/trace-forward; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/5v6m8vb6nqr07xqivmlshnc9b26pkm6d-cardano-node-814df2c/trace-forward; + } diff --git a/nix/.stack.nix/cardano-prelude.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.43 similarity index 77% rename from nix/.stack.nix/cardano-prelude.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.43 index 57ce8a6aa4c..e1df118c8cd 100644 --- a/nix/.stack.nix/cardano-prelude.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.43 @@ -21,7 +21,6 @@ synopsis = "A Prelude replacement for the Cardano project"; description = "A Prelude replacement for the Cardano project"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -48,15 +47,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-prelude"; - rev = "bb4ed71ba8e587f672d06edf9d2e376f4b055555"; - sha256 = "00h10l5mmiza9819p9v5q5749nb9pzgi20vpzpy1d34zmh6gf1cj"; - }) // { - url = "https://github.com/input-output-hk/cardano-prelude"; - rev = "bb4ed71ba8e587f672d06edf9d2e376f4b055555"; - sha256 = "00h10l5mmiza9819p9v5q5749nb9pzgi20vpzpy1d34zmh6gf1cj"; - }; - postUnpack = "sourceRoot+=/cardano-prelude; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/5hpda20xfxbq4wz60zblgfinyabkkal6-cardano-prelude-bb4ed71/cardano-prelude; + } diff --git a/nix/.stack.nix/cardano-prelude-test.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.44 similarity index 83% rename from nix/.stack.nix/cardano-prelude-test.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.44 index 55ae18bfd6f..f7ab485e22f 100644 --- a/nix/.stack.nix/cardano-prelude-test.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.44 @@ -21,7 +21,6 @@ synopsis = "Utility types and functions for testing Cardano"; description = "Utility types and functions for testing Cardano"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -64,15 +63,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-prelude"; - rev = "bb4ed71ba8e587f672d06edf9d2e376f4b055555"; - sha256 = "00h10l5mmiza9819p9v5q5749nb9pzgi20vpzpy1d34zmh6gf1cj"; - }) // { - url = "https://github.com/input-output-hk/cardano-prelude"; - rev = "bb4ed71ba8e587f672d06edf9d2e376f4b055555"; - sha256 = "00h10l5mmiza9819p9v5q5749nb9pzgi20vpzpy1d34zmh6gf1cj"; - }; - postUnpack = "sourceRoot+=/cardano-prelude-test; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/5hpda20xfxbq4wz60zblgfinyabkkal6-cardano-prelude-bb4ed71/cardano-prelude-test; + } diff --git a/nix/.stack.nix/cardano-sl-x509.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.45 similarity index 85% rename from nix/.stack.nix/cardano-sl-x509.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.45 index 7932a88d441..8b5c3aff2dc 100644 --- a/nix/.stack.nix/cardano-sl-x509.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.45 @@ -21,7 +21,6 @@ synopsis = "Tool-suite for generating x509 certificates specialized for RSA with SHA-256"; description = "See README"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -64,14 +63,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-sl-x509"; - rev = "12925934c533b3a6e009b61ede555f8f26bac037"; - sha256 = "1kma25g8sl6m3pgsihja7fysmv6vjdfc0x7dyky9g5z156sh8z7i"; - }) // { - url = "https://github.com/input-output-hk/cardano-sl-x509"; - rev = "12925934c533b3a6e009b61ede555f8f26bac037"; - sha256 = "1kma25g8sl6m3pgsihja7fysmv6vjdfc0x7dyky9g5z156sh8z7i"; - }; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/5lcpx8q17x275vgy3b5700vy3c9ga12w-cardano-sl-x509-1292593; + } diff --git a/nix/.stack.nix/flat.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.46 similarity index 94% rename from nix/.stack.nix/flat.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.46 index 9c5ffa223c2..5041947392c 100644 --- a/nix/.stack.nix/flat.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.46 @@ -21,7 +21,6 @@ synopsis = "Principled and efficient bit-oriented binary serialization."; description = "Reference implementation of `flat`, a principled and efficient binary serialization format."; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -136,14 +135,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/flat"; - rev = "ee59880f47ab835dbd73bea0847dab7869fc20d8"; - sha256 = "1lrzknw765pz2j97nvv9ip3l1mcpf2zr4n56hwlz0rk7wq7ls4cm"; - }) // { - url = "https://github.com/input-output-hk/flat"; - rev = "ee59880f47ab835dbd73bea0847dab7869fc20d8"; - sha256 = "1lrzknw765pz2j97nvv9ip3l1mcpf2zr4n56hwlz0rk7wq7ls4cm"; - }; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/68dijg7gzxp697lfv65y5d5az0n37z9h-flat-ee59880; + } diff --git a/nix/.stack.nix/goblins.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.47 similarity index 84% rename from nix/.stack.nix/goblins.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.47 index 76f8d1e0b53..f1e00c7a8c1 100644 --- a/nix/.stack.nix/goblins.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.47 @@ -21,7 +21,6 @@ synopsis = "Genetic algorithm based randomised testing"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -60,14 +59,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/goblins"; - rev = "cde90a2b27f79187ca8310b6549331e59595e7ba"; - sha256 = "17c88rbva3iw82yg9srlxjv2ia5wjb9cyqw44hik565f5v9svnyg"; - }) // { - url = "https://github.com/input-output-hk/goblins"; - rev = "cde90a2b27f79187ca8310b6549331e59595e7ba"; - sha256 = "17c88rbva3iw82yg9srlxjv2ia5wjb9cyqw44hik565f5v9svnyg"; - }; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/4hpdshkfiqw93mp84jsnws4p3826iv4r-goblins-cde90a2; + } diff --git a/nix/.stack.nix/hedgehog-extras.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.48 similarity index 83% rename from nix/.stack.nix/hedgehog-extras.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.48 index a32c886c250..7783121f5bf 100644 --- a/nix/.stack.nix/hedgehog-extras.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.48 @@ -21,7 +21,6 @@ synopsis = "Supplemental library for hedgehog"; description = "Supplemental library for hedgehog."; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -53,14 +52,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/hedgehog-extras"; - rev = "edf6945007177a638fbeb8802397f3a6f4e47c14"; - sha256 = "0wc7qzkc7j4ns2rz562h6qrx2f8xyq7yjcb7zidnj7f6j0pcd0i9"; - }) // { - url = "https://github.com/input-output-hk/hedgehog-extras"; - rev = "edf6945007177a638fbeb8802397f3a6f4e47c14"; - sha256 = "0wc7qzkc7j4ns2rz562h6qrx2f8xyq7yjcb7zidnj7f6j0pcd0i9"; - }; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/v5ky06bax11582i8x13f1sl27mbnylc1-hedgehog-extras-edf6945; + } diff --git a/nix/.stack.nix/contra-tracer.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.49 similarity index 60% rename from nix/.stack.nix/contra-tracer.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.49 index a73234f4006..7ad2dae7c0b 100644 --- a/nix/.stack.nix/contra-tracer.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.49 @@ -21,7 +21,6 @@ synopsis = "A simple interface for logging, tracing or monitoring."; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -31,15 +30,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/iohk-monitoring-framework"; - rev = "808724ff8a19a33d0ed06f9ef59fbd900b08553c"; - sha256 = "0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz"; - }) // { - url = "https://github.com/input-output-hk/iohk-monitoring-framework"; - rev = "808724ff8a19a33d0ed06f9ef59fbd900b08553c"; - sha256 = "0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz"; - }; - postUnpack = "sourceRoot+=/contra-tracer; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/dp15xfc309h2xx301937iacq5wym27gy-iohk-monitoring-framework-808724f/contra-tracer; + } diff --git a/nix/.stack.nix/base-deriving-via.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.5 similarity index 55% rename from nix/.stack.nix/base-deriving-via.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.5 index aee2bac64c3..9a39facb7f9 100644 --- a/nix/.stack.nix/base-deriving-via.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.5 @@ -21,7 +21,6 @@ synopsis = "A general hook newtype for use with deriving via"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -29,15 +28,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-base"; - rev = "41545ba3ac6b3095966316a99883d678b5ab8da8"; - sha256 = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; - }) // { - url = "https://github.com/input-output-hk/cardano-base"; - rev = "41545ba3ac6b3095966316a99883d678b5ab8da8"; - sha256 = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; - }; - postUnpack = "sourceRoot+=/base-deriving-via; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/bvppc469jii0bcz5y6mbv9svfi0nf7wi-cardano-base-41545ba/base-deriving-via; + } diff --git a/nix/.stack.nix/iohk-monitoring.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.50 similarity index 90% rename from nix/.stack.nix/iohk-monitoring.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.50 index 790203e521f..f811f4c28ce 100644 --- a/nix/.stack.nix/iohk-monitoring.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.50 @@ -21,7 +21,6 @@ synopsis = "logging, benchmarking and monitoring framework"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -105,15 +104,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/iohk-monitoring-framework"; - rev = "808724ff8a19a33d0ed06f9ef59fbd900b08553c"; - sha256 = "0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz"; - }) // { - url = "https://github.com/input-output-hk/iohk-monitoring-framework"; - rev = "808724ff8a19a33d0ed06f9ef59fbd900b08553c"; - sha256 = "0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz"; - }; - postUnpack = "sourceRoot+=/iohk-monitoring; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/dp15xfc309h2xx301937iacq5wym27gy-iohk-monitoring-framework-808724f/iohk-monitoring; + } diff --git a/nix/.stack.nix/lobemo-backend-aggregation.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.51 similarity index 72% rename from nix/.stack.nix/lobemo-backend-aggregation.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.51 index ab6eea01a33..8f67f2aea75 100644 --- a/nix/.stack.nix/lobemo-backend-aggregation.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.51 @@ -24,7 +24,6 @@ synopsis = "provides a backend implementation to aggregate traced values"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -44,15 +43,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/iohk-monitoring-framework"; - rev = "808724ff8a19a33d0ed06f9ef59fbd900b08553c"; - sha256 = "0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz"; - }) // { - url = "https://github.com/input-output-hk/iohk-monitoring-framework"; - rev = "808724ff8a19a33d0ed06f9ef59fbd900b08553c"; - sha256 = "0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz"; - }; - postUnpack = "sourceRoot+=/plugins/backend-aggregation; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/dp15xfc309h2xx301937iacq5wym27gy-iohk-monitoring-framework-808724f/plugins/backend-aggregation; + } diff --git a/nix/.stack.nix/lobemo-backend-ekg.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.52 similarity index 74% rename from nix/.stack.nix/lobemo-backend-ekg.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.52 index f7c2749557a..85c26399f99 100644 --- a/nix/.stack.nix/lobemo-backend-ekg.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.52 @@ -21,7 +21,6 @@ synopsis = "provides a backend implementation to EKG"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -44,15 +43,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/iohk-monitoring-framework"; - rev = "808724ff8a19a33d0ed06f9ef59fbd900b08553c"; - sha256 = "0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz"; - }) // { - url = "https://github.com/input-output-hk/iohk-monitoring-framework"; - rev = "808724ff8a19a33d0ed06f9ef59fbd900b08553c"; - sha256 = "0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz"; - }; - postUnpack = "sourceRoot+=/plugins/backend-ekg; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/dp15xfc309h2xx301937iacq5wym27gy-iohk-monitoring-framework-808724f/plugins/backend-ekg; + } diff --git a/nix/.stack.nix/lobemo-backend-monitoring.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.53 similarity index 87% rename from nix/.stack.nix/lobemo-backend-monitoring.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.53 index 53ba314ae69..6a9b16a717f 100644 --- a/nix/.stack.nix/lobemo-backend-monitoring.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.53 @@ -21,7 +21,6 @@ synopsis = "provides a backend implementation for monitoring"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -80,15 +79,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/iohk-monitoring-framework"; - rev = "808724ff8a19a33d0ed06f9ef59fbd900b08553c"; - sha256 = "0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz"; - }) // { - url = "https://github.com/input-output-hk/iohk-monitoring-framework"; - rev = "808724ff8a19a33d0ed06f9ef59fbd900b08553c"; - sha256 = "0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz"; - }; - postUnpack = "sourceRoot+=/plugins/backend-monitoring; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/dp15xfc309h2xx301937iacq5wym27gy-iohk-monitoring-framework-808724f/plugins/backend-monitoring; + } diff --git a/nix/.stack.nix/lobemo-backend-trace-forwarder.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.54 similarity index 71% rename from nix/.stack.nix/lobemo-backend-trace-forwarder.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.54 index 3fcdfb099f2..9f5e95aba97 100644 --- a/nix/.stack.nix/lobemo-backend-trace-forwarder.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.54 @@ -24,7 +24,6 @@ synopsis = "this backend forwards log items to a trace acceptor"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -44,15 +43,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/iohk-monitoring-framework"; - rev = "808724ff8a19a33d0ed06f9ef59fbd900b08553c"; - sha256 = "0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz"; - }) // { - url = "https://github.com/input-output-hk/iohk-monitoring-framework"; - rev = "808724ff8a19a33d0ed06f9ef59fbd900b08553c"; - sha256 = "0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz"; - }; - postUnpack = "sourceRoot+=/plugins/backend-trace-forwarder; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/dp15xfc309h2xx301937iacq5wym27gy-iohk-monitoring-framework-808724f/plugins/backend-trace-forwarder; + } diff --git a/nix/.stack.nix/lobemo-scribe-systemd.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.55 similarity index 74% rename from nix/.stack.nix/lobemo-scribe-systemd.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.55 index 371d7ef5eaa..aedb0bb722a 100644 --- a/nix/.stack.nix/lobemo-scribe-systemd.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.55 @@ -21,7 +21,6 @@ synopsis = "provides a backend for logging to systemd/journal"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -45,15 +44,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/iohk-monitoring-framework"; - rev = "808724ff8a19a33d0ed06f9ef59fbd900b08553c"; - sha256 = "0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz"; - }) // { - url = "https://github.com/input-output-hk/iohk-monitoring-framework"; - rev = "808724ff8a19a33d0ed06f9ef59fbd900b08553c"; - sha256 = "0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz"; - }; - postUnpack = "sourceRoot+=/plugins/scribe-systemd; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/dp15xfc309h2xx301937iacq5wym27gy-iohk-monitoring-framework-808724f/plugins/scribe-systemd; + } diff --git a/nix/.stack.nix/tracer-transformers.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.56 similarity index 77% rename from nix/.stack.nix/tracer-transformers.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.56 index 62b1c9e8fef..9a1a640be70 100644 --- a/nix/.stack.nix/tracer-transformers.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.56 @@ -21,7 +21,6 @@ synopsis = "tracer transformers and examples showing their use"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -54,15 +53,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/iohk-monitoring-framework"; - rev = "808724ff8a19a33d0ed06f9ef59fbd900b08553c"; - sha256 = "0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz"; - }) // { - url = "https://github.com/input-output-hk/iohk-monitoring-framework"; - rev = "808724ff8a19a33d0ed06f9ef59fbd900b08553c"; - sha256 = "0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz"; - }; - postUnpack = "sourceRoot+=/tracer-transformers; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/dp15xfc309h2xx301937iacq5wym27gy-iohk-monitoring-framework-808724f/tracer-transformers; + } diff --git a/nix/.stack.nix/purescript-bridge.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.57 similarity index 81% rename from nix/.stack.nix/purescript-bridge.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.57 index 3cf9529ca56..729ed6e244b 100644 --- a/nix/.stack.nix/purescript-bridge.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.57 @@ -21,7 +21,6 @@ synopsis = "Generate PureScript data types from Haskell data types"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -54,14 +53,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/shmish111/purescript-bridge.git"; - rev = "6a92d7853ea514be8b70bab5e72077bf5a510596"; - sha256 = "13j64vv116in3c204qsl1v0ajphac9fqvsjp7x3zzfr7n7g61drb"; - }) // { - url = "https://github.com/shmish111/purescript-bridge.git"; - rev = "6a92d7853ea514be8b70bab5e72077bf5a510596"; - sha256 = "13j64vv116in3c204qsl1v0ajphac9fqvsjp7x3zzfr7n7g61drb"; - }; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/zvdx2gdavxs4rs5b1lnhhrk63ps5nxdq-purescript-bridge-6a92d78; + } diff --git a/nix/.stack.nix/io-classes.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.58 similarity index 73% rename from nix/.stack.nix/io-classes.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.58 index 53e6b07b06f..d8237487c05 100644 --- a/nix/.stack.nix/io-classes.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.58 @@ -21,7 +21,6 @@ synopsis = "Type classes for concurrency with STM, ST and timing"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -48,15 +47,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/io-classes; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/io-classes; + } diff --git a/nix/.stack.nix/io-sim.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.59 similarity index 78% rename from nix/.stack.nix/io-sim.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.59 index f1a24c654f6..0495acc7aed 100644 --- a/nix/.stack.nix/io-sim.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.59 @@ -21,7 +21,6 @@ synopsis = "A pure simlator for monadic concurrency with STM"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -54,15 +53,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/io-sim; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/io-sim; + } diff --git a/nix/.stack.nix/cardano-binary.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.6 similarity index 85% rename from nix/.stack.nix/cardano-binary.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.6 index c10414badd7..91526458f54 100644 --- a/nix/.stack.nix/cardano-binary.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.6 @@ -21,7 +21,6 @@ synopsis = "Binary serialization for Cardano"; description = "This package includes the binary serialization format for Cardano"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -72,15 +71,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-base"; - rev = "41545ba3ac6b3095966316a99883d678b5ab8da8"; - sha256 = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; - }) // { - url = "https://github.com/input-output-hk/cardano-base"; - rev = "41545ba3ac6b3095966316a99883d678b5ab8da8"; - sha256 = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; - }; - postUnpack = "sourceRoot+=/binary; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/bvppc469jii0bcz5y6mbv9svfi0nf7wi-cardano-base-41545ba/binary; + } diff --git a/nix/.stack.nix/monoidal-synchronisation.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.60 similarity index 69% rename from nix/.stack.nix/monoidal-synchronisation.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.60 index b6d3fa0f630..98ceeff9573 100644 --- a/nix/.stack.nix/monoidal-synchronisation.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.60 @@ -21,7 +21,6 @@ synopsis = ""; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -43,15 +42,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/monoidal-synchronisation; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/monoidal-synchronisation; + } diff --git a/nix/.stack.nix/network-mux.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.61 similarity index 91% rename from nix/.stack.nix/network-mux.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.61 index dbbb592a23a..367a44c9787 100644 --- a/nix/.stack.nix/network-mux.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.61 @@ -21,7 +21,6 @@ synopsis = "Multiplexing library"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -113,15 +112,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/network-mux; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/network-mux; + } diff --git a/nix/.stack.nix/ouroboros-consensus.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.62 similarity index 87% rename from nix/.stack.nix/ouroboros-consensus.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.62 index ed3110ec2fd..c036cb25fa5 100644 --- a/nix/.stack.nix/ouroboros-consensus.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.62 @@ -21,7 +21,6 @@ synopsis = "Consensus layer for the Ouroboros blockchain protocol"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -77,15 +76,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/ouroboros-consensus; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/ouroboros-consensus; + } diff --git a/nix/.stack.nix/ouroboros-consensus-test.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.63 similarity index 94% rename from nix/.stack.nix/ouroboros-consensus-test.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.63 index 2c3b03735c0..2e3cbeb2e7f 100644 --- a/nix/.stack.nix/ouroboros-consensus-test.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.63 @@ -21,7 +21,6 @@ synopsis = "Tests of the consensus layer"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -159,15 +158,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/ouroboros-consensus-test; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/ouroboros-consensus-test; + } diff --git a/nix/.stack.nix/ouroboros-consensus-byron.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.64 similarity index 85% rename from nix/.stack.nix/ouroboros-consensus-byron.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.64 index 70e0fdd8dcb..254f40e0863 100644 --- a/nix/.stack.nix/ouroboros-consensus-byron.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.64 @@ -21,7 +21,6 @@ synopsis = "Byron ledger integration in the Ouroboros consensus layer"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -70,15 +69,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/ouroboros-consensus-byron; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/ouroboros-consensus-byron; + } diff --git a/nix/.stack.nix/ouroboros-consensus-byronspec.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.65 similarity index 77% rename from nix/.stack.nix/ouroboros-consensus-byronspec.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.65 index ea2a5c9c8ae..99e227d0ede 100644 --- a/nix/.stack.nix/ouroboros-consensus-byronspec.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.65 @@ -24,7 +24,6 @@ synopsis = "ByronSpec ledger integration in the Ouroboros consensus layer"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -49,15 +48,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/ouroboros-consensus-byronspec; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/ouroboros-consensus-byronspec; + } diff --git a/nix/.stack.nix/ouroboros-consensus-byron-test.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.66 similarity index 89% rename from nix/.stack.nix/ouroboros-consensus-byron-test.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.66 index 1d7d5355932..c68a24dd2ff 100644 --- a/nix/.stack.nix/ouroboros-consensus-byron-test.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.66 @@ -24,7 +24,6 @@ synopsis = "Test infrastructure for Byron"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -86,15 +85,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/ouroboros-consensus-byron-test; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/ouroboros-consensus-byron-test; + } diff --git a/nix/.stack.nix/ouroboros-consensus-protocol.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.67 similarity index 75% rename from nix/.stack.nix/ouroboros-consensus-protocol.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.67 index feed141778c..c6c0388503c 100644 --- a/nix/.stack.nix/ouroboros-consensus-protocol.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.67 @@ -24,7 +24,6 @@ synopsis = "Cardano consensus protocols."; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -47,15 +46,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/ouroboros-consensus-protocol; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/ouroboros-consensus-protocol; + } diff --git a/nix/.stack.nix/ouroboros-consensus-shelley.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.68 similarity index 84% rename from nix/.stack.nix/ouroboros-consensus-shelley.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.68 index 2e0940c0582..c08dc2cd624 100644 --- a/nix/.stack.nix/ouroboros-consensus-shelley.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.68 @@ -24,7 +24,6 @@ synopsis = "Shelley ledger integration in the Ouroboros consensus layer"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -61,15 +60,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/ouroboros-consensus-shelley; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/ouroboros-consensus-shelley; + } diff --git a/nix/.stack.nix/ouroboros-consensus-shelley-test.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.69 similarity index 88% rename from nix/.stack.nix/ouroboros-consensus-shelley-test.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.69 index 64f6864889c..0fa3b90cd9f 100644 --- a/nix/.stack.nix/ouroboros-consensus-shelley-test.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.69 @@ -24,7 +24,6 @@ synopsis = "Test infrastructure for Shelley"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -84,15 +83,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/ouroboros-consensus-shelley-test; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/ouroboros-consensus-shelley-test; + } diff --git a/nix/.stack.nix/cardano-binary-test.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.7 similarity index 77% rename from nix/.stack.nix/cardano-binary-test.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.7 index c78c80bb6ce..b29f0a91afc 100644 --- a/nix/.stack.nix/cardano-binary-test.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.7 @@ -21,7 +21,6 @@ synopsis = "Test helpers from cardano-binary exposed to other packages"; description = "Test helpers from cardano-binary exposed to other packages"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -47,15 +46,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-base"; - rev = "41545ba3ac6b3095966316a99883d678b5ab8da8"; - sha256 = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; - }) // { - url = "https://github.com/input-output-hk/cardano-base"; - rev = "41545ba3ac6b3095966316a99883d678b5ab8da8"; - sha256 = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; - }; - postUnpack = "sourceRoot+=/binary/test; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/bvppc469jii0bcz5y6mbv9svfi0nf7wi-cardano-base-41545ba/binary/test; + } diff --git a/nix/.stack.nix/ouroboros-consensus-cardano.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.70 similarity index 89% rename from nix/.stack.nix/ouroboros-consensus-cardano.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.70 index 0b6d16f56e4..2d9a84e79e6 100644 --- a/nix/.stack.nix/ouroboros-consensus-cardano.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.70 @@ -24,7 +24,6 @@ synopsis = "The instantation of the Ouroboros consensus layer used by Cardano"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -85,15 +84,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/ouroboros-consensus-cardano; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/ouroboros-consensus-cardano; + } diff --git a/nix/.stack.nix/ouroboros-consensus-cardano-test.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.71 similarity index 90% rename from nix/.stack.nix/ouroboros-consensus-cardano-test.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.71 index d63b5848d43..a8141c41b00 100644 --- a/nix/.stack.nix/ouroboros-consensus-cardano-test.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.71 @@ -24,7 +24,6 @@ synopsis = "Test of the instantation of the Ouroboros consensus layer used by Cardano"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -90,15 +89,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/ouroboros-consensus-cardano-test; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/ouroboros-consensus-cardano-test; + } diff --git a/nix/.stack.nix/ouroboros-network.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.72 similarity index 95% rename from nix/.stack.nix/ouroboros-network.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.72 index 5c6262ccbf4..2bdcb7ab8ca 100644 --- a/nix/.stack.nix/ouroboros-network.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.72 @@ -21,7 +21,6 @@ synopsis = "A networking layer for the Ouroboros blockchain protocol"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -185,15 +184,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/ouroboros-network; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/ouroboros-network; + } diff --git a/nix/.stack.nix/ouroboros-network-framework.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.73 similarity index 93% rename from nix/.stack.nix/ouroboros-network-framework.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.73 index 5b20ce0c5e9..f5a191bbfa4 100644 --- a/nix/.stack.nix/ouroboros-network-framework.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.73 @@ -24,7 +24,6 @@ synopsis = ""; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -138,15 +137,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/ouroboros-network-framework; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/ouroboros-network-framework; + } diff --git a/nix/.stack.nix/ouroboros-network-testing.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.74 similarity index 77% rename from nix/.stack.nix/ouroboros-network-testing.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.74 index f4462207c2a..e1ad05cc8ca 100644 --- a/nix/.stack.nix/ouroboros-network-testing.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.74 @@ -21,7 +21,6 @@ synopsis = "Common modules used for testing in ouroboros-network and ouroboros-consensus"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -53,15 +52,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/ouroboros-network-testing; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/ouroboros-network-testing; + } diff --git a/nix/.stack.nix/strict-stm.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.75 similarity index 66% rename from nix/.stack.nix/strict-stm.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.75 index afa7c6b7265..2219c9acc48 100644 --- a/nix/.stack.nix/strict-stm.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.75 @@ -21,7 +21,6 @@ synopsis = "Strict STM interface polymorphic over stm implementation."; description = "The `strict-stm` package gives a strict interface to stm,\ncurrently either one provided by `stm` package for the\n`IO` monad or `io-sim` package for the `IOSim` monad."; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -33,15 +32,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/strict-stm; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/strict-stm; + } diff --git a/nix/.stack.nix/typed-protocols.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.76 similarity index 60% rename from nix/.stack.nix/typed-protocols.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.76 index 6778217c3d7..a9c231f80d3 100644 --- a/nix/.stack.nix/typed-protocols.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.76 @@ -21,7 +21,6 @@ synopsis = "A framework for strongly typed protocols"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -32,15 +31,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/typed-protocols; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/typed-protocols; + } diff --git a/nix/.stack.nix/typed-protocols-cborg.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.77 similarity index 65% rename from nix/.stack.nix/typed-protocols-cborg.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.77 index 273225e42f1..9c493e49103 100644 --- a/nix/.stack.nix/typed-protocols-cborg.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.77 @@ -21,7 +21,6 @@ synopsis = "CBOR codecs for typed-protocols"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -35,15 +34,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/typed-protocols-cborg; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/typed-protocols-cborg; + } diff --git a/nix/.stack.nix/typed-protocols-examples.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.78 similarity index 80% rename from nix/.stack.nix/typed-protocols-examples.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.78 index c2a9d8454e7..dedc653d7e0 100644 --- a/nix/.stack.nix/typed-protocols-examples.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.78 @@ -21,7 +21,6 @@ synopsis = "Examples and tests for the typed-protocols framework"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -57,15 +56,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/typed-protocols-examples; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/typed-protocols-examples; + } diff --git a/nix/.stack.nix/cardano-client.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.79 similarity index 69% rename from nix/.stack.nix/cardano-client.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.79 index 68299dd2c11..98268dfb74d 100644 --- a/nix/.stack.nix/cardano-client.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.79 @@ -21,7 +21,6 @@ synopsis = "An API for ouroboros-network"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -38,15 +37,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/cardano-client; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/cardano-client; + } diff --git a/nix/.stack.nix/cardano-crypto-class.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.8 similarity index 82% rename from nix/.stack.nix/cardano-crypto-class.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.8 index a69d9bd6531..5c16c984c0c 100644 --- a/nix/.stack.nix/cardano-crypto-class.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.8 @@ -21,7 +21,6 @@ synopsis = "Type classes abstracting over cryptography primitives for Cardano"; description = "Type classes abstracting over cryptography primitives for Cardano"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -62,15 +61,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-base"; - rev = "41545ba3ac6b3095966316a99883d678b5ab8da8"; - sha256 = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; - }) // { - url = "https://github.com/input-output-hk/cardano-base"; - rev = "41545ba3ac6b3095966316a99883d678b5ab8da8"; - sha256 = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; - }; - postUnpack = "sourceRoot+=/cardano-crypto-class; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/bvppc469jii0bcz5y6mbv9svfi0nf7wi-cardano-base-41545ba/cardano-crypto-class; + } diff --git a/nix/.stack.nix/ntp-client.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.80 similarity index 80% rename from nix/.stack.nix/ntp-client.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.80 index 8eff0a86c9e..9822a6daedb 100644 --- a/nix/.stack.nix/ntp-client.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.80 @@ -21,7 +21,6 @@ synopsis = ""; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -64,15 +63,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/ntp-client; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/ntp-client; + } diff --git a/nix/.stack.nix/ouroboros-consensus-mock.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.81 similarity index 76% rename from nix/.stack.nix/ouroboros-consensus-mock.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.81 index 2dfee8017a5..cfa7c9e89ef 100644 --- a/nix/.stack.nix/ouroboros-consensus-mock.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.81 @@ -21,7 +21,6 @@ synopsis = "Mock ledger integration in the Ouroboros consensus layer"; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -46,15 +45,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }) // { - url = "https://github.com/input-output-hk/ouroboros-network"; - rev = "d2d219a86cda42787325bb8c20539a75c2667132"; - sha256 = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; - }; - postUnpack = "sourceRoot+=/ouroboros-consensus-mock; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3ibhj9c6ifdmxi20a77xbdl3qmc5yw3w-ouroboros-network-d2d219a/ouroboros-consensus-mock; + } diff --git a/nix/.stack.nix/freer-extras.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.82 similarity index 69% rename from nix/.stack.nix/freer-extras.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.82 index b67d7faccbd..1a5d60270a7 100644 --- a/nix/.stack.nix/freer-extras.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.82 @@ -21,7 +21,6 @@ synopsis = "Useful extensions to simple-freer"; description = "freer-extras provides logging and monitoring functions extending simple-freer"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -38,15 +37,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }) // { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }; - postUnpack = "sourceRoot+=/freer-extras; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/6m6zyip9n1sv3dfh6vyz7158r08wd3bi-plutus-1efbb27/freer-extras; + } diff --git a/nix/.stack.nix/playground-common.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.83 similarity index 90% rename from nix/.stack.nix/playground-common.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.83 index 81e5a06e7f6..bd4ad2c5ac7 100644 --- a/nix/.stack.nix/playground-common.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.83 @@ -21,7 +21,6 @@ synopsis = ""; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -100,15 +99,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }) // { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }; - postUnpack = "sourceRoot+=/playground-common; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/6m6zyip9n1sv3dfh6vyz7158r08wd3bi-plutus-1efbb27/playground-common; + } diff --git a/nix/.stack.nix/plutus-chain-index.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.84 similarity index 93% rename from nix/.stack.nix/plutus-chain-index.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.84 index bfe9a9e42a9..3ce2e746cad 100644 --- a/nix/.stack.nix/plutus-chain-index.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.84 @@ -21,7 +21,6 @@ synopsis = ""; description = "Please see the README on GitHub at "; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -133,15 +132,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }) // { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }; - postUnpack = "sourceRoot+=/plutus-chain-index; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/6m6zyip9n1sv3dfh6vyz7158r08wd3bi-plutus-1efbb27/plutus-chain-index; + } diff --git a/nix/.stack.nix/plutus-contract.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.85 similarity index 92% rename from nix/.stack.nix/plutus-contract.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.85 index 63ef5e77b42..49332c0d707 100644 --- a/nix/.stack.nix/plutus-contract.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.85 @@ -21,7 +21,6 @@ synopsis = ""; description = "Please see the README on GitHub at "; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -113,15 +112,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }) // { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }; - postUnpack = "sourceRoot+=/plutus-contract; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/6m6zyip9n1sv3dfh6vyz7158r08wd3bi-plutus-1efbb27/plutus-contract; + } diff --git a/nix/.stack.nix/plutus-core.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.86 similarity index 96% rename from nix/.stack.nix/plutus-core.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.86 index f4eebf1233f..c55b025a5ba 100644 --- a/nix/.stack.nix/plutus-core.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.86 @@ -21,7 +21,6 @@ synopsis = "Language library for Plutus Core"; description = "Pretty-printer, parser, and typechecker for Plutus Core."; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -296,15 +295,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }) // { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }; - postUnpack = "sourceRoot+=/plutus-core; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/6m6zyip9n1sv3dfh6vyz7158r08wd3bi-plutus-1efbb27/plutus-core; + } diff --git a/nix/.stack.nix/plutus-ledger.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.87 similarity index 89% rename from nix/.stack.nix/plutus-ledger.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.87 index 0c789f6c1ef..7d2a636d8e8 100644 --- a/nix/.stack.nix/plutus-ledger.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.87 @@ -21,7 +21,6 @@ synopsis = "Wallet API"; description = "Plutus ledger library"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -89,15 +88,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }) // { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }; - postUnpack = "sourceRoot+=/plutus-ledger; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/6m6zyip9n1sv3dfh6vyz7158r08wd3bi-plutus-1efbb27/plutus-ledger; + } diff --git a/nix/.stack.nix/plutus-ledger-api.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.88 similarity index 84% rename from nix/.stack.nix/plutus-ledger-api.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.88 index 212012d7ed4..8049c07d276 100644 --- a/nix/.stack.nix/plutus-ledger-api.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.88 @@ -21,7 +21,6 @@ synopsis = "Interface to the Plutus ledger for the Cardano ledger."; description = "Interface to the Plutus scripting support for the Cardano ledger."; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -66,15 +65,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }) // { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }; - postUnpack = "sourceRoot+=/plutus-ledger-api; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/6m6zyip9n1sv3dfh6vyz7158r08wd3bi-plutus-1efbb27/plutus-ledger-api; + } diff --git a/nix/.stack.nix/plutus-pab.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.89 similarity index 98% rename from nix/.stack.nix/plutus-pab.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.89 index 90262c07529..7c6758dd39d 100644 --- a/nix/.stack.nix/plutus-pab.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.89 @@ -21,7 +21,6 @@ synopsis = ""; description = "Please see the README on GitHub at "; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -406,15 +405,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }) // { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }; - postUnpack = "sourceRoot+=/plutus-pab; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/6m6zyip9n1sv3dfh6vyz7158r08wd3bi-plutus-1efbb27/plutus-pab; + } diff --git a/nix/.stack.nix/cardano-crypto-praos.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.9 similarity index 70% rename from nix/.stack.nix/cardano-crypto-praos.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.9 index e4a55ff0753..7407652a85c 100644 --- a/nix/.stack.nix/cardano-crypto-praos.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.9 @@ -21,7 +21,6 @@ synopsis = "Crypto primitives from libsodium"; description = "VRF (and KES, tba) primitives from libsodium."; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -40,15 +39,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-base"; - rev = "41545ba3ac6b3095966316a99883d678b5ab8da8"; - sha256 = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; - }) // { - url = "https://github.com/input-output-hk/cardano-base"; - rev = "41545ba3ac6b3095966316a99883d678b5ab8da8"; - sha256 = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; - }; - postUnpack = "sourceRoot+=/cardano-crypto-praos; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/bvppc469jii0bcz5y6mbv9svfi0nf7wi-cardano-base-41545ba/cardano-crypto-praos; + } diff --git a/nix/.stack.nix/plutus-tx.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.90 similarity index 84% rename from nix/.stack.nix/plutus-tx.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.90 index 0cd674c229b..60ad73eae97 100644 --- a/nix/.stack.nix/plutus-tx.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.90 @@ -21,7 +21,6 @@ synopsis = "Libraries for Plutus Tx and its prelude"; description = "Libraries for Plutus Tx and its prelude"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -69,15 +68,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }) // { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }; - postUnpack = "sourceRoot+=/plutus-tx; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/6m6zyip9n1sv3dfh6vyz7158r08wd3bi-plutus-1efbb27/plutus-tx; + } diff --git a/nix/.stack.nix/plutus-tx-plugin.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.91 similarity index 89% rename from nix/.stack.nix/plutus-tx-plugin.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.91 index 1ba36c72a62..6e7cefd1813 100644 --- a/nix/.stack.nix/plutus-tx-plugin.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.91 @@ -21,7 +21,6 @@ synopsis = "The Plutus Tx compiler and GHC plugin"; description = "The Plutus Tx compiler and GHC plugin."; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -95,15 +94,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }) // { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }; - postUnpack = "sourceRoot+=/plutus-tx-plugin; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/6m6zyip9n1sv3dfh6vyz7158r08wd3bi-plutus-1efbb27/plutus-tx-plugin; + } diff --git a/nix/.stack.nix/plutus-use-cases.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.92 similarity index 93% rename from nix/.stack.nix/plutus-use-cases.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.92 index 614a3341980..2884e6092b7 100644 --- a/nix/.stack.nix/plutus-use-cases.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.92 @@ -21,7 +21,6 @@ synopsis = "Collection of smart contracts to develop the plutus/wallet interface"; description = "Collection of smart contracts to develop the plutus/wallet interface."; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -126,15 +125,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }) // { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }; - postUnpack = "sourceRoot+=/plutus-use-cases; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/6m6zyip9n1sv3dfh6vyz7158r08wd3bi-plutus-1efbb27/plutus-use-cases; + } diff --git a/nix/.stack.nix/plutus-ghc-stub.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.93 similarity index 70% rename from nix/.stack.nix/plutus-ghc-stub.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.93 index 57d0f7d231b..5047829257b 100644 --- a/nix/.stack.nix/plutus-ghc-stub.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.93 @@ -21,7 +21,6 @@ synopsis = "The GHC API"; description = "Stub functionality for the Plutus plugin, for cross compilers that\ndon't have a GHC library installed, like GHCJS\nThis should contain all the types and functions that the Plutus\ncompiler uses.\nFor technical reasons (Cabal), we need to be able to compile the plutus-tx\ncompiler for the host platform, even if we are going to load the plugin\nfrom the build platform libraries."; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -34,15 +33,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }) // { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }; - postUnpack = "sourceRoot+=/stubs/plutus-ghc-stub; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/6m6zyip9n1sv3dfh6vyz7158r08wd3bi-plutus-1efbb27/stubs/plutus-ghc-stub; + } diff --git a/nix/.stack.nix/prettyprinter-configurable.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.94 similarity index 83% rename from nix/.stack.nix/prettyprinter-configurable.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.94 index 41218b6cd2f..73028aa4bb1 100644 --- a/nix/.stack.nix/prettyprinter-configurable.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.94 @@ -24,7 +24,6 @@ synopsis = ""; description = ""; buildType = "Custom"; - isLocal = true; setup-depends = [ (hsPkgs.buildPackages.base or (pkgs.buildPackages.base or (errorHandler.setupDepError "base"))) (hsPkgs.buildPackages.Cabal or (pkgs.buildPackages.Cabal or (errorHandler.setupDepError "Cabal"))) @@ -69,15 +68,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }) // { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }; - postUnpack = "sourceRoot+=/prettyprinter-configurable; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/6m6zyip9n1sv3dfh6vyz7158r08wd3bi-plutus-1efbb27/prettyprinter-configurable; + } diff --git a/nix/.stack.nix/quickcheck-dynamic.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.95 similarity index 75% rename from nix/.stack.nix/quickcheck-dynamic.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.95 index cab2225339a..76201027a3a 100644 --- a/nix/.stack.nix/quickcheck-dynamic.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.95 @@ -21,7 +21,6 @@ synopsis = ""; description = "Please see the README on GitHub at "; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -49,15 +48,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }) // { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }; - postUnpack = "sourceRoot+=/quickcheck-dynamic; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/6m6zyip9n1sv3dfh6vyz7158r08wd3bi-plutus-1efbb27/quickcheck-dynamic; + } diff --git a/nix/.stack.nix/word-array.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.96 similarity index 80% rename from nix/.stack.nix/word-array.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.96 index 3ea6fbcb061..de4732ed056 100644 --- a/nix/.stack.nix/word-array.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.96 @@ -21,7 +21,6 @@ synopsis = ""; description = "Treat integral types as arrays of smaller integral types"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -61,15 +60,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }) // { - url = "https://github.com/input-output-hk/plutus"; - rev = "1efbb276ef1a10ca6961d0fd32e6141e9798bd11"; - sha256 = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; - }; - postUnpack = "sourceRoot+=/word-array; echo source root reset to \$sourceRoot"; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/6m6zyip9n1sv3dfh6vyz7158r08wd3bi-plutus-1efbb27/word-array; + } diff --git a/nix/.stack.nix/ekg-forward.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.97 similarity index 89% rename from nix/.stack.nix/ekg-forward.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.97 index a3a3dde5217..b088950aff6 100644 --- a/nix/.stack.nix/ekg-forward.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.97 @@ -21,7 +21,6 @@ synopsis = "See README for more info"; description = "See README for more info"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -87,14 +86,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/ekg-forward"; - rev = "2adc8b698443bb10154304b24f6c1d6913bb65b9"; - sha256 = "0cyixq3jmq43zs1yzrycqw1klyjy0zxf1vifknnr1k9d6sc3zf6b"; - }) // { - url = "https://github.com/input-output-hk/ekg-forward"; - rev = "2adc8b698443bb10154304b24f6c1d6913bb65b9"; - sha256 = "0cyixq3jmq43zs1yzrycqw1klyjy0zxf1vifknnr1k9d6sc3zf6b"; - }; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/mw0hsbvf8nbwzq8n16v84fhmjv561fch-ekg-forward-2adc8b6; + } diff --git a/nix/.stack.nix/cardano-config.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.98 similarity index 68% rename from nix/.stack.nix/cardano-config.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.98 index 1436d2ade3f..f4e64297f38 100644 --- a/nix/.stack.nix/cardano-config.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.98 @@ -21,7 +21,6 @@ synopsis = ""; description = ""; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -36,14 +35,6 @@ buildable = true; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/input-output-hk/cardano-config"; - rev = "e9de7a2cf70796f6ff26eac9f9540184ded0e4e6"; - sha256 = "1wm1c99r5zvz22pdl8nhkp13falvqmj8dgkm8fxskwa9ydqz01ld"; - }) // { - url = "https://github.com/input-output-hk/cardano-config"; - rev = "e9de7a2cf70796f6ff26eac9f9540184ded0e4e6"; - sha256 = "1wm1c99r5zvz22pdl8nhkp13falvqmj8dgkm8fxskwa9ydqz01ld"; - }; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/3zzs1fln5a3k0554m65y6x0r5xh0k5fl-cardano-config-e9de7a2; + } diff --git a/nix/.stack.nix/servant-purescript.nix b/nix/materialized/stack-nix/.stack-to-nix.cache.99 similarity index 85% rename from nix/.stack.nix/servant-purescript.nix rename to nix/materialized/stack-nix/.stack-to-nix.cache.99 index a1431c01921..23806cc827e 100644 --- a/nix/.stack.nix/servant-purescript.nix +++ b/nix/materialized/stack-nix/.stack-to-nix.cache.99 @@ -21,7 +21,6 @@ synopsis = "Generate PureScript accessor functions for you servant API"; description = "Please see README.md"; buildType = "Simple"; - isLocal = true; }; components = { "library" = { @@ -63,14 +62,6 @@ }; }; }; - } // { - src = (pkgs.lib).mkDefault (pkgs.fetchgit { - url = "https://github.com/shmish111/servant-purescript.git"; - rev = "a76104490499aa72d40c2790d10e9383e0dbde63"; - sha256 = "11nxxmi5bw66va7psvrgrw7b7n85fvqgfp58yva99w3v9q3a50v9"; - }) // { - url = "https://github.com/shmish111/servant-purescript.git"; - rev = "a76104490499aa72d40c2790d10e9383e0dbde63"; - sha256 = "11nxxmi5bw66va7psvrgrw7b7n85fvqgfp58yva99w3v9q3a50v9"; - }; - } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault /nix/store/wpxma8w4lhg0kpmasqp1iq19br4xzirp-servant-purescript-a761044; + } diff --git a/nix/.stack.nix/cardano-numeric.nix b/nix/materialized/stack-nix/cardano-numeric.nix similarity index 77% rename from nix/.stack.nix/cardano-numeric.nix rename to nix/materialized/stack-nix/cardano-numeric.nix index 28fd7da55f7..0261699d1a1 100644 --- a/nix/.stack.nix/cardano-numeric.nix +++ b/nix/materialized/stack-nix/cardano-numeric.nix @@ -22,6 +22,13 @@ description = ""; buildType = "Simple"; isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = []; + dataDir = "."; + dataFiles = []; + extraSrcFiles = []; + extraTmpFiles = []; + extraDocFiles = []; }; components = { "library" = { @@ -31,6 +38,8 @@ (hsPkgs."safe" or (errorHandler.buildDepError "safe")) ]; buildable = true; + modules = [ "Cardano/Numeric/Util" ]; + hsSourceDirs = [ "src" ]; }; tests = { "unit" = { @@ -44,7 +53,10 @@ (hsPkgs.buildPackages.hspec-discover.components.exes.hspec-discover or (pkgs.buildPackages.hspec-discover or (errorHandler.buildToolDepError "hspec-discover:hspec-discover"))) ]; buildable = true; + modules = [ "Cardano/Numeric/UtilSpec" ]; + hsSourceDirs = [ "test/unit" ]; + mainPath = [ "numeric-unit-test.hs" ]; }; }; }; - } // rec { src = (pkgs.lib).mkDefault ../.././lib/numeric; } \ No newline at end of file + } // rec { src = (pkgs.lib).mkDefault ./lib/numeric; } \ No newline at end of file diff --git a/nix/.stack.nix/cardano-wallet-cli.nix b/nix/materialized/stack-nix/cardano-wallet-cli.nix similarity index 89% rename from nix/.stack.nix/cardano-wallet-cli.nix rename to nix/materialized/stack-nix/cardano-wallet-cli.nix index c5868121619..6a1f8e52328 100644 --- a/nix/.stack.nix/cardano-wallet-cli.nix +++ b/nix/materialized/stack-nix/cardano-wallet-cli.nix @@ -22,6 +22,13 @@ description = ""; buildType = "Simple"; isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = []; + dataDir = "."; + dataFiles = []; + extraSrcFiles = []; + extraTmpFiles = []; + extraDocFiles = []; }; components = { "library" = { @@ -48,6 +55,8 @@ (hsPkgs."unliftio" or (errorHandler.buildDepError "unliftio")) ]; buildable = true; + modules = [ "Cardano/CLI" ]; + hsSourceDirs = [ "src" ]; }; tests = { "unit" = { @@ -69,7 +78,10 @@ (hsPkgs.buildPackages.hspec-discover.components.exes.hspec-discover or (pkgs.buildPackages.hspec-discover or (errorHandler.buildToolDepError "hspec-discover:hspec-discover"))) ]; buildable = true; + modules = [ "Cardano/CLISpec" ]; + hsSourceDirs = [ "test/unit" "test/data" ]; + mainPath = [ "cli-unit-test.hs" ]; }; }; }; - } // rec { src = (pkgs.lib).mkDefault ../.././lib/cli; } \ No newline at end of file + } // rec { src = (pkgs.lib).mkDefault ./lib/cli; } \ No newline at end of file diff --git a/nix/.stack.nix/cardano-wallet-core-integration.nix b/nix/materialized/stack-nix/cardano-wallet-core-integration.nix similarity index 69% rename from nix/.stack.nix/cardano-wallet-core-integration.nix rename to nix/materialized/stack-nix/cardano-wallet-core-integration.nix index 261bdf03648..aadc4dd1ee4 100644 --- a/nix/.stack.nix/cardano-wallet-core-integration.nix +++ b/nix/materialized/stack-nix/cardano-wallet-core-integration.nix @@ -25,6 +25,13 @@ description = "Shared core functionality for our integration test suites."; buildType = "Simple"; isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = []; + dataDir = "."; + dataFiles = []; + extraSrcFiles = []; + extraTmpFiles = []; + extraDocFiles = []; }; components = { "library" = { @@ -90,6 +97,49 @@ (hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers")) ]; buildable = true; + modules = [ + "Test/Integration/Faucet" + "Test/Integration/Framework/Context" + "Test/Integration/Framework/DSL" + "Test/Integration/Framework/Request" + "Test/Integration/Framework/TestData" + "Test/Integration/Plutus" + "Test/Integration/Scenario/API/Byron/Wallets" + "Test/Integration/Scenario/API/Byron/HWWallets" + "Test/Integration/Scenario/API/Byron/Addresses" + "Test/Integration/Scenario/API/Byron/CoinSelections" + "Test/Integration/Scenario/API/Byron/Transactions" + "Test/Integration/Scenario/API/Byron/TransactionsNew" + "Test/Integration/Scenario/API/Byron/Migrations" + "Test/Integration/Scenario/API/Byron/Network" + "Test/Integration/Scenario/API/Shelley/Addresses" + "Test/Integration/Scenario/API/Shelley/CoinSelections" + "Test/Integration/Scenario/API/Shelley/HWWallets" + "Test/Integration/Scenario/API/Shelley/Network" + "Test/Integration/Scenario/API/Shelley/Settings" + "Test/Integration/Scenario/API/Shelley/StakePools" + "Test/Integration/Scenario/API/Shelley/Transactions" + "Test/Integration/Scenario/API/Shelley/TransactionsNew" + "Test/Integration/Scenario/API/Shelley/Migrations" + "Test/Integration/Scenario/API/Shelley/Wallets" + "Test/Integration/Scenario/API/Shared/Wallets" + "Test/Integration/Scenario/API/Shared/Addresses" + "Test/Integration/Scenario/API/Network" + "Test/Integration/Scenario/CLI/Byron/Wallets" + "Test/Integration/Scenario/CLI/Byron/Addresses" + "Test/Integration/Scenario/CLI/Shelley/Addresses" + "Test/Integration/Scenario/CLI/Shelley/HWWallets" + "Test/Integration/Scenario/CLI/Shelley/Transactions" + "Test/Integration/Scenario/CLI/Shelley/Wallets" + "Test/Integration/Scenario/CLI/Miscellaneous" + "Test/Integration/Scenario/CLI/Network" + "Test/Integration/Scenario/CLI/Port" + "Cardano/Wallet/LatencyBenchShared" + "Cardano/Wallet/BenchShared" + ]; + hsSourceDirs = [ "src" ]; }; }; - } // rec { src = (pkgs.lib).mkDefault ../.././lib/core-integration; } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault ./lib/core-integration; + } \ No newline at end of file diff --git a/nix/.stack.nix/cardano-wallet-core.nix b/nix/materialized/stack-nix/cardano-wallet-core.nix similarity index 69% rename from nix/.stack.nix/cardano-wallet-core.nix rename to nix/materialized/stack-nix/cardano-wallet-core.nix index 8a84353d593..0e6c034d0c5 100644 --- a/nix/.stack.nix/cardano-wallet-core.nix +++ b/nix/materialized/stack-nix/cardano-wallet-core.nix @@ -22,6 +22,13 @@ description = "Please see README.md"; buildType = "Simple"; isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = []; + dataDir = "."; + dataFiles = []; + extraSrcFiles = [ "specifications/api/swagger.yaml" ]; + extraTmpFiles = []; + extraDocFiles = []; }; components = { "library" = { @@ -144,6 +151,117 @@ (hsPkgs."cardano-wallet-test-utils" or (errorHandler.buildDepError "cardano-wallet-test-utils")) ]; buildable = true; + modules = [ + "Paths_cardano_wallet_core" + "Cardano/Byron/Codec/Cbor" + "Cardano/DB/Sqlite" + "Cardano/DB/Sqlite/Delete" + "Cardano/Pool/DB" + "Cardano/Pool/DB/Log" + "Cardano/Pool/DB/MVar" + "Cardano/Pool/DB/Model" + "Cardano/Pool/DB/Sqlite" + "Cardano/Pool/DB/Sqlite/TH" + "Cardano/Pool/Metadata" + "Cardano/Wallet" + "Cardano/Wallet/Address/Pool" + "Cardano/Wallet/Api" + "Cardano/Wallet/Api/Client" + "Cardano/Wallet/Api/Link" + "Cardano/Wallet/Api/Server" + "Cardano/Wallet/Api/Server/Tls" + "Cardano/Wallet/Api/Types" + "Cardano/Wallet/Compat" + "Cardano/Wallet/DB" + "Cardano/Wallet/DB/Checkpoints" + "Cardano/Wallet/DB/MVar" + "Cardano/Wallet/DB/Model" + "Cardano/Wallet/DB/Sqlite" + "Cardano/Wallet/DB/Sqlite/AddressBook" + "Cardano/Wallet/DB/Sqlite/CheckpointsOld" + "Cardano/Wallet/DB/Sqlite/Migration" + "Cardano/Wallet/DB/Sqlite/TH" + "Cardano/Wallet/DB/Sqlite/Types" + "Cardano/Wallet/Logging" + "Cardano/Wallet/Network" + "Cardano/Wallet/Network/Ports" + "Cardano/Wallet/Orphans" + "Cardano/Wallet/TokenMetadata" + "Cardano/Wallet/Primitive/AddressDerivation" + "Cardano/Wallet/Primitive/AddressDerivation/Byron" + "Cardano/Wallet/Primitive/AddressDerivation/Icarus" + "Cardano/Wallet/Primitive/AddressDerivation/MintBurn" + "Cardano/Wallet/Primitive/AddressDerivation/Shared" + "Cardano/Wallet/Primitive/AddressDerivation/SharedKey" + "Cardano/Wallet/Primitive/AddressDerivation/Shelley" + "Cardano/Wallet/Primitive/AddressDiscovery" + "Cardano/Wallet/Primitive/Slotting" + "Cardano/Wallet/Primitive/AddressDiscovery/Random" + "Cardano/Wallet/Primitive/Delegation/State" + "Cardano/Wallet/Primitive/AddressDiscovery/Sequential" + "Cardano/Wallet/Primitive/AddressDiscovery/Shared" + "Cardano/Wallet/Primitive/SyncProgress" + "Cardano/Wallet/Primitive/CoinSelection" + "Cardano/Wallet/Primitive/CoinSelection/Balance" + "Cardano/Wallet/Primitive/CoinSelection/Collateral" + "Cardano/Wallet/Primitive/Collateral" + "Cardano/Wallet/Primitive/Delegation/UTxO" + "Cardano/Wallet/Primitive/Migration" + "Cardano/Wallet/Primitive/Migration/Planning" + "Cardano/Wallet/Primitive/Migration/Selection" + "Cardano/Wallet/Primitive/Model" + "Cardano/Wallet/Primitive/Types" + "Cardano/Wallet/Primitive/Types/Address" + "Cardano/Wallet/Primitive/Types/Coin" + "Cardano/Wallet/Primitive/Types/Hash" + "Cardano/Wallet/Primitive/Types/Redeemer" + "Cardano/Wallet/Primitive/Types/RewardAccount" + "Cardano/Wallet/Primitive/Types/TokenBundle" + "Cardano/Wallet/Primitive/Types/TokenMap" + "Cardano/Wallet/Primitive/Types/TokenPolicy" + "Cardano/Wallet/Primitive/Types/TokenQuantity" + "Cardano/Wallet/Primitive/Types/Tx" + "Cardano/Wallet/Primitive/Types/UTxO" + "Cardano/Wallet/Primitive/Types/UTxOIndex" + "Cardano/Wallet/Primitive/Types/UTxOIndex/Internal" + "Cardano/Wallet/Primitive/Types/UTxOSelection" + "Cardano/Wallet/Registry" + "Cardano/Wallet/TokenMetadata/MockServer" + "Cardano/Wallet/Transaction" + "Cardano/Wallet/Unsafe" + "Cardano/Wallet/Util" + "Cardano/Wallet/Version" + "Cardano/Wallet/Version/TH" + "Control/Concurrent/Concierge" + "Control/Monad/Random/Extra" + "Crypto/Hash/Utils" + "Data/Aeson/Extra" + "Data/Function/Utils" + "Data/Time/Text" + "Data/Time/Utils" + "Data/Quantity" + "Data/Vector/Shuffle" + "Network/Ntp" + "Network/Wai/Middleware/ServerError" + "Network/Wai/Middleware/Logging" + "Ouroboros/Network/Client/Wallet" + "UnliftIO/Compat" + "Cardano/Wallet/Primitive/CoinSelection/Balance/Gen" + "Cardano/Wallet/Primitive/Types/Address/Gen" + "Cardano/Wallet/Primitive/Types/Coin/Gen" + "Cardano/Wallet/Primitive/Types/RewardAccount/Gen" + "Cardano/Wallet/Primitive/Types/TokenBundle/Gen" + "Cardano/Wallet/Primitive/Types/TokenMap/Gen" + "Cardano/Wallet/Primitive/Types/TokenPolicy/Gen" + "Cardano/Wallet/Primitive/Types/TokenQuantity/Gen" + "Cardano/Wallet/Primitive/Types/Tx/Gen" + "Cardano/Wallet/Primitive/Types/UTxO/Gen" + "Cardano/Wallet/Primitive/Types/UTxOIndex/Gen" + "Cardano/Wallet/Primitive/Types/UTxOSelection/Gen" + "Cardano/Wallet/Gen" + "Cardano/Api/Gen" + ]; + hsSourceDirs = [ "src" ]; }; tests = { "unit" = { @@ -250,6 +368,79 @@ (hsPkgs.buildPackages.hspec-discover.components.exes.hspec-discover or (pkgs.buildPackages.hspec-discover or (errorHandler.buildToolDepError "hspec-discover:hspec-discover"))) ]; buildable = true; + modules = [ + "Cardano/Api/GenSpec" + "Cardano/Byron/Codec/CborSpec" + "Cardano/DB/Sqlite/DeleteSpec" + "Cardano/Pool/DB/Arbitrary" + "Cardano/Pool/DB/MVarSpec" + "Cardano/Pool/DB/Properties" + "Cardano/Pool/DB/SqliteSpec" + "Cardano/Wallet/Address/PoolSpec" + "Cardano/Wallet/Api/Malformed" + "Cardano/Wallet/Api/Server/TlsSpec" + "Cardano/Wallet/Api/ServerSpec" + "Cardano/Wallet/Api/TypesSpec" + "Cardano/Wallet/ApiSpec" + "Cardano/Wallet/DB/Arbitrary" + "Cardano/Wallet/DB/MVarSpec" + "Cardano/Wallet/DB/Properties" + "Cardano/Wallet/DB/SqliteSpec" + "Cardano/Wallet/DB/Sqlite/TypesSpec" + "Cardano/Wallet/DB/StateMachine" + "Cardano/Wallet/DummyTarget/Primitive/Types" + "Cardano/Wallet/Network/PortsSpec" + "Cardano/Wallet/NetworkSpec" + "Cardano/Wallet/Primitive/AddressDerivation/ByronSpec" + "Cardano/Wallet/Primitive/AddressDerivation/IcarusSpec" + "Cardano/Wallet/Primitive/AddressDerivation/MintBurnSpec" + "Cardano/Wallet/Primitive/AddressDerivationSpec" + "Cardano/Wallet/Primitive/AddressDiscovery/RandomSpec" + "Cardano/Wallet/Primitive/AddressDiscovery/SequentialSpec" + "Cardano/Wallet/Primitive/AddressDiscovery/SharedSpec" + "Cardano/Wallet/Primitive/Delegation/StateSpec" + "Cardano/Wallet/Primitive/AddressDiscoverySpec" + "Cardano/Wallet/Primitive/CoinSelectionSpec" + "Cardano/Wallet/Primitive/CoinSelection/BalanceSpec" + "Cardano/Wallet/Primitive/CoinSelection/CollateralSpec" + "Cardano/Wallet/Primitive/CollateralSpec" + "Cardano/Wallet/Primitive/MigrationSpec" + "Cardano/Wallet/Primitive/Migration/PlanningSpec" + "Cardano/Wallet/Primitive/Migration/SelectionSpec" + "Cardano/Wallet/Primitive/ModelSpec" + "Cardano/Wallet/Primitive/Slotting/Legacy" + "Cardano/Wallet/Primitive/SlottingSpec" + "Cardano/Wallet/Primitive/SyncProgressSpec" + "Cardano/Wallet/Primitive/Types/AddressSpec" + "Cardano/Wallet/Primitive/Types/CoinSpec" + "Cardano/Wallet/Primitive/Types/HashSpec" + "Cardano/Wallet/Primitive/Types/TokenBundleSpec" + "Cardano/Wallet/Primitive/Types/TokenMapSpec" + "Cardano/Wallet/Primitive/Types/TokenMapSpec/TypeErrorSpec" + "Cardano/Wallet/Primitive/Types/TokenPolicySpec" + "Cardano/Wallet/Primitive/Types/TokenQuantitySpec" + "Cardano/Wallet/Primitive/Types/TxSpec" + "Cardano/Wallet/Primitive/Types/UTxOSpec" + "Cardano/Wallet/Primitive/Types/UTxOIndexSpec" + "Cardano/Wallet/Primitive/Types/UTxOIndex/TypeErrorSpec" + "Cardano/Wallet/Primitive/Types/UTxOSelectionSpec" + "Cardano/Wallet/Primitive/Types/UTxOSelectionSpec/TypeErrorSpec" + "Cardano/Wallet/Primitive/TypesSpec" + "Cardano/Wallet/TokenMetadataSpec" + "Cardano/Wallet/RegistrySpec" + "Cardano/WalletSpec" + "Control/Concurrent/ConciergeSpec" + "Control/Monad/Random/ExtraSpec" + "Data/Function/UtilsSpec" + "Data/QuantitySpec" + "Data/Time/TextSpec" + "Data/Time/UtilsSpec" + "Data/Vector/ShuffleSpec" + "Network/Wai/Middleware/LoggingSpec" + "Spec" + ]; + hsSourceDirs = [ "test-common" "test/unit" "test/data" ]; + mainPath = [ "core-unit-test.hs" ]; }; }; benchmarks = { @@ -280,7 +471,9 @@ (hsPkgs."unliftio" or (errorHandler.buildDepError "unliftio")) ]; buildable = true; + modules = [ "Cardano/Wallet/DummyTarget/Primitive/Types" ]; + hsSourceDirs = [ "bench" "test-common" ]; }; }; }; - } // rec { src = (pkgs.lib).mkDefault ../.././lib/core; } \ No newline at end of file + } // rec { src = (pkgs.lib).mkDefault ./lib/core; } \ No newline at end of file diff --git a/nix/.stack.nix/cardano-wallet-launcher.nix b/nix/materialized/stack-nix/cardano-wallet-launcher.nix similarity index 84% rename from nix/.stack.nix/cardano-wallet-launcher.nix rename to nix/materialized/stack-nix/cardano-wallet-launcher.nix index 22dfea6e77a..8bcae7252bd 100644 --- a/nix/.stack.nix/cardano-wallet-launcher.nix +++ b/nix/materialized/stack-nix/cardano-wallet-launcher.nix @@ -22,6 +22,13 @@ description = ""; buildType = "Simple"; isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = []; + dataDir = "."; + dataFiles = []; + extraSrcFiles = []; + extraTmpFiles = []; + extraDocFiles = []; }; components = { "library" = { @@ -44,6 +51,14 @@ then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ] else [ (hsPkgs."unix" or (errorHandler.buildDepError "unix")) ]); buildable = true; + modules = [ + "Cardano/Launcher" + "Cardano/Launcher/Node" + "Cardano/Startup" + ] ++ (if system.isWindows + then [ "Cardano/Startup/Windows" ] + else [ "Cardano/Startup/POSIX" ]); + hsSourceDirs = [ "src" ]; }; tests = { "unit" = { @@ -69,7 +84,10 @@ (hsPkgs.buildPackages.hspec-discover.components.exes.hspec-discover or (pkgs.buildPackages.hspec-discover or (errorHandler.buildToolDepError "hspec-discover:hspec-discover"))) ]; buildable = true; + modules = [ "Cardano/LauncherSpec" "Cardano/StartupSpec" ]; + hsSourceDirs = [ "test/unit" ]; + mainPath = [ "launcher-unit-test.hs" ]; }; }; }; - } // rec { src = (pkgs.lib).mkDefault ../.././lib/launcher; } \ No newline at end of file + } // rec { src = (pkgs.lib).mkDefault ./lib/launcher; } \ No newline at end of file diff --git a/nix/.stack.nix/cardano-wallet-test-utils.nix b/nix/materialized/stack-nix/cardano-wallet-test-utils.nix similarity index 83% rename from nix/.stack.nix/cardano-wallet-test-utils.nix rename to nix/materialized/stack-nix/cardano-wallet-test-utils.nix index 7ee31b0674e..e516fc06f54 100644 --- a/nix/.stack.nix/cardano-wallet-test-utils.nix +++ b/nix/materialized/stack-nix/cardano-wallet-test-utils.nix @@ -25,6 +25,13 @@ description = "Shared utilities for writing unit and property tests."; buildType = "Simple"; isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = []; + dataDir = "."; + dataFiles = []; + extraSrcFiles = []; + extraTmpFiles = []; + extraDocFiles = []; }; components = { "library" = { @@ -64,6 +71,25 @@ (hsPkgs."warp" or (errorHandler.buildDepError "warp")) ]; buildable = true; + modules = [ + "Test/Hspec/Extra" + "Test/Hspec/Goldens" + "Test/QuickCheck/Extra" + "Test/Utils/Env" + "Test/Utils/FilePath" + "Test/Utils/Laws" + "Test/Utils/Laws/PartialOrd" + "Test/Utils/Paths" + "Test/Utils/Pretty" + "Test/Utils/Roundtrip" + "Test/Utils/Resource" + "Test/Utils/Platform" + "Test/Utils/Startup" + "Test/Utils/StaticServer" + "Test/Utils/Time" + "Test/Utils/Trace" + ]; + hsSourceDirs = [ "src" ]; }; tests = { "unit" = { @@ -88,7 +114,12 @@ (hsPkgs.buildPackages.hspec-discover.components.exes.hspec-discover or (pkgs.buildPackages.hspec-discover or (errorHandler.buildToolDepError "hspec-discover:hspec-discover"))) ]; buildable = true; + modules = [ "Test/Hspec/ExtraSpec" "Test/QuickCheck/ExtraSpec" ]; + hsSourceDirs = [ "test" ]; + mainPath = [ "test-utils-unit-test.hs" ]; }; }; }; - } // rec { src = (pkgs.lib).mkDefault ../.././lib/test-utils; } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault ./lib/test-utils; + } \ No newline at end of file diff --git a/nix/.stack.nix/cardano-wallet.nix b/nix/materialized/stack-nix/cardano-wallet.nix similarity index 90% rename from nix/.stack.nix/cardano-wallet.nix rename to nix/materialized/stack-nix/cardano-wallet.nix index 49fc510337c..1c5bdb7056b 100644 --- a/nix/.stack.nix/cardano-wallet.nix +++ b/nix/materialized/stack-nix/cardano-wallet.nix @@ -22,6 +22,13 @@ description = "Please see README.md"; buildType = "Simple"; isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = []; + dataDir = "."; + dataFiles = []; + extraSrcFiles = []; + extraTmpFiles = []; + extraDocFiles = []; }; components = { "library" = { @@ -94,6 +101,19 @@ (hsPkgs."Win32-network" or (errorHandler.buildDepError "Win32-network")) ]; buildable = true; + modules = [ + "Cardano/Wallet/Byron/Compatibility" + "Cardano/Wallet/Shelley" + "Cardano/Wallet/Shelley/Api/Server" + "Cardano/Wallet/Shelley/Compatibility" + "Cardano/Wallet/Shelley/Compatibility/Ledger" + "Cardano/Wallet/Shelley/Network" + "Cardano/Wallet/Shelley/Transaction" + "Cardano/Wallet/Shelley/Launch" + "Cardano/Wallet/Shelley/Launch/Cluster" + "Cardano/Wallet/Shelley/Pools" + ]; + hsSourceDirs = [ "src" ]; }; exes = { "cardano-wallet" = { @@ -114,6 +134,10 @@ (hsPkgs."unliftio" or (errorHandler.buildDepError "unliftio")) ]; buildable = true; + hsSourceDirs = [ "exe" ]; + mainPath = [ + "cardano-wallet.hs" + ] ++ (pkgs.lib).optional (flags.release) ""; }; "local-cluster" = { depends = [ @@ -132,6 +156,10 @@ (hsPkgs."text-class" or (errorHandler.buildDepError "text-class")) ]; buildable = true; + hsSourceDirs = [ "exe" ]; + mainPath = [ + "local-cluster.hs" + ] ++ (pkgs.lib).optional (flags.release) ""; }; "mock-token-metadata-server" = { depends = [ @@ -142,6 +170,10 @@ (hsPkgs."wai-extra" or (errorHandler.buildDepError "wai-extra")) ]; buildable = true; + hsSourceDirs = [ "exe" ]; + mainPath = [ + "mock-token-metadata-server.hs" + ] ++ (pkgs.lib).optional (flags.release) ""; }; }; tests = { @@ -197,6 +229,16 @@ (hsPkgs.buildPackages.hspec-discover.components.exes.hspec-discover or (pkgs.buildPackages.hspec-discover or (errorHandler.buildToolDepError "hspec-discover:hspec-discover"))) ]; buildable = true; + modules = [ + "Cardano/Wallet/Shelley/CompatibilitySpec" + "Cardano/Wallet/Shelley/Compatibility/LedgerSpec" + "Cardano/Wallet/Shelley/LaunchSpec" + "Cardano/Wallet/Shelley/NetworkSpec" + "Cardano/Wallet/Shelley/TransactionSpec" + "Spec" + ]; + hsSourceDirs = [ "test/unit" "test/data" ]; + mainPath = [ "shelley-unit-test.hs" ]; }; "integration" = { depends = [ @@ -225,6 +267,9 @@ (hsPkgs.buildPackages.cardano-wallet.components.exes.cardano-wallet or (pkgs.buildPackages.cardano-wallet or (errorHandler.buildToolDepError "cardano-wallet:cardano-wallet"))) ]; buildable = true; + modules = [ "Cardano/Wallet/Shelley/Faucet" ]; + hsSourceDirs = [ "test/integration" "test/data" ]; + mainPath = [ "shelley-integration-test.hs" ]; }; }; benchmarks = { @@ -251,6 +296,7 @@ (hsPkgs."unliftio" or (errorHandler.buildDepError "unliftio")) ]; buildable = true; + hsSourceDirs = [ "bench" ]; }; "latency" = { depends = [ @@ -272,7 +318,9 @@ (hsPkgs."unliftio" or (errorHandler.buildDepError "unliftio")) ]; buildable = true; + modules = [ "Cardano/Wallet/Shelley/Faucet" ]; + hsSourceDirs = [ "bench" "test/integration" ]; }; }; }; - } // rec { src = (pkgs.lib).mkDefault ../.././lib/shelley; } \ No newline at end of file + } // rec { src = (pkgs.lib).mkDefault ./lib/shelley; } \ No newline at end of file diff --git a/nix/.stack.nix/dbvar.nix b/nix/materialized/stack-nix/dbvar.nix similarity index 81% rename from nix/.stack.nix/dbvar.nix rename to nix/materialized/stack-nix/dbvar.nix index 023385b9af7..6d23b08d078 100644 --- a/nix/.stack.nix/dbvar.nix +++ b/nix/materialized/stack-nix/dbvar.nix @@ -22,6 +22,13 @@ description = ""; buildType = "Simple"; isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = []; + dataDir = "."; + dataFiles = []; + extraSrcFiles = []; + extraTmpFiles = []; + extraDocFiles = []; }; components = { "library" = { @@ -43,6 +50,16 @@ (hsPkgs."transformers" or (errorHandler.buildDepError "transformers")) ]; buildable = true; + modules = [ + "Demo/Database" + "Data/Chain" + "Data/DBVar" + "Data/Delta" + "Data/Table" + "Database/Persist/Delta" + "Database/Schema" + ]; + hsSourceDirs = [ "src" ]; }; tests = { "unit" = { @@ -57,7 +74,10 @@ (hsPkgs.buildPackages.hspec-discover.components.exes.hspec-discover or (pkgs.buildPackages.hspec-discover or (errorHandler.buildToolDepError "hspec-discover:hspec-discover"))) ]; buildable = true; + modules = [ "Data/DeltaSpec" ]; + hsSourceDirs = [ "test/unit" ]; + mainPath = [ "Main.hs" ]; }; }; }; - } // rec { src = (pkgs.lib).mkDefault ../.././lib/dbvar; } \ No newline at end of file + } // rec { src = (pkgs.lib).mkDefault ./lib/dbvar; } \ No newline at end of file diff --git a/nix/materialized/stack-nix/default.nix b/nix/materialized/stack-nix/default.nix new file mode 100644 index 00000000000..9d562fcc7ca --- /dev/null +++ b/nix/materialized/stack-nix/default.nix @@ -0,0 +1,186 @@ +{ + extras = hackage: + { + packages = { + "OddWord" = (((hackage.OddWord)."1.0.2.0").revisions).default; + "command" = (((hackage.command)."0.1.1").revisions).default; + "hspec" = (((hackage.hspec)."2.8.2").revisions).default; + "hspec-core" = (((hackage.hspec-core)."2.8.2").revisions).default; + "hspec-discover" = (((hackage.hspec-discover)."2.8.2").revisions).default; + "cryptonite" = (((hackage.cryptonite)."0.27").revisions).default; + "Cabal" = (((hackage.Cabal)."3.4.0.0").revisions).default; + "containers" = (((hackage.containers)."0.6.4.1").revisions).default; + "dns" = (((hackage.dns)."3.0.4").revisions).default; + "network" = (((hackage.network)."3.1.2.1").revisions).default; + "ral" = (((hackage.ral)."0.1").revisions).default; + "recursion-schemes" = (((hackage.recursion-schemes)."5.1.3").revisions).default; + "text" = (((hackage.text)."1.2.4.0").revisions).default; + "Win32" = (((hackage.Win32)."2.6.2.0").revisions).default; + "async-timer" = (((hackage.async-timer)."0.2.0.0").revisions).default; + "beam-core" = (((hackage.beam-core)."0.9.1.0").revisions).default; + "beam-migrate" = (((hackage.beam-migrate)."0.5.1.0").revisions).default; + "beam-sqlite" = (((hackage.beam-sqlite)."0.5.1.0").revisions).default; + "canonical-json" = (((hackage.canonical-json)."0.6.0.0").revisions).default; + "composition-prelude" = (((hackage.composition-prelude)."3.0.0.2").revisions).default; + "constraints-extras" = (((hackage.constraints-extras)."0.3.1.0").revisions).default; + "ip" = (((hackage.ip)."1.5.1").revisions).default; + "gray-code" = (((hackage.gray-code)."0.3.1").revisions).default; + "lazy-search" = (((hackage.lazy-search)."0.1.2.1").revisions).default; + "lazysmallcheck" = (((hackage.lazysmallcheck)."0.6").revisions).default; + "libsystemd-journal" = (((hackage.libsystemd-journal)."1.4.4").revisions).default; + "markov-chain-usage-model" = (((hackage.markov-chain-usage-model)."0.0.0").revisions).default; + "micro-recursion-schemes" = (((hackage.micro-recursion-schemes)."5.0.2.2").revisions).default; + "monoidal-containers" = (((hackage.monoidal-containers)."0.6.0.1").revisions).default; + "moo" = (((hackage.moo)."1.2").revisions).default; + "nothunks" = (((hackage.nothunks)."0.1.2").revisions).default; + "partial-order" = (((hackage.partial-order)."0.2.0.0").revisions).default; + "quickcheck-state-machine" = (((hackage.quickcheck-state-machine)."0.7.0").revisions).default; + "regex-posix-clib" = (((hackage.regex-posix-clib)."2.7").revisions).default; + "row-types" = (((hackage.row-types)."1.0.1.0").revisions).default; + "servant-subscriber" = (((hackage.servant-subscriber)."0.7.0.0").revisions).default; + "dom-lt" = (((hackage.dom-lt)."0.2.2.1").revisions).default; + "servant-websockets" = (((hackage.servant-websockets)."2.0.0").revisions).default; + "size-based" = (((hackage.size-based)."0.1.2.0").revisions).default; + "statistics-linreg" = (((hackage.statistics-linreg)."0.3").revisions).default; + "streaming-binary" = (((hackage.streaming-binary)."0.2.2.0").revisions).default; + "time-interval" = (((hackage.time-interval)."0.1.1").revisions).default; + "time-out" = (((hackage.time-out)."0.2").revisions).default; + "transformers-except" = (((hackage.transformers-except)."0.1.1").revisions).default; + "Unique" = (((hackage.Unique)."0.4.7.6").revisions).default; + "binary" = (((hackage.binary)."0.8.8.0").revisions).default; + "parsec" = (((hackage.parsec)."3.1.14.0").revisions).default; + dbvar = ./dbvar.nix; + cardano-wallet-core = ./cardano-wallet-core.nix; + cardano-wallet-core-integration = ./cardano-wallet-core-integration.nix; + cardano-wallet-cli = ./cardano-wallet-cli.nix; + cardano-wallet-launcher = ./cardano-wallet-launcher.nix; + cardano-numeric = ./cardano-numeric.nix; + text-class = ./text-class.nix; + cardano-wallet-test-utils = ./cardano-wallet-test-utils.nix; + cardano-wallet = ./cardano-wallet.nix; + strict-non-empty-containers = ./strict-non-empty-containers.nix; + cardano-addresses-cli = ./.stack-to-nix.cache.0; + cardano-addresses = ./.stack-to-nix.cache.1; + optparse-applicative-fork = ./.stack-to-nix.cache.2; + bech32 = ./.stack-to-nix.cache.3; + bech32-th = ./.stack-to-nix.cache.4; + base-deriving-via = ./.stack-to-nix.cache.5; + cardano-binary = ./.stack-to-nix.cache.6; + cardano-binary-test = ./.stack-to-nix.cache.7; + cardano-crypto-class = ./.stack-to-nix.cache.8; + cardano-crypto-praos = ./.stack-to-nix.cache.9; + cardano-crypto-tests = ./.stack-to-nix.cache.10; + orphans-deriving-via = ./.stack-to-nix.cache.11; + cardano-slotting = ./.stack-to-nix.cache.12; + strict-containers = ./.stack-to-nix.cache.13; + measures = ./.stack-to-nix.cache.14; + cardano-crypto = ./.stack-to-nix.cache.15; + cardano-ledger-alonzo = ./.stack-to-nix.cache.16; + cardano-ledger-alonzo-test = ./.stack-to-nix.cache.17; + byron-spec-chain = ./.stack-to-nix.cache.18; + cardano-crypto-wrapper = ./.stack-to-nix.cache.19; + cardano-crypto-test = ./.stack-to-nix.cache.20; + byron-spec-ledger = ./.stack-to-nix.cache.21; + cardano-ledger-byron = ./.stack-to-nix.cache.22; + cardano-ledger-byron-test = ./.stack-to-nix.cache.23; + cardano-ledger-shelley = ./.stack-to-nix.cache.24; + cardano-ledger-shelley-test = ./.stack-to-nix.cache.25; + cardano-ledger-shelley-ma = ./.stack-to-nix.cache.26; + cardano-ledger-shelley-ma-test = ./.stack-to-nix.cache.27; + cardano-ledger-core = ./.stack-to-nix.cache.28; + cardano-ledger-pretty = ./.stack-to-nix.cache.29; + cardano-protocol-tpraos = ./.stack-to-nix.cache.30; + cardano-data = ./.stack-to-nix.cache.31; + compact-map = ./.stack-to-nix.cache.32; + set-algebra = ./.stack-to-nix.cache.33; + small-steps = ./.stack-to-nix.cache.34; + small-steps-test = ./.stack-to-nix.cache.35; + non-integral = ./.stack-to-nix.cache.36; + cardano-api = ./.stack-to-nix.cache.37; + cardano-cli = ./.stack-to-nix.cache.38; + cardano-node = ./.stack-to-nix.cache.39; + trace-dispatcher = ./.stack-to-nix.cache.40; + trace-resources = ./.stack-to-nix.cache.41; + trace-forward = ./.stack-to-nix.cache.42; + cardano-prelude = ./.stack-to-nix.cache.43; + cardano-prelude-test = ./.stack-to-nix.cache.44; + cardano-sl-x509 = ./.stack-to-nix.cache.45; + flat = ./.stack-to-nix.cache.46; + goblins = ./.stack-to-nix.cache.47; + hedgehog-extras = ./.stack-to-nix.cache.48; + contra-tracer = ./.stack-to-nix.cache.49; + iohk-monitoring = ./.stack-to-nix.cache.50; + lobemo-backend-aggregation = ./.stack-to-nix.cache.51; + lobemo-backend-ekg = ./.stack-to-nix.cache.52; + lobemo-backend-monitoring = ./.stack-to-nix.cache.53; + lobemo-backend-trace-forwarder = ./.stack-to-nix.cache.54; + lobemo-scribe-systemd = ./.stack-to-nix.cache.55; + tracer-transformers = ./.stack-to-nix.cache.56; + purescript-bridge = ./.stack-to-nix.cache.57; + io-classes = ./.stack-to-nix.cache.58; + io-sim = ./.stack-to-nix.cache.59; + monoidal-synchronisation = ./.stack-to-nix.cache.60; + network-mux = ./.stack-to-nix.cache.61; + ouroboros-consensus = ./.stack-to-nix.cache.62; + ouroboros-consensus-test = ./.stack-to-nix.cache.63; + ouroboros-consensus-byron = ./.stack-to-nix.cache.64; + ouroboros-consensus-byronspec = ./.stack-to-nix.cache.65; + ouroboros-consensus-byron-test = ./.stack-to-nix.cache.66; + ouroboros-consensus-protocol = ./.stack-to-nix.cache.67; + ouroboros-consensus-shelley = ./.stack-to-nix.cache.68; + ouroboros-consensus-shelley-test = ./.stack-to-nix.cache.69; + ouroboros-consensus-cardano = ./.stack-to-nix.cache.70; + ouroboros-consensus-cardano-test = ./.stack-to-nix.cache.71; + ouroboros-network = ./.stack-to-nix.cache.72; + ouroboros-network-framework = ./.stack-to-nix.cache.73; + ouroboros-network-testing = ./.stack-to-nix.cache.74; + strict-stm = ./.stack-to-nix.cache.75; + typed-protocols = ./.stack-to-nix.cache.76; + typed-protocols-cborg = ./.stack-to-nix.cache.77; + typed-protocols-examples = ./.stack-to-nix.cache.78; + cardano-client = ./.stack-to-nix.cache.79; + ntp-client = ./.stack-to-nix.cache.80; + ouroboros-consensus-mock = ./.stack-to-nix.cache.81; + freer-extras = ./.stack-to-nix.cache.82; + playground-common = ./.stack-to-nix.cache.83; + plutus-chain-index = ./.stack-to-nix.cache.84; + plutus-contract = ./.stack-to-nix.cache.85; + plutus-core = ./.stack-to-nix.cache.86; + plutus-ledger = ./.stack-to-nix.cache.87; + plutus-ledger-api = ./.stack-to-nix.cache.88; + plutus-pab = ./.stack-to-nix.cache.89; + plutus-tx = ./.stack-to-nix.cache.90; + plutus-tx-plugin = ./.stack-to-nix.cache.91; + plutus-use-cases = ./.stack-to-nix.cache.92; + plutus-ghc-stub = ./.stack-to-nix.cache.93; + prettyprinter-configurable = ./.stack-to-nix.cache.94; + quickcheck-dynamic = ./.stack-to-nix.cache.95; + word-array = ./.stack-to-nix.cache.96; + ekg-forward = ./.stack-to-nix.cache.97; + cardano-config = ./.stack-to-nix.cache.98; + servant-purescript = ./.stack-to-nix.cache.99; + Win32-network = ./.stack-to-nix.cache.100; + }; + compiler.version = "8.10.7"; + compiler.nix-name = "ghc8107"; + }; + resolver = "lts-18.21"; + modules = [ + ({ lib, ... }: + { + packages = { + "cryptonite" = { + flags = { "support_rdrand" = lib.mkOverride 900 false; }; + }; + "cardano-crypto-praos" = { + flags = { "external-libsodium-vrf" = lib.mkOverride 900 false; }; + }; + "zip" = { flags = { "disable-bzip2" = lib.mkOverride 900 true; }; }; + }; + }) + { packages = { "$locals" = { ghcOptions = [ "-fwrite-ide-info" ]; }; }; } + ({ lib, ... }: + { planned = lib.mkOverride 900 true; }) + ]; + compiler = "ghc-8.10.7"; + } \ No newline at end of file diff --git a/nix/.stack.nix/strict-non-empty-containers.nix b/nix/materialized/stack-nix/strict-non-empty-containers.nix similarity index 77% rename from nix/.stack.nix/strict-non-empty-containers.nix rename to nix/materialized/stack-nix/strict-non-empty-containers.nix index d53b556f884..b966f3b0969 100644 --- a/nix/.stack.nix/strict-non-empty-containers.nix +++ b/nix/materialized/stack-nix/strict-non-empty-containers.nix @@ -25,6 +25,13 @@ description = ""; buildType = "Simple"; isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = []; + dataDir = "."; + dataFiles = []; + extraSrcFiles = []; + extraTmpFiles = []; + extraDocFiles = []; }; components = { "library" = { @@ -35,6 +42,12 @@ (hsPkgs."hashable" or (errorHandler.buildDepError "hashable")) ]; buildable = true; + modules = [ + "Data/Map/Strict/NonEmptyMap" + "Data/Map/Strict/NonEmptyMap/Internal" + "Data/Set/Strict/NonEmptySet" + ]; + hsSourceDirs = [ "src" ]; }; tests = { "unit" = { @@ -53,9 +66,15 @@ (hsPkgs.buildPackages.hspec-discover.components.exes.hspec-discover or (pkgs.buildPackages.hspec-discover or (errorHandler.buildToolDepError "hspec-discover:hspec-discover"))) ]; buildable = true; + modules = [ + "Data/Map/Strict/NonEmptyMapSpec" + "Data/Map/Strict/NonEmptyMap/TypeErrorSpec" + ]; + hsSourceDirs = [ "test/unit" ]; + mainPath = [ "Main.hs" ]; }; }; }; } // rec { - src = (pkgs.lib).mkDefault ../.././lib/strict-non-empty-containers; + src = (pkgs.lib).mkDefault ./lib/strict-non-empty-containers; } \ No newline at end of file diff --git a/nix/.stack.nix/text-class.nix b/nix/materialized/stack-nix/text-class.nix similarity index 81% rename from nix/.stack.nix/text-class.nix rename to nix/materialized/stack-nix/text-class.nix index 80d670dcf34..c7a3a1da1c0 100644 --- a/nix/.stack.nix/text-class.nix +++ b/nix/materialized/stack-nix/text-class.nix @@ -22,6 +22,13 @@ description = ""; buildType = "Simple"; isLocal = true; + detailLevel = "FullDetails"; + licenseFiles = []; + dataDir = "."; + dataFiles = []; + extraSrcFiles = []; + extraTmpFiles = []; + extraDocFiles = []; }; components = { "library" = { @@ -37,6 +44,8 @@ (hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck")) ]; buildable = true; + modules = [ "Data/Text/Class" "Test/Text/Roundtrip" ]; + hsSourceDirs = [ "src" ]; }; tests = { "unit" = { @@ -52,7 +61,12 @@ (hsPkgs.buildPackages.hspec-discover.components.exes.hspec-discover or (pkgs.buildPackages.hspec-discover or (errorHandler.buildToolDepError "hspec-discover:hspec-discover"))) ]; buildable = true; + modules = [ "Data/Text/ClassSpec" ]; + hsSourceDirs = [ "test/unit" ]; + mainPath = [ "text-class-unit-test.hs" ]; }; }; }; - } // rec { src = (pkgs.lib).mkDefault ../.././lib/text-class; } \ No newline at end of file + } // rec { + src = (pkgs.lib).mkDefault ./lib/text-class; + } \ No newline at end of file diff --git a/nix/overlays/build-tools.nix b/nix/overlays/build-tools.nix index 144699597a7..0860a97344e 100644 --- a/nix/overlays/build-tools.nix +++ b/nix/overlays/build-tools.nix @@ -16,14 +16,14 @@ # you will also need to update Hackage.nix to get a recent # Hackage package index. # -# niv update hackage +# nix flake lock --update-input haskellNix # # After changing tool versions, you can update the generated # files which are cached in ./nix/materialized. Run this # command, follow the instructions shown, then commit the # updated files. # -# nix-shell --run regenerate-materialized-nix +# ./nix/regenerate.sh # ###################################################################### @@ -42,7 +42,7 @@ pkgs: super: let }; # Use cabal.project as the source of GHC version and Hackage index-state. - inherit (pkgs.commonLib.cabalProjectIndexState ../../cabal.project) + inherit (pkgs.cardanoWalletLib.cabalProjectIndexState ../../cabal.project) index-state compiler-nix-name; hsPkgs = pkgs.lib.mapAttrs mkTool tools; @@ -59,9 +59,9 @@ pkgs: super: let (pkgs.lib.optionalString enableMaterialization (pkgs.lib.concatStringsSep "\n" (pkgs.lib.mapAttrsToList (name: hsPkg: '' echo 'Updating materialized nix for ${name}' - ${mkMaterialize hsPkg} + ${mkMaterialize hsPkg} nix/materialized/${name} '') hsPkgs))); - mkMaterialize = hsPkg: hsPkg.project.plan-nix.passthru.updateMaterialized; + mkMaterialize = hsPkg: hsPkg.project.plan-nix.passthru.generateMaterialized; # https://github.com/input-output-hk/nix-tools/issues/97 enableMaterialization = pkgs.stdenv.isLinux; @@ -104,7 +104,7 @@ in { regenerateMaterialized = pkgs.writeShellScriptBin "regenerate-materialized-nix" (pkgs.lib.optionalString enableMaterialization '' echo 'Updating materialized nix for ${name}' - ${mkMaterialize project.iohk-nix-utils} + ${mkMaterialize project.iohk-nix-utils} nix/materialized/${name} ''); }; }; diff --git a/nix/overlays/cardano-deployments.nix b/nix/overlays/cardano-deployments.nix index 536cb981c62..936512f05df 100644 --- a/nix/overlays/cardano-deployments.nix +++ b/nix/overlays/cardano-deployments.nix @@ -3,7 +3,7 @@ pkgs: _: { # https://hydra.iohk.io/job/Cardano/iohk-nix/cardano-deployment/latest/download/1/index.html cardano-node-deployments = let environments = { - inherit (pkgs.commonLib.cardanoLib.environments) + inherit (pkgs.cardanoLib.environments) mainnet staging testnet @@ -20,7 +20,7 @@ pkgs: _: { } else { GenesisFile = "genesis.json"; }); - mkTopology = env: pkgs.commonLib.cardanoLib.mkEdgeTopology { + mkTopology = env: pkgs.cardanoLib.mkEdgeTopology { edgeNodes = [ env.relaysNew ]; valency = 2; }; diff --git a/nix/overlays/common-lib.nix b/nix/overlays/common-lib.nix index f666fd4b98b..d68749e0e4a 100644 --- a/nix/overlays/common-lib.nix +++ b/nix/overlays/common-lib.nix @@ -1,7 +1,8 @@ self: super: let - inherit (self) lib; + inherit (self) lib cardanoWalletHaskellProject; + inherit (self.haskell-nix) haskellLib; in { - commonLib = super.commonLib // { + cardanoWalletLib = { # lib.cleanSourceWith filter function which removes socket files # from a source tree. This files can be created by cardano-node and @@ -52,5 +53,12 @@ in { else null; }; + # Since it's not automatically discovered from stack-pkgs yet, we use homepage as discriminant + # to retrieve local project packages: + projectPackageList = lib.attrNames (lib.filterAttrs + (_: p: p != null + && haskellLib.isLocalPackage p.package + && p.package.homepage == "https://github.com/input-output-hk/cardano-wallet") + cardanoWalletHaskellProject.pkg-set.config.packages); }; } diff --git a/nix/overlays/pkgs.nix b/nix/overlays/pkgs.nix index a1db8b1fd3e..9d485a69a47 100644 --- a/nix/overlays/pkgs.nix +++ b/nix/overlays/pkgs.nix @@ -1,5 +1,3 @@ -{ sources }: - # our packages overlay self: super: { # Our jira installation needs API tokens to use Bearer authentication, not Basic. @@ -7,5 +5,4 @@ self: super: { patches = (oldAttrs.patches or []) ++ [ ./go-jira-api-token.patch ]; }); - emanote = (import sources.emanote).defaultPackage.${builtins.currentSystem}; } diff --git a/nix/project-package-list.nix b/nix/project-package-list.nix new file mode 100644 index 00000000000..f597c00eb3b --- /dev/null +++ b/nix/project-package-list.nix @@ -0,0 +1 @@ +[ "cardano-numeric" "cardano-wallet" "cardano-wallet-cli" "cardano-wallet-core" "cardano-wallet-core-integration" "cardano-wallet-launcher" "cardano-wallet-test-utils" "dbvar" "strict-non-empty-containers" "text-class" ] diff --git a/nix/regenerate.sh b/nix/regenerate.sh index 11c79763a72..dd2d39c62ed 100755 --- a/nix/regenerate.sh +++ b/nix/regenerate.sh @@ -2,13 +2,24 @@ set -euo pipefail -nix="$(dirname "$0")/default.nix" +cd $(dirname "$0")/.. + +# Regenerate sha256map.nix +nix run .#sha256map-regenerate < stack.yaml > nix/sha256map.nix # Regenerate stack-to-nix files in ./.stack-nix -$(nix-build "$nix" -A stackNixRegenerate --no-out-link) "$@" +rm -f nix/materialized/stack-nix/.stack-to-nix.cache #https://github.com/input-output-hk/haskell.nix/issues/57 +nix build .#generateMaterialized +./result nix/materialized/stack-nix/ # Regenerate materialized haskell-build-tools in ./materialized -$(nix-build "$nix" -A haskell-build-tools.regenerateMaterialized --no-out-link)/bin/regenerate-materialized-nix +nix build .#buildToolsGenerateMaterialized +./result/bin/regenerate-materialized-nix # Regenerate materialized iohk-nix-utils in ./materialized -$(nix-build "$nix" -A iohk-nix-utils.regenerateMaterialized --no-out-link)/bin/regenerate-materialized-nix +nix build .#iohkNixGenerateMaterialized +./result/bin/regenerate-materialized-nix + +# Regenerate the list of the project packages: +nix eval .#pkgs.cardanoWalletLib.projectPackageList > nix/project-package-list.nix.new +mv nix/project-package-list.nix.new nix/project-package-list.nix diff --git a/nix/release-build.nix b/nix/release-build.nix index 5d808b8240c..626a0b9785d 100644 --- a/nix/release-build.nix +++ b/nix/release-build.nix @@ -4,7 +4,6 @@ ############################################################################ { pkgs -, gitrev # git revision to stamp the executable with , exe # executable component for the program, from Haskell.nix , backend ? null # node backend }: @@ -15,20 +14,12 @@ pkgs.stdenv.mkDerivation rec { name = "${exe.identifier.name}-${version}"; version = exe.identifier.version; phases = [ "installPhase" ]; - nativeBuildInputs = with pkgs.buildPackages; [ iohk-nix-utils binutils nix ]; installPhase = '' cp -R ${exe} $out - chmod -R +w $out - set-git-rev "${gitrev}" $out/bin/${exe.exeName}* || true - '' + (if (pkgs.stdenv.hostPlatform.isWindows && backend != null) then '' + '' + (optionalString (pkgs.stdenv.hostPlatform.isWindows && backend != null) '' # fixme: remove this cp -Rv ${backend.deployments} $out/deployments - # fixme: make sure dlls are added - '' else (if pkgs.stdenv.hostPlatform.isDarwin then '' - rewrite-libs $out/bin $out/bin/${exe.exeName} - '' else '' - $STRIP $out/bin/${exe.exeName} - '')); + ''); meta.platforms = platforms.all; passthru = optionalAttrs (backend != null) { inherit backend; }; diff --git a/nix/release-package.nix b/nix/release-package.nix index d2cc6fd21f6..d4ec3eb93da 100644 --- a/nix/release-package.nix +++ b/nix/release-package.nix @@ -13,11 +13,11 @@ }: let - inherit (pkgs) lib commonLib; + inherit (pkgs) lib cardanoWalletLib; exe = assert lib.assertMsg (lib.length exes > 0) "empty list of exes"; lib.head exes; - name = "${commonLib.versionTag exe.meta.name}-${platform}"; + name = "${cardanoWalletLib.versionTag exe.meta.name}-${platform}"; makeTarball = format == "tar.gz"; makeZip = format == "zip"; diff --git a/nix/sha256map.nix b/nix/sha256map.nix new file mode 100644 index 00000000000..02384581380 --- /dev/null +++ b/nix/sha256map.nix @@ -0,0 +1,22 @@ +{ + "https://github.com/input-output-hk/cardano-addresses"."71006f9eb956b0004022e80aadd4ad50d837b621" = "11dl3fmq7ry5wdmz8kw07ji8yvrxnrsf7pgilw5q9mi4aqyvnaqk"; + "https://github.com/input-output-hk/optparse-applicative"."7497a29cb998721a9068d5725d49461f2bba0e7a" = "1gvsrg925vynwgqwplgjmp53vj953qyh3wbdf34pw21c8r47w35r"; + "https://github.com/input-output-hk/bech32"."ab61914443e5f53624d3b2995767761b3f68e576" = "0isqh5s6rdhmqa3jhvc32zb3kvzy149hmzddx1ld9f9jhls4f3wg"; + "https://github.com/input-output-hk/cardano-base"."41545ba3ac6b3095966316a99883d678b5ab8da8" = "0icq9y3nnl42fz536da84414av36g37894qnyw4rk3qkalksqwir"; + "https://github.com/input-output-hk/cardano-crypto"."f73079303f663e028288f9f4a9e08bcca39a923e" = "1n87i15x54s0cjkh3nsxs4r1x016cdw1fypwmr68936n3xxsjn6q"; + "https://github.com/input-output-hk/cardano-ledger"."1a9ec4ae9e0b09d54e49b2a40c4ead37edadcce5" = "0avzyiqq0m8njd41ck9kpn992yq676b1az9xs77977h7cf85y4wm"; + "https://github.com/input-output-hk/cardano-node"."814df2c146f5d56f8c35a681fe75e85b905aed5d" = "1hr00wqzmcyc3x0kp2hyw78rfmimf6z4zd4vv85b9zv3nqbjgrik"; + "https://github.com/input-output-hk/cardano-prelude"."bb4ed71ba8e587f672d06edf9d2e376f4b055555" = "00h10l5mmiza9819p9v5q5749nb9pzgi20vpzpy1d34zmh6gf1cj"; + "https://github.com/input-output-hk/cardano-sl-x509"."12925934c533b3a6e009b61ede555f8f26bac037" = "1kma25g8sl6m3pgsihja7fysmv6vjdfc0x7dyky9g5z156sh8z7i"; + "https://github.com/input-output-hk/flat"."ee59880f47ab835dbd73bea0847dab7869fc20d8" = "1lrzknw765pz2j97nvv9ip3l1mcpf2zr4n56hwlz0rk7wq7ls4cm"; + "https://github.com/input-output-hk/goblins"."cde90a2b27f79187ca8310b6549331e59595e7ba" = "17c88rbva3iw82yg9srlxjv2ia5wjb9cyqw44hik565f5v9svnyg"; + "https://github.com/input-output-hk/hedgehog-extras"."edf6945007177a638fbeb8802397f3a6f4e47c14" = "0wc7qzkc7j4ns2rz562h6qrx2f8xyq7yjcb7zidnj7f6j0pcd0i9"; + "https://github.com/input-output-hk/iohk-monitoring-framework"."808724ff8a19a33d0ed06f9ef59fbd900b08553c" = "0298dpl29gxzs9as9ha6y0w18hqwc00ipa3hzkxv7nlfrjjz8hmz"; + "https://github.com/shmish111/purescript-bridge.git"."6a92d7853ea514be8b70bab5e72077bf5a510596" = "13j64vv116in3c204qsl1v0ajphac9fqvsjp7x3zzfr7n7g61drb"; + "https://github.com/input-output-hk/ouroboros-network"."d2d219a86cda42787325bb8c20539a75c2667132" = "18xk7r0h2pxrbx76d6flsxifh0a9rz1cj1rjqs1pbs5kdmy8b7kx"; + "https://github.com/input-output-hk/plutus"."1efbb276ef1a10ca6961d0fd32e6141e9798bd11" = "1jicyk4hr8p0xksj4048gdxndrb42jz4wsnkhc3ymxbm5v6snalf"; + "https://github.com/input-output-hk/ekg-forward"."2adc8b698443bb10154304b24f6c1d6913bb65b9" = "0cyixq3jmq43zs1yzrycqw1klyjy0zxf1vifknnr1k9d6sc3zf6b"; + "https://github.com/input-output-hk/cardano-config"."e9de7a2cf70796f6ff26eac9f9540184ded0e4e6" = "1wm1c99r5zvz22pdl8nhkp13falvqmj8dgkm8fxskwa9ydqz01ld"; + "https://github.com/shmish111/servant-purescript.git"."a76104490499aa72d40c2790d10e9383e0dbde63" = "11nxxmi5bw66va7psvrgrw7b7n85fvqgfp58yva99w3v9q3a50v9"; + "https://github.com/input-output-hk/Win32-network"."3825d3abf75f83f406c1f7161883c438dac7277d" = "19wahfv726fa3mqajpqdqhnl9ica3xmf68i254q45iyjcpj1psqx"; +} diff --git a/nix/sources.json b/nix/sources.json deleted file mode 100644 index ac1b6c86acb..00000000000 --- a/nix/sources.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "emanote": { - "branch": "master", - "description": "Spiritual successor to neuron, based on Ema.", - "homepage": "https://note.ema.srid.ca", - "owner": "srid", - "repo": "emanote", - "rev": "fd2d1cf401d04ac51adb4fbdb6248c89057fc133", - "sha256": "0lk2jgdrxpngbdgzc399px8li37rkgzak03jp8l68mdcda84b4p4", - "type": "tarball", - "url": "https://github.com/srid/emanote/archive/fd2d1cf401d04ac51adb4fbdb6248c89057fc133.tar.gz", - "url_template": "https://github.com///archive/.tar.gz" - }, - "hackage": { - "branch": "master", - "description": "Automatically generated Nix expressions for Hackage", - "homepage": "", - "owner": "input-output-hk", - "repo": "hackage.nix", - "rev": "ee5f5cc99bdd8ccdcf8ae517223dbbabdb2373cb", - "sha256": "0bwamri79lhg2gzsxfj8s52mh06kpjpf6qvdpqhlbnfvlr65c9sd", - "type": "tarball", - "url": "https://github.com/input-output-hk/hackage.nix/archive/ee5f5cc99bdd8ccdcf8ae517223dbbabdb2373cb.tar.gz", - "url_template": "https://github.com///archive/.tar.gz" - }, - "haskell.nix": { - "branch": "master", - "description": "Alternative Haskell Infrastructure for Nixpkgs", - "homepage": "https://input-output-hk.github.io/haskell.nix", - "owner": "input-output-hk", - "repo": "haskell.nix", - "rev": "30633ede392043874d97674b4f88dbdffe1dce12", - "sha256": "1kj9s92hxddfqp2cbzsa8mqfbhsjwva9apg95xrqbfzl7h8lkhnh", - "type": "tarball", - "url": "https://github.com/input-output-hk/haskell.nix/archive/30633ede392043874d97674b4f88dbdffe1dce12.tar.gz", - "url_template": "https://github.com///archive/.tar.gz" - }, - "iohk-nix": { - "branch": "master", - "description": "nix scripts shared across projects", - "homepage": null, - "owner": "input-output-hk", - "repo": "iohk-nix", - "rev": "df1da282f996ec46b33379407df99613a1fbafdd", - "sha256": "0vpcyrswxkynn2q37qsrhvf62whk2ijpcwqnamxcchcq6lwfpn0l", - "type": "tarball", - "url": "https://github.com/input-output-hk/iohk-nix/archive/df1da282f996ec46b33379407df99613a1fbafdd.tar.gz", - "url_template": "https://github.com///archive/.tar.gz" - }, - "sphinxcontrib-haddock": { - "branch": "master", - "builtin": false, - "description": "Tools for using Haddock with Sphinx", - "homepage": null, - "owner": "michaelpj", - "repo": "sphinxcontrib-haddock", - "rev": "f3956b3256962b2d27d5a4e96edb7951acf5de34", - "sha256": "0mlxa5zzgdka0c6sj7pp4cfvc8rcrd8g2z2113vp614l43g17miv", - "type": "tarball", - "url": "https://github.com/michaelpj/sphinxcontrib-haddock/archive/f3956b3256962b2d27d5a4e96edb7951acf5de34.tar.gz", - "url_template": "https://github.com///archive/.tar.gz" - }, - "stackage": { - "branch": "master", - "description": "Automatically generated Nix expressions of Stackage snapshots", - "homepage": "", - "owner": "input-output-hk", - "repo": "stackage.nix", - "rev": "2dbde3a8047b6e04f88ed3cfbdd78dca7dc62609", - "sha256": "01v8g3ijbdabhdiy15aci3cmzhvpzfh8lf6dd2h4w6h5jpifjna3", - "type": "tarball", - "url": "https://github.com/input-output-hk/stackage.nix/archive/2dbde3a8047b6e04f88ed3cfbdd78dca7dc62609.tar.gz", - "url_template": "https://github.com///archive/.tar.gz" - } -} diff --git a/nix/sources.nix b/nix/sources.nix deleted file mode 100644 index 1938409dddb..00000000000 --- a/nix/sources.nix +++ /dev/null @@ -1,174 +0,0 @@ -# This file has been generated by Niv. - -let - - # - # The fetchers. fetch_ fetches specs of type . - # - - fetch_file = pkgs: name: spec: - let - name' = sanitizeName name + "-src"; - in - if spec.builtin or true then - builtins_fetchurl { inherit (spec) url sha256; name = name'; } - else - pkgs.fetchurl { inherit (spec) url sha256; name = name'; }; - - fetch_tarball = pkgs: name: spec: - let - name' = sanitizeName name + "-src"; - in - if spec.builtin or true then - builtins_fetchTarball { name = name'; inherit (spec) url sha256; } - else - pkgs.fetchzip { name = name'; inherit (spec) url sha256; }; - - fetch_git = name: spec: - let - ref = - if spec ? ref then spec.ref else - if spec ? branch then "refs/heads/${spec.branch}" else - if spec ? tag then "refs/tags/${spec.tag}" else - abort "In git source '${name}': Please specify `ref`, `tag` or `branch`!"; - in - builtins.fetchGit { url = spec.repo; inherit (spec) rev; inherit ref; }; - - fetch_local = spec: spec.path; - - fetch_builtin-tarball = name: throw - ''[${name}] The niv type "builtin-tarball" is deprecated. You should instead use `builtin = true`. - $ niv modify ${name} -a type=tarball -a builtin=true''; - - fetch_builtin-url = name: throw - ''[${name}] The niv type "builtin-url" will soon be deprecated. You should instead use `builtin = true`. - $ niv modify ${name} -a type=file -a builtin=true''; - - # - # Various helpers - # - - # https://github.com/NixOS/nixpkgs/pull/83241/files#diff-c6f540a4f3bfa4b0e8b6bafd4cd54e8bR695 - sanitizeName = name: - ( - concatMapStrings (s: if builtins.isList s then "-" else s) - ( - builtins.split "[^[:alnum:]+._?=-]+" - ((x: builtins.elemAt (builtins.match "\\.*(.*)" x) 0) name) - ) - ); - - # The set of packages used when specs are fetched using non-builtins. - mkPkgs = sources: system: - let - sourcesNixpkgs = - import (builtins_fetchTarball { inherit (sources.nixpkgs) url sha256; }) { inherit system; }; - hasNixpkgsPath = builtins.any (x: x.prefix == "nixpkgs") builtins.nixPath; - hasThisAsNixpkgsPath = == ./.; - in - if builtins.hasAttr "nixpkgs" sources - then sourcesNixpkgs - else if hasNixpkgsPath && ! hasThisAsNixpkgsPath then - import {} - else - abort - '' - Please specify either (through -I or NIX_PATH=nixpkgs=...) or - add a package called "nixpkgs" to your sources.json. - ''; - - # The actual fetching function. - fetch = pkgs: name: spec: - - if ! builtins.hasAttr "type" spec then - abort "ERROR: niv spec ${name} does not have a 'type' attribute" - else if spec.type == "file" then fetch_file pkgs name spec - else if spec.type == "tarball" then fetch_tarball pkgs name spec - else if spec.type == "git" then fetch_git name spec - else if spec.type == "local" then fetch_local spec - else if spec.type == "builtin-tarball" then fetch_builtin-tarball name - else if spec.type == "builtin-url" then fetch_builtin-url name - else - abort "ERROR: niv spec ${name} has unknown type ${builtins.toJSON spec.type}"; - - # If the environment variable NIV_OVERRIDE_${name} is set, then use - # the path directly as opposed to the fetched source. - replace = name: drv: - let - saneName = stringAsChars (c: if isNull (builtins.match "[a-zA-Z0-9]" c) then "_" else c) name; - ersatz = builtins.getEnv "NIV_OVERRIDE_${saneName}"; - in - if ersatz == "" then drv else - # this turns the string into an actual Nix path (for both absolute and - # relative paths) - if builtins.substring 0 1 ersatz == "/" then /. + ersatz else /. + builtins.getEnv "PWD" + "/${ersatz}"; - - # Ports of functions for older nix versions - - # a Nix version of mapAttrs if the built-in doesn't exist - mapAttrs = builtins.mapAttrs or ( - f: set: with builtins; - listToAttrs (map (attr: { name = attr; value = f attr set.${attr}; }) (attrNames set)) - ); - - # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/lists.nix#L295 - range = first: last: if first > last then [] else builtins.genList (n: first + n) (last - first + 1); - - # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L257 - stringToCharacters = s: map (p: builtins.substring p 1 s) (range 0 (builtins.stringLength s - 1)); - - # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L269 - stringAsChars = f: s: concatStrings (map f (stringToCharacters s)); - concatMapStrings = f: list: concatStrings (map f list); - concatStrings = builtins.concatStringsSep ""; - - # https://github.com/NixOS/nixpkgs/blob/8a9f58a375c401b96da862d969f66429def1d118/lib/attrsets.nix#L331 - optionalAttrs = cond: as: if cond then as else {}; - - # fetchTarball version that is compatible between all the versions of Nix - builtins_fetchTarball = { url, name ? null, sha256 }@attrs: - let - inherit (builtins) lessThan nixVersion fetchTarball; - in - if lessThan nixVersion "1.12" then - fetchTarball ({ inherit url; } // (optionalAttrs (!isNull name) { inherit name; })) - else - fetchTarball attrs; - - # fetchurl version that is compatible between all the versions of Nix - builtins_fetchurl = { url, name ? null, sha256 }@attrs: - let - inherit (builtins) lessThan nixVersion fetchurl; - in - if lessThan nixVersion "1.12" then - fetchurl ({ inherit url; } // (optionalAttrs (!isNull name) { inherit name; })) - else - fetchurl attrs; - - # Create the final "sources" from the config - mkSources = config: - mapAttrs ( - name: spec: - if builtins.hasAttr "outPath" spec - then abort - "The values in sources.json should not have an 'outPath' attribute" - else - spec // { outPath = replace name (fetch config.pkgs name spec); } - ) config.sources; - - # The "config" used by the fetchers - mkConfig = - { sourcesFile ? if builtins.pathExists ./sources.json then ./sources.json else null - , sources ? if isNull sourcesFile then {} else builtins.fromJSON (builtins.readFile sourcesFile) - , system ? builtins.currentSystem - , pkgs ? mkPkgs sources system - }: rec { - # The sources, i.e. the attribute set of spec name to spec - inherit sources; - - # The "pkgs" (evaluated nixpkgs) to use for e.g. non-builtin fetchers - inherit pkgs; - }; - -in -mkSources (mkConfig {}) // { __functor = _: settings: mkSources (mkConfig settings); } diff --git a/nix/stack-shell.nix b/nix/stack-shell.nix index d27ae1680ff..27feb118852 100644 --- a/nix/stack-shell.nix +++ b/nix/stack-shell.nix @@ -1,24 +1 @@ -# This is the derivation used by "stack --nix". -# It provides the system dependencies required for a stack build. -{ walletPackages ? import ../default.nix {} -, pkgs ? walletPackages.private.pkgs -, ghcVersion ? null -, extraArgs ? [] -}: - -let - cabalShell = import ./cabal-shell.nix { - inherit walletPackages pkgs ghcVersion; - }; -in - cabalShell.overrideAttrs (old: { - name = "cardano-wallet-stack-env"; - - buildInputs = old.buildInputs ++ [ pkgs.stack ]; - - # Build environment setup copied from - # - STACK_PLATFORM_VARIANT = "nix"; - STACK_IN_NIX_SHELL = 1; - STACK_IN_NIX_EXTRA_ARGS = extraArgs; - }) +{ extraArgs ? [], stackExtraArgs ? extraArgs, ...}@args: (import ./flake-compat.nix args).shellNix.stack diff --git a/nix/supported-systems.nix b/nix/supported-systems.nix new file mode 100644 index 00000000000..aa1bf611f32 --- /dev/null +++ b/nix/supported-systems.nix @@ -0,0 +1,4 @@ +[ + "x86_64-linux" + "x86_64-darwin" +] diff --git a/nix/windows-testing-bundle.nix b/nix/windows-testing-bundle.nix index 92f866b94b0..cd3879335d3 100644 --- a/nix/windows-testing-bundle.nix +++ b/nix/windows-testing-bundle.nix @@ -8,7 +8,6 @@ ############################################################################ { pkgs -, project , cardano-wallet , cardano-node , cardano-cli @@ -23,7 +22,7 @@ let cli = ../lib/cli/test/data; }; - name = "cardano-wallet-${project.version}-tests-win64"; + name = "cardano-wallet-${cardano-wallet.version}-tests-win64"; in pkgs.runCommand name { nativeBuildInputs = [ pkgs.zip pkgs.gnused ]; @@ -46,7 +45,7 @@ in pkgs.runCommand name { # Add each one to tests.bat. ${pkgs.lib.concatMapStringsSep "\n" (test: '' exe=`cd ${test}/bin; ls -1 *.exe` - name=${test.packageName}-test-$exe + name=${test.passthru.identifier.name}-test-$exe cp ${test}/bin/$exe $name echo $name >> tests.bat echo "if %errorlevel% neq 0 exit /b %errorlevel%" >> tests.bat @@ -55,7 +54,7 @@ in pkgs.runCommand name { # Copy in benchmark executables and rename. ${pkgs.lib.concatMapStringsSep "\n" (bench: '' exe=`cd ${bench}/bin; ls -1 *.exe` - name=${bench.packageName}-bench-$exe + name=${bench.passthru.identifier.name}-bench-$exe cp ${bench}/bin/$exe $name '') benchmarks} diff --git a/release.nix b/release.nix index 515964b4a5e..751f92e6b3b 100644 --- a/release.nix +++ b/release.nix @@ -1,3 +1,5 @@ +# TODO: delete this file once https://github.com/input-output-hk/cardano-wallet/pull/2997 +# is merged. ############################################################################ # # Hydra release jobset. @@ -31,272 +33,42 @@ ############################################################################ # The project sources -{ cardano-wallet ? { outPath = ./.; rev = pkgs.commonLib.commitIdFromGitRepoOrZero ./.git; } +{ cardano-wallet ? { outPath = ./.; } -# Function arguments to pass to the project -, projectArgs ? { - config = { allowUnfree = false; inHydra = true; }; - gitrev = cardano-wallet.rev; - inherit pr borsBuild sourcesOverride; - } + # The systems that the jobset will be built for. +, supportedSystems ? [ "x86_64-linux" ] -# The systems that the jobset will be built for. -, supportedSystems ? [ "x86_64-linux" "x86_64-darwin" ] - -# The systems used for cross-compiling -, supportedCrossSystems ? [ "x86_64-linux" ] - -# A Hydra option + # A Hydra option , scrubJobs ? true -# Dependencies overrides -, sourcesOverride ? {} - -# Import pkgs, including IOHK common nix lib -, pkgs ? import ./nix { inherit sourcesOverride; } + # Dependencies overrides +, override-inputs ? { } -# GitHub PR number (as a string), provided as a Hydra input + # GitHub PR number (as a string), provided as a Hydra input , pr ? null -# Can be "staging" or "trying" to indicate that this is a bors jobset + # Can be "staging" or "trying" to indicate that this is a bors jobset , borsBuild ? null -# Platform filter string for jobset. + # Platform filter string for jobset. , platform ? "all" -# Enable debug tracing + # Enable debug tracing , debug ? false -}: - -with pkgs.lib; - -assert pkgs.lib.asserts.assertOneOf "platform" platform - ["all" "linux" "macos" "windows"]; +}@args: let - buildNative = elem builtins.currentSystem supportedSystems; - buildLinux = elem names.linux supportedSystems && buildForPlatform "linux"; - buildMacOS = elem names.macos supportedSystems && buildForPlatform "macos"; - buildMusl = elem names.linux supportedCrossSystems && buildLinux; - buildWindows = elem builtins.currentSystem supportedCrossSystems && buildForPlatform "windows"; - buildForPlatform = name: elem platform ["all" name]; - - makeReleaseLib = system: (import pkgs.iohkNix.release-lib) { - inherit pkgs scrubJobs projectArgs; - supportedSystems = [ system ]; - supportedCrossSystems = filter (s: s == system) supportedCrossSystems; - packageSet = import cardano-wallet; - gitrev = cardano-wallet.rev; - }; - - # Shorthand system names - names = { - linux = "x86_64-linux"; - macos = "x86_64-darwin"; - }; - - # Debug tracing function - tr = val: if debug then __trace (__toJSON val) val else val; - - # Instantiate project package sets for linux and macos. - releaseLib = mapAttrs (const makeReleaseLib) names // { - windows = if (elem names.linux supportedCrossSystems) - then releaseLib.linux - else releaseLib.macos; - }; - - #################################################################### - # The main jobset which maps derivations from default.nix to build - # platforms - - platformJobs = optionalAttrs buildLinux (with releaseLib.linux; rec { - linux = optionalAttrs buildNative { - native = untag (mapTestOn - (tr (packagePlatforms (filterJobs.linux.native project)))); - - # Build and cache the build script used on Buildkite - buildkiteScript = import ./.buildkite/default.nix { - inherit pkgs; - }; - } // optionalAttrs buildMusl { - musl = untag (mapTestOnCross systems.examples.musl64 - (tr (packagePlatformsCross (filterJobs.linux.musl project)))); - }; - - cardano-wallet-linux64 = import ./nix/release-package.nix { - inherit pkgs; - exes = releaseContents (if buildMusl then linux.musl else linux.native); - platform = "linux64"; - format = "tar.gz"; - }; - }) // optionalAttrs (buildMacOS && buildNative) (with releaseLib.macos; (rec { - macos = untag (mapTestOn (tr (packagePlatforms (filterJobs.macos project)))); - - cardano-wallet-macos64 = hydraJob' (import ./nix/release-package.nix { - inherit ((pkgsFor names.macos).private) pkgs; - exes = releaseContents macos; - platform = "macos64"; - format = "tar.gz"; - }); - })) // optionalAttrs buildWindows (with releaseLib.windows; (rec { - windows = untag (mapTestOnCross systems.examples.mingwW64 - (tr (packagePlatformsCross (filterJobs.windows project)))); - - cardano-wallet-win64 = import ./nix/release-package.nix { - inherit pkgs; - exes = releaseContents windows; - platform = "win64"; - format = "zip"; - }; - - # This is used for testing the build on windows. - cardano-wallet-tests-win64 = import ./nix/windows-testing-bundle.nix { - inherit pkgs project; - cardano-wallet = windows.cardano-wallet; - cardano-node = windows.cardano-node; - cardano-cli = windows.cardano-cli; - tests = collectTestsWithPackageName windows.tests; - benchmarks = collectTestsWithPackageName windows.benchmarks; - }; - })); - - # Which exes should be put in the release archive. - releaseContents = jobs: map (exe: jobs.${exe}) [ - "cardano-wallet" - "bech32" - "cardano-address" - "cardano-cli" - "cardano-node" - ]; - - #################################################################### - # Job filters - - filterJobs = { - linux = { - native = makeJobFilter filterJobsNative { - # Don't run tests on linux native, because they are run for linux musl. - checks = []; - testCoverageReport = []; - }; - musl = makeJobFilter filterJobsCross {}; - }; - macos = makeJobFilter filterJobsNative { - dockerImage = []; - }; - windows = makeJobFilter filterJobsCross { - # Remove cardano-node integration tests for Windows because - # ouroboros-network doesn't work under wine. - checks.cardano-wallet.integration = []; - # Remove the test coverage report - only generate that for Linux musl. - testCoverageReport = []; - }; - }; - - makeJobFilter = base: filt: js: recursiveUpdate (recursiveUpdate js base) filt; - - # Remove build jobs for which cross compiling does not make sense. - filterJobsCross = { - dockerImage = []; - private = { - shell = []; - shell-prof = []; - cabalShell = []; - stackShell = []; - stackNixRegenerate = []; - }; - }; - - # Filters the derivations from default.nix for non-cross builds. - filterJobsNative = (optionalAttrs (pr != null) { - # Build profiled packages for the master branch, so that they are - # cached. But don't make profiled builds for PRs because this is - # a waste of time. - private.shell-prof = []; - }); - - ############################################################################ - # This aggregate job is what IOHK Hydra uses to update the CI status - # in GitHub. - - required = releaseLib.linux.mkRequiredJob ( - withPlatform "linux.native" (path: js: - collectTestNames path "checks" js ++ - collectTestNames path "benchmarks" js ++ - [ "${path}.private.shell" - "${path}.cardano-wallet" - ]) ++ - withPlatform "linux.musl" (path: js: - collectTestNames path "checks" js ++ - # Release package for Linux - [ "cardano-wallet-linux64" - ]) ++ - withPlatform "macos" (path: js: - collectTestNames path "checks" js ++ - collectTestNames path "benchmarks" js ++ - [ "${path}.private.shell" - # executables for macOS - "${path}.cardano-wallet" - - # Release package for macOS - "cardano-wallet-macos64" - ]) ++ - withPlatform "windows" (path: js: - collectTestNames path "checks" js ++ - [ "${path}.cardano-wallet" - # Release package for Windows - "cardano-wallet-win64" - # Windows testing package - is run nightly in CI. - "cardano-wallet-tests-win64" - ]) - ); - - #################################################################### - # Jobset munging - - # Removes redundant system tags from the jobset - untag = let - getLeaf = attrs: let - names = attrNames attrs; - name = head (attrNames attrs); - in - if (length names == 1 && elem name supportedSystems) - then attrs.${name} - else null; - in mapAttrsRecursiveCond - (as: !(isDerivation as) && getLeaf as == null) - (path: attrs: - let leaf = getLeaf attrs; - in if leaf == null then attrs else leaf); - - ############################################################################ - # Collecting jobs - - testsSupportedSystems = - optional buildLinux names.linux ++ - optional buildMacOS names.macos; - isTest = drv: isDerivation drv && elem drv.system testsSupportedSystems; - - # Adds the package name to the test derivations for windows-testing-bundle.nix - # (passthru.identifier.name does not survive mapTestOn) - collectTestsWithPackageName = ds: concatLists - (mapAttrsToList (packageName: package: map - (drv: drv // { inherit packageName; }) - (filter isTest (collect isDerivation package))) ds); - - collectTestNames = base: attr: js: - optionals (hasAttr attr js) - (collect isString - (mapAttrsRecursiveCond - (as: !(isDerivation as)) - (path: drv: if isTest drv - then concatStringsSep "." ([base attr] ++ path) - else null) - js.${attr})); - - withPlatform = path: f: - let jobset = attrByPath (splitString "." path) null platformJobs; - in if (jobset != null) then f path jobset else []; - + inherit (import ./nix/flake-compat.nix (args) // { + gitrev = cardano-wallet.rev or null; + src = cardano-wallet; + }) defaultNix; + jobs = + if (borsBuild != null) + then defaultNix.hydraJobsBors + else if (pr != null) + then defaultNix.hydraJobsPr + else defaultNix.hydraJobs; in - pkgs.commonLib.traceNames "job " (platformJobs // required) +jobs // { + inherit (jobs.linux.musl) cardano-wallet-linux64; +} diff --git a/shell.nix b/shell.nix index 838bd5f3428..044c16a3f06 100644 --- a/shell.nix +++ b/shell.nix @@ -1,69 +1 @@ -###################################################################### -# -# Creates a development environment for Cabal builds or ghci sessions, -# with various build tools included. -# -# Short instructions are in ./cabal.project. -# -# Full instructions - https://input-output-hk.github.io/cardano-wallet/dev/Building#cabalnix-build -# -# If you need a nix-shell with Cabal, GHC, and system dependencies, but *without* -# Haskell dependencies, see ./nix/cabal-shell.nix. -# -###################################################################### - -{ walletPackages ? import ./default.nix { inherit system crossSystem config sourcesOverride; } -, system ? builtins.currentSystem -, crossSystem ? null -, config ? {} -, pkgs ? walletPackages.private.pkgs -, profiling ? false # enable profiling in haskell dependencies -, sourcesOverride ? {} # see sourcesOverride in nix/default.nix -}: - -let - inherit (pkgs) lib; - inherit (pkgs.haskell-nix.haskellLib) selectProjectPackages; - - mkShell = name: project: project.shellFor rec { - inherit name; - packages = ps: lib.attrValues (selectProjectPackages ps); - nativeBuildInputs = (with walletPackages; [ - cardano-node - cardano-cli - cardano-address - bech32 - project.hsPkgs.pretty-simple.components.exes.pretty-simple - ]) ++ (with pkgs.buildPackages.buildPackages; [ - go-jira - haskellPackages.ghcid - niv - pkgconfig - python3Packages.openapi-spec-validator - (ruby.withPackages (ps: [ ps.thor ])) - sqlite-interactive - curlFull - jq - yq - cabalWrapped - ] ++ lib.filter - (drv: lib.isDerivation drv && drv.name != "regenerate-materialized-nix") - (lib.attrValues haskell-build-tools)); - - # fixme: this is needed to prevent Haskell.nix double-evaluating hoogle - tools.hoogle = { - inherit (pkgs.haskell-build-tools.hoogle) version; - inherit (pkgs.haskell-build-tools.hoogle.project) index-state; - checkMaterialization = false; - materialized = ./nix/materialized/hoogle; - }; - - CARDANO_NODE_CONFIGS = pkgs.cardano-node-deployments; - - meta.platforms = lib.platforms.unix; - }; -in - with walletPackages.private; - if profiling - then mkShell "cardano-wallet-shell-profiled" profiledProject - else mkShell "cardano-wallet-shell" project +{...}@args: (import ./nix/flake-compat.nix args).shellNix diff --git a/test/manual/TokenMetadataFetchFailed.md b/test/manual/TokenMetadataFetchFailed.md index f060a076f3a..77976115347 100644 --- a/test/manual/TokenMetadataFetchFailed.md +++ b/test/manual/TokenMetadataFetchFailed.md @@ -30,7 +30,7 @@ The following command will decrypt the E2E test fixtures (see LastPass for the p ```console $ export TESTS_E2E_FIXTURES=******* -$ nix-shell --run "cd test/e2e && rake fixture_wallets_decode" +$ nix develop --command "cd test/e2e && rake fixture_wallets_decode" $ jq 'map_values(.shelley|join(" "))' test/e2e/fixtures/fixture_wallets.json ```