boinc: new package

Open-source software for volunteer computing and grid computing.

Use the idle time on your computer to cure diseases, study global
warming, discover pulsars, and do many other types of scientific
research.

https://boinc.berkeley.edu

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Bernd:
- bumped to version 7.8.3
- removed patches which where applied upstream
- added myself to DEVELOPERS as well]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Fabrice Fontaine 2017-10-29 17:12:55 +01:00 committed by Thomas Petazzoni
parent 73edec8943
commit 6820ce4862
7 changed files with 130 additions and 0 deletions

View file

@ -201,6 +201,7 @@ F: package/apr/
F: package/apr-util/
F: package/bcg729/
F: package/bluez-tools/
F: package/boinc/
F: package/clamav/
F: package/dovecot/
F: package/dovecot-pigeonhole/
@ -584,6 +585,7 @@ F: package/alljoyn/
F: package/alljoyn-base/
F: package/alljoyn-tcl/
F: package/alljoyn-tcl-base/
F: package/boinc/
F: package/gtksourceview/
F: package/gssdp/
F: package/gupnp/

View file

@ -1607,6 +1607,7 @@ menu "Networking applications"
source "package/bluez5_utils/Config.in"
source "package/bmon/Config.in"
source "package/boa/Config.in"
source "package/boinc/Config.in"
source "package/bridge-utils/Config.in"
source "package/bwm-ng/Config.in"
source "package/c-icap/Config.in"

22
package/boinc/Config.in Normal file
View file

@ -0,0 +1,22 @@
config BR2_PACKAGE_BOINC
bool "boinc"
depends on BR2_USE_MMU # fork()
depends on !BR2_STATIC_LIBS # dlfcn.h
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_INSTALL_LIBSTDCPP
select BR2_PACKAGE_LIBCURL
select BR2_PACKAGE_OPENSSL
help
Open-source software for volunteer computing and grid
computing.
Use the idle time on your computer to cure diseases, study
global warming, discover pulsars, and do many other types of
scientific research.
https://boinc.berkeley.edu
comment "boinc needs a toolchain w/ dynamic library, C++, threads"
depends on BR2_USE_MMU
depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP \
|| !BR2_TOOLCHAIN_HAS_THREADS

View file

@ -0,0 +1,37 @@
#!/bin/sh
NAME=boinc_client
PIDFILE=/var/run/$NAME.pid
DAEMON=/usr/bin/$NAME
start() {
printf "Starting $NAME: "
start-stop-daemon -S -q -m -b -p $PIDFILE --exec $DAEMON
[ $? = 0 ] && echo "OK" || echo "FAIL"
}
stop() {
printf "Stopping $NAME: "
start-stop-daemon -K -q -p $PIDFILE
[ $? = 0 ] && echo "OK" || echo "FAIL"
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
restart
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
exit $?

View file

@ -0,0 +1,10 @@
[Unit]
Description=BOINC client
After=network.target
[Service]
ExecStart=/usr/bin/boinc_client
Restart=always
[Install]
WantedBy=multi-user.target

2
package/boinc/boinc.hash Normal file
View file

@ -0,0 +1,2 @@
# Locally computed:
sha256 e3d5b190ec6cdc3512005469fab90203af110cd9a7880654c5d0b4d4e55f3c17 boinc-7.8.3.tar.gz

56
package/boinc/boinc.mk Normal file
View file

@ -0,0 +1,56 @@
################################################################################
#
# boinc
#
################################################################################
BOINC_VERSION_MAJOR = 7.8
BOINC_VERSION = $(BOINC_VERSION_MAJOR).3
# client_release can be used to build the Client and Manager but not the Server
# part. The Server currently has no versioning (see
# https://github.com/BOINC/boinc/pull/1798).
BOINC_SITE = \
$(call github,BOINC,boinc,client_release/$(BOINC_VERSION_MAJOR)/$(BOINC_VERSION))
BOINC_LICENSE = LGPL-3.0+
BOINC_LICENSE_FILES = COPYING COPYING.LESSER
BOINC_DEPENDENCIES = host-pkgconf libcurl openssl
BOINC_AUTORECONF = YES
BOINC_CONF_OPTS = \
--disable-apps \
--disable-boinczip \
--disable-manager \
--disable-server \
--enable-client \
--enable-dynamic-client-linkage \
--enable-libraries \
--with-pkg-config=$(PKG_CONFIG_HOST_BINARY) \
--with-libcurl=$(STAGING_DIR)/usr
ifeq ($(BR2_PACKAGE_LIBFCGI),y)
BOINC_DEPENDENCIES += libfcgi
BOINC_CONF_OPTS += --enable-fcgi
else
BOINC_CONF_OPTS += --disable-fcgi
endif
# Remove boinc-client because it is incompatible with buildroot
define BOINC_REMOVE_UNNEEDED_FILE
$(RM) $(TARGET_DIR)/etc/init.d/boinc-client
endef
BOINC_POST_INSTALL_TARGET_HOOKS += BOINC_REMOVE_UNNEEDED_FILE
define BOINC_INSTALL_INIT_SYSV
$(INSTALL) -D -m 0755 package/boinc/S99boinc-client \
$(TARGET_DIR)/etc/init.d/S99boinc-client
endef
define BOINC_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/boinc/boinc-client.service \
$(TARGET_DIR)/usr/lib/systemd/system/boinc-client.service
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
ln -sf ../../../../usr/lib/systemd/system/boinc-client.service \
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/boinc-client.service
endef
$(eval $(autotools-package))