You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

145 lines
3.8 KiB

  1. #
  2. # Copyright (C) 2008-2016 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=tor
  9. PKG_VERSION:=0.3.1.9
  10. PKG_RELEASE:=1
  11. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  12. PKG_SOURCE_URL:=https://dist.torproject.org/ \
  13. https://archive.torproject.org/tor-package-archive
  14. PKG_HASH:=6e1b04f7890e782fd56014a0de5075e4ab29b52a35d8bca1f6b80c93f58f3d26
  15. PKG_MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de>
  16. PKG_LICENSE_FILES:=LICENSE
  17. PKG_INSTALL:=1
  18. include $(INCLUDE_DIR)/package.mk
  19. define Package/tor/Default
  20. SECTION:=net
  21. CATEGORY:=Network
  22. URL:=https://www.torproject.org/
  23. USERID:=tor=52:tor=52
  24. endef
  25. define Package/tor/Default/description
  26. Tor is a toolset for a wide range of organizations and people that want to
  27. improve their safety and security on the Internet. Using Tor can help you
  28. anonymize web browsing and publishing, instant messaging, IRC, SSH, and
  29. more. Tor also provides a platform on which software developers can build
  30. new applications with built-in anonymity, safety, and privacy features.
  31. endef
  32. define Package/tor
  33. $(call Package/tor/Default)
  34. TITLE:=An anonymous Internet communication system
  35. DEPENDS:=+libevent2 +libopenssl +libpthread +librt +zlib +libcap
  36. endef
  37. define Package/tor/description
  38. $(call Package/tor/Default/description)
  39. This package contains the tor daemon.
  40. endef
  41. define Package/tor-gencert
  42. $(call Package/tor/Default)
  43. TITLE:=Tor certificate generation
  44. DEPENDS:=+tor
  45. endef
  46. define Package/tor-gencert/description
  47. $(call Package/tor/Default/description)
  48. Generate certs and keys for Tor directory authorities
  49. endef
  50. define Package/tor-resolve
  51. $(call Package/tor/Default)
  52. TITLE:=tor hostname resolve
  53. DEPENDS:=+tor
  54. endef
  55. define Package/tor-resolve/description
  56. $(call Package/tor/Default/description)
  57. Resolve a hostname to an IP address via tor
  58. endef
  59. define Package/tor-geoip
  60. $(call Package/tor/Default)
  61. TITLE:=GeoIP db for tor
  62. DEPENDS:=+tor
  63. endef
  64. define Package/tor-geoip/description
  65. $(call Package/tor/Default/description)
  66. This package contains a GeoIP database mapping IP addresses to countries.
  67. endef
  68. define Package/tor/conffiles
  69. /etc/tor/torrc
  70. /var/lib/tor/fingerprint
  71. /var/lib/tor/keys/*
  72. endef
  73. CONFIGURE_ARGS += \
  74. --with-libevent-dir="$(STAGING_DIR)/usr" \
  75. --with-ssl-dir="$(STAGING_DIR)/usr" \
  76. --with-openssl-dir="$(STAGING_DIR)/usr" \
  77. --with-zlib-dir="$(STAGING_DIR)/usr" \
  78. --disable-asciidoc \
  79. --disable-seccomp \
  80. --disable-libscrypt \
  81. --disable-unittests \
  82. --disable-largefile \
  83. --disable-lzma \
  84. --with-tor-user=tor \
  85. --with-tor-group=tor
  86. EXTRA_CFLAGS += -std=gnu99
  87. ifneq ($(CONFIG_SSP_SUPPORT),y)
  88. CONFIGURE_ARGS += \
  89. --disable-gcc-hardening
  90. else
  91. EXTRA_CFLAGS += -fPIC
  92. endif
  93. CONFIGURE_VARS += \
  94. CROSS_COMPILE="yes"
  95. define Package/tor/install
  96. $(INSTALL_DIR) $(1)/usr/sbin
  97. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/tor $(1)/usr/sbin/
  98. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/torify $(1)/usr/sbin/
  99. $(INSTALL_DIR) $(1)/etc/init.d
  100. $(INSTALL_BIN) ./files/tor.init $(1)/etc/init.d/tor
  101. $(INSTALL_DIR) $(1)/etc/tor
  102. $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/tor/torrc.sample $(1)/etc/tor/torrc
  103. endef
  104. define Package/tor-gencert/install
  105. $(INSTALL_DIR) $(1)/usr/sbin
  106. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/tor-gencert $(1)/usr/sbin/
  107. endef
  108. define Package/tor-resolve/install
  109. $(INSTALL_DIR) $(1)/usr/sbin
  110. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/tor-resolve $(1)/usr/sbin/
  111. endef
  112. define Package/tor-geoip/install
  113. $(INSTALL_DIR) $(1)/usr/share/tor
  114. $(CP) $(PKG_INSTALL_DIR)/usr/share/tor/geoip $(1)/usr/share/tor/
  115. $(CP) $(PKG_INSTALL_DIR)/usr/share/tor/geoip6 $(1)/usr/share/tor/
  116. endef
  117. $(eval $(call BuildPackage,tor))
  118. $(eval $(call BuildPackage,tor-gencert))
  119. $(eval $(call BuildPackage,tor-resolve))
  120. $(eval $(call BuildPackage,tor-geoip))