/
Makefile
146 lines (122 loc) · 3.77 KB
/
Makefile
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
#
# Copyright (C) 2021 Sebastian Kemper <sebastian_ml@gmx.net>
#
# 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.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/coturn/coturn/tar.gz/$(PKG_VERSION)?
PKG_HASH:=8fba86e593ed74adc46e002e925cccff2819745371814f42465fbe717483f1d8
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_MAINTAINER:=Jiri Slachta <jiri@slachta.eu>, Sebastian Kemper <sebastian_ml@gmx.net>
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
PKG_CONFIG_DEPENDS+= \
CONFIG_COTURN_ENABLE_MYSQL \
CONFIG_COTURN_ENABLE_POSTGRESQL \
CONFIG_COTURN_ENABLE_REDIS \
CONFIG_COTURN_ENABLE_SQLITE
PKG_CPE_ID:=cpe:/a:coturn_project:coturn
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))