-
Notifications
You must be signed in to change notification settings - Fork 0
/
build_tarballs.jl
73 lines (59 loc) · 1.77 KB
/
build_tarballs.jl
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
# Note that this script can accept some limited command-line arguments, run
# `julia build_tarballs.jl --help` to see a usage message.
using BinaryBuilder
name = "MuJoCo"
version = v"2.0.0"
# Collection of sources required to build MuJoCo
sources = [
"https://www.roboti.us/download/mujoco200_linux.zip" =>
"ba8560040f6ca47dbd89e4731bc9e06080a99eba4583cda95cdedca802389153",
]
# Bash recipe for building across all platforms
script = raw"""
cd $WORKSPACE/srcdir
cp mujoco200_linux/bin/*.so ${prefix}
exit
"""
# These are the platforms we will build for by default, unless further
# platforms are passed in on the command line
platforms = [
Linux(:x86_64, libc=:glibc)
]
modelfiles = [
"arm26.xml",
"carpet.png",
"cloth.xml",
"grid1pin.xml",
"grid1.xml",
"grid2pin.xml",
"grid2.xml",
"hammock.xml",
"humanoid100.xml",
"humanoid.xml",
"loop.xml",
"marble.png",
"particle.xml",
"rope.xml",
"scene.xml",
"softbox.xml",
"softcylinder.xml",
"softellipsoid.xml",
"sponge.png",
]
modelproducts = (prefix) -> map(modelfiles) do f
FileProduct(prefix, f, Symbol(replace(f, "." => "_")))
end
# The products that we will ensure are always built
products(prefix) = [
LibraryProduct(prefix, "libmujoco200", :libmujoco),
LibraryProduct(prefix, "libglewegl", :libglewegl),
LibraryProduct(prefix, "libglewosmesa", :libglewosmesa),
LibraryProduct(prefix, "libmujoco200nogl", :libmujoconogl),
LibraryProduct(prefix, "libglew", :libglew),
modelproducts(prefix)...
]
# Dependencies that must be installed before this package can be built
dependencies = [
]
# Build the tarballs, and possibly a `build.jl` as well.
build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies)