Skip to content

Commit f612ea8

Browse files
committed
sdist-with-bounds.sh: support sub-packages
1 parent 516dd8f commit f612ea8

File tree

1 file changed

+26
-25
lines changed

1 file changed

+26
-25
lines changed

etc/scripts/sdist-with-bounds.sh

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,44 +2,45 @@
22
#TODO: move this logic into `stack --pvp-bounds`
33
set -eu -o pipefail
44

5+
rootdir="$(cd "$(dirname "$0")/../.."; pwd)"
56
stackbin=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
910
else
10-
midyaml=stack.yaml
11+
midyaml=$rootdir/stack.yaml
1112
fi
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
1415
else
15-
upperyaml=stack.yaml
16+
upperyaml=$rootdir/stack.yaml
1617
fi
1718
pkgyaml=package.yaml
1819
pkgyamlorig=$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/")"
2323
defaultdist="$("$stackbin" path --dist-dir)"
2424
lowerdist="$("$stackbin" --stack-yaml="$loweryaml" path --dist-dir)"
2525
middist="$("$stackbin" --stack-yaml="$midyaml" path --dist-dir)"
2626
upperdist="$("$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

4142
mv "$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
4344
cp "$pkgyamlorig" "$pkgyaml"
4445

4546
while read -r line; do
@@ -61,8 +62,8 @@ done <"$lcabal"
6162

6263
"$stackbin" sdist .
6364
echo
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

Comments
 (0)