openwrt-packages/net/boinc/Makefile

83 lines
3.0 KiB
Makefile

# 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.24.3
PKG_VERSION_SHORT:=$(shell echo $(PKG_VERSION)| cut -f1,2 -d.)
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/BOINC/boinc
PKG_SOURCE_VERSION:=client_release/$(PKG_VERSION_SHORT)/$(PKG_VERSION)
PKG_MIRROR_HASH:=568a87739949e018c3a0ab0b72ba887b82bfc1b91a060f1cf1266dbfe0a5f81b
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:rom_walton: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
$(INSTALL_DIR) $(1)/usr/share/boinc
$(CP) ./files/global_prefs_override.xml $(1)/usr/share/boinc/global_prefs_override.xml
$(CP) ./files/remote_hosts.cfg $(1)/usr/share/boinc/remote_hosts.cfg
endef
$(eval $(call BuildPackage,boinc))