summaryrefslogtreecommitdiff
path: root/net/coturn/Makefile
blob: ef57cf14e2c7a9ba2582503dc22840398da2993e (plain)
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))