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.

448 lines
16 KiB

  1. include $(TOPDIR)/rules.mk
  2. PKG_NAME:=gnunet
  3. PKG_VERSION:=0.15.3
  4. PKG_RELEASE:=$(AUTORELEASE)
  5. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  6. PKG_SOURCE_URL:=@GNU/gnunet
  7. PKG_HASH:=d62669a8f41e078eaa220ce77a32f4f3f801e3099357ae8c705498fe73884ec5
  8. PKG_LICENSE:=AGPL-3.0
  9. PKG_LICENSE_FILES:=COPYING
  10. PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
  11. PKG_CPE_ID:=cpe:/a:gnunet:gnunet
  12. PKG_BUILD_PARALLEL:=1
  13. PKG_FIXUP:=gettext-version
  14. PKG_INSTALL:=1
  15. # despite configure fails if sqlite3 isn't detected
  16. PKG_BUILD_DEPENDS:=sqlite3
  17. include $(INCLUDE_DIR)/package.mk
  18. include $(INCLUDE_DIR)/nls.mk
  19. # always pass --with-sqlite as configure fails when trying --without-sqlite
  20. CONFIGURE_ARGS+= \
  21. --with-libiconv-prefix="$(ICONV_PREFIX)" \
  22. --with-libintl-prefix="$(INTL_PREFIX)" \
  23. --with-ltdl \
  24. $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mysql),--with-mysql="$(STAGING_DIR)/usr",--without-mysql) \
  25. $(if $(CONFIG_PACKAGE_$(PKG_NAME)-pgsql),--with-postgresql="$(STAGING_DIR)/usr/bin/pg_config",--without-postgresql) \
  26. --with-sqlite="$(STAGING_DIR)/usr" \
  27. --enable-testing \
  28. --disable-testruns \
  29. --disable-documentation \
  30. --enable-experimental \
  31. --with-extractor=$(STAGING_DIR)/usr \
  32. --with-gnutls=$(STAGING_DIR)/usr \
  33. $(if $(CONFIG_PACKAGE_$(PKG_NAME)-transport-bluetooth),--with-libbluetooth="$(STAGING_DIR)/usr",--without-libbluetooth) \
  34. --with-libgnurl=$(STAGING_DIR)/usr \
  35. --with-libogg=$(STAGING_DIR)/usr \
  36. --with-libopus=$(STAGING_DIR)/usr \
  37. --with-libpulse=$(STAGING_DIR)/usr \
  38. --with-libunistring-prefix=$(STAGING_DIR)/usr \
  39. --with-microhttpd=$(STAGING_DIR)/usr
  40. # upstream now provides --with-pulseaudio but doesn't detect rpath
  41. TARGET_LDFLAGS+= -Wl,-rpath-link=$(STAGING_DIR)/usr/lib/pulseaudio
  42. define Package/gnunet/Default
  43. SECTION:=net
  44. CATEGORY:=Network
  45. TITLE:=GNUnet
  46. URL:=https://www.gnunet.org/
  47. endef
  48. define Package/gnunet
  49. $(call Package/gnunet/Default)
  50. TITLE+= - a peer-to-peer framework focusing on security
  51. DEPENDS:=+libatomic +libgcrypt +libgpg-error +libidn2 +libltdl +libsodium \
  52. +libunistring +librt +zlib $(ICONV_DEPENDS) $(INTL_DEPENDS)
  53. USERID:=gnunet=958:gnunet=958
  54. MENU:=1
  55. FILE_MODES:=/usr/lib/gnunet/libexec/gnunet-helper-nat-server:root:gnunet:4750 \
  56. /usr/lib/gnunet/libexec/gnunet-helper-nat-client:root:gnunet:4750
  57. endef
  58. define Package/gnunet/description
  59. GNUnet is a peer-to-peer framework focusing on security. The first and
  60. primary application for GNUnet is anonymous file-sharing. GNUnet is
  61. currently developed by a worldwide group of independent free software
  62. developers. GNUnet is a GNU package (http://www.gnu.org/).
  63. This is an ALPHA release. There are known and significant bugs as
  64. well as many missing features in this release.
  65. This package provides the core components of GNUnet including the
  66. CADET routing engine, a DHT implementation and basic transports as
  67. well as their helpers.
  68. endef
  69. define BuildComponent
  70. PKG_CONFIG_DEPENDS+=CONFIG_PACKAGE_$(PKG_NAME)-$(1)
  71. define Package/gnunet-$(1)
  72. $$(call Package/gnunet/Default)
  73. TITLE+= $(2)
  74. DEPENDS:=gnunet $(DEPENDS_$(1))
  75. $(if $(3),DEFAULT:=y if PACKAGE_gnunet)
  76. $(if $(USERID_$(1)),USERID:=$(USERID_$(1)))
  77. $(if $(CONFLICTS_$(1)),CONFLICTS:=$(CONFLICTS_$(1)))
  78. $(if $(FILE_MODES_$(1)),FILE_MODES:=$(FILE_MODES_$(1)))
  79. endef
  80. define Package/gnunet-$(1)/install
  81. ( if [ "$(BIN_$(1))" ]; then \
  82. $(INSTALL_DIR) $$(1)/usr/bin ; \
  83. for bin in $(BIN_$(1)); do \
  84. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/gnunet-$$$$$$$$bin $$(1)/usr/bin/ ; \
  85. done \
  86. fi )
  87. ( if [ "$(LIB_$(1))" ]; then \
  88. $(INSTALL_DIR) $$(1)/usr/lib ; \
  89. for lib in $(LIB_$(1)); do \
  90. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgnunet$$$$$$$$lib.so* $$(1)/usr/lib/ ; \
  91. done \
  92. fi )
  93. ( if [ "$(PLUGIN_$(1))" ]; then \
  94. $(INSTALL_DIR) $$(1)/usr/lib/gnunet ; \
  95. for plug in $(PLUGIN_$(1)); do \
  96. $(CP) $(PKG_INSTALL_DIR)/usr/lib/gnunet/libgnunet_plugin_$$$$$$$$plug*.so $$(1)/usr/lib/gnunet ; \
  97. done \
  98. fi )
  99. ( if [ "$(LIBEXEC_$(1))" ]; then \
  100. $(INSTALL_DIR) $$(1)/usr/lib/gnunet/libexec ; \
  101. for lex in $(LIBEXEC_$(1)); do \
  102. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/gnunet/libexec/gnunet-$$$$$$$$lex $$(1)/usr/lib/gnunet/libexec ; \
  103. done \
  104. fi )
  105. ( if [ "$(CONF_$(1))" ]; then \
  106. $(INSTALL_DIR) $$(1)/usr/share/gnunet/config.d ; \
  107. for conf in $(CONF_$(1)); do \
  108. $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/gnunet/config.d/$$$$$$$$conf.conf $$(1)/usr/share/gnunet/config.d ; \
  109. done \
  110. fi )
  111. ( if [ -e ./files/gnunet-$(1).defaults ]; then \
  112. $(INSTALL_DIR) $$(1)/etc/uci-defaults ; \
  113. $(INSTALL_BIN) ./files/gnunet-$(1).defaults $$(1)/etc/uci-defaults/gnunet-$(1) ; \
  114. fi )
  115. endef
  116. $$(eval $$(call BuildPackage,gnunet-$(1)))
  117. endef
  118. define Package/gnunet/install
  119. $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/gnunet/libexec
  120. $(INSTALL_DIR) $(1)/usr/share/gnunet/config.d $(1)/usr/share/gnunet/hellos
  121. ( for bin in arm ats cadet core config ecc identity nat nat-auto nat-server nse \
  122. peerinfo peerstore revocation scalarproduct scrypt statistics transport uri; do \
  123. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/gnunet-$$$$bin $(1)/usr/bin/ ; \
  124. done )
  125. ( for lib in arm ats block blockgroup cadet \
  126. core datacache dht dns fragmentation friends hello \
  127. identity natauto natnew nse nt peerinfo peerstore regexblock regex revocation \
  128. scalarproduct set seti setu statistics transport transportapplication \
  129. transportcore transportmonitor util; do \
  130. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgnunet$$$$lib.so* $(1)/usr/lib/ ; \
  131. done )
  132. ( for plug in ats_proportional block_dht block_regex block_revocation transport_unix; do \
  133. $(CP) $(PKG_INSTALL_DIR)/usr/lib/gnunet/libgnunet_plugin_$$$$plug*.so $(1)/usr/lib/gnunet ; \
  134. done )
  135. ( for lex in daemon-topology helper-nat-client \
  136. helper-nat-server service-arm service-ats service-ats-new service-cadet \
  137. service-core service-dht service-identity service-nat service-nat-auto \
  138. service-nse service-peerinfo service-peerstore service-regex \
  139. service-revocation service-scalarproduct-alice \
  140. service-scalarproduct-bob service-scalarproduct-ecc-alice \
  141. service-scalarproduct-ecc-bob service-set service-seti service-setu service-statistics \
  142. service-transport timeout; do \
  143. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/gnunet/libexec/gnunet-$$$$lex $(1)/usr/lib/gnunet/libexec ; \
  144. done )
  145. ( for conf in arm ats cadet core datacache dht identity \
  146. nat nat-auto nse peerinfo peerstore regex revocation \
  147. scalarproduct set seti setu statistics topology transport util; do \
  148. $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/gnunet/config.d/$$$$conf.conf $(1)/usr/share/gnunet/config.d ; \
  149. done )
  150. $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/gnunet/hellos/* $(1)/usr/share/gnunet/hellos
  151. $(INSTALL_DIR) $(1)/etc/init.d
  152. $(INSTALL_BIN) ./files/gnunet.init $(1)/etc/init.d/gnunet
  153. $(INSTALL_DIR) $(1)/lib/upgrade/keep.d
  154. $(INSTALL_DATA) ./files/gnunet.upgrade $(1)/lib/upgrade/keep.d/gnunet
  155. $(INSTALL_DIR) $(1)/etc/uci-defaults
  156. $(INSTALL_BIN) ./files/gnunet.defaults $(1)/etc/uci-defaults/gnunet
  157. $(INSTALL_DIR) $(1)/lib/netifd/proto
  158. $(INSTALL_BIN) ./files/gnunet-proto.sh $(1)/lib/netifd/proto/gnunet.sh
  159. endef
  160. define Build/InstallDev
  161. $(INSTALL_DIR) $(1)/usr/include/gnunet $(1)/usr/lib/pkgconfig
  162. $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{la,so}* $(1)/usr/lib/
  163. $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig
  164. $(CP) $(PKG_INSTALL_DIR)/usr/include/gnunet/*.h $(1)/usr/include/gnunet
  165. endef
  166. BIN_abd:=abd
  167. LIB_abd:=abd
  168. PLUGIN_abd:=gnsrecord_abd
  169. LIBEXEC_abd:=service-abd
  170. CONF_abd:=abd
  171. DEPENDS_abd:=+gnunet-gns
  172. BIN_auction:=auction-create auction-info auction-join
  173. LIBEXEC_auction:=service-auction
  174. CONF_auction:=auction
  175. DEPENDS_auction:=+gnunet-reclaim +jansson
  176. DEPENDS_conversation:=+gnunet-gns +libgst1app +libgst1audio +libgstreamer1 +glib2 +pulseaudio-daemon +libopus +libogg
  177. BIN_conversation:=conversation conversation-test
  178. LIB_conversation:=conversation microphone speaker
  179. PLUGIN_conversation:=gnsrecord_conversation
  180. LIBEXEC_conversation:=helper-audio-playback helper-audio-record service-conversation
  181. CONF_conversation:=conversation
  182. BIN_dht-cli:=dht-get dht-put dht-monitor
  183. PLUGIN_dht-cli:=block_test
  184. DEPENDS_curl:=+libgnurl +jansson
  185. LIB_curl:=curl
  186. DEPENDS_hostlist:=+libmicrohttpd-ssl +gnunet-curl +ca-certificates
  187. LIBEXEC_hostlist:=daemon-hostlist
  188. CONF_hostlist:=hostlist
  189. DEPENDS_transport-bluetooth:=+bluez-libs
  190. PLUGIN_transport-bluetooth:=transport_bluetooth
  191. LIBEXEC_transport-bluetooth:=helper-transport-bluetooth
  192. FILE_MODES_transport-bluetooth:=/usr/lib/gnunet/libexec/gnunet-helper-transport-bluetooth:root:gnunet:4750
  193. DEPENDS_transport-http_client:=+gnunet-curl +ca-certificates
  194. PLUGIN_transport-http_client:=transport_http_client transport_https_client
  195. DEPENDS_transport-http_server:=+libmicrohttpd-ssl
  196. PLUGIN_transport-http_server:=transport_http_server transport_https_server
  197. PLUGIN_transport-tcp:=transport_tcp
  198. PLUGIN_transport-udp:=transport_udp
  199. PLUGIN_transport-wlan:=transport_wlan
  200. LIBEXEC_transport-wlan:=helper-transport-wlan
  201. FILE_MODES_transport-wlan:=/usr/lib/gnunet/libexec/gnunet-helper-transport-wlan:root:gnunet:4750
  202. # BIN_dv:=dv
  203. LIB_dv:=dv
  204. PLUGIN_dv:=transport_dv
  205. LIBEXEC_dv:=service-dv
  206. CONF_dv:=dv
  207. DEPENDS_fs:=+gnunet-datastore +libextractor
  208. BIN_fs:=auto-share directory download fs publish unindex search
  209. LIB_fs:=fs
  210. PLUGIN_fs:=block_fs
  211. LIBEXEC_fs:=helper-fs-publish service-fs
  212. CONF_fs:=fs
  213. DEPENDS_gns:=+gnunet-vpn +iptables-mod-extra
  214. USERID_gns:=:gnunetdns=452
  215. BIN_gns:=gns gns-import.sh namecache namestore resolver zoneimport
  216. LIB_gns:=gns gnsrecord namecache namestore
  217. PLUGIN_gns:=block_dns block_gns gnsrecord_conversation gnsrecord_dns gnsrecord_gns
  218. LIBEXEC_gns:=dns2gns helper-dns service-dns service-gns service-namecache service-namestore service-resolver service-zonemaster
  219. CONF_gns:=dns gns namecache namestore resolver zonemaster
  220. FILE_MODES_gns:=/usr/lib/gnunet/libexec/gnunet-helper-dns:root:gnunetdns:4750 /usr/lib/gnunet/libexec/gnunet-service-dns:gnunet:gnunetdns:2750
  221. DEPENDS_namestore-fcfsd:=+gnunet-rest +libmicrohttpd-ssl
  222. LIBEXEC_namestore-fcfsd:=namestore-fcfsd
  223. DEPENDS_gns-proxy:=+gnunet-gns +gnunet-curl +libmicrohttpd-ssl +PACKAGE_libgnutls-dane:libgnutls-dane
  224. LIBEXEC_gns-proxy:=gns-proxy
  225. DEPENDS_datastore:=+gnunet-gns
  226. BIN_datastore:=datastore
  227. LIB_datastore:=datastore
  228. LIBEXEC_datastore:=service-datastore
  229. CONF_datastore:=datastore
  230. BIN_messenger:=messenger
  231. LIB_messenger:=messenger
  232. LIBEXEC_messenger:=service-messenger
  233. CONF_messenger:=messenger
  234. DEPENDS_reclaim:=+gnunet-gns +gnunet-sqlite +libpbc +libgabe +jansson
  235. BIN_reclaim:=reclaim
  236. LIB_reclaim:=consensus abe reclaim reclaimattribute secretsharing
  237. LIBEXEC_reclaim:=service-consensus service-reclaim service-secretsharing
  238. CONF_reclaim:=consensus reclaim secretsharing
  239. PLUGIN_reclaim:=block_consensus gnsrecord_reclaim reclaim_credential_jwt reclaim_attribute_basic
  240. DEPENDS_rest:=+gnunet-gns +gnunet-reclaim +libmicrohttpd-ssl +jansson
  241. LIB_rest:=rest json gnsrecordjson
  242. PLUGIN_rest:=rest_config rest_copying rest_gns rest_identity rest_namestore rest_peerinfo rest_openid_connect rest_reclaim
  243. LIBEXEC_rest:=rest-server
  244. CONF_rest:=rest
  245. BIN_rps:=rps
  246. LIB_rps:=rps
  247. LIBEXEC_rps:=service-rps
  248. CONF_rps:=rps
  249. PLUGIN_dhtcache-heap:=datacache_heap
  250. CONFLICTS_dhtcache-heap:=gnunet-dhtcache-pgsql gnunet-dhtcache-sqlite
  251. DEPENDS_gns-flat:=+gnunet-gns
  252. PLUGIN_gns-flat:=namecache_flat namestore_flat
  253. PLUGIN_peerstore-flat:=peerstore_flat
  254. DEPENDS_fs-heap:=+gnunet-datastore
  255. PLUGIN_fs-heap:=datastore_heap
  256. CONFLICTS_fs-heap:=gnunet-fs-mysql gnunet-fs-pgsql gnunet-fs-sqlite
  257. DEPENDS_mysql:=+libmysqlclient
  258. LIB_mysql:=mysql my
  259. DEPENDS_fs-mysql:=+gnunet-mysql +gnunet-datastore
  260. PLUGIN_fs-mysql:=datastore_mysql
  261. CONFLICTS_fs-mysql:=gnunet-fs-pgsql gnunet-fs-sqlite
  262. DEPENDS_pgsql:=+libpq +pgsql-server
  263. LIB_pgsql:=pq
  264. USERID_pgsql:=gnunet=958::postgres=5432
  265. DEPENDS_dhtcache-pgsql:=+gnunet-pgsql
  266. PLUGIN_dhtcache-pgsql:=datacache_postgres
  267. CONFLICTS_dhtcache-pgsql:=gnunet-dhtcache-sqlite
  268. DEPENDS_fs-pgsql:=+gnunet-pgsql +gnunet-datastore
  269. PLUGIN_fs-pgsql:=datastore_postgres
  270. CONFLICTS_fs-pgsql:=gnunet-fs-sqlite
  271. DEPENDS_gns-pgsql:=+gnunet-pgsql +gnunet-gns
  272. PLUGIN_gns-pgsql:=namecache_postgres namestore_postgres
  273. CONFLICTS_gns-pgsql:=gnunet-gns-sqlite gnunet-gns-flat
  274. DEPENDS_sqlite:=+libsqlite3
  275. LIB_sqlite:=sq
  276. DEPENDS_gns-sqlite:=+gnunet-gns +gnunet-sqlite
  277. PLUGIN_gns-sqlite:=namecache_sqlite namestore_sqlite
  278. CONFLICTS_gns-sqlite:=gnunet-gns-flat
  279. DEPENDS_peerstore-sqlite:=+gnunet-sqlite
  280. PLUGIN_peerstore-sqlite:=peerstore_sqlite
  281. CONFLICTS_peerstore-sqlite:=gnunet-peerstore-flat
  282. DEPENDS_dhtcache-sqlite:=+gnunet-sqlite
  283. PLUGIN_dhtcache-sqlite:=datacache_sqlite
  284. DEPENDS_fs-sqlite:=+gnunet-datastore +gnunet-sqlite
  285. PLUGIN_fs-sqlite:=datastore_sqlite
  286. DEPENDS_utils:=+certtool +openssl-util
  287. BIN_utils:=gns-proxy-setup-ca transport-certificate-creation
  288. DEPENDS_vpn:=+kmod-tun +iptables +firewall
  289. BIN_vpn:=vpn
  290. FILE_MODES_vpn:=/usr/lib/gnunet/libexec/gnunet-helper-exit:root:gnunet:4750 /usr/lib/gnunet/libexec/gnunet-helper-vpn:root:gnunet:4750
  291. LIB_vpn:=dnsstub tun vpn
  292. LIBEXEC_vpn:=daemon-exit daemon-pt helper-exit helper-vpn service-vpn
  293. CONF_vpn:=exit pt vpn
  294. define Package/gnunet-gns/prerm
  295. #!/bin/sh
  296. uci -q batch <<EOF
  297. del network.gnunetdns
  298. del network.gndnsrtt
  299. del network.gndnsrl
  300. commit network
  301. del firewall.gnunetdns
  302. del firewall.gndnsrl
  303. del firewall.gndnsrl2
  304. commit firewall
  305. EOF
  306. endef
  307. define Package/gnunet-vpn/prerm
  308. #!/bin/sh
  309. uci -q batch <<EOF
  310. del network.gnunetvpn
  311. del network.gnunetexit
  312. commit network
  313. del firewall.gnunetvpn
  314. del firewall.gnunetexit
  315. del firewall.gnexitfwd
  316. commit firewall
  317. EOF
  318. endef
  319. define PostInstFixSUIDPerms
  320. define Package/$(1)/postinst
  321. #!/bin/sh
  322. [ -z "$IPKG_INSTROOT" ] || exit 0
  323. [ -e /usr/share/gnunet/.permfix ] && rm /usr/share/gnunet/.permfix || exit 0
  324. endef
  325. endef
  326. $(eval $(call PostInstFixSUIDPerms,gnunet))
  327. $(eval $(call PostInstFixSUIDPerms,gnunet-gns))
  328. $(eval $(call PostInstFixSUIDPerms,gnunet-transport-bluetooth))
  329. $(eval $(call PostInstFixSUIDPerms,gnunet-transport-wlan))
  330. $(eval $(call PostInstFixSUIDPerms,gnunet-vpn))
  331. $(eval $(call BuildPackage,gnunet))
  332. #$(eval $(call BuildComponent,abd,credential service components,))
  333. $(eval $(call BuildComponent,auction,auction components,))
  334. $(eval $(call BuildComponent,conversation,conversation component,))
  335. $(eval $(call BuildComponent,curl,cURL wrapper component,))
  336. $(eval $(call BuildComponent,datastore,data storage components,))
  337. $(eval $(call BuildComponent,dht-cli,DHT command line clients,))
  338. # $(eval $(call BuildComponent,dv,distance-vector routing component,y))
  339. $(eval $(call BuildComponent,fs,file-sharing components,))
  340. $(eval $(call BuildComponent,gns,name resolution components,y))
  341. $(eval $(call BuildComponent,gns-proxy,gns-proxy component,))
  342. $(eval $(call BuildComponent,hostlist,HTTP bootstrap hostlist client and server,y))
  343. $(eval $(call BuildComponent,messenger,group chat messenger,))
  344. $(eval $(call BuildComponent,reclaim,reclaim identity-provider subsystem,))
  345. $(eval $(call BuildComponent,rest,REST interface,))
  346. $(eval $(call BuildComponent,rps,RPS routing component,y))
  347. $(eval $(call BuildComponent,namestore-fcfsd,first-come-first-serve registration server,))
  348. $(eval $(call BuildComponent,dhtcache-heap,heap-based dhtcache plugin,y))
  349. $(eval $(call BuildComponent,fs-heap,heap-based filesharing plugin,))
  350. $(eval $(call BuildComponent,gns-flat,flat storage GNS plugins,y))
  351. $(eval $(call BuildComponent,peerstore-flat,flat storage peerstore plugin,))
  352. $(eval $(call BuildComponent,mysql,mySQL backend,))
  353. $(eval $(call BuildComponent,fs-mysql,mySQL filesharing plugins,))
  354. $(eval $(call BuildComponent,pgsql,PostgreSQL backend,))
  355. $(eval $(call BuildComponent,dhtcache-pgsql,PostgreSQL dhtcache plugin,))
  356. $(eval $(call BuildComponent,fs-pgsql,PostgreSQL filesharing plugin,))
  357. $(eval $(call BuildComponent,gns-pgsql,PostgreSQL GNS plugins,))
  358. $(eval $(call BuildComponent,sqlite,libsqlite3 backend,))
  359. $(eval $(call BuildComponent,dhtcache-sqlite,libsqlite3 dhtcache plugin,))
  360. $(eval $(call BuildComponent,fs-sqlite,libsqlite3 filesharing plugin,))
  361. $(eval $(call BuildComponent,gns-sqlite,libsqlite3 gns plugins,))
  362. $(eval $(call BuildComponent,peerstore-sqlite,libsqlite3 peerstore plugin,))
  363. $(eval $(call BuildComponent,transport-bluetooth,bluetooth transport,))
  364. $(eval $(call BuildComponent,transport-http_client,HTTP/HTTPS client transport,y))
  365. $(eval $(call BuildComponent,transport-http_server,HTTP/HTTPS server transport,))
  366. $(eval $(call BuildComponent,transport-tcp,TCP transport,y))
  367. $(eval $(call BuildComponent,transport-udp,UDP transport,y))
  368. $(eval $(call BuildComponent,transport-wlan,WLAN transport,y))
  369. $(eval $(call BuildComponent,utils,administration utililties,))
  370. $(eval $(call BuildComponent,vpn,vpn components,y))