New package: boinc-client (#15770)

* [boinc-client] Created template

* [boinc-client] removed non-client version

* [boinc-client] added description and homepage

* [boinc-client] specifically specify this as a client release

* [boinc-client] added dependencies

* [boinc-client] added variant: manager

* [boinc-client] added graphics variant

* [boinc-client] added dependency version specificity

* [boinc-client] systemd install path fix

* [boinc-client] added sqlite dependency

* [boinc-client] flake8

* [boinc-client] cleaned up left over fixme
This commit is contained in:
Jennifer Herting 2020-04-07 12:21:49 -04:00 committed by GitHub
parent da9ba2b254
commit e34ea80d52
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 76 additions and 0 deletions

View File

@ -0,0 +1,63 @@
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class BoincClient(AutotoolsPackage):
"""BOINC is a platform for high-throughput computing on a
large scale (thousands or millions of computers). It can be
used for volunteer computing (using consumer devices) or
grid computing (using organizational resources). It
supports virtualized, parallel, and GPU-based
applications."""
homepage = "https://boinc.berkeley.edu/"
url = "https://github.com/BOINC/boinc/archive/client_release/7.16/7.16.5.tar.gz"
version('7.16.5', sha256='33db60991b253e717c6124cce4750ae7729eaab4e54ec718b9e37f87012d668a')
variant('manager', default=False, description='Builds the client manager')
variant('graphics', default=False, description='Graphic apps support')
# Dependency documentation:
# https://boinc.berkeley.edu/trac/wiki/SoftwarePrereqsUnix
conflicts('%gcc@:3.0.4')
depends_on('autoconf@2.58:', type='build')
depends_on('automake@1.8:', type='build')
depends_on('libtool@1.5:', type='build')
depends_on('m4@1.4:', type='build')
depends_on('curl@7.17.1:')
depends_on('openssl@0.9.8:')
depends_on('freeglut@3:', when='+graphics')
depends_on('libsm', when='+graphics')
depends_on('libice', when='+graphics')
depends_on('libxmu', when='+graphics')
depends_on('libxi', when='+graphics')
depends_on('libx11', when='+graphics')
depends_on('libjpeg', when='+graphics')
depends_on('wxwidgets@3.0.0:', when='+manager')
depends_on('libnotify', when='+manager')
depends_on('sqlite@3.1:', when='+manager')
patch('systemd-fix.patch')
def configure_args(self):
spec = self.spec
args = []
args.append("--disable-server")
args.append("--enable-client")
if '+manager' in spec:
args.append('--enable-manager')
else:
args.append('--disable-manager')
return args

View File

@ -0,0 +1,13 @@
--- a/client/scripts/Makefile.am 2020-02-23 22:22:11.000000000 -0500
+++ b/client/scripts/Makefile.am 2020-03-27 18:40:28.881826512 -0400
@@ -7,8 +7,8 @@
$(INSTALL) -b boinc-client $(DESTDIR)$(sysconfdir)/init.d/boinc-client ; \
fi
if [ -d /usr/lib/systemd/system ] ; then \
- $(INSTALL) -d $(DESTDIR)/usr/lib/systemd/system/ ; \
- $(INSTALL_DATA) boinc-client.service $(DESTDIR)/usr/lib/systemd/system/boinc-client.service ; \
+ $(INSTALL) -d $(DESTDIR)$(prefix)/lib/systemd/system/ ; \
+ $(INSTALL_DATA) boinc-client.service $(DESTDIR)$(prefix)/lib/systemd/system/boinc-client.service ; \
elif [ -d /lib/systemd/system ] ; then \
$(INSTALL) -d $(DESTDIR)/lib/systemd/system/ ; \
$(INSTALL_DATA) boinc-client.service $(DESTDIR)/lib/systemd/system/boinc-client.service ; \