2 # Copyright (C) 2014,2015 Hyperboria.net
4 # You may redistribute this program and/or modify it under the terms of
5 # the GNU General Public License as published by the Free Software Foundation,
6 # either version 3 of the License, or (at your option) any later version.
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with this program. If not, see <http://www.gnu.org/licenses/>.
17 include $(TOPDIR
)/rules.mk
23 PKG_SOURCE_URL
:=https
://github.com
/hyperboria
/cjdns.git
25 PKG_SOURCE_VERSION
:=2303ce6585f62f7e8d3cdb1983c0c8e08385ea68
27 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_SOURCE_VERSION
).
tar.bz2
28 PKG_SOURCE_SUBDIR
:=$(PKG_NAME
)-$(PKG_SOURCE_VERSION
)
29 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_NAME
)-$(PKG_SOURCE_VERSION
)
31 include $(INCLUDE_DIR
)/package.mk
37 SUBMENU
:=Routing and Redirection
38 TITLE
:=Encrypted near-zero-conf mesh routing protocol
39 URL
:=https
://github.com
/hyperboria
/cjdns
40 MAINTAINER
:=Lars Gierth
<larsg@systemli.org
>
41 DEPENDS
:=+kmod-tun
+kmod-ipv6
+libnl-tiny
+libpthread
+librt \
42 +libuci-lua
+lua-bencode
+dkjson
+luasocket
+lua-sha2
45 define Package
/cjdns
/description
46 Cjdns implements an encrypted IPv6 network using public-key cryptography \
47 for address allocation and a distributed hash table for routing. \
48 This provides near-zero-configuration networking
, and prevents many \
49 of the security and scalability issues that plague existing networks.
52 define Build
/Configure
57 ifneq ($(CONFIG_KERNEL_SECCOMP_FILTER
),y
)
58 PKG_DO_VARS
+= Seccomp_NO
=1
61 ifneq ($(CONFIG_USE_UCLIBC
),)
62 PKG_DO_VARS
+= UCLIBC
=1
68 CFLAGS
="$(TARGET_CFLAGS)" \
69 LDFLAGS
="$(TARGET_LDFLAGS)" \
71 TARGET_ARCH
="$(CONFIG_ARCH)" \
72 SSP_SUPPORT
="$(CONFIG_SSP_SUPPORT)" \
77 define Package
/cjdns
/install
83 $(1)/etc
/uci-defaults \
84 $(1)/usr
/lib
/lua
/cjdns
87 .
/files
/cjdrouteconf \
91 $(PKG_BUILD_DIR
)/cjdroute \
95 $(PKG_BUILD_DIR
)/publictoip6 \
100 $(1)/etc
/init.d
/cjdns
103 .
/files
/cjdns.defaults \
104 $(1)/etc
/uci-defaults
/cjdns
108 $(1)/usr
/lib
/lua
/cjdns
111 define Package
/cjdns
/postinst
113 if
[ -z
$${IPKG_INSTROOT} ] ; then
114 ( .
/etc
/uci-defaults
/cjdns
) && rm -f
/etc
/uci-defaults
/cjdns
115 # TODO: we should have an 'Enable' button instead
116 /etc
/init.d
/cjdns enabled ||
/etc
/init.d
/cjdns enable
121 $(eval
$(call BuildPackage
,cjdns
))