Upgrade Tor to 0.4.2.5
[librecmc/librecmc.git] / package / network / services / tor / Makefile
1 #
2 # Copyright (C) 2008-2019 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:=tor
11 PKG_VERSION:=0.4.2.5
12 PKG_RELEASE:=2
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=https://dist.torproject.org/ \
16         https://archive.torproject.org/tor-package-archive
17 PKG_HASH:=4d5975862e7808faebe9960def6235669fafeeac844cb76965501fa7af79d8c2
18 PKG_MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de> \
19                 Peter Wagner <tripolar@gmx.at>
20 PKG_LICENSE_FILES:=LICENSE
21 PKG_CPE_ID:=cpe:/a:torproject:tor
22
23 PKG_INSTALL:=1
24 PKG_FIXUP:=autoreconf
25 PKG_BUILD_PARALLEL:=1
26
27 include $(INCLUDE_DIR)/package.mk
28
29 define Package/tor/Default
30   SECTION:=net
31   CATEGORY:=Network
32   URL:=https://www.torproject.org/
33   USERID:=tor=52:tor=52
34 endef
35
36 define Package/tor/Default/description
37  Tor is a toolset for a wide range of organizations and people that want to
38  improve their safety and security on the Internet. Using Tor can help you
39  anonymize web browsing and publishing, instant messaging, IRC, SSH, and
40  more. Tor also provides a platform on which software developers can build
41  new applications with built-in anonymity, safety, and privacy features.
42 endef
43
44 define Package/tor
45 $(call Package/tor/Default)
46   TITLE:=An anonymous Internet communication system
47   DEPENDS:=+libevent2 +libopenssl +libpthread +librt +zlib +libcap
48 endef
49
50 define Package/tor/description
51 $(call Package/tor/Default/description)
52  This package contains the tor daemon.
53 endef
54
55 define Package/tor-gencert
56 $(call Package/tor/Default)
57   TITLE:=Tor certificate generation
58   DEPENDS:=+tor
59 endef
60
61 define Package/tor-gencert/description
62 $(call Package/tor/Default/description)
63  Generate certs and keys for Tor directory authorities
64 endef
65
66 define Package/tor-resolve
67 $(call Package/tor/Default)
68   TITLE:=tor hostname resolve
69   DEPENDS:=+tor
70 endef
71
72 define Package/tor-resolve/description
73 $(call Package/tor/Default/description)
74  Resolve a hostname to an IP address via tor
75 endef
76
77 define Package/tor-geoip
78 $(call Package/tor/Default)
79   TITLE:=GeoIP db for tor
80   DEPENDS:=+tor
81 endef
82
83 define Package/tor-geoip/description
84 $(call Package/tor/Default/description)
85  This package contains a GeoIP database mapping IP addresses to countries.
86 endef
87
88 define Package/tor/conffiles
89 /etc/tor/torrc
90 /var/lib/tor/fingerprint
91 /var/lib/tor/keys/*
92 endef
93
94 CONFIGURE_ARGS += \
95         --with-libevent-dir="$(STAGING_DIR)/usr" \
96         --with-openssl-dir="$(STAGING_DIR)/usr" \
97         --with-zlib-dir="$(STAGING_DIR)/usr" \
98         --disable-asciidoc \
99         --disable-seccomp \
100         --disable-libscrypt \
101         --disable-unittests \
102         --disable-lzma \
103         --disable-zstd \
104         --with-tor-user=tor \
105         --with-tor-group=tor
106
107 TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto
108 TARGET_LDFLAGS += -Wl,--gc-sections -flto
109
110 ifneq ($(CONFIG_SSP_SUPPORT),y)
111         CONFIGURE_ARGS += \
112                 --disable-gcc-hardening
113 else
114         EXTRA_CFLAGS += $(FPIC)
115 endif
116
117 CONFIGURE_VARS += \
118         CROSS_COMPILE="yes"
119
120 define Package/tor/install
121         $(INSTALL_DIR) $(1)/usr/sbin
122         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/tor $(1)/usr/sbin/
123         $(INSTALL_DIR) $(1)/etc/init.d
124         $(INSTALL_BIN) ./files/tor.init $(1)/etc/init.d/tor
125         $(INSTALL_DIR) $(1)/etc/tor
126         $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/tor/torrc.sample $(1)/etc/tor/torrc
127 endef
128
129 define Package/tor-gencert/install
130         $(INSTALL_DIR) $(1)/usr/sbin
131         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/tor-gencert $(1)/usr/sbin/
132 endef
133
134 define Package/tor-resolve/install
135         $(INSTALL_DIR) $(1)/usr/sbin
136         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/tor-resolve $(1)/usr/sbin/
137 endef
138
139 define Package/tor-geoip/install
140         $(INSTALL_DIR) $(1)/usr/share/tor
141         $(INSTALL_DATA) \
142           $(PKG_INSTALL_DIR)/usr/share/tor/geoip \
143           $(PKG_INSTALL_DIR)/usr/share/tor/geoip6 \
144         $(1)/usr/share/tor/
145 endef
146
147 $(eval $(call BuildPackage,tor))
148 $(eval $(call BuildPackage,tor-gencert))
149 $(eval $(call BuildPackage,tor-resolve))
150 $(eval $(call BuildPackage,tor-geoip))