summaryrefslogtreecommitdiff
path: root/libre/antlr2/PKGBUILD
blob: 49dbd22266d1f05032d597aa97e11813d88b74d9 (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
96
97
98
99
100
101
102
103
# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
# Maintainer (Arch): Andrea Scarpino <andrea@archlinux.org>
# Contributor (Arch): George Giorgidze <giorgidze (at) gmail.com>
# Contributor (Arch): Stefan Husmann <stefan-husmann@t-online.de>

pkgbase=antlr2
pkgname=(antlr2 antlr2-{java,python2,cxx,sharp})
pkgver=2.7.7
pkgdesc="Another Tool for Language Recognition"
url="http://www.antlr2.org/"
license=('custom:Public Domain')

pkgrel=6.1 # newer than Arch's 2.7.7-6
arch=('i686' 'x86_64')
options=('staticlibs')
makedepends=('java-environment' 'python2' 'bash' 'nant' 'jh')

source=("http://www.antlr2.org/download/antlr-${pkgver}.tar.gz"
	"http://repo.maven.apache.org/maven2/antlr/antlr/$pkgver/antlr-$pkgver.pom"
	'runantlr2.sh' 'gcc4.4.patch' 'mono.patch')
md5sums=('01cc9a2a454dd33dcd8c856ec89af090'
         '78af3de823003f6d8dded39c70bc30ae'
         '05cb34ec96d85fca430dda91c3200ba4'
         '158677e4c0f357afbb56656231a54815'
         '0d1960d27ff81f2fea0dd35a8290216f')

prepare() {
  cd "${srcdir}/antlr-${pkgver}"
  patch -Np1 -i "${srcdir}"/gcc4.4.patch
  patch -Np1 -i "${srcdir}"/mono.patch
}

build() {
  cd "${srcdir}/antlr-${pkgver}"

  ./configure --prefix=/usr --disable-examples
  make -j1

  cd lib/csharp
  nant release
}

_install_license() {
  install -Dm644 "$srcdir"/antlr-${pkgver}/LICENSE.txt \
    "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}

package_antlr2() {
  depends=('bash' 'antlr2-java')

  install -Dm755 "$srcdir"/runantlr2.sh "$pkgdir"/usr/bin/runantlr2
  _install_license
}

package_antlr2-java() {
  pkgdesc+=" (Java version)"
  depends=('java-runtime')

  provides=("java-antlr2=$pkgver")
  conflicts=("java-antlr2")
  replaces=("java-antlr2")

  DESTDIR="$pkgdir" jh mvn-install antlr antlr $pkgver \
    "$srcdir"/antlr-${pkgver}.pom \
    "$srcdir"/antlr-${pkgver}/antlr/antlr.jar \
    antlr2.jar

  _install_license
}

package_antlr2-python2() {
  pkgdesc+=" (Python version)"
  depends=('python2')

  provides=("python2-antlr2=$pkgver")
  conflicts=("python2-antlr2")
  replaces=("python2-antlr2")

  cd "$srcdir"/antlr-${pkgver}/lib/python
  python2 setup.py install --root="${pkgdir}" --optimize=1

  _install_license
}

package_antlr2-cxx() {
  pkgdesc+=" (C++ version)"

  cd "$srcdir"/antlr-${pkgver}/lib/cpp
  make -j1 prefix="${pkgdir}/usr" install

  _install_license
}

package_antlr2-sharp() {
  pkgdesc+=" (C Sharp version)"
  depends=('mono')

  cd "$srcdir"/antlr-${pkgver}/lib/csharp
  install -d "$pkgdir"/usr/share
  make -j1 prefix="${pkgdir}/usr" install

  _install_license
}