# Copyright 2020 by Christian Dreihsig and Steffen Möller # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # include $(TOPDIR)/rules.mk PKG_NAME:=boinc PKG_VERSION:=7.16.5 PKG_VERSION_SHORT:=$(shell echo $(PKG_VERSION)| cut -f1,2 -d.) PKG_RELEASE:=1 PKG_SOURCE_DATE:=2020-02-25 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/BOINC/boinc/tar.gz/client_release/$(PKG_VERSION_SHORT)/$(PKG_VERSION)? PKG_HASH:=33db60991b253e717c6124cce4750ae7729eaab4e54ec718b9e37f87012d668a PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-client_release-$(PKG_VERSION_SHORT)-$(PKG_VERSION) PKG_MAINTAINER:=Christian Dreihsig , Steffen Moeller PKG_LICENSE:=GPL-3.0-or-later PKG_LICENSE_FILES:=COPYING PKG_CPE_ID:=cpe:/a:boinc_project:boinc PKG_INSTALL:=1 PKG_BUILD_PARALLEL:=0 PKG_FIXUP:=autoreconf include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/target.mk define Package/boinc SECTION:=net CATEGORY:=Network TITLE:=BOINC client DEPENDS:=+curl +bzip2 +libstdcpp +libopenssl +zlib USERID:=boinc:boinc URL:=https://github.com/BOINC/boinc/ endef define Package/boinc/description The Berkeley Open Infrastructure for Network Computing (BOINC) is a software platform for distributed computing: several initiatives of various scientific disciplines all compete for the idle time of desktop computers. The developers' web site at the University of Berkeley serves as a common portal to the otherwise independently run projects. This package provides the BOINC core client program that is required to participate in any project that uses BOINC to control what projects to join and to determine constraints for the computation like the percentage of CPU time. OpenWrt does not provide the graphical BOINC Manager, but you can connect to this machine from the BOINC Manager of your desktop computer. endef CONFIGURE_ARGS += \ --disable-server --disable-manager --enable-client --enable-libraries \ --disable-boinczip --enable-install-headers --enable-dynamic-client-linkage \ --with-boinc-platform=$(REAL_GNU_TARGET_NAME) \ --with-boinc-alt-platform=$(ARCH)-$(BOARD)-$(DEVICE_TYPE)-openwrt-$(TARGET_SUFFIX) define Build/InstallDev $(INSTALL_DIR) $(1)/usr/include/boinc $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/boinc/* $(1)/usr/include/boinc/ $(CP) $(PKG_BUILD_DIR)/*.h $(1)/usr/include/boinc/ # project_specific_defines.h, config.h, version.h, svn_version.h $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.a $(1)/usr/lib/ endef define Package/boinc/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/ $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{la,so}* $(1)/usr/lib/ $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/boinc-client.init $(1)/etc/init.d/boinc-client $(INSTALL_DIR) $(1)/opt/boinc $(CP) ./files/global_prefs_override.xml $(1)/opt/boinc/global_prefs_override.xml $(CP) ./files/remote_hosts.cfg $(1)/opt/boinc/remote_hosts.cfg endef $(eval $(call BuildPackage,boinc))