update flake
This commit is contained in:
parent
1ef2a41df7
commit
bbddc5e34b
4 changed files with 84 additions and 73 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
33
flake.lock
generated
|
|
@ -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
116
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");
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue