update flake

This commit is contained in:
Peter Dragos 2022-03-24 17:13:44 -04:00
parent 1ef2a41df7
commit bbddc5e34b
No known key found for this signature in database
GPG key ID: D21EAEED5EBE475E
4 changed files with 84 additions and 73 deletions

View file

@ -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

View file

@ -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

33
flake.lock generated
View file

@ -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"
}
},

116
flake.nix
View file

@ -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");
};
}