22# TODO: move this logic into `stack --pvp-bounds`
33set -eu -o pipefail
44
5+ rootdir=" $( cd " $( dirname " $0 " ) /../.." ; pwd) "
56stackbin=stack
6- loweryaml=stack.yaml
7- if [[ -f stack-lts-12.yaml ]]; then
8- midyaml=stack-lts-12.yaml
7+ loweryaml=$rootdir / stack.yaml
8+ if [[ -f $rootdir / stack-lts-12.yaml ]]; then
9+ midyaml=$rootdir / stack-lts-12.yaml
910else
10- midyaml=stack.yaml
11+ midyaml=$rootdir / stack.yaml
1112fi
12- if [[ -f stack-nightly.yaml ]]; then
13- upperyaml=stack-nightly.yaml
13+ if [[ -f $rootdir / stack-nightly.yaml ]]; then
14+ upperyaml=$rootdir / stack-nightly.yaml
1415else
15- upperyaml=stack.yaml
16+ upperyaml=$rootdir / stack.yaml
1617fi
1718pkgyaml=package.yaml
1819pkgyamlorig=$pkgyaml .SDIST-ORIG
1920
20- rm -f stack.cabal
21-
22- ver=" $( grep ' ^version: ' " $pkgyaml " | sed " s/^version: '\(.*\)'$/\1/" ) "
21+ pkgver=" $( grep ' ^version:' " $pkgyaml " | sed " s/^version: *'*\([^']*\)'*$/\1/" ) "
22+ pkgname=" $( grep ' ^name:' " $pkgyaml " | sed " s/^name: *'*\([^']*\)'*$/\1/" ) "
2323defaultdist=" $( " $stackbin " path --dist-dir) "
2424lowerdist=" $( " $stackbin " --stack-yaml=" $loweryaml " path --dist-dir) "
2525middist=" $( " $stackbin " --stack-yaml=" $midyaml " path --dist-dir) "
2626upperdist=" $( " $stackbin " --stack-yaml=" $upperyaml " path --dist-dir) "
2727
28- rm -f " $lowerdist /stack-$ver .tar.gz"
28+ rm -f $pkgname .cabal
29+ rm -f " $lowerdist /$pkgname -$pkgver .tar.gz"
2930" $stackbin " --stack-yaml=" $loweryaml " sdist . --pvp-bounds=both
30- rm -rf " $lowerdist /_lower" && mkdir " $lowerdist /_lower" && (cd " $lowerdist /_lower" && tar xf " ../stack- $ver .tar.gz" )
31- lcabal=" $( echo " $lowerdist /_lower/stack- $ver /stack .cabal" ) "
32- rm -f " $middist /stack- $ver .tar.gz"
31+ rm -rf " $lowerdist /_lower" && mkdir " $lowerdist /_lower" && (cd " $lowerdist /_lower" && tar xf " ../$pkgname - $pkgver .tar.gz" )
32+ lcabal=" $( echo " $lowerdist /_lower/$pkgname - $pkgver / $pkgname .cabal" ) "
33+ rm -f " $middist /$pkgname - $pkgver .tar.gz"
3334" $stackbin " --stack-yaml=" $midyaml " sdist . --pvp-bounds=both
34- rm -rf " $middist /_mid" && mkdir " $middist /_mid" && (cd " $middist /_mid" && tar xf " ../stack- $ver .tar.gz" )
35- mcabal=" $( echo " $middist /_mid/stack- $ver /stack .cabal" ) "
36- rm -f " $upperdist /stack- $ver .tar.gz"
35+ rm -rf " $middist /_mid" && mkdir " $middist /_mid" && (cd " $middist /_mid" && tar xf " ../$pkgname - $pkgver .tar.gz" )
36+ mcabal=" $( echo " $middist /_mid/$pkgname - $pkgver / $pkgname .cabal" ) "
37+ rm -f " $upperdist /$pkgname - $pkgver .tar.gz"
3738" $stackbin " --stack-yaml=" $upperyaml " sdist . --pvp-bounds=both
38- rm -rf " $upperdist /_upper" && mkdir " $upperdist /_upper" && (cd " $upperdist /_upper" && tar xf " ../stack- $ver .tar.gz" )
39- ucabal=" $( echo " $upperdist /_upper/stack- $ver /stack .cabal" ) "
39+ rm -rf " $upperdist /_upper" && mkdir " $upperdist /_upper" && (cd " $upperdist /_upper" && tar xf " ../$pkgname - $pkgver .tar.gz" )
40+ ucabal=" $( echo " $upperdist /_upper/$pkgname - $pkgver / $pkgname .cabal" ) "
4041
4142mv " $pkgyaml " " $pkgyamlorig "
42- trap ' mv "$pkgyamlorig" "$pkgyaml"; rm -f stack .cabal; rm -f "$pkgyaml.sdist-bak"' EXIT
43+ trap ' mv "$pkgyamlorig" "$pkgyaml"; rm -f $pkgname .cabal; rm -f "$pkgyaml.sdist-bak"' EXIT
4344cp " $pkgyamlorig " " $pkgyaml "
4445
4546while read -r line; do
@@ -61,8 +62,8 @@ done <"$lcabal"
6162
6263" $stackbin " sdist .
6364echo
64- cp " $defaultdist /stack- $ver .tar.gz" " _release/stack- $ver -sdist-1.tar.gz"
65- echo " SDIST COPIED TO: _release/stack- $ver -sdist-1.tar.gz"
66- rm -rf " $defaultdist /_both" && mkdir " $defaultdist /_both" && (cd " $defaultdist /_both" && tar xf " ../stack- $ver .tar.gz" )
67- cp " $defaultdist /_both/stack- $ver /stack .cabal" " _release/stack -${ver } _bounds.cabal"
68- echo " CABAL SPEC COPIED TO: _release/stack -${ver } _bounds.cabal"
65+ cp " $defaultdist /$pkgname - $pkgver .tar.gz" " $rootdir / _release/$pkgname - $pkgver -sdist-1.tar.gz"
66+ echo " SDIST COPIED TO: $rootdir / _release/$pkgname - $pkgver -sdist-1.tar.gz"
67+ rm -rf " $defaultdist /_both" && mkdir " $defaultdist /_both" && (cd " $defaultdist /_both" && tar xf " ../$pkgname - $pkgver .tar.gz" )
68+ cp " $defaultdist /_both/$pkgname - $pkgver / $pkgname .cabal" " $rootdir / _release/$pkgname -${pkgver } _bounds.cabal"
69+ echo " CABAL SPEC COPIED TO: $rootdir / _release/$pkgname -${pkgver } _bounds.cabal"
0 commit comments