# Maintainer: Olliver Schinagl pkgname=shellcheck pkgver=0.7.0 pkgrel=0 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 e0e4b5c5ad599c6fb01bc1d6877fad9f58f24ed56f87411ba03dfbde5804d5ddaf66c787f333c33248aea7a7f19b78e896d1b0a71dae3e0adb4bfe15bb22a3d5 cabal.config"