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
:=951581191997db0188b56d8b21c5216f7e6e2ee1
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 Package
/cjdns-tests
55 SUBMENU
:=Routing and Redirection
56 TITLE
:=cjdns
test cases
57 URL
:=https
://github.com
/hyperboria
/cjdns
58 MAINTAINER
:=Lars Gierth
<larsg@systemli.org
>
59 DEPENDS
:=+libpthread
+librt
62 define Package
/cjdns-test
/description
66 define Build
/Configure
71 ifneq ($(CONFIG_KERNEL_SECCOMP_FILTER
),y
)
72 PKG_DO_VARS
+= Seccomp_NO
=1
75 ifneq ($(CONFIG_USE_UCLIBC
),)
76 PKG_DO_VARS
+= UCLIBC
=1
82 CFLAGS
="$(TARGET_CFLAGS)" \
83 LDFLAGS
="$(TARGET_LDFLAGS)" \
85 TARGET_ARCH
="$(CONFIG_ARCH)" \
86 SSP_SUPPORT
="$(CONFIG_SSP_SUPPORT)" \
91 define Package
/cjdns
/install
97 $(1)/etc
/uci-defaults \
98 $(1)/usr
/lib
/lua
/cjdns
101 .
/files
/cjdrouteconf \
105 $(PKG_BUILD_DIR
)/cjdroute \
109 $(PKG_BUILD_DIR
)/publictoip6 \
114 $(1)/etc
/init.d
/cjdns
117 .
/files
/cjdns.defaults \
118 $(1)/etc
/uci-defaults
/cjdns
122 $(1)/usr
/lib
/lua
/cjdns
125 define Package
/cjdns
/postinst
127 if
[ -z
$${IPKG_INSTROOT} ] ; then
128 ( .
/etc
/uci-defaults
/cjdns
) && rm -f
/etc
/uci-defaults
/cjdns
129 # TODO: we should have an 'Enable' button instead
130 /etc
/init.d
/cjdns enabled ||
/etc
/init.d
/cjdns enable
135 define Package
/cjdns-tests
/install
136 $(INSTALL_DIR
) $(1)/usr
/bin
138 $(PKG_BUILD_DIR
)/build_linux
/test_testcjdroute_c \
142 $(eval
$(call BuildPackage
,cjdns
))
143 $(eval
$(call BuildPackage
,cjdns-tests
))