summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorJennifer Herting <jen@herting.cc>2020-04-07 12:21:49 -0400
committerGitHub <noreply@github.com>2020-04-07 11:21:49 -0500
commite34ea80d5210d0bd4a611993c643bf19cf29e9fa (patch)
treea132dddbb0c9edf0d519629d5b8b952b6be1e1bc /var
parentda9ba2b2549e39b6707c7095a2e97db7e3d3efeb (diff)
downloadspack-e34ea80d5210d0bd4a611993c643bf19cf29e9fa.tar.gz
spack-e34ea80d5210d0bd4a611993c643bf19cf29e9fa.tar.bz2
spack-e34ea80d5210d0bd4a611993c643bf19cf29e9fa.tar.xz
spack-e34ea80d5210d0bd4a611993c643bf19cf29e9fa.zip
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
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/boinc-client/package.py63
-rw-r--r--var/spack/repos/builtin/packages/boinc-client/systemd-fix.patch13
2 files changed, 76 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/boinc-client/package.py b/var/spack/repos/builtin/packages/boinc-client/package.py
new file mode 100644
index 0000000000..80e6416e4b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/boinc-client/package.py
@@ -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
diff --git a/var/spack/repos/builtin/packages/boinc-client/systemd-fix.patch b/var/spack/repos/builtin/packages/boinc-client/systemd-fix.patch
new file mode 100644
index 0000000000..499aa56826
--- /dev/null
+++ b/var/spack/repos/builtin/packages/boinc-client/systemd-fix.patch
@@ -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 ; \