-
Notifications
You must be signed in to change notification settings - Fork 9
/
snapcraft.yaml
154 lines (152 loc) · 3.72 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
150
151
152
153
154
name: janus-gateway
base: core22
summary: Janus WebRTC Server
adopt-info: janus
description: |
Janus is an open source, general purpose, WebRTC server designed and developed by Meetecho.
**Config files location:** /var/snap/janus-gateway/common/etc ($SNAP_COMMON/etc)
license: GPL-3.0
grade: devel
confinement: strict
architectures:
- build-on: amd64
- build-on: armhf
- build-on: arm64
layout:
/opt/janus/lib/janus:
bind: $SNAP/opt/janus/lib/janus
/opt/janus/share/janus/streams:
bind: $SNAP/opt/janus/share/janus/streams
/opt/janus/etc/janus:
bind: $SNAP_COMMON/etc
/opt/janus/share/janus/recordings:
bind: $SNAP_COMMON/share/recordings
/opt/janus/share/janus/demos/voicemail:
bind: $SNAP_COMMON/share/voicemail
parts:
meson-deps:
plugin: nil
override-build: |
pip install meson
build-packages:
- python3-pip
lws:
plugin: cmake
source-type: git
source: https://github.com/warmcat/libwebsockets.git
source-branch: v4.3-stable
cmake-parameters:
- -DLWS_WITHOUT_TESTAPPS=ON
- -DCMAKE_INSTALL_PREFIX=/usr
- -DLWS_MAX_SMP=1
- -DLWS_WITHOUT_EXTENSIONS=0
- -DCMAKE_C_FLAGS="-fpic"
build-packages:
- libssl-dev
- libglib2.0-dev
stage-packages:
- libssl3
nice:
plugin: meson
source-type: git
source: https://github.com/libnice/libnice.git
source-branch: latest-release
after:
- meson-deps
meson-parameters:
- --prefix=/usr
build-packages:
- pkg-config
- libglib2.0-dev
- gtk-doc-tools
- ninja-build
usrsctp:
plugin: autotools
source-type: git
source: https://github.com/sctplab/usrsctp.git
source-tag: 0.9.5.0
autotools-configure-parameters:
- --prefix=/usr
libsrtp:
plugin: autotools
source-type: git
source: https://github.com/cisco/libsrtp.git
source-tag: v2.5.0
autotools-configure-parameters:
- --prefix=/usr
- --enable-openssl
mqtt:
plugin: cmake
source-type: git
source: https://github.com/eclipse/paho.mqtt.c.git
source-tag: v1.3.13
cmake-parameters:
- -DPAHO_BUILD_SHARED=FALSE
- -DPAHO_BUILD_STATIC=TRUE
- -DPAHO_WITH_SSL=TRUE
- -DPAHO_ENABLE_TESTING=FALSE
- -DPAHO_ENABLE_CPACK=FALSE
- -DCMAKE_INSTALL_PREFIX=/usr
janus:
plugin: autotools
source-type: git
source: https://github.com/meetecho/janus-gateway.git
build-environment:
- CFLAGS: "${CFLAGS:+$CFLAGS} -O1 -g3 -ggdb3 -fno-omit-frame-pointer -fsanitize=address"
- LDFLAGS: "${LDFLAGS:+$LDFLAGS} -fsanitize=address"
override-pull: |
craftctl default
craftctl set version="$(git describe)"
autotools-configure-parameters:
- --prefix=/opt/janus
- --enable-post-processing
after:
- lws
- nice
- usrsctp
- libsrtp
- mqtt
build-packages:
- g++
- make
- libmicrohttpd-dev
- libjansson-dev
- libssl-dev
- libsofia-sip-ua-dev
- libglib2.0-dev
- libopus-dev
- libogg-dev
- libcurl4-openssl-dev
- liblua5.3-dev
- libconfig-dev
- libavutil-dev
- libavcodec-dev
- libavformat-dev
- librabbitmq-dev
- pkg-config
- gengetopt
- libtool
- automake
stage-packages:
- libconfig9
- libjansson4
- libcurl4
- libogg0
- libmicrohttpd12
- libopus0
- libsofia-sip-ua0
- libavutil56
- libavcodec58
- libavformat58
- librabbitmq4
- libpcap0.8
- libasan6
apps:
janus-gateway:
command: opt/janus/bin/janus -o
daemon: simple
plugs:
- network-bind
- network
janus-pp-rec:
command: opt/janus/bin/janus-pp-rec