Merge pull request #8518 from neheb/i
[feed/packages.git] / net / 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.0.5
12 PKG_RELEASE:=1
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:=b5a2cbf0dcd3f1df2675dbd5ec10bbe6f8ae995c41b68cebe2bc95bffc90696e
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))