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
|
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=coturn
PKG_VERSION:=4.6.2
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=$(PKG_VERSION)
PKG_SOURCE_URL:=https://github.com/coturn/coturn
PKG_MIRROR_HASH:=55a7d63edfde6548cd6d6f1b62f6997beeebc66e0ff07b0afd175829434cbf3a
PKG_MAINTAINER:=Jiri Slachta <jiri@slachta.eu>
PKG_LICENSE:=BSD-COTURN-CITRIX COMBINED-CITRIX-VIVOCHA-BSD MIT-HASH
PKG_LICENSE_FILES:=LICENSE src/apps/relay/dbdrivers/* src/server/ns_turn_khash.h
PKG_CPE_ID:=cpe:/a:coturn_project:coturn
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_CONFIG_DEPENDS+= \
CONFIG_COTURN_ENABLE_MYSQL \
CONFIG_COTURN_ENABLE_POSTGRESQL \
CONFIG_COTURN_ENABLE_REDIS \
CONFIG_COTURN_ENABLE_SQLITE
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
define Package/coturn
TITLE:=coturn TURN and STUN Server
CATEGORY:=Network
SECTION:=net
SUBMENU:=Telephony
URL:=https://github.com/coturn/coturn
USERID:=turnserver=379:turnserver=379
DEPENDS := \
+libevent2 \
+libevent2-extra \
+libevent2-pthreads \
+libevent2-openssl \
+libopenssl \
+COTURN_ENABLE_MYSQL:libmariadb \
+COTURN_ENABLE_POSTGRESQL:libpq \
+COTURN_ENABLE_REDIS:libhiredis \
+COTURN_ENABLE_SQLITE:libsqlite3
FILE_MODES:=/etc/turnserver:turnserver:turnserver:0750
endef
define Package/coturn/conffiles
/etc/config/turnserver
/etc/init.d/turnserver
/etc/turnserver.conf
/etc/turnserver
endef
define Package/coturn/config
menu "coturn configuration"
depends on PACKAGE_coturn
config COTURN_ENABLE_SQLITE
bool "SQLite support"
default y
help
Enable SQLite support
config COTURN_ENABLE_MYSQL
bool "MySQL support"
default n
help
Enable MySQL support
config COTURN_ENABLE_POSTGRESQL
bool "PostgreSQL support"
default n
help
Enable PostgreSQL support
config COTURN_ENABLE_REDIS
bool "Redis support"
default n
help
Enable Redis support
endmenu
endef
define Package/coturn/description
The TURN Server is a VoIP media traffic NAT traversal server and
gateway. It can be used as a general-purpose network traffic TURN server
and gateway, too.
endef
define Package/coturn/install
$(INSTALL_DIR) \
$(1)/etc/{config,init.d,turnserver} $(1)/usr/{bin,share/coturn}
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/turnserver.conf.default \
$(1)/etc/turnserver.conf
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/turn* $(1)/usr/bin
$(INSTALL_BIN) ./files/turnserver.init \
$(1)/etc/init.d/turnserver
$(INSTALL_CONF) ./files/turnserver.conf \
$(1)/etc/config/turnserver
ifneq ($(CONFIG_COTURN_ENABLE_MYSQL)$(CONFIG_COTURN_ENABLE_POSTGRESQL)$(CONFIG_COTURN_ENABLE_SQLITE),)
$(INSTALL_DATA) \
$(PKG_INSTALL_DIR)/usr/share/coturn/{schema,testsqldbsetup}.sql \
$(1)/usr/share/coturn
endif
ifneq ($(CONFIG_COTURN_ENABLE_REDIS),)
$(INSTALL_DATA) \
$(PKG_INSTALL_DIR)/usr/share/coturn/schema.{stats,userdb}.redis \
$(1)/usr/share/coturn
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/share/coturn/testredisdbsetup.sh \
$(1)/usr/share/coturn
endif
endef
CONFIGURE_ARGS+= \
--disable-rpath \
--schemadir=/usr/share/coturn \
--turndbdir=/etc/turnserver
CONFIGURE_VARS+= \
ARCHIVERCMD="$(TARGET_AR) -r" \
LIBEV_OK=1 \
TURN_NO_PROMETHEUS=1 \
TURN_NO_SCTP=1 \
TURN_NO_SYSTEMD=1 \
TURN_NO_MONGO=1 \
$(if $(CONFIG_COTURN_ENABLE_MYSQL),,TURN_NO_MYSQL=1) \
$(if $(CONFIG_COTURN_ENABLE_POSTGRESQL),,TURN_NO_PQ=1) \
$(if $(CONFIG_COTURN_ENABLE_REDIS),,TURN_NO_HIREDIS=1) \
$(if $(CONFIG_COTURN_ENABLE_SQLITE),,TURN_NO_SQLITE=1)
define Build/InstallDev
endef
$(eval $(call BuildPackage,coturn))
|