-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathgnatcoll.anod
55 lines (45 loc) · 1.45 KB
/
gnatcoll.anod
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
from e3.os.fs import unixpath
from e3.anod.helper import Make
from e3.anod.spec import Anod
from e3.anod.loader import spec
import os
class GNATcoll(spec("common")):
@property
def version(self):
return "24.0.0"
@property
def tarball(self):
return "gnatcoll-core-%s.tar.gz" % self.version
@property
def source_pkg_build(self):
return [
self.HTTPSSourceBuilder(
name=self.tarball,
url="https://github.com/AdaCore/gnatcoll-core/archive/v%s.tar.gz"
% self.version,
)
]
@property
def build_source_list(self):
return [Anod.Source(name=self.tarball, publish=True, dest="")]
@property
def build_deps(self):
return [
Anod.Dependency("base_gcc", track=True),
Anod.Dependency("gprbuild", track=True),
Anod.Dependency("xmlada", track=True),
Anod.Dependency("libgpr", track=True),
]
@Anod.primitive()
def build(self):
for m in self.deps:
self.deps[m].setenv()
make = Make(self, makefile=os.path.join(self["SRC_DIR"], "Makefile"), jobs=1)
make.set_var("PROCESSORS", str(self.jobs))
make.set_var("prefix", unixpath(self["INSTALL_DIR"]))
make.set_var("ENABLE_SHARED", "yes")
make.set_var("INTEGRATED", "no")
make.set_var("BUILD", "PROD")
make()
make("install")
self.clean()