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.

82 lines
3.1 KiB

  1. # Copyright 2020 by Christian Dreihsig and Steffen Möller
  2. # This is free software, licensed under the GNU General Public License v2.
  3. # See /LICENSE for more information.
  4. #
  5. include $(TOPDIR)/rules.mk
  6. PKG_NAME:=boinc
  7. PKG_VERSION:=7.16.5
  8. PKG_VERSION_SHORT:=$(shell echo $(PKG_VERSION)| cut -f1,2 -d.)
  9. PKG_RELEASE:=1
  10. PKG_SOURCE_DATE:=2020-02-25
  11. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  12. PKG_SOURCE_URL:=https://codeload.github.com/BOINC/boinc/tar.gz/client_release/$(PKG_VERSION_SHORT)/$(PKG_VERSION)?
  13. PKG_HASH:=33db60991b253e717c6124cce4750ae7729eaab4e54ec718b9e37f87012d668a
  14. PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-client_release-$(PKG_VERSION_SHORT)-$(PKG_VERSION)
  15. PKG_MAINTAINER:=Christian Dreihsig <christian.dreihsig@t-online.de>, Steffen Moeller <moeller@debian.org>
  16. PKG_LICENSE:=GPL-3.0-or-later
  17. PKG_LICENSE_FILES:=COPYING
  18. PKG_CPE_ID:=cpe:/a:boinc_project:boinc
  19. PKG_INSTALL:=1
  20. PKG_BUILD_PARALLEL:=0
  21. PKG_FIXUP:=autoreconf
  22. include $(INCLUDE_DIR)/package.mk
  23. include $(INCLUDE_DIR)/target.mk
  24. define Package/boinc
  25. SECTION:=net
  26. CATEGORY:=Network
  27. TITLE:=BOINC client
  28. DEPENDS:=+curl +bzip2 +libstdcpp +libopenssl +zlib
  29. USERID:=boinc:boinc
  30. URL:=https://github.com/BOINC/boinc/
  31. endef
  32. define Package/boinc/description
  33. The Berkeley Open Infrastructure for Network Computing (BOINC) is a
  34. software platform for distributed computing: several initiatives of
  35. various scientific disciplines all compete for the idle time of
  36. desktop computers. The developers' web site at the University of
  37. Berkeley serves as a common portal to the otherwise independently run
  38. projects.
  39. This package provides the BOINC core client program that is
  40. required to participate in any project that uses BOINC to control what
  41. projects to join and to determine constraints for the computation
  42. like the percentage of CPU time. OpenWrt does not
  43. provide the graphical BOINC Manager, but you can connect to this
  44. machine from the BOINC Manager of your desktop computer.
  45. endef
  46. CONFIGURE_ARGS += \
  47. --disable-server --disable-manager --enable-client --enable-libraries \
  48. --disable-boinczip --enable-install-headers --enable-dynamic-client-linkage \
  49. --with-boinc-platform=$(REAL_GNU_TARGET_NAME) \
  50. --with-boinc-alt-platform=$(ARCH)-$(BOARD)-$(DEVICE_TYPE)-openwrt-$(TARGET_SUFFIX)
  51. define Build/InstallDev
  52. $(INSTALL_DIR) $(1)/usr/include/boinc
  53. $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/boinc/* $(1)/usr/include/boinc/
  54. $(CP) $(PKG_BUILD_DIR)/*.h $(1)/usr/include/boinc/ # project_specific_defines.h, config.h, version.h, svn_version.h
  55. $(INSTALL_DIR) $(1)/usr/lib
  56. $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.a $(1)/usr/lib/
  57. endef
  58. define Package/boinc/install
  59. $(INSTALL_DIR) $(1)/usr/bin
  60. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
  61. $(INSTALL_DIR) $(1)/usr/lib
  62. $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{la,so}* $(1)/usr/lib/
  63. $(INSTALL_DIR) $(1)/etc/init.d
  64. $(INSTALL_BIN) ./files/boinc-client.init $(1)/etc/init.d/boinc-client
  65. $(INSTALL_DIR) $(1)/opt/boinc
  66. $(CP) ./files/global_prefs_override.xml $(1)/opt/boinc/global_prefs_override.xml
  67. $(CP) ./files/remote_hosts.cfg $(1)/opt/boinc/remote_hosts.cfg
  68. endef
  69. $(eval $(call BuildPackage,boinc))