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.

455 lines
17 KiB

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