git.iko.soy/typeable/stackage2nix
on master help sign in
Build against different stack configs
commit4073691cd70f6fc92498f1c64199b1255c98aad9 authorDmitry Bushev <bushevdv@gmail.com> dateMon 11 Dec 2017, 20:25 (9 years ago) parent137b500
7 files changed+53−16
README.md+10 ci-stackage2nix+8−7 stack-ghc-7103.yaml+22 stack-ghc-802.yaml+7 stack-ghc-821.yaml+4 stack-ghc-822.yaml+1 stack.yaml+1−9
README.md+10
@@ -75,6 +75,16 @@ nix-build -A stackage2nix override.nix
7575
7676For more complex overrides and detailed information on how to work with Haskell packages in Nix, see Nixpkgs manual [User’s Guide to the Haskell Infrastructure](http://nixos.org/nixpkgs/manual/#users-guide-to-the-haskell-infrastructure)
7777
78+## Tests
79+
80+Integration tests that check generation of stackage packages versus different stack configs:
81+
82+```
83+STACKAGE_REPO=<path/to/stackage/repo> \
84+ALL_CABAL_HASHES=<path/to/all-cabal-hashes/repo> \
85+STACK_FILE=stack-ghc-7103.yaml \
86+./ci-stackage2nix
87+```
7888
7989## Examples
8090
ci-stackage2nix+8−7
@@ -3,22 +3,23 @@
33set -e
44
55STACKAGE2NIX_WORK_DIR=${STACKAGE2NIX_WORK_DIR:-$HOME}
6−LTS_HASKELL_DIR=${LTS_HASKELL_DIR:-$STACKAGE2NIX_WORK_DIR/lts-haskell}
6+STACKAGE_REPO=${STACKAGE_REPO:-$STACKAGE2NIX_WORK_DIR/lts-haskell}
77ALL_CABAL_HASHES_DIR=${ALL_CABAL_HASHES_DIR:-$STACKAGE2NIX_WORK_DIR/all-cabal-hashes}
8+STACK_FILE=${STACK_FILE:-.}
89
9−if [ ! -d "$LTS_HASKELL_DIR" ]; then
10− git clone --depth 1 https://github.com/fpco/lts-haskell.git "$LTS_HASKELL_DIR"
10+if [ ! -d "$STACKAGE_REPO" ]; then
11+ git clone --depth 1 https://github.com/fpco/lts-haskell.git "$STACKAGE_REPO"
1112fi
1213
1314if [ ! -d "$ALL_CABAL_HASHES_DIR" ]; then
14− git clone --depth 1 --branch hackage https://github.com/commercialhaskell/all-cabal-hashes.git "$ALL_CABAL_HASHES_DIR"
15+ git clone --branch hackage https://github.com/commercialhaskell/all-cabal-hashes.git "$ALL_CABAL_HASHES_DIR"
1516fi
1617
1718set -x
1819stack exec -- stackage2nix \
19− --lts-haskell "$LTS_HASKELL_DIR" \
20+ --lts-haskell "$STACKAGE_REPO" \
2021 --all-cabal-hashes "$ALL_CABAL_HASHES_DIR" \
2122 --hackage-db "$HOME/.cabal/packages/hackage.haskell.org/01-index.tar" \
22− .
23+ "$STACK_FILE"
2324
24−nix-build -A stackage2nix "$@"
25+nix-build -o "result-$(basename $STACK_FILE)" -A stackage2nix "$@"
stack-ghc-7103.yamlnew file+22
@@ -0,0 +1,22 @@
1+resolver: lts-6.35
2+extra-deps:
3+ - amazonka-1.4.5
4+ - amazonka-core-1.4.5
5+ - amazonka-s3-1.4.5
6+ - Cabal-2.0.0.2
7+ - cabal2nix-2.5
8+ - chunked-data-0.3.0
9+ - classy-prelude-1.2.0.1
10+ - classy-prelude-conduit-1.2.0
11+ - conduit-combinators-1.1.1
12+ - distribution-nixpkgs-1.1
13+ - hopenssl-2.2.1
14+ - http-client-0.5.7.1
15+ - http-client-tls-0.3.5.1
16+ - http-conduit-2.2.3.2
17+ - mono-traversable-1.0.4.0
18+ - mono-traversable-instances-0.1.0.0
19+ - stackage-curator-0.15.1.0
20+ - store-0.4.3.2
21+ - store-core-0.4.1
22+ - th-utilities-0.2.0.1
stack-ghc-802.yamlnew file+7
@@ -0,0 +1,7 @@
1+resolver: lts-9.17
2+extra-deps:
3+- Cabal-2.0.0.2
4+- cabal2nix-2.5
5+- stackage-curator-0.15.0.0
6+nix:
7+ packages: [icu openssl zlib]
stack-ghc-821.yamlnew file+4
@@ -0,0 +1,4 @@
1+resolver: nightly-2017-11-24
2+extra-deps:
3+ - cabal2nix-2.5
4+ - hackage-db-1.22
stack-ghc-822.yamlnew file+1
@@ -0,0 +1 @@
1+resolver: nightly-2017-12-08
stack.yamlmode 100644 → 120000+1−9
@@ -1,9 +0,0 @@
1−resolver: lts-9.1
2−packages:
3−- '.'
4−extra-deps:
5−- Cabal-2.0.0.2
6−- cabal2nix-2.5
7−- stackage-curator-0.15.0.0
8−nix:
9− packages: [icu openssl zlib]
@@ -0,0 +1 @@
1+stack-ghc-802.yaml