aboutsummaryrefslogtreecommitdiff
path: root/biology/linux-foldingathome
diff options
context:
space:
mode:
authorMateusz Piotrowski <0mp@FreeBSD.org>2020-03-21 23:03:05 +0000
committerMateusz Piotrowski <0mp@FreeBSD.org>2020-03-21 23:03:05 +0000
commit28f362fae3196d15840c54d6a04ddd8f239e610c (patch)
tree6458745f1a42df3effdc3a309184cb63ef686c2c /biology/linux-foldingathome
parent53f1ebfc0011004c13e3da8bfc1e917d28d4e047 (diff)
downloadports-28f362fae3196d15840c54d6a04ddd8f239e610c.tar.gz
ports-28f362fae3196d15840c54d6a04ddd8f239e610c.zip
Resurrect biology/linux-foldingathome
Special thanks to netchild for inspiring bringing back this piece software to ports! Reviewed by: netchild, pi, salvadore Differential Revision: https://reviews.freebsd.org/D24127
Notes
Notes: svn path=/head/; revision=528886
Diffstat (limited to 'biology/linux-foldingathome')
-rw-r--r--biology/linux-foldingathome/Makefile66
-rw-r--r--biology/linux-foldingathome/distinfo3
-rw-r--r--biology/linux-foldingathome/files/fahclient.in66
-rw-r--r--biology/linux-foldingathome/files/pkg-message.in56
-rw-r--r--biology/linux-foldingathome/pkg-descr17
-rw-r--r--biology/linux-foldingathome/pkg-plist5
6 files changed, 213 insertions, 0 deletions
diff --git a/biology/linux-foldingathome/Makefile b/biology/linux-foldingathome/Makefile
new file mode 100644
index 000000000000..18bab56bbfba
--- /dev/null
+++ b/biology/linux-foldingathome/Makefile
@@ -0,0 +1,66 @@
+# Created by: Yonatan <onatan@gmail.com>
+# $FreeBSD$
+
+PORTNAME= foldingathome
+DISTVERSION= 7.5.1-1
+CATEGORIES= biology linux
+MASTER_SITES= https://download.foldingathome.org/releases/public/release/fahclient/centos-6.7-64bit/v${DISTVERSION:R}/
+PKGNAMEPREFIX= linux-
+DISTNAME= fahclient-${DISTVERSION}
+EXTRACT_SUFX= .x86_64.rpm
+
+MAINTAINER= 0mp@FreeBSD.org
+COMMENT= Folding@home Client
+
+LICENSE= FAHSL
+LICENSE_NAME= Folding@home Software License
+LICENSE_FILE= ${WRKSRC}/usr/share/doc/fahclient/copyright
+LICENSE_PERMS= no-dist-mirror no-dist-sell no-pkg-mirror no-pkg-sell \
+ auto-accept
+
+LEGAL_TEXT= Distribution without permission is prohibited
+
+ONLY_FOR_ARCHS= amd64
+ONLY_FOR_ARCHS_REASON= The i386 client has not been ported
+
+USES= dos2unix linux
+DOS2UNIX_FILES= usr/share/doc/fahclient/*
+USE_RC_SUBR= fahclient
+
+ETCDIR= ${PREFIX}/etc/fahclient
+DOCSDIR= ${PREFIX}/share/doc/fahclient
+NO_BUILD= yes
+
+SUB_FILES= pkg-message
+SUB_LIST= FAHCLIENT_CONFIG_XML=${_FAHCLIENT_CONFIG_XML} \
+ FAHCLIENT_PROGRAM=${_FAHCLIENT_PROGRAM} \
+ FAHCLIENT_WORK_DIR=${_FAHCLIENT_WORK_DIR}
+NO_WRKSUBDIR= yes
+
+USERS= fahclient
+GROUPS= fahclient
+
+PLIST_SUB= FAHCLIENT_WORK_DIR=${_FAHCLIENT_WORK_DIR}
+
+PORTDOCS= CHANGELOG.md README.md
+
+OPTIONS_DEFINE= DOCS
+
+_FAHCLIENT_CONFIG_XML= ${ETCDIR}/config.xml
+_FAHCLIENT_WORK_DIR= /var/db/fahclient
+_FAHCLIENT_PROGRAM= ${PREFIX}/bin/FAHClient
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/usr/bin/FAHClient ${STAGEDIR}${PREFIX}/bin/
+ ${INSTALL_PROGRAM} ${WRKSRC}/usr/bin/FAHCoreWrapper ${STAGEDIR}${PREFIX}/bin/
+ @${MKDIR} ${STAGEDIR}${ETCDIR}
+ ${INSTALL_DATA} ${WRKSRC}/usr/share/doc/fahclient/sample-config.xml \
+ ${STAGEDIR}${_FAHCLIENT_CONFIG_XML}.sample
+ @${MKDIR} ${STAGEDIR}${_FAHCLIENT_WORK_DIR}
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/usr/share/doc/fahclient/|} \
+ ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/biology/linux-foldingathome/distinfo b/biology/linux-foldingathome/distinfo
new file mode 100644
index 000000000000..73cf9ee968a2
--- /dev/null
+++ b/biology/linux-foldingathome/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1584818074
+SHA256 (fahclient-7.5.1-1.x86_64.rpm) = da579fa02df66fc6fb48dc2bc81c4b6f46fe4f6696afe20d70b9bd5e5941837f
+SIZE (fahclient-7.5.1-1.x86_64.rpm) = 3025708
diff --git a/biology/linux-foldingathome/files/fahclient.in b/biology/linux-foldingathome/files/fahclient.in
new file mode 100644
index 000000000000..4bc7c90e9ef1
--- /dev/null
+++ b/biology/linux-foldingathome/files/fahclient.in
@@ -0,0 +1,66 @@
+#! /bin/sh -
+#
+# $FreeBSD$
+#
+# SPDX-License-Identifier: BSD-2-Clause
+#
+# Copyright (c) 2020 Mateusz Piotrowski <0mp@FreeBSD.org>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice,
+# this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+# PROVIDE: fahclient
+# REQUIRE: DAEMON LOGIN NETWORKING linux
+
+. /etc/rc.subr
+
+name='fahclient'
+rcvar='fahclient_enable'
+
+load_rc_config 'fahclient'
+
+# Default settings.
+: "${fahclient_enable:=NO}"
+: "${fahclient_user:=fahclient}"
+: "${fahclient_chdir:=%%FAHCLIENT_WORK_DIR%%}"
+
+: "${fahclient_pidfile:=%%FAHCLIENT_WORK_DIR%%/fahclient.pid}"
+: "${fahclient_config:=%%ETCDIR%%/config.xml}"
+: "${fahclient_logfile:=%%FAHCLIENT_WORK_DIR%%/log.txt}"
+
+pidfile="${fahclient_pidfile}"
+command='%%FAHCLIENT_PROGRAM%%'
+# Some notes on the specified options:
+# - --config is necessary to point the program to the correct configuration
+# file.
+# - --chdir is used to switch to a desired work directory. The program is going
+# to create a lot of files in its current working directory so should not be
+# just any directory on the system.
+# - --pid-file specifies the location for the PID file.
+# - --daemon is to detach the program from the terminal and run it
+# in the background.
+command_args="--config ${fahclient_config} --chdir ${fahclient_chdir}"
+command_args="${command_args} --pid-file ${pidfile} --daemon"
+extra_commands="log"
+log_cmd="tail -F -- ${fahclient_logfile}"
+required_modules='linprocfs linsysfs linuxcommon'
+
+run_rc_command "$1"
diff --git a/biology/linux-foldingathome/files/pkg-message.in b/biology/linux-foldingathome/files/pkg-message.in
new file mode 100644
index 000000000000..33c55d3ac5ea
--- /dev/null
+++ b/biology/linux-foldingathome/files/pkg-message.in
@@ -0,0 +1,56 @@
+[
+{ type: install
+ message: <<EOM
+Quick start
+===========
+
+Here is a list of steps to quickly get started with Folding@home on FreeBSD:
+
+1. Mount linprocfs(5) in /compat/linux/proc.
+
+2. Mount linsysfs(5) in /compat/linux/sys.
+
+3. Enable the fahclient service:
+
+ sysrc fahclient_enable="YES"
+
+4. Start the service:
+
+ service fahclient start
+
+At this point, the daemon should be up and folding.
+
+Additional notes
+================
+
+- The current status of folding can be inspected by running
+ the following command:
+
+ service fahclient log
+
+- The default working directory for fahclient is %%FAHCLIENT_WORK_DIR%%.
+ In order to function properly, fahclient requires its working directory
+ to be on a partition/dataset with execute permissions on. For example
+ if /var/db is on a ZFS dataset with exec=off, then %%FAHCLIENT_WORK_DIR%%
+ needs to have exec=on.
+
+ Note, that usually the permissions are on unless the system
+ configuration was modified by the administrator.
+
+- The ID of the FreeBSD team is 11743. In order to join
+ the team add the following line to %%FAHCLIENT_CONFIG_XML%%:
+
+ <team value="11743"/>
+
+ The service has to be restarted to pick up the change.
+
+ Statistics for the FreeBSD team can be viewed here:
+ https://apps.foldingathome.org/teamstats/team11743.html
+
+- More information about configuring and running the Folding@home
+ software is available on those websites:
+ - https://foldingforum.org/
+ - https://foldingathome.org/support/faq/
+EOM
+}
+]
diff --git a/biology/linux-foldingathome/pkg-descr b/biology/linux-foldingathome/pkg-descr
new file mode 100644
index 000000000000..ab1b775dd16a
--- /dev/null
+++ b/biology/linux-foldingathome/pkg-descr
@@ -0,0 +1,17 @@
+Folding@home is a distributed computing project -- people from throughout
+the world download and run software to band together to make one of the
+largest supercomputers in the world. Every computer takes the project
+closer to our goals.
+
+Folding@home uses novel computational methods coupled to distributed
+computing, to simulate problems millions of times more challenging than
+previously achieved.
+
+Protein folding is linked to disease, such as Alzheimer's, ALS,
+Huntington's, Parkinson's disease, and many Cancers. Moreover, when
+proteins do not fold correctly (i.e. "misfold"), there can be serious
+consequences, including many well known diseases, such as Alzheimer's,
+Mad Cow (BSE), CJD, ALS, Huntington's, Parkinson's disease, and many
+cancers and cancer-related syndromes.
+
+WWW: http://folding.stanford.edu/
diff --git a/biology/linux-foldingathome/pkg-plist b/biology/linux-foldingathome/pkg-plist
new file mode 100644
index 000000000000..be21039da1c9
--- /dev/null
+++ b/biology/linux-foldingathome/pkg-plist
@@ -0,0 +1,5 @@
+bin/FAHClient
+bin/FAHCoreWrapper
+@dir(fahclient,fahclient,) %%ETCDIR%%
+@sample(fahclient,fahclient,) %%ETCDIR%%/config.xml.sample
+@dir(fahclient,fahclient,) %%FAHCLIENT_WORK_DIR%%