lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

Makefile (4196B)


      1 #
      2 # Copyright (C) 2016 OpenWrt.org
      3 # Copyright (C) 2012-2016 Black Roland and contributors (https://github.com/black-roland/exOpenWrt/graphs/contributors)
      4 # Copyright (C) 2011-2012 Entware
      5 #
      6 # This is free software, licensed under the GNU General Public License v2.
      7 # See /LICENSE for more information.
      8 #
      9 
     10 include $(TOPDIR)/rules.mk
     11 
     12 PKG_NAME:=dnscrypt-proxy
     13 PKG_VERSION:=1.9.4
     14 PKG_RELEASE:=3
     15 
     16 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
     17 PKG_SOURCE_URL:=http://download.dnscrypt.org/dnscrypt-proxy
     18 PKG_MD5SUM:=fdf4a708e7922e13b14555f315ca8d5361aec89b0595b06fdbbcaacfa4e6f11e
     19 PKG_FIXUP:=autoreconf
     20 PKG_INSTALL:=1
     21 
     22 PKG_MAINTAINER:=Damiano Renfer <damiano.renfer@gmail.com>
     23 PKG_LICENSE:=ISC
     24 PKG_CONFIG_DEPENDS:= \
     25 	CONFIG_DNSCRYPT_ENABLE_PLUGINS
     26 
     27 include $(INCLUDE_DIR)/package.mk
     28 
     29 define Package/dnscrypt-proxy/Default
     30   SECTION:=net
     31   CATEGORY:=Network
     32   SUBMENU:=IP Addresses and Names
     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   DEPENDS:=+libsodium +dnscrypt-proxy-resolvers +DNSCRYPT_ENABLE_PLUGINS:libltdl \
     40 	+DNSCRYPT_ENABLE_PLUGINS:libldns
     41   TITLE:=A tool for securing communications between a client and a DNS resolver
     42 endef
     43 
     44 define Package/dnscrypt-proxy/description
     45   dnscrypt-proxy provides local service which can be used directly as your
     46   local resolver or as a DNS forwarder, encrypting and authenticating requests
     47   using the DNSCrypt protocol and passing them to an upstream server.
     48   The DNSCrypt protocol uses high-speed high-security elliptic-curve cryptography
     49   and is very similar to DNSCurve, but focuses on securing communications between
     50   a client and its first-level resolver.
     51 endef
     52 
     53 define Package/dnscrypt-proxy-resolvers
     54   $(call Package/dnscrypt-proxy/Default)
     55   TITLE:=Package with current list of dnscrypt-proxy resolvers
     56   VERSION:=$(PKG_VERSION)+git-20161129-f17bace-$(PKG_RELEASE)
     57 endef
     58 
     59 define Package/dnscrypt-proxy-resolvers/description
     60   Package with current list of dnscrypt-proxy resolvers.
     61 endef
     62 
     63 define Package/hostip
     64   $(call Package/dnscrypt-proxy/Default)
     65   DEPENDS:=+libsodium
     66   TITLE:=Resolver to IPv4 or IPv6 addresses
     67 endef
     68 
     69 define Package/hostip/description
     70   The DNSCrypt proxy ships with a simple tool named hostip that resolves a name
     71   to IPv4 or IPv6 addresses.
     72 endef
     73 
     74 define Package/dnscrypt-proxy/config
     75 	source "$(SOURCE)/Config.in"
     76 endef
     77 
     78 define Build/Configure
     79 	$(call Build/Configure/Default, \
     80 	--prefix=/usr \
     81 	--disable-ssp \
     82 	$(if $(CONFIG_DNSCRYPT_ENABLE_PLUGINS),,--disable-plugins) \
     83 	)
     84 endef
     85 
     86 TARGET_CFLAGS += \
     87 	-fomit-frame-pointer \
     88 	-fdata-sections \
     89 	-ffunction-sections
     90 
     91 TARGET_LDFLAGS += \
     92 	-Wl,-gc-sections
     93 
     94 MAKE_FLAGS += \
     95 	CFLAGS="$(TARGET_CFLAGS)" \
     96 	LDFLAGS="$(TARGET_LDFLAGS)"
     97 
     98 define Package/dnscrypt-proxy/install
     99 	$(INSTALL_DIR) $(1)/usr/sbin
    100 	$(CP) $(PKG_INSTALL_DIR)/usr/sbin/dnscrypt-proxy $(1)/usr/sbin/
    101 	$(INSTALL_DIR) $(1)/etc/init.d
    102 	$(INSTALL_BIN) ./files/dnscrypt-proxy.init $(1)/etc/init.d/dnscrypt-proxy
    103 	$(INSTALL_DIR) $(1)/etc/config
    104 	$(INSTALL_CONF) ./files/dnscrypt-proxy.config $(1)/etc/config/dnscrypt-proxy
    105 	$(if $(CONFIG_DNSCRYPT_ENABLE_PLUGINS), \
    106 		$(INSTALL_DIR) $(1)/usr/lib/dnscrypt-proxy; \
    107 		$(CP) $(PKG_INSTALL_DIR)/usr/lib/dnscrypt-proxy/libdcplugin_example_cache.so $(1)/usr/lib/dnscrypt-proxy/; \
    108 		$(CP) $(PKG_INSTALL_DIR)/usr/lib/dnscrypt-proxy/libdcplugin_example_ldns_aaaa_blocking.so $(1)/usr/lib/dnscrypt-proxy/; \
    109 		$(CP) $(PKG_INSTALL_DIR)/usr/lib/dnscrypt-proxy/libdcplugin_example_ldns_blocking.so $(1)/usr/lib/dnscrypt-proxy/; \
    110 		$(CP) $(PKG_INSTALL_DIR)/usr/lib/dnscrypt-proxy/libdcplugin_example_logging.so $(1)/usr/lib/dnscrypt-proxy/)
    111 endef
    112 
    113 define Package/dnscrypt-proxy-resolvers/install
    114 	$(INSTALL_DIR) $(1)/usr/share/dnscrypt-proxy
    115 	$(CP) ./files/dnscrypt-resolvers.csv $(1)/usr/share/dnscrypt-proxy/
    116 endef
    117 
    118 define Package/dnscrypt-proxy/conffiles
    119 /etc/config/dnscrypt-proxy
    120 endef
    121 
    122 define Package/hostip/install
    123 	$(INSTALL_DIR) $(1)/usr/bin
    124 	$(CP) $(PKG_INSTALL_DIR)/usr/bin/hostip $(1)/usr/bin/
    125 endef
    126 
    127 $(eval $(call BuildPackage,dnscrypt-proxy))
    128 $(eval $(call BuildPackage,dnscrypt-proxy-resolvers))
    129 $(eval $(call BuildPackage,hostip))