Merge pull request #840 from cjkoenig/update_liburcu
[feed/packages.git] / net / dnscrypt-proxy / Makefile
1 #
2 # Copyright (C) 2009-2014 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=dnscrypt-proxy
11 PKG_VERSION:=1.4.3
12 PKG_RELEASE:=1
13
14 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
16 PKG_SOURCE_URL:=http://download.dnscrypt.org/dnscrypt-proxy
17 PKG_MD5SUM:=54d172236a8f321fb5689ff81767f1ba
18 PKG_CAT:=zcat
19
20 PKG_FIXUP:=autoreconf
21 PKG_INSTALL:=1
22
23 PKG_MAINTAINER:=Damiano Renfer <damiano.renfer@gmail.com>
24 PKG_LICENSE:=ISC
25
26 include $(INCLUDE_DIR)/package.mk
27
28 define Package/dnscrypt-proxy/Default
29 SECTION:=net
30 CATEGORY:=Network
31 SUBMENU:=IP Addresses and Names
32 DEPENDS:=+libsodium
33 URL:=http://dnscrypt.org/
34 MAINTAINER:=Damiano Renfer <damiano.renfer@gmail.com>
35 endef
36
37 define Package/dnscrypt-proxy
38 $(call Package/dnscrypt-proxy/Default)
39 TITLE:=A tool for securing communications between a client and a DNS resolver
40 endef
41
42 define Package/dnscrypt-proxy/description
43 dnscrypt-proxy provides local service which can be used directly as your
44 local resolver or as a DNS forwarder, encrypting and authenticating requests
45 using the DNSCrypt protocol and passing them to an upstream server.
46 The DNSCrypt protocol uses high-speed high-security elliptic-curve cryptography
47 and is very similar to DNSCurve, but focuses on securing communications between
48 a client and its first-level resolver.
49 endef
50
51 define Package/hostip
52 $(call Package/dnscrypt-proxy/Default)
53 TITLE:=Resolver to IPv4 or IPv6 addresses
54 endef
55
56 define Package/hostip/description
57 The DNSCrypt proxy ships with a simple tool named hostip that resolves a name
58 to IPv4 or IPv6 addresses.
59 endef
60
61 define Build/Configure
62 $(call Build/Configure/Default, \
63 --prefix=/usr \
64 --disable-ssp \
65 )
66 endef
67
68 TARGET_CFLAGS += \
69 -fomit-frame-pointer \
70 -fdata-sections \
71 -ffunction-sections
72
73 TARGET_LDFLAGS += \
74 -Wl,-gc-sections
75
76 MAKE_FLAGS += \
77 CFLAGS="$(TARGET_CFLAGS)" \
78 LDFLAGS="$(TARGET_LDFLAGS)"
79
80 define Package/dnscrypt-proxy/install
81 $(INSTALL_DIR) $(1)/usr/sbin
82 $(CP) $(PKG_INSTALL_DIR)/usr/sbin/dnscrypt-proxy $(1)/usr/sbin/
83 $(INSTALL_DIR) $(1)/usr/share/dnscrypt-proxy
84 $(CP) $(PKG_INSTALL_DIR)/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv $(1)/usr/share/dnscrypt-proxy/
85 $(INSTALL_DIR) $(1)/etc/init.d
86 $(INSTALL_BIN) ./files/dnscrypt-proxy.init $(1)/etc/init.d/dnscrypt-proxy
87 $(INSTALL_DIR) $(1)/etc/config
88 $(INSTALL_CONF) ./files/dnscrypt-proxy.config $(1)/etc/config/dnscrypt-proxy
89 endef
90
91 define Package/dnscrypt-proxy/postinst
92 #!/bin/sh
93 # check if we are on real system
94 if [ -z "$${IPKG_INSTROOT}" ]; then
95 echo "Enabling rc.d symlink for dnscrypt-proxy"
96 /etc/init.d/dnscrypt-proxy enable
97 fi
98 exit 0
99 endef
100
101 define Package/dnscrypt-proxy/prerm
102 #!/bin/sh
103 # check if we are on real system
104 if [ -z "$${IPKG_INSTROOT}" ]; then
105 echo "Removing rc.d symlink for dnscrypt-proxy"
106 /etc/init.d/dnscrypt-proxy disable
107 fi
108 exit 0
109 endef
110
111 define Package/dnscrypt-proxy/conffiles
112 /etc/config/dnscrypt-proxy
113 endef
114
115 define Package/hostip/install
116 $(INSTALL_DIR) $(1)/usr/bin
117 $(CP) $(PKG_INSTALL_DIR)/usr/bin/hostip $(1)/usr/bin/
118 endef
119
120 $(eval $(call BuildPackage,dnscrypt-proxy))
121 $(eval $(call BuildPackage,hostip))