forked from RigsOfRods/rigs-of-rods
-
Notifications
You must be signed in to change notification settings - Fork 0
/
snapcraft.yaml
149 lines (148 loc) · 5.42 KB
/
snapcraft.yaml
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
name: rigs-of-rods
version: 0.4.8.0
confinement: strict
summary: Rigs of Rods
description: |
Rigs of Rods is a free/libre soft-body physics simulator mainly targeted at simulating vehicle physics.
The soft-body physics system is based on mass-spring-damper theory.
apps:
rigs-of-rods:
command: desktop-launch $SNAP/build/rigs-of-rods/parts/ror/build/redist/bin/RoR
plugs: [opengl, x11, pulseaudio, network]
parts:
ogre:
plugin: cmake
configflags:
- -DCMAKE_BUILD_TYPE=Release
- -DOGRE_CONFIG_THREAD_PROVIDER=std
- -DOGRE_CONFIG_THREADS=3
- -DOGRE_STATIC=FALSE
- -DOGRE_BUILD_DEPENDENCIES=FALSE
- -DOGRE_BUILD_RENDERSYSTEM_GL=TRUE
- -DOGRE_RESOURCEMANAGER_STRICT=0
# stuff we dont need
- -DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=FALSE
- -DOGRE_BUILD_RENDERSYSTEM_GLES2=FALSE
- -DOGRE_BUILD_TOOLS=FALSE
- -DOGRE_BUILD_SAMPLES=FALSE
- -DOGRE_BUILD_PLUGIN_STBI=FALSE # we want to use freeimage instead
- -DOGRE_BUILD_PLUGIN_EXRCODEC=FALSE
- -DOGRE_BUILD_PLUGIN_BSP=FALSE
- -DOGRE_BUILD_PLUGIN_PCZ=FALSE
- -DOGRE_BUILD_COMPONENT_JAVA=FALSE
- -DOGRE_BUILD_COMPONENT_VOLUME=FALSE
- -DOGRE_BUILD_COMPONENT_PROPERTY=FALSE
- -DOGRE_BUILD_COMPONENT_HLMS=FALSE
- -DCMAKE_INSTALL_PREFIX=/usr/
source: https://github.com/OGRECave/ogre.git
source-tag: stable
source-depth: 1
build-packages:
- libxaw7-dev
- libzzip-dev
- libxrandr-dev
- libfreetype6-dev
- libfreeimage-dev
- libxt-dev
- libgl1-mesa-dev
- libglu1-mesa-dev
stage-packages:
- libfreetype6
- libfreeimage3
- libzzip-0-13
- libxaw7
- libxt6
- try: [nvidia-cg-dev] # should be in build-packages, but we have no try: there
- try: [libcggl]
stage:
- -usr/share/OGRE/Media/volumeTerrain
- -usr/share/OGRE/Media/materials
- -usr/share/OGRE/Media/models
- -usr/share/OGRE/Media/thumbnails
- -usr/share/OGRE/Media/packs/chiropteraDM.pk3
- -usr/share/OGRE/Media/packs/fresneldemo.zip
- -usr/share/OGRE/Media/packs/DamagedHelmet.zip
- -usr/share/OGRE/resources.cfg
mygui:
plugin: cmake
configflags:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/usr/
- -DCMAKE_CXX_FLAGS=-std=c++11
- -DMYGUI_BUILD_DEMOS=FALSE
- -DMYGUI_BUILD_TOOLS=FALSE
source: https://github.com/MyGUI/mygui.git
source-tag: master
source-depth: 1
after: [ogre]
caelum:
plugin: cmake
configflags:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/usr/
- -DCMAKE_CXX_FLAGS=-std=c++11
- -DCaelum_BUILD_SAMPLES=FALSE
- -DINSTALL_OGRE_PLUGIN=OFF
source: https://github.com/RigsOfRods/ogre-caelum.git
source-depth: 1
after: [ogre]
socketw:
plugin: cmake
source: https://github.com/RigsOfRods/socketw.git
configflags:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/usr/
build-packages:
- libssl-dev
stage-packages:
- libssl1.0.0
angelscript:
plugin: cmake
source: https://github.com/AnotherFoxGuy/angelscript.git
source-depth: 1
configflags:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/usr/
rapidjson:
plugin: cmake
source: https://github.com/miloyip/rapidjson.git
source-depth: 1
configflags:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/usr/
- -DINCLUDE_INSTALL_DIR=/usr/include # rapidjson will add "rapidjson" subdirectory
- -DRAPIDJSON_BUILD_EXAMPLES=NO
- -DRAPIDJSON_BUILD_TESTS=NO
- -DRAPIDJSON_BUILD_THIRDPARTY_GTEST=NO
mofilereader:
plugin: cmake
source: https://github.com/AnotherFoxGuy/MofileReader.git
source-depth: 1
configflags:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/usr/
ror:
plugin: cmake
source: https://github.com/RigsOfRods/rigs-of-rods.git
source-tag: master
source-depth: 1
configflags:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/usr/
- -DBUILD_REDIST_FOLDER=TRUE
override-build: |
snapcraftctl build
make zip_and_copy_resources
cp -R bin/content $SNAPCRAFT_PART_INSTALL/$SNAPCRAFT_PART_BUILD/redist/bin/
cp -R bin/resources $SNAPCRAFT_PART_INSTALL/$SNAPCRAFT_PART_BUILD/redist/bin/
sed -i -e 's/=lib/=\/snap\/rigs-of-rods\/current\/usr\/lib\/OGRE/g' $SNAPCRAFT_PART_INSTALL/$SNAPCRAFT_PART_BUILD/redist/bin/plugins.cfg
build-packages:
- libopenal-dev
- libois-dev
- libcurl4-openssl-dev
stage-packages:
- libopenal1
- libpulse0
- libois-1.3.0v5
- libcurl3
after: [ogre, mygui, caelum, socketw, angelscript, rapidjson, mofilereader, desktop-glib-only]