1e358ed9e0261ae929ae28492fa5ce29652da4fe
[feed/packages.git] / net / ocserv / Makefile
1 #
2 # Copyright (C) 2007-2011 OpenWrt.org
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:=ocserv
11 PKG_VERSION:=1.1.3
12 PKG_RELEASE:=1
13 PKG_USE_MIPS16:=0
14
15 PKG_BUILD_DIR :=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
16 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
17 PKG_SOURCE_URL:=ftp://ftp.infradead.org/pub/ocserv/
18 PKG_HASH:=1ab70c6e6ea36b613e8e171fc03b6081c4312a45ee52cc2959c068c27324107e
19
20 PKG_LICENSE:=GPL-2.0-or-later
21 PKG_LICENSE_FILES:=COPYING
22 #PKG_FIXUP:=autoreconf
23
24 PKG_CONFIG_DEPENDS:= \
25 CONFIG_OCSERV_PAM \
26 CONFIG_OCSERV_SECCOMP \
27 CONFIG_OCSERV_PROTOBUF \
28
29 include $(INCLUDE_DIR)/package.mk
30
31 define Package/ocserv/config
32 source "$(SOURCE)/Config.in"
33 endef
34
35 define Package/ocserv
36 SECTION:=net
37 CATEGORY:=Network
38 SUBMENU:=VPN
39 TITLE:=OpenConnect VPN server
40 URL:=http://www.infradead.org/ocserv/
41 MAINTAINER:=Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
42 DEPENDS:= +OCSERV_RADIUS:libradcli +OCSERV_HTTP_PARSER:libhttp-parser +OCSERV_SECCOMP:libseccomp +libgnutls +certtool +libncurses +libreadline +OCSERV_PAM:libpam +OCSERV_PROTOBUF:libprotobuf-c +libev +kmod-tun
43 USERID:=ocserv=72:ocserv=72
44 endef
45
46 define Package/ocserv/description
47 OpenConnect server (ocserv) is an SSL VPN server. Its purpose is to be
48 a secure, small, fast and configurable VPN server. It implements the
49 OpenConnect SSL VPN protocol, and has also (currently experimental)
50 compatibility with clients using the AnyConnect SSL VPN protocol. The
51 OpenConnect VPN protocol uses the standard IETF security protocols such
52 as TLS 1.2, and Datagram TLS to provide the secure VPN service.
53 endef
54
55 EXTRA_CPPFLAGS+=-I$(STAGING_DIR)/usr/include/readline/
56 EXTRA_LDFLAGS+=-lncurses
57
58 CONFIGURE_VARS += \
59 ac_cv_file__proc_self_exe=yes
60
61 CONFIGURE_ARGS+= \
62 --with-pager="" \
63 --with-libreadline-prefix="$(STAGING_DIR)/" \
64 --without-libnl \
65 --without-gssapi \
66 --with-libcrypt-prefix="$(STAGING_DIR)/" \
67 --with-libev-prefix="$(STAGING_DIR)/" \
68 --without-lz4 \
69 --with-local-talloc \
70
71 ifneq ($(CONFIG_OCSERV_PAM),y)
72 CONFIGURE_ARGS += --without-pam
73 endif
74
75 ifneq ($(CONFIG_OCSERV_RADIUS),y)
76 CONFIGURE_ARGS += --without-radius
77 endif
78
79 ifneq ($(CONFIG_OCSERV_SECCOMP),y)
80 CONFIGURE_ARGS += --disable-seccomp
81 endif
82
83 ifneq ($(CONFIG_OCSERV_PROTOBUF),y)
84 CONFIGURE_ARGS += --without-protobuf
85 endif
86
87 ifneq ($(CONFIG_OCSERV_HTTP_PARSER),y)
88 CONFIGURE_ARGS += --without-http-parser
89 endif
90
91 define Package/ocserv/conffiles
92 /etc/config/ocserv
93 endef
94
95 define Package/ocserv/install
96 $(INSTALL_DIR) $(1)/usr/sbin
97 $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/ocserv $(1)/usr/sbin/
98 $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/ocserv-worker $(1)/usr/sbin/
99 $(INSTALL_DIR) $(1)/usr/bin
100 $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/ocserv-fw $(1)/usr/bin/
101 $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/ocpasswd/ocpasswd $(1)/usr/bin/
102 $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/occtl/occtl $(1)/usr/bin/
103 $(INSTALL_DIR) $(1)/etc/init.d
104 $(INSTALL_BIN) ./files/ocserv.init $(1)/etc/init.d/ocserv
105 $(INSTALL_DIR) $(1)/etc/ocserv
106 $(INSTALL_CONF) ./files/ocserv.conf.template $(1)/etc/ocserv/ocserv.conf.template
107 $(INSTALL_DIR) $(1)/etc/config
108 $(INSTALL_CONF) ./files/config $(1)/etc/config/ocserv
109 $(INSTALL_DIR) $(1)/lib/upgrade/keep.d
110 $(INSTALL_DATA) ./files/ocserv.upgrade $(1)/lib/upgrade/keep.d/ocserv
111 endef
112
113 $(eval $(call BuildPackage,ocserv))