summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 2a2ec25093070a70047a19d21d48fc95481e2242 (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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
# Maintainer: xiretza <xiretza+aur@gmail.com>
# Maintainer: Rod Kay   <charlie5 on #ada at freenode.net>

pkgname=libadalang
_libadalang_ver=2020-20200429-19982
_langkit_ver=2020-20200429-19994
pkgver=2020
pkgrel=1
pkgdesc="A high performance semantic engine for the Ada programming language."

arch=('i686' 'x86_64')
url="https://github.com/AdaCore/libadalang"
license=('GPL')

depends=("gnatcoll-core" "gnatcoll-iconv" "gnatcoll-gmp")
makedepends=('gprbuild' 'python2-virtualenv' 'python2-setuptools')

_libadalang_checksum=b08f8035da44c241348f8b597dbdaf95a4d43cc7
_langkit_checksum=842969ffaa118d71e1efc466383f1c0cf663c464
source=("libadalang-$_libadalang_ver-src.tar.gz::https://community.download.adacore.com/v1/${_libadalang_checksum}?filename=libadalang-$_libadalang_ver-src.tar.gz"
        "langkit-$_langkit_ver-src.tar.gz::https://community.download.adacore.com/v1/${_langkit_checksum}?filename=langkit-$_langkit_ver-src.tar.gz")
noextract=()
sha1sums=("$_libadalang_checksum"
          "$_langkit_checksum")
sha256sums=('SKIP'
            'SKIP')

# This is an absolutely ugly hack to install all the python2 build dependencies
# (most of them have been dropped from repos and getting them into the AUR just
# for this package would be way too much effort). It works because they are
# only required for building, not at runtime - so they are fetched as sources
# and then installed in the build environment with pip (in a virtualenv).
#
# These variable assignments are generated from the libadalang REQUIREMENTS.dev
# using the attached gen_PKGBUILD_sources.sh script.
source+=(
	https://files.pythonhosted.org/packages/8e/a4/aa56533ecaa5f22ca92428f74e074d0c9337282933c722391902c8f9e0f8/Mako-1.0.1.tar.gz
	https://files.pythonhosted.org/packages/75/5e/b84feba55e20f8da46ead76f14a3943c8cb722d40360702b2365b91dec00/PyYAML-3.11.tar.gz
	https://files.pythonhosted.org/packages/63/2c/0a30c391708f827039be5569164ed039b1e46906a4bff5a348b0abe2945e/Sphinx-1.3.1-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/09/4f/89b06c7fdc09687bca507dc411c342556ef9c5a3b26756137a4878ff19bf/coverage-3.7.1.tar.gz
	https://files.pythonhosted.org/packages/51/c8/cb8a7f460e215e2de4b7d4d1186e661f0c6f452d146e08cfde68997953cc/e3_core-21.0.0-py2-none-any.whl
	https://files.pythonhosted.org/packages/0c/4e/1ea357e7783c756bb579333c1e4a026fb331371ee771f616ffedc781e531/enum-0.4.6.tar.gz
	https://files.pythonhosted.org/packages/6f/e9/08fd439384b7e3d613e75a6c8236b8e64d90c47d23413493b38d4229a9a5/enum34-1.1.2.tar.gz
	https://files.pythonhosted.org/packages/7b/58/2675697b6831e6ac4b7b7bc4e5dcdb24a2f39f8411186573eb0de16eb6d5/psutil-3.4.2.tar.gz
	https://files.pythonhosted.org/packages/1d/84/405b43b2c15bb61fcbd23416837ca7f18e261c56c64453923725e8160aa6/sphinx_rtd_theme-0.1.9-py2-none-any.whl
	https://files.pythonhosted.org/packages/1e/92/3d3cfd987ff1eea1b669dc525ef6ae8e8bbe9a82a72c4185ee77db84eed1/funcy-1.7.1.tar.gz
	https://files.pythonhosted.org/packages/37/38/ceda70135b9144d84884ae2fc5886c6baac4edea39550f28bcd144c1234d/docutils-0.12.tar.gz
	https://files.pythonhosted.org/packages/cc/37/669e64656240d1cbcf375731abc52440ff77ae7184f702aae031e381c8ea/autopep8-1.2.4-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/1d/76/d87a9a974b31eb72a243206f06bbdb2098618042c4a862ee5faf7967b05f/yapf-0.16.0-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/fb/40/f3adb7cf24a8012813c5edb20329eb22d5d8e2a0ecf73d21d6b85865da11/MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl
	https://files.pythonhosted.org/packages/be/39/32da3184734730c0e4d3fa3b2b5872104668ad6dc1b5a73d8e477e5fe967/Pygments-2.5.2-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/30/9e/f663a2aa66a09d838042ae1a2c5659828bb9b41ea3a6efa20a20fd92b121/Jinja2-2.11.2-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/15/a1/522dccd23e5d2e47aed4b6a16795b8213e3272c7506e625f2425ad025a19/Babel-2.8.0-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/ee/ff/48bde5c0f013094d729fe4b0316ba2a24774b3ff1c52d924a8a4cb04078a/six-1.15.0-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/10/ad/00b090d23a222943eb0eda509720a404f531a439e803f6538f35136cae9e/alabaster-0.7.12-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/7d/4b/cdf1113a0e88b641893b814e9c36f69a6fda28cd88b62c7f0d858cde3166/snowballstemmer-2.0.0-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/d4/70/d60450c3dd48ef87586924207ae8907090de0b306af2bce5d134d78615cb/python_dateutil-2.8.1-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/c9/dc/45cdef1b4d119eb96316b3117e6d5708a08029992b2fee2c143c7a0a5cc5/colorama-0.4.3-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/ab/42/3ad1c15d88b9b522058d436457a72f1544175b39b00442f4c93980261ff4/ld-0.5.0.tar.gz
	https://files.pythonhosted.org/packages/1a/70/1935c770cb3be6e3a8b78ced23d7e0f3b187f5cbfab4749523ed65d7c9b1/requests-2.23.0-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/c9/40/058b12e8ba10e35f89c9b1fdfc2d4c7f8c05947df2d5eb3c7b258019fda0/tqdm-4.46.0-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/60/ef/7681134338fc097acef8d9b2f8abe0458e4d87559c689a8c306d0957ece5/requests_toolbelt-0.9.1-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/e6/49/a35dd566626892d577e426dbe5ea424dd7fbe10645f2c1070dcba474eca9/stevedore-1.32.0-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/7e/02/ad1a92a72620cc17d448fe4dbdfbdf8fe1487ee7bfd82bb48308712c2f3c/netifaces-0.10.9-cp27-cp27mu-manylinux1_x86_64.whl
	https://files.pythonhosted.org/packages/42/3f/669429ce58de2c22d8d2c542752e137ec4b9885fff398d3eceb1a7f5acb4/pep8-1.7.1-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/4f/a4/879454d49688e2fad93e59d7d4efda580b783c745fd2ec2a3adf87b0808d/pytz-2020.1-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/e1/e5/df302e8017440f111c11cc41a6b432838672f5a70aa29227bf58149dc72f/urllib3-1.25.9-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/57/2b/26e37a4b034800c960a00c4e1b3d9ca5d7014e983e6e729e33ea2f36426c/certifi-2020.4.5.1-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/89/e3/afebe61c546d18fb1709a61bee788254b40e736cff7271c7de5de2dc4128/idna-2.9-py2.py3-none-any.whl
	https://files.pythonhosted.org/packages/96/ba/aa953a11ec014b23df057ecdbc922fdb40ca8463466b1193f3367d2711a6/pbr-5.4.5-py2.py3-none-any.whl
)
noextract+=(
	Mako-1.0.1.tar.gz
	PyYAML-3.11.tar.gz
	Sphinx-1.3.1-py2.py3-none-any.whl
	coverage-3.7.1.tar.gz
	e3_core-21.0.0-py2-none-any.whl
	enum-0.4.6.tar.gz
	enum34-1.1.2.tar.gz
	psutil-3.4.2.tar.gz
	sphinx_rtd_theme-0.1.9-py2-none-any.whl
	funcy-1.7.1.tar.gz
	docutils-0.12.tar.gz
	autopep8-1.2.4-py2.py3-none-any.whl
	yapf-0.16.0-py2.py3-none-any.whl
	MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl
	Pygments-2.5.2-py2.py3-none-any.whl
	Jinja2-2.11.2-py2.py3-none-any.whl
	Babel-2.8.0-py2.py3-none-any.whl
	six-1.15.0-py2.py3-none-any.whl
	alabaster-0.7.12-py2.py3-none-any.whl
	snowballstemmer-2.0.0-py2.py3-none-any.whl
	python_dateutil-2.8.1-py2.py3-none-any.whl
	colorama-0.4.3-py2.py3-none-any.whl
	ld-0.5.0.tar.gz
	requests-2.23.0-py2.py3-none-any.whl
	tqdm-4.46.0-py2.py3-none-any.whl
	requests_toolbelt-0.9.1-py2.py3-none-any.whl
	stevedore-1.32.0-py2.py3-none-any.whl
	netifaces-0.10.9-cp27-cp27mu-manylinux1_x86_64.whl
	pep8-1.7.1-py2.py3-none-any.whl
	pytz-2020.1-py2.py3-none-any.whl
	urllib3-1.25.9-py2.py3-none-any.whl
	certifi-2020.4.5.1-py2.py3-none-any.whl
	chardet-3.0.4-py2.py3-none-any.whl
	idna-2.9-py2.py3-none-any.whl
	pbr-5.4.5-py2.py3-none-any.whl
)
sha1sums+=(
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
	SKIP
)
sha256sums+=(
	45f0869febea59dab7efd256fb451c377cbb7947bef386ff0bb44627c31a8d1c
	c36c938a872e5ff494938b33b14aaa156cb439ec67548fcab3535bb78b0846e8
	2ddf18da3b0621fa43fee4b7290da0ae789b46fb899278a8acccda195c4979a7
	d1aea1c4aa61b8366d6a42dd3650622fbf9c634ed24eaf7f379c8b970e5ed44e
	186e994de1f06fcc688f7d685ea77fb7551402735b8e5b285825b93faa553d62
	54e78526b166982b36884613f35a76d9a6711c49810d3ec1a05b10c9b31f938e
	2475d7fcddf5951e92ff546972758802de5260bf409319a9f1934e6bbc8b1dc7
	b17fa01aa766daa388362d0eda5c215d77e03a8d37676b68971f37bf3913b725
	3c38d037713bd78043486eea5bf771d71ed697ec25c09e16f49e44887f7fe184
	cc66a1f614c049d77481a7da94f6aca7ba958a97d6a16e47b58c3d60f8f14612
	c7db717810ab6965f66c8cf0398a98c9d8df982da39b4cd7f162911eb89596fa
	a2ab1a03a58c8d664ee875ca73d5b96b7135c13863e9aad4b64b888acdeb619b
	3a3c2c6e70a5d4fd2acbc290de7aaa64c6a65efd63a476c44a875eb1b2eef606
	43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1
	2a3fe295e54a20164a9df49c75fa58526d3be48e14aceba6d6b1e8ac0bfd6f1b
	f0a4641d3cf955324a89c04f3d94663aa4d638abe8f733ecd3582848e1c37035
	d670ea0b10f8b723672d3a6abeb87b565b244da220d76b4dba1b66269ec152d4
	8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced
	446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359
	209f257d7533fdb3cb73bdbd24f436239ca3b2fa67d56f6ff88e86be08cc5ef0
	75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a
	7d73d2a99753107a36ac6b455ee49046802e59d9d076ef8e47b61499fa29afff
	e58798bdff61b214d7dc026eee43952f866800653315b20b4a64cf97cb6d9ecc
	43999036bfa82904b6af1d99e4882b560e5e2c68e5c4b0aa03b655f3d7d73fee
	acdafb20f51637ca3954150d0405ff1a7edde0ff19e38fb99a80a66210d2a28f
	380606e1d10dc85c3bd47bf5a6095f815ec007be7a8b69c878507068df059e6f
	a4e7dc759fb0f2e3e2f7d8ffe2358c19d45b9b8297f393ef1256858d82f69c9b
	4921ed406386246b84465950d15a4f63480c1458b0979c272364054b29d73084
	b22cfae5db09833bb9bd7c8463b53e1a9c9b39f12e304a8d0bba729c501827ee
	a494d53b6d39c3c6e44c3bec237336e14305e4f29bbf800b599253057fbb79ed
	88206b0eb87e6d677d424843ac5209e3fb9d0190d0ee169599165ec25e9d9115
	1d987a998c75633c40847cc966fcf5904906c920a7f17ef374f5aa4282abd304
	fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691
	a068a21ceac8a4d63dbfd964670474107f541babbd2250d61922f029858365fa
	579170e23f8e0c2f24b0de612f71f648eccb79fb1322c814ae6b3c07b5ba23e8
)

prepare()
{
  cd "$srcdir/libadalang-$_libadalang_ver-src"
  virtualenv2 "$srcdir/venv"

  (
    source "$srcdir/venv/bin/activate"
    pip install --no-index --find-links "$srcdir" -r <(grep -v langkit REQUIREMENTS.dev)
  )
}

build() 
{
  cd "$srcdir/libadalang-$_libadalang_ver-src"

  (
    source "$srcdir/venv/bin/activate"

    export PYTHONPATH="$srcdir/langkit-$_langkit_ver-src:$PYTHONPATH"

    python2 ada/manage.py generate
    python2 ada/manage.py build --build-mode=prod --gargs="-R -cargs $CFLAGS -largs $LDFLAGS -gargs"
  )
}


package()
{
  cd "$srcdir/libadalang-$_libadalang_ver-src"

  (
    source "$srcdir/venv/bin/activate"

    export PYTHONPATH="$srcdir/langkit-$_langkit_ver-src:$PYTHONPATH"

    python2 ada/manage.py install --build-mode=prod "$pkgdir/usr"
  )

  # Install the Python binding
  # Has to happen outside virtualenv
  cd build/python
  python2 setup.py install --root="$pkgdir"

  rm -fr "$pkgdir/usr/python"

  # Fix ocaml bindings location
  mkdir -p "$pkgdir/usr/lib/ocaml/"
  mv "$pkgdir/usr/ocaml" "$pkgdir/usr/lib/ocaml/libadalang"
}