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.

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