From bbddc5e34bcf37b8f55563269ba9f5d417c6430f Mon Sep 17 00:00:00 2001 From: Peter Dragos Date: Thu, 24 Mar 2022 17:13:44 -0400 Subject: [PATCH] update flake --- agora/Agora/AuthorityToken.hs | 4 +- agora/Agora/Utils.hs | 4 +- flake.lock | 33 ++++++++-- flake.nix | 116 ++++++++++++++++------------------ 4 files changed, 84 insertions(+), 73 deletions(-) diff --git a/agora/Agora/AuthorityToken.hs b/agora/Agora/AuthorityToken.hs index 3a00148..4050348 100644 --- a/agora/Agora/AuthorityToken.hs +++ b/agora/Agora/AuthorityToken.hs @@ -15,14 +15,14 @@ import Plutarch.Api.V1 ( PAddress (..), PCredential (..), PCurrencySymbol (..), - PMap (..), PScriptContext (..), PScriptPurpose (..), PTxInInfo (..), PTxInfo (..), PTxOut (..), - PValue (..), ) +import Plutarch.Api.V1.AssocMap (PMap (PMap)) +import Plutarch.Api.V1.Value (PValue (PValue)) import Plutarch.Builtin (pforgetData) import Plutarch.List (pfoldr') import Plutarch.Monadic qualified as P diff --git a/agora/Agora/Utils.hs b/agora/Agora/Utils.hs index 2afa33a..7cb9825 100644 --- a/agora/Agora/Utils.hs +++ b/agora/Agora/Utils.hs @@ -41,7 +41,6 @@ import Plutarch.Api.V1 ( PCurrencySymbol, PDatum, PDatumHash, - PMap (PMap), PMaybeData (PDJust), PPubKeyHash, PTokenName, @@ -50,8 +49,9 @@ import Plutarch.Api.V1 ( PTxInfo (PTxInfo), PTxOut (PTxOut), PTxOutRef, - PValue (PValue), ) +import Plutarch.Api.V1.AssocMap (PMap (PMap)) +import Plutarch.Api.V1.Value (PValue (PValue)) import Plutarch.Builtin (ppairDataBuiltin) import Plutarch.Internal (punsafeCoerce) import Plutarch.Monadic qualified as P diff --git a/flake.lock b/flake.lock index 713ed75..a5cacae 100644 --- a/flake.lock +++ b/flake.lock @@ -679,7 +679,7 @@ "nixpkgs": [ "apropos-tx", "haskell-nix", - "nixpkgs-2105" + "nixpkgs-unstable" ], "nixpkgs-2003": "nixpkgs-2003", "nixpkgs-2105": "nixpkgs-2105", @@ -731,6 +731,8 @@ "hpc-coveralls": "hpc-coveralls_2", "nix-tools": "nix-tools_2", "nixpkgs": [ + "plutarch", + "haskell-nix", "nixpkgs-2111" ], "nixpkgs-2003": "nixpkgs-2003_2", @@ -1123,6 +1125,22 @@ "type": "github" } }, + "nixpkgs-2111_4": { + "locked": { + "lastModified": 1647902355, + "narHash": "sha256-SySJ8IRaogpc/BPOkysA+kzq9URvXthoeKIemaTKCiM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "31aa631dbc496500efd2507baaed39626f6650f2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-nixops": { "locked": { "lastModified": 1630248577, @@ -1274,6 +1292,7 @@ "haskell-nix", "nixpkgs-unstable" ], + "nixpkgs-2111": "nixpkgs-2111_4", "plutus": "plutus_2", "protolude": "protolude", "safe-coloured-text": "safe-coloured-text", @@ -1283,17 +1302,17 @@ "validity": "validity" }, "locked": { - "lastModified": 1646941827, - "narHash": "sha256-/TmkSDVOYD0Nsf6/tsyCSWhFUIeefwPn0Lz1oeZ7lyQ=", - "owner": "Plutonomicon", + "lastModified": 1648145467, + "narHash": "sha256-yrq0CJbZPrDmrEeI/RqNmKGHoHasMsnknug7kPLUsRU=", + "owner": "peter-mlabs", "repo": "plutarch", - "rev": "cb29ca64df4ed193d94a062e3fe26aa37e59b7bc", + "rev": "2ddf1d1b6efc43598ca3502471f6ace596f920ec", "type": "github" }, "original": { - "owner": "Plutonomicon", + "owner": "peter-mlabs", + "ref": "liqwid/extra", "repo": "plutarch", - "rev": "cb29ca64df4ed193d94a062e3fe26aa37e59b7bc", "type": "github" } }, diff --git a/flake.nix b/flake.nix index fdf0dd8..87be54c 100644 --- a/flake.nix +++ b/flake.nix @@ -3,6 +3,12 @@ inputs.nixpkgs.follows = "plutarch/nixpkgs"; inputs.haskell-nix.follows = "plutarch/haskell-nix"; + # temporary fix for nix versions that have the transitive follows bug + # see https://github.com/NixOS/nix/issues/6013 + inputs.nixpkgs-2111 = { url = "github:NixOS/nixpkgs/nixpkgs-21.11-darwin"; }; + + inputs.plutarch.url = "github:peter-mlabs/plutarch/liqwid/extra"; + inputs.plutarch.inputs.nixpkgs.follows = "plutarch/haskell-nix/nixpkgs-unstable"; # https://github.com/mlabs-haskell/apropos-tx/pull/28 inputs.apropos-tx.url = @@ -10,48 +16,33 @@ inputs.apropos-tx.inputs.nixpkgs.follows = "plutarch/haskell-nix/nixpkgs-unstable"; - # temporary fix for nix versions that have the transitive follows bug - # see https://github.com/NixOS/nix/issues/6013 - inputs.nixpkgs-2111 = { url = "github:NixOS/nixpkgs/nixpkgs-21.11-darwin"; }; - - inputs.plutarch.url = - "github:Plutonomicon/plutarch?rev=cb29ca64df4ed193d94a062e3fe26aa37e59b7bc"; - inputs.plutarch.inputs.nixpkgs.follows = - "plutarch/haskell-nix/nixpkgs-unstable"; - outputs = inputs@{ self, nixpkgs, haskell-nix, plutarch, ... }: let - supportedSystems = with nixpkgs.lib.systems.supported; - tier1 ++ tier2 ++ tier3; + supportedSystems = with nixpkgs.lib.systems.supported; tier1 ++ tier2 ++ tier3; perSystem = nixpkgs.lib.genAttrs supportedSystems; - nixpkgsFor = system: - import nixpkgs { - inherit system; - overlays = [ haskell-nix.overlay ]; - inherit (haskell-nix) config; - }; - - nixpkgsFor' = system: - import nixpkgs { - inherit system; - inherit (haskell-nix) config; - }; + nixpkgsFor = system: import nixpkgs { inherit system; overlays = [ haskell-nix.overlay ]; inherit (haskell-nix) config; }; + nixpkgsFor' = system: import nixpkgs { inherit system; inherit (haskell-nix) config; }; ghcVersion = "ghc921"; projectFor = system: - let pkgs = nixpkgsFor system; - in let pkgs' = nixpkgsFor' system; - in (nixpkgsFor system).haskell-nix.cabalProject' { + let pkgs = nixpkgsFor system; in + let pkgs' = nixpkgsFor' system; in + (nixpkgsFor system).haskell-nix.cabalProject' { src = ./.; compiler-nix-name = ghcVersion; inherit (plutarch) cabalProjectLocal; extraSources = plutarch.extraSources ++ [ { src = inputs.plutarch; - subdirs = [ "." "plutarch-test" "plutarch-extra" ]; + subdirs = [ + "." + "plutarch-test" + "plutarch-extra" + "plutarch-numeric" + ]; } { src = inputs.apropos-tx; @@ -66,24 +57,28 @@ # We use the ones from Nixpkgs, since they are cached reliably. # Eventually we will probably want to build these with haskell.nix. - nativeBuildInputs = [ - pkgs'.git - pkgs'.haskellPackages.apply-refact - pkgs'.fd - pkgs'.cabal-install - pkgs'.haskell.packages."${ghcVersion}".hlint - pkgs'.haskellPackages.cabal-fmt - pkgs'.nixpkgs-fmt - pkgs'.graphviz - ]; + nativeBuildInputs = with pkgs'; + [ + entr + haskellPackages.apply-refact + git + fd + cabal-install + hlint + haskellPackages.cabal-fmt + nixpkgs-fmt + graphviz + ]; inherit (plutarch) tools; additional = ps: [ ps.plutarch - ps.plutarch-test + ps.tasty-quickcheck ps.apropos-tx ps.plutarch-extra + ps.plutarch-numeric + ps.plutarch-test ]; }; }; @@ -92,45 +87,42 @@ let pkgs = nixpkgsFor system; pkgs' = nixpkgsFor' system; - inherit (pkgs.haskell-nix.tools ghcVersion { - inherit (plutarch.tools) fourmolu hlint; - }) - fourmolu hlint; - in pkgs.runCommand "format-check" { - nativeBuildInputs = [ - pkgs'.git - pkgs'.fd - pkgs'.haskellPackages.cabal-fmt - pkgs'.nixpkgs-fmt - fourmolu - hlint - ]; - } '' + in + pkgs.runCommand "format-check" + { + nativeBuildInputs = [ pkgs'.git pkgs'.fd pkgs'.haskellPackages.cabal-fmt pkgs'.nixpkgs-fmt (pkgs.haskell-nix.tools ghcVersion { inherit (plutarch.tools) fourmolu; }).fourmolu ]; + } '' export LC_CTYPE=C.UTF-8 export LC_ALL=C.UTF-8 export LANG=C.UTF-8 cd ${self} make format_check mkdir $out - ''; - in { + '' + ; + in + { project = perSystem projectFor; flake = perSystem (system: (projectFor system).flake { }); packages = perSystem (system: self.flake.${system}.packages); checks = perSystem (system: - self.flake.${system}.checks // { + self.flake.${system}.checks + // { formatCheck = formatCheckFor system; - }); + } + ); check = perSystem (system: - (nixpkgsFor system).runCommand "combined-test" { - checksss = builtins.attrValues self.checks.${system}; - } '' + (nixpkgsFor system).runCommand "combined-test" + { + checksss = builtins.attrValues self.checks.${system}; + } '' echo $checksss touch $out - ''); + '' + ); devShell = perSystem (system: self.flake.${system}.devShell); - defaultPackage = - perSystem (system: self.flake.${system}.packages."agora:lib:agora"); }; } + +