coturn: update to 4.6.1
[feed/telephony.git] / net / coturn / Makefile
1 #
2 # Copyright (C) 2021 Sebastian Kemper <sebastian_ml@gmx.net>
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=coturn
11 PKG_VERSION:=4.6.1
12 PKG_RELEASE:=1
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=https://codeload.github.com/coturn/coturn/tar.gz/$(PKG_VERSION)?
16 PKG_HASH:=8fba86e593ed74adc46e002e925cccff2819745371814f42465fbe717483f1d8
17
18 PKG_LICENSE:=BSD-COTURN-CITRIX COMBINED-CITRIX-VIVOCHA-BSD MIT-HASH
19 PKG_LICENSE_FILES:=LICENSE src/apps/relay/dbdrivers/* src/server/ns_turn_khash.h
20
21 PKG_MAINTAINER:=Jiri Slachta <jiri@slachta.eu>, Sebastian Kemper <sebastian_ml@gmx.net>
22
23 PKG_BUILD_PARALLEL:=1
24
25 PKG_INSTALL:=1
26
27 PKG_CONFIG_DEPENDS+= \
28 CONFIG_COTURN_ENABLE_MYSQL \
29 CONFIG_COTURN_ENABLE_POSTGRESQL \
30 CONFIG_COTURN_ENABLE_REDIS \
31 CONFIG_COTURN_ENABLE_SQLITE
32
33 PKG_CPE_ID:=cpe:/a:coturn_project:coturn
34
35 include $(INCLUDE_DIR)/package.mk
36 include $(INCLUDE_DIR)/nls.mk
37
38 define Package/coturn
39 TITLE:=coturn TURN and STUN Server
40 CATEGORY:=Network
41 SECTION:=net
42 SUBMENU:=Telephony
43 URL:=https://github.com/coturn/coturn
44 USERID:=turnserver=379:turnserver=379
45 DEPENDS := \
46 +libevent2 \
47 +libevent2-extra \
48 +libevent2-pthreads \
49 +libevent2-openssl \
50 +libopenssl \
51 +COTURN_ENABLE_MYSQL:libmariadb \
52 +COTURN_ENABLE_POSTGRESQL:libpq \
53 +COTURN_ENABLE_REDIS:libhiredis \
54 +COTURN_ENABLE_SQLITE:libsqlite3
55 FILE_MODES:=/etc/turnserver:turnserver:turnserver:0750
56 endef
57
58 define Package/coturn/conffiles
59 /etc/config/turnserver
60 /etc/init.d/turnserver
61 /etc/turnserver.conf
62 /etc/turnserver
63 endef
64
65 define Package/coturn/config
66 menu "coturn configuration"
67 depends on PACKAGE_coturn
68
69 config COTURN_ENABLE_SQLITE
70 bool "SQLite support"
71 default y
72 help
73 Enable SQLite support
74
75 config COTURN_ENABLE_MYSQL
76 bool "MySQL support"
77 default n
78 help
79 Enable MySQL support
80
81 config COTURN_ENABLE_POSTGRESQL
82 bool "PostgreSQL support"
83 default n
84 help
85 Enable PostgreSQL support
86
87 config COTURN_ENABLE_REDIS
88 bool "Redis support"
89 default n
90 help
91 Enable Redis support
92
93 endmenu
94 endef
95
96 define Package/coturn/description
97 The TURN Server is a VoIP media traffic NAT traversal server and
98 gateway. It can be used as a general-purpose network traffic TURN server
99 and gateway, too.
100 endef
101
102 define Package/coturn/install
103 $(INSTALL_DIR) \
104 $(1)/etc/{config,init.d,turnserver} $(1)/usr/{bin,share/coturn}
105 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/turnserver.conf.default \
106 $(1)/etc/turnserver.conf
107 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/turn* $(1)/usr/bin
108 $(INSTALL_BIN) ./files/turnserver.init \
109 $(1)/etc/init.d/turnserver
110 $(INSTALL_CONF) ./files/turnserver.conf \
111 $(1)/etc/config/turnserver
112 ifneq ($(CONFIG_COTURN_ENABLE_MYSQL)$(CONFIG_COTURN_ENABLE_POSTGRESQL)$(CONFIG_COTURN_ENABLE_SQLITE),)
113 $(INSTALL_DATA) \
114 $(PKG_INSTALL_DIR)/usr/share/coturn/{schema,testsqldbsetup}.sql \
115 $(1)/usr/share/coturn
116 endif
117 ifneq ($(CONFIG_COTURN_ENABLE_REDIS),)
118 $(INSTALL_DATA) \
119 $(PKG_INSTALL_DIR)/usr/share/coturn/schema.{stats,userdb}.redis \
120 $(1)/usr/share/coturn
121 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/share/coturn/testredisdbsetup.sh \
122 $(1)/usr/share/coturn
123 endif
124 endef
125
126 CONFIGURE_ARGS+= \
127 --disable-rpath \
128 --schemadir=/usr/share/coturn \
129 --turndbdir=/etc/turnserver
130
131 CONFIGURE_VARS+= \
132 ARCHIVERCMD="$(TARGET_AR) -r" \
133 LIBEV_OK=1 \
134 TURN_NO_PROMETHEUS=1 \
135 TURN_NO_SCTP=1 \
136 TURN_NO_SYSTEMD=1 \
137 TURN_NO_MONGO=1 \
138 $(if $(CONFIG_COTURN_ENABLE_MYSQL),,TURN_NO_MYSQL=1) \
139 $(if $(CONFIG_COTURN_ENABLE_POSTGRESQL),,TURN_NO_PQ=1) \
140 $(if $(CONFIG_COTURN_ENABLE_REDIS),,TURN_NO_HIREDIS=1) \
141 $(if $(CONFIG_COTURN_ENABLE_SQLITE),,TURN_NO_SQLITE=1)
142
143 define Build/InstallDev
144 endef
145
146 $(eval $(call BuildPackage,coturn))