Revert package feed back
[librecmc/package-feed.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:=2016.12.17
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:=66a791c90751d7941b08c142babe1deec73d0996
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))