#
|
|
# Copyright (C) 2016-2017 Dan Luedtke <mail@danrl.com>
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=jool
|
|
PKG_VERSION:=2017.03.09
|
|
PKG_RELEASE:=2
|
|
|
|
PKG_LICENSE:=GPL-3.0
|
|
PKG_LICENSE_FILES:=COPYING
|
|
|
|
PKG_SOURCE_PROTO:=git
|
|
PKG_SOURCE_URL:=https://github.com/NICMx/Jool.git
|
|
PKG_SOURCE_VERSION:=997a81bb5f5e9d82aa122fd37b7c890e44a245dd
|
|
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_SOURCE_VERSION)
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.xz
|
|
PKG_MIRROR_HASH:=a2c41119be251d4d962234fc78d7122568a5e62484969cc4e80229a0c7422fd4
|
|
|
|
PKG_BUILD_DIR=$(KERNEL_BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
|
|
PKG_BUILD_PARALLEL:=1
|
|
PKG_BUILD_DEPENDS:=USE_UCLIBC:argp-standalone USE_MUSL:argp-standalone
|
|
|
|
PKG_FIXUP:=autoreconf
|
|
|
|
include $(INCLUDE_DIR)/kernel.mk
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
MAKE_PATH:=usr
|
|
CONFIGURE_PATH:=usr
|
|
|
|
define Build/Compile
|
|
$(MAKE) -C "$(LINUX_DIR)" \
|
|
KERNEL_DIR="$(LINUX_DIR)" \
|
|
ARCH="$(LINUX_KARCH)" \
|
|
CROSS_COMPILE="$(TARGET_CROSS)" \
|
|
SUBDIRS="$(PKG_BUILD_DIR)/mod/stateful" \
|
|
V="$(V)" \
|
|
modules
|
|
$(MAKE) -C "$(LINUX_DIR)" \
|
|
KERNEL_DIR="$(LINUX_DIR)" \
|
|
ARCH="$(LINUX_KARCH)" \
|
|
CROSS_COMPILE="$(TARGET_CROSS)" \
|
|
SUBDIRS="$(PKG_BUILD_DIR)/mod/stateless" \
|
|
V="$(V)" \
|
|
modules
|
|
$(call Build/Compile/Default)
|
|
endef
|
|
|
|
define Package/jool/Default
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
URL:=https://www.jool.mx
|
|
MAINTAINER:=Dan Luedtke <mail@danrl.com>
|
|
endef
|
|
|
|
define Package/jool/Default/description
|
|
Jool is an Open Source SIIT and NAT64 for Linux.
|
|
endef
|
|
|
|
define Package/jool
|
|
$(call Package/jool/Default)
|
|
TITLE:=Jool meta-package
|
|
DEPENDS:=+kmod-jool +jool-tools
|
|
endef
|
|
|
|
define Package/jool/description
|
|
$(call Package/jool/Default/description)
|
|
endef
|
|
|
|
define KernelPackage/jool
|
|
SECTION:=kernel
|
|
CATEGORY:=Kernel modules
|
|
SUBMENU:=Network Support
|
|
TITLE:=Jool kernel module
|
|
DEPENDS:= \
|
|
@IPV6 \
|
|
+kmod-crypto-md5 \
|
|
+kmod-nf-conntrack \
|
|
+kmod-nf-conntrack6
|
|
FILES:= \
|
|
$(PKG_BUILD_DIR)/mod/stateful/jool.$(LINUX_KMOD_SUFFIX) \
|
|
$(PKG_BUILD_DIR)/mod/stateless/jool_siit.$(LINUX_KMOD_SUFFIX)
|
|
endef
|
|
|
|
define KernelPackage/jool/description
|
|
$(call Package/jool/Default/description)
|
|
|
|
This package provides the kernel module for Jool.
|
|
endef
|
|
|
|
define Package/jool-tools
|
|
$(call Package/jool/Default)
|
|
TITLE:=Jool userspace control programs
|
|
DEPENDS:=+libnl +ethtool
|
|
endef
|
|
|
|
define Package/jool-tools/description
|
|
$(call Package/jool/Default/description)
|
|
|
|
This package provides the userspace control programs for Jool.
|
|
endef
|
|
|
|
define Package/jool-tools/install
|
|
$(INSTALL_DIR) $(1)/usr/sbin/
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/usr/stateful/jool $(1)/usr/sbin/
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/usr/stateless/jool_siit $(1)/usr/sbin/
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,jool))
|
|
$(eval $(call KernelPackage,jool))
|
|
$(eval $(call BuildPackage,jool-tools))
|