blob: dc2b4bde957a31522f77cfc0973f1e952c013ef5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
# Maintainer: Olliver Schinagl <oliver@schinagl.nl>
pkgname=shellcheck
pkgver=0.7.0
pkgrel=1
pkgdesc="a static analysis tool for shell scripts"
url="https://github.com/koalaman/shellcheck"
arch="x86_64" # Limited by GHC / Cabal
license="GPL-3.0"
makedepends="cabal ghc"
subpackages="$pkgname-doc"
source="
$pkgname-$pkgver.tar.gz::https://github.com/koalaman/shellcheck/archive/v$pkgver.tar.gz
cabal.config
"
_cabal_home="$srcdir/dist"
cabal_update() {
msg "Freezing $pkgname dependencies"
# Resolve deps and generate fresh cabal.config with version constraints.
HOME="$_cabal_home" cabal update
(
cd "$builddir"
unlink "cabal.config"
HOME="$_cabal_home" cabal freeze --shadow-installed-packages
# Add version tag at the first line.
sed -i "1i--$pkgver" "cabal.config"
mv "cabal.config" "$startdir/"
)
if ! abuild checksum; then
die "Failed to update checksum, run 'abuild checksum' manually"
fi
}
prepare() {
default_prepare
if [ "$(head -n 1 "$srcdir/cabal.config")" != "--$pkgver" ]; then
die "Requirements file is outdated, run 'abuild cabal_update'"
fi
ln -sf "$srcdir/cabal.config" "$builddir/cabal.config"
}
build() {
HOME="$_cabal_home" cabal update
HOME="$_cabal_home" cabal install \
--disable-documentation \
--only-dependencies
HOME="$_cabal_home" cabal configure \
--prefix='/usr' \
--bindir='$prefix/bin' \
--docdir='$prefix/share/doc' \
--datadir='$prefix/share' \
--htmldir='$docdir/html' \
--libdir='$prefix/lib' \
--libsubdir="$pkgname" \
--datasubdir="$pkgname" \
--dynlibdir="$pkgname" \
--sysconfdir='/etc' \
--disable-library-profiling \
--disable-profiling \
--disable-shared \
--enable-executable-stripping \
--flags='GMP FFI standalone'
HOME="$_cabal_home" cabal build
}
check() {
_test_script="$(mktemp)"
{
echo "#!/bin/sh"
echo
echo "exit 0"
} > "${_test_script}"
trap 'rm "$_test_script"' EXIT
"$builddir/dist/build/$pkgname/$pkgname" "$_test_script"
trap - EXIT
rm "${_test_script}"
}
package() {
HOME="$_cabal_home" cabal copy --destdir="$pkgdir"
rm -r "$pkgdir/usr/lib/$pkgname"
mkdir -p "$pkgdir/usr/share/doc/$pkgname"
mv "$pkgdir/usr/share/doc/LICENSE" "$pkgdir/usr/share/doc/$pkgname"
}
sha512sums="46ef486dff09bd51bdc5f053b1dda9e3f2943c66bbf6788824ddf8fcf3b69b7a3a9c00bf98bca0dee9d57ee6df833ca4088252dbf773815248be0fa667f35215 shellcheck-0.7.0.tar.gz
0107fd97537abd1d36e9ac049c57202967f74444c6ac12e4a253f4248a9128f32f4dedd1fce6c37b3210404586dc46d70f34739bc7b6d3fb2a7cbd164fea58e9 cabal.config"
|