summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: be9f8aa843f1e66f0c0f648e447009365cc679b3 (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
# Maintainer: George Rawlinson <grawlinson@archlinux.org>

pkgname=cl-esrap
_pkgname="${pkgname#cl-}"
pkgver=0.17.r21.g7588b43
pkgrel=1
pkgdesc='A Packrat/Parsing Grammar/TDPL parser for Common Lisp'
arch=('any')
url='https://scymtym.github.io/esrap/'
license=('MIT')
depends=(
  'common-lisp'
  'cl-asdf'
  'cl-alexandria'
  'cl-trivial-with-current-source-form'
)
makedepends=('git')
checkdepends=('sbcl' 'cl-fiveam')
_commit='7588b430ad7c52f91a119b4b1c9a549d584b7064'
source=(
  "$pkgname::git+https://github.com/scymtym/esrap#commit=$_commit"
  'run-tests.lisp'
)
b2sums=('SKIP'
        '4d8734eeaf99dc51455c53381ba45ec6449bd0895092ed0d30577d86e3f2b89da2aeb49ad0000d222fb14f43d2499562307610409383ccda475d93df64877ce4')

pkgver() {
  cd "$pkgname"

  git describe --tags | sed -e 's/^release-//' -e 's/-/.r/' -e 's/-/./g'
}

prepare() {
  cd "$pkgname"

  # license extraction
  sed -n '/Copyright/,/DEALINGS/p' README.org | \
    sed -r 's/^[ ]*//' \
    > LICENSE
}

check() {
  cd "$pkgname"

  sbcl --script ../run-tests.lisp
}

package() {
  cd "$pkgname"

  # create directories
  install -vd \
    "$pkgdir/usr/share/common-lisp/source/$_pkgname" \
    "$pkgdir/usr/share/common-lisp/systems"

  # library
  cp -vr \
    src test\
    ./*.asd \
    "$pkgdir/usr/share/common-lisp/source/$_pkgname"

  pushd "$pkgdir/usr/share/common-lisp/systems"
  ln -s "../source/$_pkgname"/*.asd .
  popd

  # documentation
  # TODO create more documentation (see doc/)
  install -vDm644 -t "$pkgdir/usr/share/doc/$pkgname" README.org
  cp -vr examples "$pkgdir/usr/share/doc/$pkgname"

  # license
  install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
}