+#
+# Copyright (C) 2014,2015 Hyperboria.net
+#
+# You may redistribute this program and/or modify it under the terms of
+# the GNU General Public License as published by the Free Software Foundation,
+# either version 3 of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
include $(TOPDIR)/rules.mk
PKG_NAME:=cjdns
-PKG_VERSION:=0.16
-PKG_RELEASE:=11
+PKG_VERSION:=v21.1
+PKG_RELEASE:=4
-PKG_SOURCE_URL:=https://github.com/hyperboria/cjdns.git
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=a5a1b16f5a4f2815ce3c0e234a24108cae0f9ad3
-PKG_LICENSE:=GPL-3.0
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.bz2
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_SOURCE_VERSION)
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_SOURCE_VERSION)
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/cjdelisle/cjdns/tar.gz/$(PKG_NAME)-$(PKG_VERSION)?
+PKG_HASH:=a6158ce7847159aa44e86f74ccc7b6ded6910a230ed8f3830db53cda5838f0b0
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_NAME)-$(PKG_VERSION)
-include $(INCLUDE_DIR)/package.mk
+PKG_MAINTAINER:=William Fleurant <meshnet@protonmail.com>
+PKG_LICENSE:=GPL-3.0-or-later
+PKG_LICENSE_FILES:=LICENSE
+include $(INCLUDE_DIR)/package.mk
define Package/cjdns
SECTION:=net
CATEGORY:=Network
SUBMENU:=Routing and Redirection
TITLE:=Encrypted near-zero-conf mesh routing protocol
- URL:=https://github.com/hyperboria/cjdns
- MAINTAINER:=Lars Gierth <larsg@systemli.org>
- DEPENDS:=+kmod-tun +kmod-ipv6 +libnl-tiny +libpthread +librt \
+ URL:=https://github.com/cjdelisle/cjdns
+ DEPENDS:=@!arc @IPV6 +kmod-tun +libnl-tiny +libpthread +librt \
+libuci-lua +lua-bencode +dkjson +luasocket +lua-sha2
endef
of the security and scalability issues that plague existing networks.
endef
+define Package/cjdns-tests
+ SECTION:=net
+ CATEGORY:=Network
+ SUBMENU:=Routing and Redirection
+ TITLE:=cjdns test cases
+ URL:=https://github.com/cjdelisle/cjdns
+ DEPENDS:=+libpthread +librt @!arc
+endef
+
+define Package/cjdns-test/description
+ Builds cjdns test cases binary test_testcjdroute_c
+endef
+
define Build/Configure
endef
-PKG_DO_VARS:=
+PKG_DO_VARS:=CJDNS_RELEASE_VERSION=$(PKG_SOURCE_VERSION)
ifneq ($(CONFIG_KERNEL_SECCOMP_FILTER),y)
PKG_DO_VARS+= Seccomp_NO=1
endif
define Build/Compile
+ $(INSTALL_DIR) $(PKG_BUILD_DIR)/tmp
+ (cd $(PKG_BUILD_DIR) && \
CROSS="true" \
CC="$(TARGET_CC)" \
- CFLAGS="$(TARGET_CFLAGS)" \
+ AR="$(TARGET_AR)" \
+ RANLIB="$(TARGET_RANLIB)" \
+ CFLAGS="$(TARGET_CFLAGS) -U_FORTIFY_SOURCE -Wno-error=array-bounds -Wno-error=stringop-overflow -Wno-error=stringop-overread" \
LDFLAGS="$(TARGET_LDFLAGS)" \
SYSTEM="linux" \
TARGET_ARCH="$(CONFIG_ARCH)" \
SSP_SUPPORT="$(CONFIG_SSP_SUPPORT)" \
+ GYP_ADDITIONAL_ARGS="-f make-linux" \
+ CJDNS_BUILD_TMPDIR="$(PKG_BUILD_DIR)/tmp" \
$(PKG_DO_VARS) \
- $(PKG_BUILD_DIR)/do
+ exec ./do)
endef
define Package/cjdns/install
#!/bin/sh
if [ -z $${IPKG_INSTROOT} ] ; then
( . /etc/uci-defaults/cjdns ) && rm -f /etc/uci-defaults/cjdns
- # TODO: we should have an 'Enable' button instead
/etc/init.d/cjdns enabled || /etc/init.d/cjdns enable
exit 0
fi
endef
+define Package/cjdns-tests/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) \
+ $(PKG_BUILD_DIR)/build_linux/test_testcjdroute_c \
+ $(1)/usr/bin
+endef
+
$(eval $(call BuildPackage,cjdns))
+$(eval $(call BuildPackage,cjdns-tests))