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
This commit is contained in:
Mateusz Piotrowski 2020-03-21 23:03:05 +00:00
parent 53f1ebfc00
commit 28f362fae3
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=528886
11 changed files with 217 additions and 3 deletions

2
GIDs
View File

@ -186,7 +186,7 @@ prosody:*:242:
ot-recorder:*:243:
mastodon:*:244:
routinator:*:245:
# free: 246
fahclient:*:246:fahclient
fcron:*:247:
# free: 248
# free: 249

1
LEGAL
View File

@ -77,6 +77,7 @@ etqw* games/linux-etqw-demo-server Redistribution limited
etqw* games/linux-etqw-server Redistribution limited
ezmlm-* mail/ezmlm No license -- see http://cr.yp.to/softwarelaw.html
ezmlm-* mail/ezmlm-idx No license -- see http://cr.yp.to/softwarelaw.html
fahclient-* biology/linux-foldingathome Distribution without permission is prohibited
fasta2* biology/fasta May not be sold or incorporated into a commercial product
fasta3* biology/fasta3 May not be sold or incorporated into a commercial product
festival/festlex_OALD* audio/festlex-oald No commercial use

1
MOVED
View File

@ -13089,7 +13089,6 @@ audio/wmsmixer||2019-10-16|Has expired: Unfetchable, unmaintained
audio/xmms2-scrobbler||2019-10-16|Has expired: Unfetchable, unmaintained
benchmarks/filebench||2019-10-16|Has expired: Unfetchable, unmaintained
biology/chemeq||2019-10-16|Has expired: Unfetchable, unmaintained
biology/linux-foldingathome||2019-10-16|Has expired: Unfetchable, unmaintained
cad/dxf2fig||2019-10-16|Has expired: Unfetchable, unmaintained
comms/gsmlib||2019-10-16|Has expired: Unfetchable, unmaintained
comms/nokryptia||2019-10-16|Has expired: Unfetchable, unmaintained

2
UIDs
View File

@ -191,7 +191,7 @@ prosody:*:242:242::0:0:Prosody Jabber Server:/nonexistent:/usr/sbin/nologin
ot-recorder:*:243:243::0:0:OwnTracks Recorder:/nonexistent:/usr/sbin/nologin
mastodon:*:244:244::0:0:Mastodon User:/usr/local/www/mastodon:/bin/sh
routinator:*:245:245::0:0:Routinator 3000 Pseudo User:/nonexistent:/usr/sbin/nologin
# free: 246
fahclient:*:246:246::0:0:Folding@home User:/nonexistent:/usr/sbin/nologin
fcron:*:247:247::0:0:fcron pseudo-user:/nonexistent:/usr/sbin/nologin
# free: 248
# free: 249

View File

@ -68,6 +68,7 @@
SUBDIR += libbigwig
SUBDIR += libgtextutils
SUBDIR += libsbml
SUBDIR += linux-foldingathome
SUBDIR += mafft
SUBDIR += mapm3
SUBDIR += migrate

View File

@ -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>

View File

@ -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

View File

@ -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"

View File

@ -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
}
]

View File

@ -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/

View File

@ -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%%