cjdns: 20.1 -> 20.2
[feed/routing.git] / cjdns / Makefile
index 3253532669588bc8c0144efb11e45cb83350e51b..cd5ca905574e1780848b6ff0680efb70bd6fae2d 100644 (file)
@@ -1,12 +1,28 @@
+#
+# 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:=9
+PKG_VERSION:=20.2
+PKG_RELEASE:=1
 
 PKG_SOURCE_URL:=https://github.com/cjdelisle/cjdns.git
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=2138a1f6a94fc009958cde7b002c077a1eee929a
+PKG_SOURCE_VERSION:=77259a49e5bc7ca7bc6dca5bd423e02be563bdc5
 PKG_LICENSE:=GPL-3.0
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.bz2
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_SOURCE_VERSION)
@@ -20,9 +36,9 @@ define Package/cjdns
        CATEGORY:=Network
        SUBMENU:=Routing and Redirection
        TITLE:=Encrypted near-zero-conf mesh routing protocol
-       URL:=https://github.com/hyperboria/cjdns
+       URL:=https://github.com/cjdelisle/cjdns
        MAINTAINER:=Lars Gierth <larsg@systemli.org>
-       DEPENDS:=+kmod-tun +kmod-ipv6 +libnl-tiny +libpthread +librt \
+       DEPENDS:=@IPV6 +kmod-tun +libnl-tiny +libpthread +librt \
                +libuci-lua +lua-bencode +dkjson +luasocket +lua-sha2
 endef
 
@@ -33,24 +49,49 @@ define Package/cjdns/description
        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
+       MAINTAINER:=Lars Gierth <larsg@systemli.org>
+       DEPENDS:=+libpthread +librt
+endef
+
+define Package/cjdns-test/description
+       cjdns test cases
+endef
+
 define Build/Configure
 endef
 
+PKG_DO_VARS:=CJDNS_RELEASE_VERSION=$(PKG_SOURCE_VERSION)
+
 ifneq ($(CONFIG_KERNEL_SECCOMP_FILTER),y)
-PKG_DO_VARS:=Seccomp_NO=1
+PKG_DO_VARS+= Seccomp_NO=1
+endif
+
+ifneq ($(CONFIG_USE_UCLIBC),)
+PKG_DO_VARS+= UCLIBC=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" \
        LDFLAGS="$(TARGET_LDFLAGS)" \
        SYSTEM="linux" \
        TARGET_ARCH="$(CONFIG_ARCH)" \
-       UCLIBC=1 \
        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
@@ -97,4 +138,12 @@ if [ -z $${IPKG_INSTROOT} ] ; then
 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))