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.

87 lines
2.8 KiB

  1. #
  2. # Copyright (C) 2015 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:=gnunet
  9. PKG_SOURCE_VERSION:=35844
  10. PKG_VERSION:=0.10.1-svn$(PKG_SOURCE_VERSION)
  11. PKG_RELEASE:=1
  12. # ToDo:
  13. # - split into small packages
  14. # - create meta-packages for common setups
  15. # - allow building with mysql or postgresql
  16. # - package gnurl (?)
  17. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  18. PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
  19. PKG_SOURCE_URL:=https://gnunet.org/svn/gnunet/
  20. PKG_SOURCE_PROTO:=svn
  21. PKG_LICENSE:=GPL-3.0
  22. PKG_LICENSE_FILES:=COPYING
  23. PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
  24. PKG_BUILD_PARALLEL:=1
  25. PKG_FIXUP:=autoreconf
  26. PKG_INSTALL:=1
  27. include $(INCLUDE_DIR)/package.mk
  28. CONFIGURE_ARGS+= \
  29. --disable-rpath \
  30. --with-extractor=$(STAGING_DIR)/usr \
  31. --with-gnutls=$(STAGING_DIR)/usr \
  32. --with-libgnurl=$(STAGING_DIR)/usr \
  33. --with-libunistring-prefix=$(STAGING_DIR)/usr \
  34. --with-ltdl \
  35. --with-microhttpd=$(STAGING_DIR)/usr \
  36. --without-mysql \
  37. --without-postgresql
  38. define Package/gnunet
  39. SECTION:=net
  40. CATEGORY:=Network
  41. TITLE:=GNUnet peer-to-peer framework focusing on security
  42. DEPENDS:=+kmod-tun +libextractor +libgnurl +libgnutls +libidn \
  43. +libmicrohttpd +libunistring +libsqlite3
  44. URL:=https://www.gnunet.org/
  45. USERID:=gnunet=400:gnunet=400
  46. endef
  47. define Package/gnunet/description
  48. GNUnet is peer-to-peer framework focusing on security. The first and
  49. primary application for GNUnet is anonymous file-sharing. GNUnet is
  50. currently developed by a worldwide group of independent free software
  51. developers. GNUnet is a GNU package (http://www.gnu.org/).
  52. This is an ALPHA release. There are known and significant bugs as
  53. well as many missing features in this release.
  54. endef
  55. define Package/gnunet/install
  56. $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/gnunet/libexec
  57. $(INSTALL_DIR) $(1)/usr/share/gnunet/config.d $(1)/usr/share/gnunet/hellos
  58. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
  59. $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
  60. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/gnunet/*.so $(1)/usr/lib/gnunet
  61. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/gnunet/libexec/* $(1)/usr/lib/gnunet/libexec
  62. $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/gnunet/hellos/* $(1)/usr/share/gnunet/hellos
  63. $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/gnunet/config.d/* $(1)/usr/share/gnunet/config.d
  64. $(INSTALL_DIR) $(1)/etc/init.d/
  65. $(INSTALL_BIN) ./files/gnunet.init $(1)/etc/init.d/gnunet
  66. endef
  67. define Build/InstallDev
  68. $(INSTALL_DIR) $(1)/usr/include/gnunet $(1)/usr/lib/pkgconfig
  69. $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{la,so}* $(1)/usr/lib/
  70. $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig
  71. $(CP) $(PKG_INSTALL_DIR)/usr/include/gnunet/*.h $(1)/usr/include/gnunet
  72. endef
  73. $(eval $(call BuildPackage,gnunet))