Switch to new seaaye setup
parent
afb2a42e96
commit
6eb306cfd0
|
@ -15,3 +15,7 @@ cabal.sandbox.config
|
|||
\#*.gui\#
|
||||
cabal.project.local
|
||||
.ghc.environment.*
|
||||
/result*
|
||||
/nix/seaaye-cache
|
||||
/nix/gcroots
|
||||
/nix/ci-out
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
nixpkgs.nix
|
||||
local-extra-deps.nix
|
||||
gcroots
|
|
@ -1,32 +0,0 @@
|
|||
|
||||
This nix setup expects the iohk haskell-nix overlay to be available/included
|
||||
when importing `<nixpkgs>`. Also, you might need a specific commit if you
|
||||
want to test against all supported ghcs (8.4 - 8.10, currently).
|
||||
|
||||
# Useful commands:
|
||||
|
||||
~~~~.sh
|
||||
# enter a shell for a specific build-plan
|
||||
# (cabal-solved with ghc-8.4 in this case)
|
||||
nix-shell nix/all.nix -A '"hackage-8.4".shell'
|
||||
# run tests against ghcs 8.4 through 8.10, both against hackage and stackage package sets
|
||||
nix/ci.sh
|
||||
~~~~
|
||||
|
||||
|
||||
# Files in this directory:
|
||||
|
||||
all.nix - main entrypoint into this package's nix world
|
||||
via-hackage.nix - how to build this via cabal-solved package-set
|
||||
via-stackage.nix - how to build via stackage-based package set
|
||||
nixpkgs.nix - optional - if you want to use a custom nixpkgs channel
|
||||
(the replacement needs to have haskell-nix overlay _and_
|
||||
the cabal-check feature enabled though!)
|
||||
local-extra-deps.nix - optional - for defining local addition deps for
|
||||
dev testing
|
||||
|
||||
(plus some currently unused:)
|
||||
|
||||
materialized - materializations of cabal-solved build-plans
|
||||
plan.nix - manual materialization of unsolved build-plan (used with
|
||||
stackage snapshot to build package set)
|
103
nix/all.nix
103
nix/all.nix
|
@ -1,103 +0,0 @@
|
|||
let
|
||||
importOrElse = maybePath: otherwise:
|
||||
if builtins.pathExists maybePath then import maybePath else otherwise;
|
||||
pkgs = importOrElse ./nixpkgs.nix
|
||||
( let
|
||||
haskellNix = import (
|
||||
builtins.fetchTarball
|
||||
https://github.com/lspitzner/haskell.nix/archive/1873ab6de8f5a072d5405c8803f55b2fb386988f.tar.gz
|
||||
) { version = 2; };
|
||||
nixpkgsSrc = haskellNix.sources.nixpkgs-2003;
|
||||
in
|
||||
import nixpkgsSrc haskellNix.nixpkgsArgs
|
||||
);
|
||||
gitignoreSrc = pkgs.fetchFromGitHub {
|
||||
owner = "hercules-ci";
|
||||
repo = "gitignore.nix";
|
||||
rev = "c4662e662462e7bf3c2a968483478a665d00e717";
|
||||
sha256 = "sha256:1npnx0h6bd0d7ql93ka7azhj40zgjp815fw2r6smg8ch9p7mzdlx";
|
||||
};
|
||||
inherit (import gitignoreSrc { inherit (pkgs) lib; }) gitignoreSource gitignoreFilter;
|
||||
cleanedSource = pkgs.lib.cleanSourceWith {
|
||||
name = "butcher";
|
||||
src = ./..;
|
||||
filter = p: t:
|
||||
let baseName = baseNameOf (toString p);
|
||||
in gitignoreFilter ./.. p t
|
||||
&& baseName != ".gitignore"
|
||||
&& baseName != "nix"
|
||||
&& baseName != "shell.nix"
|
||||
&& baseName != "default.nix";
|
||||
};
|
||||
localExtraDeps = importOrElse ./local-extra-deps.nix (_: []) {inherit pkgs;};
|
||||
args = {
|
||||
inherit pkgs;
|
||||
inherit cleanedSource;
|
||||
pkg-def-extras = localExtraDeps;
|
||||
};
|
||||
inherit (builtins) hasAttr;
|
||||
in
|
||||
assert pkgs.lib.assertMsg (hasAttr "haskell-nix" pkgs) "need iohk haskell-nix overlay!";
|
||||
let
|
||||
versions = {
|
||||
# "stack-8.0" = import ./via-stack.nix (args // { resolver = "lts-9.21"; });
|
||||
# "stack-8.2" = import ./via-stack.nix (args // { resolver = "lts-11.22"; });
|
||||
"stackage-8.4" = import ./via-stackage.nix (args // {
|
||||
# resolver = "lts-12.26";
|
||||
stackFile = "stack-8.4.yaml";
|
||||
ghc-ver = "ghc844";
|
||||
});
|
||||
"stackage-8.6" = import ./via-stackage.nix (args // {
|
||||
# resolver = "lts-14.27";
|
||||
stackFile = "stack-8.6.yaml";
|
||||
ghc-ver = "ghc865";
|
||||
});
|
||||
"stackage-8.8" = import ./via-stackage.nix (args // {
|
||||
# resolver = "lts-15.12";
|
||||
stackFile = "stack-8.8.yaml";
|
||||
ghc-ver = "ghc883";
|
||||
});
|
||||
"hackage-8.4" = import ./via-hackage.nix (args // {
|
||||
ghc-ver = "ghc844";
|
||||
index-state = "2020-05-01T00:00:00Z";
|
||||
# plan-sha256 = "0s6rfanb6zxhr5zbinp7h25ahwasciwj3ambsr6zdxm1l782b3ap";
|
||||
# materialized = ./materialized/hackage-8.4;
|
||||
configureArgs = "--allow-newer='multistate:*'";
|
||||
});
|
||||
"hackage-8.6" = import ./via-hackage.nix (args // {
|
||||
ghc-ver = "ghc865";
|
||||
index-state = "2020-05-01T00:00:00Z";
|
||||
# plan-sha256 = "01m95xirrh00dvdxrpsx8flhcwlwcvgr3diwlnkw7lj5f3i7rfrl";
|
||||
# materialized = ./materialized/hackage-8.6;
|
||||
configureArgs = "--allow-newer='multistate:*'";
|
||||
});
|
||||
"hackage-8.8" = import ./via-hackage.nix (args // {
|
||||
ghc-ver = "ghc883";
|
||||
index-state = "2020-05-01T00:00:00Z";
|
||||
# plan-sha256 = "14qs7ynlf7p2qvdk8sf498y87ss5vab3ylnbpc8sacqbpv2hv4pf";
|
||||
# materialized = ./materialized/hackage-8.8;
|
||||
configureArgs = "--allow-newer='multistate:*'";
|
||||
});
|
||||
} // (if hasAttr "ghc8101" pkgs.haskell-nix.compiler
|
||||
then {
|
||||
"hackage-8.10" = import ./via-hackage.nix (args // {
|
||||
ghc-ver = "ghc8101";
|
||||
index-state = "2020-06-06T00:00:00Z";
|
||||
# index-sha256 = "1h1x65840jl6w2qvyq9csc7b3ivadr933glarnmydk2b23vw2i77";
|
||||
# plan-sha256 = "1s8a6cb5qgf4ky5s750rzx6aa52slp1skazh8kbx0dbfjd6df7yw";
|
||||
# materialized = ./materialized/hackage-8.10;
|
||||
configureArgs = "--allow-newer='multistate:*' --constraint 'splitmix<0.1'";
|
||||
});
|
||||
} else builtins.trace "warn: ghc 8.10 is not avaiable, will not be tested!" {}
|
||||
);
|
||||
in
|
||||
versions // {
|
||||
inherit cleanedSource;
|
||||
default = versions."stackage-8.8";
|
||||
roots = pkgs.linkFarm "haskell-nix-roots"
|
||||
[ { name = "haskell-nix-roots-ghc844" ; path = pkgs.haskell-nix.roots "ghc844"; }
|
||||
{ name = "haskell-nix-roots-ghc865" ; path = pkgs.haskell-nix.roots "ghc865"; }
|
||||
{ name = "haskell-nix-roots-ghc883" ; path = pkgs.haskell-nix.roots "ghc883"; }
|
||||
{ name = "haskell-nix-roots-ghc8101"; path = pkgs.haskell-nix.roots "ghc8101"; }
|
||||
];
|
||||
}
|
50
nix/ci.sh
50
nix/ci.sh
|
@ -1,50 +0,0 @@
|
|||
|
||||
OUTDIR="ci-out"
|
||||
SUMMARY="$OUTDIR/0-summary"
|
||||
CABAL_CHECK_ATTRPATH="hackage-8.10"
|
||||
|
||||
set -x
|
||||
|
||||
mkdir -p "$OUTDIR"
|
||||
echo "# test summary" > "$SUMMARY"
|
||||
|
||||
function build-one {
|
||||
local ATTRPATH=$1
|
||||
# nix-build --no-out-link nix/all.nix -A "\"$ATTRPATH\".butcher.components.library"\
|
||||
# 2> >(tee "$OUTDIR/$ATTRPATH-1-build-lib.txt" >&2)
|
||||
# (($? == 0)) || { echo "$ATTRPATH: build src failed" >> "$SUMMARY"; return 1; }
|
||||
# nix-build --no-out-link nix/all.nix -A "\"$ATTRPATH\".butcher.components.tests"\
|
||||
# 2> >(tee "$OUTDIR/$ATTRPATH-2-build-test.txt" >&2)
|
||||
# (($? == 0)) || { echo "$ATTRPATH: build test failed" >> "$SUMMARY"; return 1; }
|
||||
OUT=$(nix-build -o "$OUTDIR/$ATTRPATH-test-result.txt" nix/all.nix -A "\"$ATTRPATH\".butcher.checks.tests"\
|
||||
2> >(tee "$OUTDIR/$ATTRPATH-build.txt" >&2))
|
||||
(($? == 0)) || { echo "$ATTRPATH: run test failed" >> "$SUMMARY"; return 1; }
|
||||
echo "$ATTRPATH: $(grep examples "$OUTDIR/$ATTRPATH-test-result.txt")" >> "$SUMMARY"
|
||||
}
|
||||
|
||||
function cabal-check {
|
||||
nix-build --no-out-link nix/all.nix -A "\"$CABAL_CHECK_ATTRPATH\".checks.cabal-check"\
|
||||
2> >(tee "$OUTDIR/cabal-check.txt" >&2)
|
||||
(($? == 0)) || { echo "cabal-check: failed" >> "$SUMMARY"; return 1; }
|
||||
echo "cabal-check: success" >> "$SUMMARY"
|
||||
}
|
||||
|
||||
find "$OUTDIR" -name "stackage*" -delete
|
||||
find "$OUTDIR" -name "hackage*" -delete
|
||||
rm "$OUTDIR/cabal-check.txt"
|
||||
CLEANEDSOURCE=$(nix-instantiate --eval --read-write-mode nix/all.nix -A "cleanedSource.outPath")
|
||||
(($? == 0)) || exit 1
|
||||
( eval "cd $CLEANEDSOURCE; find" ) > "$OUTDIR/1-cleanedSource.txt"
|
||||
|
||||
build-one "stackage-8.4"
|
||||
build-one "stackage-8.6"
|
||||
build-one "stackage-8.8"
|
||||
|
||||
build-one "hackage-8.4"
|
||||
build-one "hackage-8.6"
|
||||
build-one "hackage-8.8"
|
||||
build-one "hackage-8.10"
|
||||
|
||||
cabal-check
|
||||
|
||||
cat "$SUMMARY"
|
|
@ -1,25 +0,0 @@
|
|||
|
||||
set -ex
|
||||
|
||||
ROOTSDIR="nix/gcroots"
|
||||
|
||||
function create-root {
|
||||
local ATTRPATH=$1
|
||||
nix-build -o "${ROOTSDIR}/${ATTRPATH}-shell" nix/all.nix -A "\"$ATTRPATH\".shell"
|
||||
nix-build -o "${ROOTSDIR}/${ATTRPATH}-test" nix/all.nix -A "\"$ATTRPATH\".butcher.components.tests.tests"
|
||||
nix-build -o "${ROOTSDIR}/${ATTRPATH}-plan" nix/all.nix -A "\"$ATTRPATH\".butcher-plan"
|
||||
nix-build -o "${ROOTSDIR}/${ATTRPATH}-nix" nix/all.nix -A "\"$ATTRPATH\".butcher-nix" || true
|
||||
}
|
||||
|
||||
mkdir -p "$ROOTSDIR"
|
||||
|
||||
nix-build -o "${ROOTSDIR}/haskell-nix-roots" nix/all.nix -A "roots"
|
||||
|
||||
create-root "stackage-8.4"
|
||||
create-root "stackage-8.6"
|
||||
create-root "stackage-8.8"
|
||||
|
||||
create-root "hackage-8.4"
|
||||
create-root "hackage-8.6"
|
||||
create-root "hackage-8.8"
|
||||
create-root "hackage-8.10"
|
|
@ -1,61 +0,0 @@
|
|||
{ pkgs
|
||||
, cleanedSource
|
||||
, pkg-def-extras ? []
|
||||
, ghc-ver
|
||||
, index-state
|
||||
, index-sha256 ? null
|
||||
, plan-sha256 ? null
|
||||
, materialized ? null
|
||||
, configureArgs ? ""
|
||||
}:
|
||||
let
|
||||
butcher-nix = pkgs.haskell-nix.callCabalProjectToNix {
|
||||
src = cleanedSource;
|
||||
inherit index-state index-sha256 plan-sha256 materialized configureArgs;
|
||||
# ghc = pkgs.haskell-nix.compiler.${ghc-ver};
|
||||
compiler-nix-name = ghc-ver;
|
||||
};
|
||||
butcher-plan = pkgs.haskell-nix.importAndFilterProject { inherit (butcher-nix) projectNix sourceRepos src; };
|
||||
in rec {
|
||||
inherit butcher-nix butcher-plan pkgs;
|
||||
|
||||
hsPkgs =
|
||||
let
|
||||
in let pkg-set = pkgs.haskell-nix.mkCabalProjectPkgSet
|
||||
{ plan-pkgs = butcher-plan;
|
||||
pkg-def-extras = pkg-def-extras;
|
||||
modules = [
|
||||
{ ghc.package = pkgs.haskell-nix.compiler.${ghc-ver}; }
|
||||
];
|
||||
};
|
||||
in pkg-set.config.hsPkgs;
|
||||
|
||||
inherit (hsPkgs) butcher;
|
||||
inherit (hsPkgs.butcher) checks;
|
||||
shell = hsPkgs.shellFor {
|
||||
# Include only the *local* packages of your project.
|
||||
packages = ps: with ps; [
|
||||
butcher
|
||||
];
|
||||
|
||||
# Builds a Hoogle documentation index of all dependencies,
|
||||
# and provides a "hoogle" command to search the index.
|
||||
withHoogle = false;
|
||||
|
||||
# You might want some extra tools in the shell (optional).
|
||||
|
||||
# Some common tools can be added with the `tools` argument
|
||||
# tools = { cabal = "3.2.0.0"; };
|
||||
# See overlays/tools.nix for more details
|
||||
|
||||
tools = { ghcid = "0.8.7"; cabal = "3.2.0.0"; };
|
||||
|
||||
# Some you may need to get some other way.
|
||||
buildInputs = with pkgs.haskellPackages;
|
||||
[ bash pkgs.nix ];
|
||||
|
||||
# Prevents cabal from choosing alternate plans, so that
|
||||
# *all* dependencies are provided by Nix.
|
||||
exactDeps = true;
|
||||
};
|
||||
}
|
|
@ -1,92 +0,0 @@
|
|||
{ pkgs
|
||||
, ghc-ver
|
||||
, cleanedSource
|
||||
, stackFile
|
||||
, pkg-def-extras ? []
|
||||
}:
|
||||
let
|
||||
# package-desc = import ./plan.nix;
|
||||
# butcher-plan = {
|
||||
# inherit resolver;
|
||||
# extras = hackage:
|
||||
# { butcher = args: package-desc args // {
|
||||
# src = pkgs.haskell-nix.cleanSourceHaskell {
|
||||
# src = pkgs.haskell-nix.haskellLib.cleanGit { src = ./..; name = "butcher"; };
|
||||
# name = "butcher";
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
# this does not work at all, does not use local package (!)
|
||||
# butcher-plan = (pkgs.haskell-nix.importAndFilterProject (
|
||||
# (pkgs.haskell-nix.callStackToNix {
|
||||
# name = "butcher-plan";
|
||||
# src = ./..;
|
||||
# stackYamlFile = builtins.toFile "stack.yaml" ''
|
||||
# resolver: ${resolver}
|
||||
# packages:
|
||||
# - '.'
|
||||
# extra-deps: []
|
||||
# extra-package-dbs: []
|
||||
# '';
|
||||
# ignorePackageYaml = true;
|
||||
# })
|
||||
# ));
|
||||
cleanedSource = pkgs.haskell-nix.cleanSourceHaskell { name = "butcher-"+stackFile; src = ./..; };
|
||||
butcher-nix = pkgs.haskell-nix.callStackToNix {
|
||||
name = "butcher";
|
||||
src = cleanedSource;
|
||||
stackYaml = stackFile;
|
||||
};
|
||||
butcher-plan = pkgs.haskell-nix.importAndFilterProject butcher-nix;
|
||||
# butcher-pkgs = {
|
||||
# inherit (butcher-plan.pkgs) modules resolver;
|
||||
# extras = butcher-plan.pkgs.extras ps;
|
||||
# };
|
||||
generatedCache = pkgs.haskell-nix.genStackCache {
|
||||
src = cleanedSource;
|
||||
stackYaml = stackFile;
|
||||
};
|
||||
hsPkgs = (pkgs.haskell-nix.mkStackPkgSet {
|
||||
stack-pkgs = butcher-plan;
|
||||
pkg-def-extras = pkg-def-extras;
|
||||
modules = pkgs.lib.singleton (pkgs.haskell-nix.mkCacheModule generatedCache);
|
||||
}).config.hsPkgs;
|
||||
in {
|
||||
inherit butcher-nix butcher-plan hsPkgs pkgs;
|
||||
inherit (hsPkgs) butcher;
|
||||
inherit (hsPkgs.butcher) checks;
|
||||
shell = hsPkgs.shellFor {
|
||||
# Include only the *local* packages of your project.
|
||||
packages = ps: with ps; [
|
||||
butcher
|
||||
];
|
||||
|
||||
# Builds a Hoogle documentation index of all dependencies,
|
||||
# and provides a "hoogle" command to search the index.
|
||||
withHoogle = false;
|
||||
|
||||
# You might want some extra tools in the shell (optional).
|
||||
|
||||
# Some common tools can be added with the `tools` argument
|
||||
# tools = { cabal = "3.2.0.0"; };
|
||||
# See overlays/tools.nix for more details
|
||||
|
||||
tools = { ghcid = "0.8.7"; cabal = "3.2.0.0"; };
|
||||
|
||||
# Some you may need to get some other way.
|
||||
buildInputs = with pkgs.haskellPackages;
|
||||
[ bash pkgs.nix ];
|
||||
|
||||
# Prevents cabal from choosing alternate plans, so that
|
||||
# *all* dependencies are provided by Nix.
|
||||
exactDeps = true;
|
||||
};
|
||||
}
|
||||
# pkgs.haskell-nix.stackProject {
|
||||
# src = pkgs.haskell-nix.haskellLib.cleanGit { src = ./.; name = "butcher"; };
|
||||
# pkg-def-extras = pkg-def-extras;
|
||||
# modules = [
|
||||
# { doHaddock = false; }
|
||||
# ];
|
||||
# }
|
|
@ -0,0 +1,54 @@
|
|||
{ seaaye-spec = 1;
|
||||
haskell-nix-url = https://github.com/input-output-hk/haskell.nix/archive/506208fc9226e207a7beb1b4a26bbd9504a0f680.tar.gz;
|
||||
haskell-nix-nixpkgs = "nixpkgs-2205";
|
||||
package-name = "butcher";
|
||||
targets =
|
||||
{
|
||||
hackage-8-06 = {
|
||||
resolver = "hackage";
|
||||
index-state = "2022-07-01T00:00:00Z";
|
||||
ghc-ver = "ghc865";
|
||||
};
|
||||
hackage-8-08 = {
|
||||
resolver = "hackage";
|
||||
index-state = "2022-07-01T00:00:00Z";
|
||||
ghc-ver = "ghc884";
|
||||
};
|
||||
hackage-8-10 = {
|
||||
resolver = "hackage";
|
||||
index-state = "2022-07-01T00:00:00Z";
|
||||
ghc-ver = "ghc8107";
|
||||
};
|
||||
stackage-8-06 = {
|
||||
resolver = "stackage";
|
||||
stackFile = "stack-8-6.yaml";
|
||||
ghc-ver = "ghc865";
|
||||
};
|
||||
stackage-8-08 = {
|
||||
resolver = "stackage";
|
||||
stackFile = "stack-8-8.yaml";
|
||||
ghc-ver = "ghc884";
|
||||
};
|
||||
stackage-8-10 = {
|
||||
resolver = "stackage";
|
||||
stackFile = "stack-8-10.yaml";
|
||||
ghc-ver = "ghc8107";
|
||||
};
|
||||
};
|
||||
module-flags = [
|
||||
# N.B.: There are haskell-nix module options. See the haskell-nix docs
|
||||
# for details. Also, be careful about typos: In many cases you
|
||||
# will not get errors but the typo'd flag will just not have any
|
||||
# effect!
|
||||
# { packages.my-package.flags.my-package-examples-examples = true; }
|
||||
{ packages.butcher.flags.butcher-examples = true; }
|
||||
];
|
||||
default-target = "hackage-8-06";
|
||||
do-check-hackage = "hackage.haskell.org";
|
||||
do-check-changelog = "changelog.md";
|
||||
cabal-project-local = ''
|
||||
package butcher
|
||||
flags: +butcher-examples
|
||||
'';
|
||||
# local-config-path = ./seaaye-local.nix;
|
||||
}
|
|
@ -11,7 +11,7 @@
|
|||
#
|
||||
# resolver: ./custom-snapshot.yaml
|
||||
# resolver: https://example.com/snapshots/2018-01-01.yaml
|
||||
resolver: lts-15.12
|
||||
resolver: lts-18.13
|
||||
|
||||
# User packages to be built.
|
||||
# Various formats can be used as shown in the example below.
|
|
@ -0,0 +1,66 @@
|
|||
# Resolver to choose a 'specific' stackage snapshot or a compiler version.
|
||||
# A snapshot resolver dictates the compiler version and the set of packages
|
||||
# to be used for project dependencies. For example:
|
||||
#
|
||||
# resolver: lts-3.5
|
||||
# resolver: nightly-2015-09-21
|
||||
# resolver: ghc-7.10.2
|
||||
#
|
||||
# The location of a snapshot can be provided as a file or url. Stack assumes
|
||||
# a snapshot provided as a file might change, whereas a url resource does not.
|
||||
#
|
||||
# resolver: ./custom-snapshot.yaml
|
||||
# resolver: https://example.com/snapshots/2018-01-01.yaml
|
||||
resolver: lts-16.31
|
||||
|
||||
# User packages to be built.
|
||||
# Various formats can be used as shown in the example below.
|
||||
#
|
||||
# packages:
|
||||
# - some-directory
|
||||
# - https://example.com/foo/bar/baz-0.0.2.tar.gz
|
||||
# subdirs:
|
||||
# - auto-update
|
||||
# - wai
|
||||
packages:
|
||||
- .
|
||||
# The following packages have been ignored due to incompatibility with the
|
||||
# resolver compiler, dependency conflicts with other packages
|
||||
# or unsatisfied dependencies.
|
||||
#- .
|
||||
|
||||
# Dependency packages to be pulled from upstream that are not in the resolver.
|
||||
# These entries can reference officially published versions as well as
|
||||
# forks / in-progress versions pinned to a git hash. For example:
|
||||
#
|
||||
# extra-deps:
|
||||
# - acme-missiles-0.3
|
||||
# - git: https://github.com/commercialhaskell/stack.git
|
||||
# commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a
|
||||
#
|
||||
extra-deps:
|
||||
- barbies-2.0.2.0
|
||||
|
||||
# Override default flag values for local packages and extra-deps
|
||||
# flags: {}
|
||||
|
||||
# Extra package databases containing global packages
|
||||
# extra-package-dbs: []
|
||||
|
||||
# Control whether we use the GHC we find on the path
|
||||
# system-ghc: true
|
||||
#
|
||||
# Require a specific version of stack, using version ranges
|
||||
# require-stack-version: -any # Default
|
||||
# require-stack-version: ">=2.1"
|
||||
#
|
||||
# Override the architecture used by stack, especially useful on Windows
|
||||
# arch: i386
|
||||
# arch: x86_64
|
||||
#
|
||||
# Extra directories used by stack for building
|
||||
# extra-include-dirs: [/path/to/dir]
|
||||
# extra-lib-dirs: [/path/to/dir]
|
||||
#
|
||||
# Allow a newer minor version of GHC than the snapshot specifies
|
||||
# compiler-check: newer-minor
|
|
@ -0,0 +1,100 @@
|
|||
# This file was automatically generated by 'stack init'
|
||||
#
|
||||
# Some commonly used options have been documented as comments in this file.
|
||||
# For advanced use and comprehensive documentation of the format, please see:
|
||||
# https://docs.haskellstack.org/en/stable/yaml_configuration/
|
||||
|
||||
# Resolver to choose a 'specific' stackage snapshot or a compiler version.
|
||||
# A snapshot resolver dictates the compiler version and the set of packages
|
||||
# to be used for project dependencies. For example:
|
||||
#
|
||||
# resolver: lts-3.5
|
||||
# resolver: nightly-2015-09-21
|
||||
# resolver: ghc-7.10.2
|
||||
#
|
||||
# The location of a snapshot can be provided as a file or url. Stack assumes
|
||||
# a snapshot provided as a file might change, whereas a url resource does not.
|
||||
#
|
||||
# resolver: ./custom-snapshot.yaml
|
||||
# resolver: https://example.com/snapshots/2018-01-01.yaml
|
||||
resolver:
|
||||
compiler: ghc-8.8.1
|
||||
|
||||
# User packages to be built.
|
||||
# Various formats can be used as shown in the example below.
|
||||
#
|
||||
# packages:
|
||||
# - some-directory
|
||||
# - https://example.com/foo/bar/baz-0.0.2.tar.gz
|
||||
# subdirs:
|
||||
# - auto-update
|
||||
# - wai
|
||||
packages:
|
||||
# The following packages have been ignored due to incompatibility with the
|
||||
# resolver compiler, dependency conflicts with other packages
|
||||
# or unsatisfied dependencies.
|
||||
- .
|
||||
|
||||
# Dependency packages to be pulled from upstream that are not in the resolver.
|
||||
# These entries can reference officially published versions as well as
|
||||
# forks / in-progress versions pinned to a git hash. For example:
|
||||
#
|
||||
# extra-deps:
|
||||
# - acme-missiles-0.3
|
||||
# - git: https://github.com/commercialhaskell/stack.git
|
||||
# commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a
|
||||
#
|
||||
extra-deps:
|
||||
- bifunctors-5.5.5@sha256:e89def05aa5a9c729435592c11a35b54747558b1ec15c7283c7d61df03873ab6,3300
|
||||
- deque-0.4.2.3@sha256:7cc8ddfc77df351ff9c16e838ccdb4a89f055c80a3111e27eba8d90e8edde7d0,1853
|
||||
- extra-1.6.18@sha256:5f1fff126f0ae47b701fff5aa8462dc63cb44465d5a724b0afd20a3d731903af,2705
|
||||
- free-5.1.2@sha256:cd57d8cbaf8ef37620219095694b83e3b3baf3b06e1c59f422a4954d3a5f4c42,4116
|
||||
- microlens-0.4.11.2@sha256:765ec5cdd12a459e65161f0e3cdbce84652bf634d62af3911ba24e4bf8d4d944,4455
|
||||
- microlens-th-0.4.3.2@sha256:dd09aa02b7dc235a91b1e9ea6cd4be2f24c74ef067bc4e5fa2a5453c8b999d2c,2199
|
||||
- multistate-0.8.0.2@sha256:fbb0d8ade9ef73c8ed92488f5804d0ebe75d3a9c24bf53452bc3a4f32b34cb2e,3713
|
||||
- unsafe-0.0@sha256:93e58ac9aa1f4f9c50e12662a211f6c0b6f28b65c570ff17359851451c9bcb3a,1851
|
||||
- void-0.7.3@sha256:13d30f62fcdf065e595d679d4ac8b4b0c1bb1a1b73db7b5b5a8f857cb5c8a546,1857
|
||||
- base-orphans-0.8.1@sha256:defd0057b5db93257528d89b5b01a0fee9738e878c121c686948ac4aa5dded63,2927
|
||||
- clock-0.8@sha256:b4ae207e2d3761450060a0d0feb873269233898039c76fceef9cc1a544067767,4113
|
||||
- comonad-5.0.5@sha256:b33bc635615647916e374a27e96c3de4df390684001eab6291283471cd3a9b62,3345
|
||||
- distributive-0.6@sha256:26507cf231eb10db1eb54bc358477418ce87d5077ff76c66743925fb49494b54,3018
|
||||
- exceptions-0.10.3@sha256:6e8e66f3acf2ea59f9e100c55a885591c1981789ac2222022ff523c30990efb8,2251
|
||||
- monad-control-1.0.2.3@sha256:a3ae888d2fed2e2a0ca33ae11e2480219e07312bccf1a02ffe2ba2e3ec5913ee,2255
|
||||
- profunctors-5.4@sha256:545fdbc05131fa29e6612e915ec5d4dadfbcf3a6def86c8b95ca26593b21b259,2073
|
||||
- semigroupoids-5.3.3@sha256:260b62cb8539bb988e7f551f10a45ef1c81421c0d79010e9bde9321bad4982a7,7363
|
||||
- semigroups-0.19.1@sha256:ecae129621e0d2f77bef2f01e4458c2e0567ab6e1f39579c61d7cec8058ebb0e,6262
|
||||
- strict-list-0.1.4@sha256:0fa869e2c21b710b7133e8628169f120fe6299342628edd3d5087ded299bc941,1631
|
||||
- tagged-0.8.6@sha256:7093ee39c9779beeacffa4b0035a0e8a25da16afcd1c1a876930207fb8e31d1c,2606
|
||||
- th-abstraction-0.3.1.0@sha256:96042f6658f2dccfac03b33f0fd59f62b1f65b9b0a765d8a2ea6026f4081ee4a,1838
|
||||
- transformers-base-0.4.5.2@sha256:e4d8155470905ba2942033a1537fc4cf91927d1c9b34693fd57ddf3bc02334af,1550
|
||||
- cabal-doctest-1.0.7@sha256:2a9d524b9593fc5054c0bcfda9aeaffd4203f3663b77fab57db35ddd48ce6ad3,1573
|
||||
- contravariant-1.5.2@sha256:853259271870000c007a281f0bf0bf6e1aaa97c5fd5cd5734d7b0d79b9de2af5,2761
|
||||
- hashable-1.3.0.0@sha256:7ad8edaa681e81162ddddb4d703a9cffe6a0c9ddcfede31cf6569507ed3f1ddb,5179
|
||||
- transformers-compat-0.6.5@sha256:50b00c57bf3fc379ec2477bfc261a2aebc983084488478adb29854f193af4696,5490
|
||||
- unordered-containers-0.2.10.0@sha256:5e9b095a9283d9e2f064fec73a81a6b6ea0b7fda3f219a8175785d2d2a3de204,5199
|
||||
- StateVar-1.2@sha256:9ab3e4a0e252d28bc2f799c83e0725c3e23e8d3b722cff0fdb9822e64b6c16ac,1413
|
||||
|
||||
allow-newer: True
|
||||
# Override default flag values for local packages and extra-deps
|
||||
# flags: {}
|
||||
|
||||
# Extra package databases containing global packages
|
||||
# extra-package-dbs: []
|
||||
|
||||
# Control whether we use the GHC we find on the path
|
||||
# system-ghc: true
|
||||
#
|
||||
# Require a specific version of stack, using version ranges
|
||||
# require-stack-version: -any # Default
|
||||
# require-stack-version: ">=2.1"
|
||||
#
|
||||
# Override the architecture used by stack, especially useful on Windows
|
||||
# arch: i386
|
||||
# arch: x86_64
|
||||
#
|
||||
# Extra directories used by stack for building
|
||||
# extra-include-dirs: [/path/to/dir]
|
||||
# extra-lib-dirs: [/path/to/dir]
|
||||
#
|
||||
# Allow a newer minor version of GHC than the snapshot specifies
|
||||
# compiler-check: newer-minor
|
Loading…
Reference in New Issue