nftables: update to 1.0.4
[openwrt/staging/ansuel.git] / package / network / utils / nftables / Makefile
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Copyright (C) 2015 OpenWrt.org
4 #
5
6 include $(TOPDIR)/rules.mk
7
8 PKG_NAME:=nftables
9 PKG_VERSION:=1.0.4
10 PKG_RELEASE:=1
11
12 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
13 PKG_SOURCE_URL:=https://netfilter.org/projects/$(PKG_NAME)/files
14 PKG_HASH:=927fb1fea1f685a328c10cf791eb655d7e1ed49d310eea5cb3101dfd8d6cba35
15
16 PKG_MAINTAINER:=
17 PKG_LICENSE:=GPL-2.0
18 PKG_LICENSE_FILES:=COPYING
19
20 PKG_FIXUP:=autoreconf
21 PKG_INSTALL:=1
22
23 include $(INCLUDE_DIR)/package.mk
24
25 DISABLE_NLS:=
26
27 CONFIGURE_ARGS += \
28 --disable-debug \
29 --disable-man-doc \
30 --with-mini-gmp \
31 --without-cli \
32 --disable-python
33
34 define Package/nftables/Default
35 SECTION:=net
36 CATEGORY:=Network
37 SUBMENU:=Firewall
38 TITLE:=nftables userspace utility
39 DEPENDS:=+kmod-nft-core +libnftnl
40 URL:=http://netfilter.org/projects/nftables/
41 PROVIDES:=nftables
42 endef
43
44 define Package/nftables-nojson
45 $(Package/nftables/Default)
46 TITLE+= no JSON support
47 VARIANT:=nojson
48 DEFAULT_VARIANT:=1
49 CONFLICTS:=nftables-json
50 endef
51
52 define Package/nftables-json
53 $(Package/nftables/Default)
54 TITLE+= with JSON support
55 VARIANT:=json
56 DEPENDS+=+jansson
57 endef
58
59 ifeq ($(BUILD_VARIANT),json)
60 CONFIGURE_ARGS += --with-json
61 endif
62
63 TARGET_CFLAGS += -flto
64 TARGET_LDFLAGS += -flto
65
66 define Build/InstallDev
67 $(INSTALL_DIR) $(1)/usr/lib $(1)/usr/include
68 $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
69 $(CP) $(PKG_INSTALL_DIR)/usr/include/nftables $(1)/usr/include/
70 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
71 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libnftables.pc \
72 $(1)/usr/lib/pkgconfig/
73 endef
74
75 define Package/nftables/install/Default
76 $(INSTALL_DIR) $(1)/usr/sbin
77 $(CP) $(PKG_INSTALL_DIR)/usr/sbin/nft $(1)/usr/sbin/
78 $(INSTALL_DIR) $(1)/usr/lib
79 $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
80 endef
81
82 Package/nftables-nojson/install = $(Package/nftables/install/Default)
83 Package/nftables-json/install = $(Package/nftables/install/Default)
84
85 $(eval $(call BuildPackage,nftables-nojson))
86 $(eval $(call BuildPackage,nftables-json))