~osomon/+junk/0ad-snap

« back to all changes in this revision

Viewing changes to snapcraft.yaml

  • Committer: Olivier Tilloy
  • Date: 2021-08-16 13:43:20 UTC
  • Revision ID: olivier@tilloy.net-20210816134320-e1z4qlhz8ix3wzge
Set the license field.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
name: 0ad
2
 
version: 0.0.23-alpha
 
2
version: 0.0.25-alpha
3
3
summary: Real-time strategy game of ancient warfare
4
4
description: |
5
 
 0 A.D. (pronounced "zero ey-dee") is a free, open-source, cross-platform
6
 
 real-time strategy (RTS) game of ancient warfare. In short, it is a
7
 
 historically-based war/economy game that allows players to relive or rewrite
8
 
 the history of Western civilizations, focusing on the years between 500 B.C.
9
 
 and 500 A.D. The project is highly ambitious, involving state-of-the-art 3D
10
 
 graphics, detailed artwork, sound, and a flexible and powerful custom-built
11
 
 game engine.
 
5
 0 A.D. (pronounced “zero-ey-dee”) is a free, open-source, historical
 
6
 Real Time Strategy (RTS) game currently under development by Wildfire Games,
 
7
 a global group of volunteer game developers.
 
8
 As the leader of an ancient civilization, you must gather the resources
 
9
 you need to raise a military force and dominate your enemies.
 
10
 .
 
11
 “0 A.D.” is a time period that never actually existed: In the usual calendar,
 
12
 one goes from 1 B.C. to 1 A.D. and skips zero. This reflects the historical
 
13
 fiction in the game: Who would have won if all the factions were pitted
 
14
 against each other when each of them was at its prime?
 
15
 .
 
16
 We intend to portray some of the major civilizations over the millennium of
 
17
 500 B.C. to 500 A.D. (Hence the midpoint, zero.) That is an ambitious prospect,
 
18
 so in the first edition of 0 A.D. we focus on the last five centuries B.C.
 
19
 Perhaps in future expansion packs, more civilizations will be added,
 
20
 along with additional gameplay features.
 
21
 .
 
22
 We put a strong emphasis on historical accuracy while developing 0 A.D.
 
23
 We plan all our units and all our buildings based on reconstructions of how
 
24
 the units and the buildings might have looked like in the ancient world.
 
25
 We even name them in the original languages, such as Greek and Latin.
 
26
 But it’s worth remembering that any game should be fun to play, so,
 
27
 in many cases, we preferred playability over historical accuracy.
 
28
license: GPL-2.0+
12
29
confinement: strict
 
30
base: core18
13
31
 
14
32
apps:
15
33
  0ad:
16
34
    command: play0ad.launcher
 
35
    desktop: 0ad.desktop
 
36
    common-id: com.play0ad.zeroad
17
37
    plugs:
 
38
      - audio-playback
 
39
      - desktop
 
40
      - home
18
41
      - network
19
42
      - network-bind
20
43
      - opengl
21
44
      - process-control
22
 
      - pulseaudio
 
45
      - removable-media
23
46
      - screen-inhibit-control
24
47
      - x11
25
48
  atlas:
26
49
    command: play0ad.launcher -editor
27
50
    plugs:
 
51
      - audio-playback
 
52
      - desktop
 
53
      - home
28
54
      - opengl
29
55
      - process-control
30
 
      - pulseaudio
 
56
      - removable-media
31
57
      - x11
32
58
 
 
59
layout:
 
60
  /usr/share/libdrm:
 
61
    bind: $SNAP/usr/share/libdrm
 
62
 
33
63
parts:
 
64
  0ad-patches:
 
65
    plugin: nil
 
66
    source: patches
 
67
    override-build: |
 
68
      mkdir -p $SNAPCRAFT_PART_INSTALL/patches
 
69
      cp *.patch $SNAPCRAFT_PART_INSTALL/patches/
 
70
    override-prime: ""
34
71
  0ad-unix-build:
35
 
    after: [ libsodium ]
 
72
    after: [ 0ad-patches ]
36
73
    plugin: nil
37
 
    source: https://releases.wildfiregames.com/0ad-0.0.23-alpha-unix-build.tar.xz
 
74
    source: https://releases.wildfiregames.com/0ad-0.0.25-alpha-unix-build.tar.xz
 
75
    source-checksum: sha1/06872f2bd3b1b0d336a94782ecf9feff4179ae3b
38
76
    build-packages:
39
 
      - autoconf
40
 
      - debhelper
41
 
      - dpkg-dev
 
77
      - cargo
 
78
      - cmake
42
79
      - libboost-dev
43
80
      - libboost-filesystem-dev
44
81
      - libcurl4-gnutls-dev
45
82
      - libenet-dev
 
83
      - libfmt-dev
46
84
      - libgloox-dev
47
85
      - libicu-dev
48
86
      - libminiupnpc-dev
49
87
      - libnspr4-dev
50
 
      - libnvtt-dev
51
88
      - libogg-dev
52
89
      - libopenal-dev
53
 
      - libpng12-dev
 
90
      - libpng-dev
54
91
      - libsdl2-dev
 
92
      - libsodium-dev
55
93
      - libvorbis-dev
56
94
      - libwxgtk3.0-dev
57
95
      - libxcursor-dev
58
96
      - libxml2-dev
59
97
      - patch
60
98
      - pkg-config
 
99
      - python
 
100
      - rustc
61
101
      - zlib1g-dev
62
102
    override-build: |
63
 
      patch -d . -p1 < ../../../snap/patches/allow-build-with-root.patch
64
 
      patch -d . -p1 < ../../../snap/patches/use-sdl-semaphores.patch
65
 
      build/workspaces/update-workspaces.sh --with-system-nvtt -j$SNAPCRAFT_PARALLEL_BUILD_COUNT
 
103
      patch -d . -p1 < $SNAPCRAFT_STAGE/patches/allow-build-with-root.patch
 
104
      build/workspaces/update-workspaces.sh -j$SNAPCRAFT_PARALLEL_BUILD_COUNT
66
105
      make -j$SNAPCRAFT_PARALLEL_BUILD_COUNT config=release -C build/workspaces/gcc
67
106
      P=binaries/system
68
107
      mkdir -p $SNAPCRAFT_PART_INSTALL/$P
69
 
      cp $P/pyrogenesis $P/ActorEditor $P/libAtlasUI.so $P/libCollada.so $P/libmozjs38-ps-release.so $P/readme.txt $SNAPCRAFT_PART_INSTALL/$P/
 
108
      cp $P/libnvcore.so $P/libnvimage.so $P/libnvmath.so $P/libnvtt.so $SNAPCRAFT_PART_INSTALL/$P/
 
109
      cp $P/pyrogenesis $P/ActorEditor $P/libAtlasUI.so $P/libCollada.so $P/libmozjs*-ps-release.so $P/readme.txt $SNAPCRAFT_PART_INSTALL/$P/
70
110
      P=binaries/data/l10n
71
111
      mkdir -p $SNAPCRAFT_PART_INSTALL/$P
72
112
      cp $P/*.po $SNAPCRAFT_PART_INSTALL/$P/
 
113
      cp build/resources/0ad.desktop $SNAPCRAFT_PART_INSTALL/
 
114
      sed -i -e "s#Icon=0ad#Icon=/icon.png#" $SNAPCRAFT_PART_INSTALL/0ad.desktop
73
115
  0ad-unix-data:
74
116
    plugin: dump
75
 
    source: https://releases.wildfiregames.com/0ad-0.0.23-alpha-unix-data.tar.xz
 
117
    source: https://releases.wildfiregames.com/0ad-0.0.25-alpha-unix-data.tar.xz
 
118
    source-checksum: sha1/d3a49fa3a9c7f28583178e3d0ad723d75a486428
76
119
    organize:
77
120
      config: binaries/data/config
78
121
      mods: binaries/data/mods
79
122
      tools: binaries/data/tools
80
123
  0ad-launcher:
81
124
    plugin: dump
82
 
    source: snap
 
125
    source: .
83
126
    prime:
84
127
      - etc/fonts/
85
128
      - lib/
86
129
      - usr/lib/
87
130
      - usr/share/fonts/
 
131
      - usr/share/libdrm/
88
132
      - usr/share/themes/
89
133
      - usr/share/X11/
90
134
      - play0ad.launcher
 
135
      - icon.png
91
136
    stage-packages:
92
 
      - libboost-filesystem1.58.0
93
 
      - libc6
 
137
      - libboost-filesystem1.65.1
 
138
      - libboost-system1.65.1
94
139
      - libcurl3-gnutls
 
140
      - libdrm-common
95
141
      - libenet7
96
 
      - libgcc1
97
142
      - libgl1-mesa-glx
98
 
      - libgloox13v5
99
 
      - libicu55
 
143
      - libgloox15
 
144
      - libicu60
100
145
      - libminiupnpc10
101
146
      - libnspr4
102
 
      - libnvtt2
103
147
      - libopenal1
104
 
      - libpng12-0
 
148
      - libpng16-16
105
149
      - libsdl2-2.0-0
106
 
      - libstdc++6
 
150
      - libsodium23
107
151
      - libvorbisfile3
108
152
      - libwxbase3.0-0v5
109
153
      - libwxgtk3.0-0v5
111
155
      - libxcursor1
112
156
      - libxml2
113
157
      - locales-all
114
 
      - zlib1g
115
 
  # As of https://trac.wildfiregames.com/changeset/21674, 0ad requires
116
 
  # libsodium ≥ 1.0.14 to build. Ubuntu 16.04 has version 1.0.8, so we need
117
 
  # to build a more recent version. When the build infrastructure switches to
118
 
  # Ubuntu 18.04 (which has libsodium 1.0.16), this part can be removed.
119
 
  libsodium:
120
 
    plugin: autotools
121
 
    source: https://download.libsodium.org/libsodium/releases/libsodium-1.0.16.tar.gz
122
 
    configflags: [ --prefix=/usr ]
123
 
    build-packages:
124
 
      - pkg-config