|
# 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 <christian.dreihsig@t-online.de>, Steffen Moeller <moeller@debian.org>
|
|
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))
|