summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: fa3b9d85df98e115faae51d173ffa6a19bc6c0db (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
# Maintainer: Gesh <gesh@gesh.uni.cx>
# Contributor: Dino Morelli <dino@ui3.info>

pkgname=hlint-static-git
_pkgname="${pkgname%-static-git}"
pkgver=3.8.r68.g7dfba720
pkgrel=4
pkgdesc='Haskell source code suggestions'
arch=('i686' 'x86_64')
url="https://github.com/ndmitchell/${_pkgname}"
license=('BSD-3-Clause')
provides=("$_pkgname=${pkgver%%.r*}")
conflicts=("$_pkgname")
depends=('gmp')
makedepends=('git' 'cabal-install' 'ghc' 'curl')
optdepends=('haskell-apply-refact: automatically apply suggested refactorings')
source=("$pkgname::git+$url.git")
sha256sums=('SKIP')

pkgver() {
  cd "$pkgname"
  git describe --tags --long \
    | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}

prepare() {
  cd "$pkgname"

  rts=$(date +@%s --date="$(curl -I http://hackage.haskell.org/01-index.tar |
    awk -F': ' '$1 == "Last-modified" { print $2 }')")
  lts=$(TZ=UTC date +@%s --date='today 00:00')
  ts=$(printf '%s\n' "$rts" "$lts" | sort -n | head -n1)
  cabal update hackage.haskell.org,$ts
  cabal configure --prefix=/usr --docdir=/usr/share/doc/"$pkgname" \
    --enable-tests
  cabal build --only-dependencies
}

build() {
  cd "$pkgname"
  cabal build --offline
}

check() {
  cd "$pkgname"
  cabal run -- hlint --test
}

package() {
  cd "$pkgname"
  mkdir -p "$pkgdir/usr/bin"
  cabal install --install-method=copy --installdir "$pkgdir/usr/bin"
  install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}

# vim:set ts=2 sw=2 et