Merge pull request #16364 from stintel/mtools
[feed/packages.git] / net / knot-resolver / Makefile
1 #
2 # Copyright (C) 2015-2021 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 PKG_RELRO_FULL:=0
9
10 include $(TOPDIR)/rules.mk
11
12 PKG_NAME:=knot-resolver
13 PKG_VERSION:=5.4.0
14 PKG_RELEASE:=1
15
16 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
17 PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-resolver
18 PKG_HASH:=534af671b98433b23b57039acc9d7d3c100a4888a8cf9aeba36161774ca0815e
19
20 PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
21 PKG_LICENSE:=GPL-3.0-later
22 PKG_LICENSE_FILES:=COPYING
23
24 PKG_INSTALL:=1
25
26 include $(INCLUDE_DIR)/package.mk
27 include $(INCLUDE_DIR)/meson.mk
28
29 define Package/knot-resolver
30 SECTION:=net
31 CATEGORY:=Network
32 SUBMENU:=IP Addresses and Names
33 TITLE:=Knot DNS Resolver
34 URL:=https://www.knot-resolver.cz
35 DEPENDS=\
36 +knot-libs \
37 +knot-libzscanner \
38 +libuv \
39 +luajit \
40 +luasec \
41 +luasocket \
42 +libstdcpp \
43 +libnghttp2 \
44 +lmdb \
45 PACKAGE_knot-resolver_dnstap:libfstrm \
46 PACKAGE_knot-resolver_dnstap:libprotobuf-c
47 USERID:=kresd=3536:kresd=3536
48 endef
49
50 define Package/knot-resolver/description
51 The Knot Resolver is a caching full resolver
52 implementation, including both a resolver library and a daemon.
53 endef
54
55 define Package/knot-resolver/config
56 source "$(SOURCE)/Config.in"
57 endef
58
59 # kres_gen_test breaks on cross, fix is already upstream
60 MESON_ARGS+= \
61 $(if $(CONFIG_PACKAGE_knot-resolver_dnstap), -Ddnstap=enabled,-Ddnstap=disabled) \
62 -Dcapng=disabled \
63 -Dclient=disabled \
64 -Dconfig_tests=disabled \
65 -Ddnstap=disabled \
66 -Ddoc=disabled \
67 -Dinstall_kresd_conf=disabled \
68 -Dinstall_root_keys=disabled \
69 -Dkeyfile_default=/etc/knot-resolver/root.keys \
70 -Dprefix=/usr \
71 -Dunit_tests=disabled \
72 -Dkres_gen_test=false \
73 -Dutils=disabled
74
75 define Package/knot-resolver/install
76 $(INSTALL_DIR) $(1)/usr/sbin
77 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kresd $(1)/usr/sbin/
78
79 $(INSTALL_DIR) $(1)/usr/lib/knot-resolver
80 $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
81 $(CP) $(PKG_INSTALL_DIR)/usr/lib/knot-resolver/{*.lua,*.so} $(1)/usr/lib/knot-resolver/
82 $(INSTALL_DIR) $(1)/usr/lib/knot-resolver/kres_modules
83 $(CP) $(PKG_INSTALL_DIR)/usr/lib/knot-resolver/kres_modules/{*.lua,*.so} $(1)/usr/lib/knot-resolver/kres_modules/
84 $(INSTALL_DIR) $(1)/etc/init.d
85 $(INSTALL_BIN) ./files/kresd.init $(1)/etc/init.d/kresd
86
87 $(INSTALL_DIR) $(1)/etc/knot-resolver
88 $(CP) $(PKG_INSTALL_DIR)/etc/knot-resolver/root.hints $(1)/etc/knot-resolver/
89 $(CP) ./files/root.keys $(1)/etc/knot-resolver
90 endef
91
92 $(eval $(call BuildPackage,knot-resolver))