2408394d9c6946ca69970c72617893bd55ef6bef
[feed/packages.git] / net / jool / Makefile
1 #
2 # Copyright (C) 2016 Dan Luedtke <mail@danrl.com>
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6
7 include $(TOPDIR)/rules.mk
8
9 PKG_NAME:=jool
10 PKG_VERSION:=3.5.2
11 PKG_RELEASE:=1
12
13 PKG_LICENSE:=GPL-3.0
14 PKG_LICENSE_FILES:=COPYING
15
16 PKG_SOURCE_PROTO:=git
17 PKG_SOURCE_URL:=https://github.com/NICMx/Jool.git
18 PKG_SOURCE_VERSION:=ec32f7181d6b12eadcafbe39b8bf4d7d48230232
19 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_SOURCE_VERSION)
20 PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.xz
21
22 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
23 PKG_BUILD_PARALLEL:=1
24 PKG_BUILD_DEPENDS:=USE_UCLIBC:argp-standalone USE_MUSL:argp-standalone
25
26 PKG_FIXUP:=autoreconf
27
28 include $(INCLUDE_DIR)/kernel.mk
29 include $(INCLUDE_DIR)/package.mk
30
31 MAKE_PATH:=usr
32 CONFIGURE_PATH:=usr
33
34 define Build/Compile
35 $(MAKE) -C "$(LINUX_DIR)" \
36 KERNEL_DIR="$(LINUX_DIR)" \
37 ARCH="$(LINUX_KARCH)" \
38 CROSS_COMPILE="$(TARGET_CROSS)" \
39 SUBDIRS="$(PKG_BUILD_DIR)/mod/stateful" \
40 V="$(V)" \
41 modules
42 $(MAKE) -C "$(LINUX_DIR)" \
43 KERNEL_DIR="$(LINUX_DIR)" \
44 ARCH="$(LINUX_KARCH)" \
45 CROSS_COMPILE="$(TARGET_CROSS)" \
46 SUBDIRS="$(PKG_BUILD_DIR)/mod/stateless" \
47 V="$(V)" \
48 modules
49 $(call Build/Compile/Default)
50 endef
51
52 define Package/jool/Default
53 SECTION:=net
54 CATEGORY:=Network
55 URL:=https://www.jool.mx
56 MAINTAINER:=Dan Luedtke <mail@danrl.com>
57 endef
58
59 define Package/jool/Default/description
60 Jool is an Open Source SIIT and NAT64 for Linux.
61 endef
62
63 define Package/jool
64 $(call Package/jool/Default)
65 TITLE:=Jool meta-package
66 DEPENDS:=+kmod-jool +jool-tools
67 endef
68
69 define Package/jool/description
70 $(call Package/jool/Default/description)
71 endef
72
73 define KernelPackage/jool
74 SECTION:=kernel
75 CATEGORY:=Kernel modules
76 SUBMENU:=Network Support
77 TITLE:=Jool kernel module
78 DEPENDS:= \
79 @IPV6 \
80 +kmod-crypto-md5 \
81 +kmod-nf-conntrack \
82 +kmod-nf-conntrack6
83 FILES:= \
84 $(PKG_BUILD_DIR)/mod/stateful/jool.$(LINUX_KMOD_SUFFIX) \
85 $(PKG_BUILD_DIR)/mod/stateless/jool_siit.$(LINUX_KMOD_SUFFIX)
86 endef
87
88 define KernelPackage/jool/description
89 $(call Package/jool/Default/description)
90
91 This package provides the kernel module for Jool.
92 endef
93
94 define Package/jool-tools
95 $(call Package/jool/Default)
96 TITLE:=Jool userspace control programs
97 DEPENDS:=+libnl +ethtool
98 endef
99
100 define Package/jool-tools/description
101 $(call Package/jool/Default/description)
102
103 This package provides the userspace control programs for Jool.
104 endef
105
106 define Package/jool-tools/install
107 $(INSTALL_DIR) $(1)/usr/sbin/
108 $(INSTALL_BIN) $(PKG_BUILD_DIR)/usr/stateful/jool $(1)/usr/sbin/
109 $(INSTALL_BIN) $(PKG_BUILD_DIR)/usr/stateless/jool_siit $(1)/usr/sbin/
110 endef
111
112 $(eval $(call BuildPackage,jool))
113 $(eval $(call KernelPackage,jool))
114 $(eval $(call BuildPackage,jool-tools))