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.

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