Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F174183438
D59826.id187214.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
22 KB
Referenced Files
None
Subscribers
None
D59826.id187214.diff
View Options
Index: biology/Makefile
===================================================================
--- biology/Makefile
+++ biology/Makefile
@@ -52,6 +52,7 @@
SUBDIR += erminej
SUBDIR += exonerate
SUBDIR += fasda
+ SUBDIR += foldingathome
SUBDIR += fasda-utils
SUBDIR += fasta
SUBDIR += fasta3
Index: biology/foldingathome/Makefile
===================================================================
--- /dev/null
+++ biology/foldingathome/Makefile
@@ -0,0 +1,73 @@
+PORTNAME= foldingathome
+DISTVERSIONPREFIX= v
+DISTVERSION= 8.5.6
+CATEGORIES= biology
+
+MAINTAINER= 0mp@FreeBSD.org
+COMMENT= Folding@home client for distributed simulation of protein folding
+WWW= https://foldingathome.org/
+
+LICENSE= GPLv3+
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= boost-libs>0:devel/boost-libs
+LIB_DEPENDS= libcbang0.so:devel/cbang \
+ libevent.so:devel/libevent \
+ libevent_pthreads.so:devel/libevent \
+ libexpat.so:textproc/expat2 \
+ libleveldb.so:databases/leveldb \
+ liblz4.so:archivers/liblz4 \
+ libre2.so:devel/re2 \
+ libsnappy.so:archivers/snappy \
+ libsysinfo.so:devel/libsysinfo \
+ libxxhash.so:devel/xxhash \
+ libyaml.so:textproc/libyaml \
+ libzstd.so:archivers/zstd
+
+USES= compiler:c++17-lang localbase scons sqlite
+
+USE_GITHUB= yes
+GH_ACCOUNT= FoldingAtHome
+GH_PROJECT= fah-client-bastet
+USE_RC_SUBR= fahclient
+
+MAKE_ARGS= cc="${CC}" \
+ ccflags="${CCFLAGS}" \
+ compiler="${CHOSEN_COMPILER_TYPE:C/gcc/gnu/}" \
+ cxx="${CXX}" \
+ cxxflags="${CXXFLAGS}" \
+ cxxstd="c++17" \
+ ldflags="${LDFLAGS}" \
+ libpath="/lib" \
+ prefix="${STAGEDIR}${PREFIX}" \
+ sharedlib=1
+MAKE_ENV= CBANG_HOME=${_CBANG_HOME}
+
+ETCDIR= ${PREFIX}/etc/fahclient
+DOCSDIR= ${PREFIX}/share/doc/fahclient
+
+SUB_FILES= fahclient.8 pkg-message
+SUB_LIST= FAHCLIENT_CONFIG_XML=${_FAHCLIENT_CONFIG_XML} \
+ FAHCLIENT_PROGRAM=${_FAHCLIENT_PROGRAM} \
+ FAHCLIENT_WORK_DIR=${_FAHCLIENT_WORK_DIR}
+
+USERS= fahclient
+GROUPS= fahclient
+
+PLIST_SUB= FAHCLIENT_WORK_DIR=${_FAHCLIENT_WORK_DIR}
+
+_CBANG_HOME= ${LOCALBASE}/libexec/cbang
+
+_FAHCLIENT_CONFIG_XML= ${ETCDIR}/config.xml
+_FAHCLIENT_WORK_DIR= /var/db/fahclient
+_FAHCLIENT_PROGRAM= ${PREFIX}/bin/fah-client
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/fah-client ${STAGEDIR}${PREFIX}/bin/
+ @${MKDIR} ${STAGEDIR}${ETCDIR}
+ ${INSTALL_DATA} ${FILESDIR}/config.xml.sample \
+ ${STAGEDIR}${_FAHCLIENT_CONFIG_XML}.sample
+ @${MKDIR} ${STAGEDIR}${_FAHCLIENT_WORK_DIR}
+ ${INSTALL_MAN} ${WRKDIR}/fahclient.8 ${STAGEDIR}${PREFIX}/share/man/man8
+
+.include <bsd.port.mk>
Index: biology/foldingathome/distinfo
===================================================================
--- /dev/null
+++ biology/foldingathome/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1789767643
+SHA256 (FoldingAtHome-fah-client-bastet-v8.5.6_GH0.tar.gz) = 5c2fe001960e8f67528317e9860e2f236001f9ca5373ea027a4c52fce433c2f4
+SIZE (FoldingAtHome-fah-client-bastet-v8.5.6_GH0.tar.gz) = 927932
+SHA256 (CauldronDevelopmentLLC-cbang-bastet-v8.5.6_GH0.tar.gz) = 00323f2faa00af708760b7d6006f1cf4f759c3ca04d4b5f2e33d7042d8bc0286
+SIZE (CauldronDevelopmentLLC-cbang-bastet-v8.5.6_GH0.tar.gz) = 5640640
Index: biology/foldingathome/files/config.xml.sample
===================================================================
--- /dev/null
+++ biology/foldingathome/files/config.xml.sample
@@ -0,0 +1,64 @@
+<config>
+ <!--
+ This is a sample XML configuration file for the Folding@home
+ console client. This configuration file format is explained
+ in detail in the Client User's Guide.
+
+ Copy this file to 'config.xml' and edit.
+
+ To set your user name, team and passkey just edit the text
+ in quotes below.
+ -->
+
+ <!-- User Information -->
+ <user value="anonymous"/> <!-- Enter your user name here -->
+ <team value="0"/> <!-- Your team number -->
+ <passkey value=""/> <!-- 32 hexadecimal characters if provided -->
+
+ <power value="light"/>
+ <gpu value="false"/> <!-- If true, attempt to autoconfigure GPUs -->
+ <fold-anon value="false"/>
+
+ <!-- Folding Slots
+ No folding slot configuration is necessary. The client will
+ automaticlaly choose a good configuration for you. However, here
+ are some examples:
+
+ <slot id="0" type="CPU"/>
+
+ or
+
+ <slot id="0" type="CPU"/>
+ <slot id="1" type="GPU"/>
+
+ All slots in a configuration MUST have unique ids.
+ -->
+
+ <!-- Granting Remote FAHControl Access
+ To grant remote access to FAHControl and the remote command server add
+ the following:
+
+ <allow>127.0.0.1 x.x.x.x</allow>
+ <password>PASS</password>
+
+ Where x.x.x.x is the IP address of the computer which should be granted
+ remote access and PASS is you choose to further secure the connection.
+ -->
+
+ <!-- Granting Remote Web Access
+ If you would like to grant remote Web access then you need these two
+ configuration lines:
+
+ <allow>127.0.0.1 x.x.x.x</allow>
+ <web-allow>127.0.0.1 x.x.x.x</web-allow>
+
+ Where x.x.x.x is the IP address of the computer which should be granted
+ remote access. You may also need to open port 7396 on your firewall.
+
+ You can then access the Web interface remotely by going to this address:
+
+ http://y.y.y.y:7396/
+
+ Where y.y.y.y is the IP address of this computer.
+ -->
+</config>
Index: biology/foldingathome/files/fahclient.8.in
===================================================================
--- /dev/null
+++ biology/foldingathome/files/fahclient.8.in
@@ -0,0 +1,181 @@
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
+.\" Copyright (c) 2020-2026 Mateusz Piotrowski <0mp@FreeBSD.org>
+.\"
+.Dd June 9, 2026
+.Dt FAHCLIENT 8
+.Os
+.Sh NAME
+.Nm fahclient
+.Nd service daemon for the Folding@home Client
+.Sh SYNOPSIS
+.Nm
+.Ar command Op Ar args ...
+.Nm
+.Cm log
+.Nm
+.Cm showconfig
+.Sh DESCRIPTION
+.Nm
+is an
+.Xr rc 8
+daemon for the Folding@home Client.
+.Pp
+Configure
+.Nm
+with the following
+.Xr rc.conf 5
+variables:
+.Bl -tag -width fahclient_extra_flags -offset 2n
+.It Va fahclient_enable
+Toggle to enable
+.Nm .
+Default:
+.Dq NO .
+.It Va fahclient_chdir
+Working directory of
+.Nm .
+Default:
+.Dq Pa %%FAHCLIENT_WORK_DIR%% .
+.It Va fahclient_config
+Configuration file.
+Default:
+.Dq Pa %%ETCDIR%%/config.xml .
+.It Va fahclient_donor
+Donor to attribute work units to.
+Settings in the configuration file take precedence.
+Default:
+.Dq Anonymous .
+.It Va fahclient_extra_flags
+Extra flags passed to the Folding@home Client after other flags.
+Default: empty.
+.It Va fahclient_flags
+Extra flags passed to
+.Xr daemon 8
+before any other flags.
+Default: empty.
+.It Va fahclient_logfile
+Log file.
+Takes precedence over settings in the configuration file.
+Default:
+.Dq Pa %%FAHCLIENT_WORK_DIR%%/log.txt .
+.It Va fahclient_team
+Folding@home team to join and attribute work units to.
+Settings in the configuration file take precedence.
+Default:
+.Ql 11743 ,
+Team
+.Fx .
+.It Va fahclient_pidfile
+PID file.
+Default:
+.Dq Pa %%FAHCLIENT_WORK_DIR%%/fahclient.pid .
+.It Va fahclient_user
+System user to run
+.Nm fahclient
+as.
+Default:
+.Ql fahclient .
+.El
+.Pp
+.Nm
+supports the following extra commands:
+.Bl -tag -width showconfig -offset 2n
+.It Cm log
+View
+.Nm Ap s
+folding logs.
+.It Cm showconfig
+Show the final configuration of
+.Nm
+after all configuration files and command-line flags are processed.
+.El
+.Pp
+The Web Dashboard is available at
+.Lk https://v8-4.foldingathome.org/
+and
+.Lk http://localhost:7396/
+when
+.Nm
+is running.
+Visit the Web Dashboard to connect
+.Nm
+to a Folding@home Account and manage folding work.
+.Pp
+Link
+.Nm
+to an existing account with an Account Token.
+Generate it on the Web Dashboard.
+Add the Account Token to either the configuration file
+or specify it a command-line argument to
+.Nm :
+.Dl sysrc fahclient_extra_flags+=" --account-token=<Account-Token>"
+.Pp
+Refer to the Folding@home Client's help message for more usage
+information:
+.Dl %%FAHCLIENT_PROGRAM%% --help
+.Sh FILES
+.Bl -tag -width "%%FAHCLIENT_PROGRAM%%"
+.It Pa %%FAHCLIENT_PROGRAM%%
+Folding@home Client program invoked by the
+.Nm
+daemon.
+.Sh EXAMPLES
+.Ss Example 1: Quick Start
+Start
+.Nm
+by executing the following steps:
+.Bd -literal -offset indent
+# Mount linprocfs(5) at /compat/linux/proc:
+mount -t linprocfs linprocfs /compat/linux/proc
+# Mount linsysfs(5) at /compat/linux/proc:
+mount -t linsysfs linsysfs /compat/linux/sys
+# Enable fahclient:
+service fahclient enable
+# Optionally, set the desired donor name:
+sysrc fahclient_donor="Anonymous"
+# Start fahclient:
+service fahclient start
+.Ed
+.Pp
+Open the Folding@home Web Dashboard to finish the setup.
+.Pp
+Add
+.Xr linprocfs 5
+and
+.Xr linsysfs 5
+entries to
+.Xr fstab 5
+to make the setup persistent across reboots.
+.Sh SEE ALSO
+.Lk https://foldingathome.org/guides/v8-4-client-guide/ "Folding@home v8.4 Client Guide"
+.Pp
+.Lk https://foldingathome.org/faq/ "Folding@home FAQ"
+.Pp
+.Lk https://foldingforum.org/ "Folding Forum"
+.Pp
+.Lk https://stats.foldingathome.org/team/11743 "Team FreeBSD Statistics"
+.Sh HISTORY
+Team
+.Fx
+was founded by
+.An Frank Mayhar .
+.Sh AUTHORS
+The
+.Nm
+manual page was written by
+.An Mateusz Piotrowski Aq Mt 0mp@FreeBSD.org .
+.Sh CAVEATS
+The working directory of
+.Nm
+must have the execute permissions enabled to function properly.
+For example, on a
+.Xr zfs 4
+dataset where
+.Pa %%FAHCLIENT_WORK_DIR%%
+is located the
+.Ql exec
+property
+must be set to
+.Ql on .
Index: biology/foldingathome/files/fahclient.in
===================================================================
--- /dev/null
+++ biology/foldingathome/files/fahclient.in
@@ -0,0 +1,66 @@
+#! /bin/sh -
+
+# SPDX-License-Identifier: BSD-2-Clause
+#
+# Copyright (c) 2020-2026 Mateusz Piotrowski <0mp@FreeBSD.org>
+#
+
+# PROVIDE: fahclient
+# REQUIRE: DAEMON LOGIN NETWORKING linux
+
+#
+# Refer to to the fahclient(8) manual page for the configuration instructions.
+#
+
+. /etc/rc.subr
+
+name='fahclient'
+rcvar='fahclient_enable'
+
+load_rc_config 'fahclient'
+
+# Default settings.
+: "${fahclient_enable:=NO}"
+: "${fahclient_user:=fahclient}"
+# The program is going to create a lot of files in its working directory,
+# so make sure that they all land in a sensible place.
+: "${fahclient_chdir:=%%FAHCLIENT_WORK_DIR%%}"
+: "${fahclient_svcj_options:=net_basic}"
+
+: "${fahclient_donor=Anonymous}"
+: "${fahclient_team=11743}"
+
+: "${fahclient_pidfile:=%%FAHCLIENT_WORK_DIR%%/fahclient.pid}"
+: "${fahclient_config:=%%ETCDIR%%/config.xml}"
+: "${fahclient_logfile:=%%FAHCLIENT_WORK_DIR%%/log.txt}"
+
+pidfile="${fahclient_pidfile}"
+procname="%%FAHCLIENT_PROGRAM%%"
+command="/usr/sbin/daemon"
+command_args="-p ${pidfile} -- ${procname}"
+# Some notes on the specified options:
+# - --user sets the donor work units are attributed to (config file takes
+# precedence).
+# - --team sets the team work units are attributed to (cfg file takes
+# precedence).
+# - --config is necessary to point the program to the correct configuration
+# file.
+# - fahclient_extra_flags are passed in after all other options.
+_fahclient_command_args=
+_fahclient_command_args="${_fahclient_command_args} ${fahclient_donor:+--user=${fahclient_donor}}"
+_fahclient_command_args="${_fahclient_command_args} ${fahclient_team:+--team=${fahclient_team}}"
+_fahclient_command_args="${_fahclient_command_args} --config=${fahclient_config}"
+_fahclient_command_args="${_fahclient_command_args} --log=${fahclient_logfile}"
+_fahclient_command_args="${_fahclient_command_args} --log-rotate-dir=$(dirname "${fahclient_logfile}")"
+_fahclient_command_args="${_fahclient_command_args} --log-to-screen=false"
+_fahclient_command_args="${_fahclient_command_args} ${fahclient_extra_flags}"
+command_args="${command_args} ${_fahclient_command_args}"
+extra_commands="log showconfig"
+log_cmd="tail -F -- ${fahclient_logfile}"
+showconfig_cmd="${procname} ${_fahclient_command_args} --log-to-screen=true --print"
+if [ -n "$fahclient_user" ]; then
+ showconfig_cmd="su -m $fahclient_user -c 'sh -c \"$showconfig_cmd\"'"
+fi
+required_modules='linprocfs linsysfs linux64:linux64elf'
+
+run_rc_command "$1"
Index: biology/foldingathome/files/patch-SConstruct
===================================================================
--- /dev/null
+++ biology/foldingathome/files/patch-SConstruct
@@ -0,0 +1,20 @@
+--- SConstruct.orig 2026-09-18 23:24:25 UTC
++++ SConstruct
+@@ -1,5 +1,6 @@ import os
+ # Setup
+ import os
++import sys
+ import json
+ env = Environment(ENV = os.environ)
+ try:
+@@ -52,6 +53,10 @@ if not env.GetOption('clean'):
+ env.AppendUnique(LINKFLAGS = flags)
+
+ env.Append(PREFER_DYNAMIC = 'z lz4 systemd m'.split())
++
++ if sys.platform.startswith('freebsd'):
++ conf.CBRequireLib('event_pthreads')
++ #env.Append(LIBS = ['event_pthreads'])
+
+ conf.Finish()
+
Index: biology/foldingathome/files/patch-src_client.scons
===================================================================
--- /dev/null
+++ biology/foldingathome/files/patch-src_client.scons
@@ -0,0 +1,16 @@
+--- src/client.scons.orig 2026-09-18 23:22:56 UTC
++++ src/client.scons
+@@ -1,4 +1,5 @@ import glob
+ import glob
++import sys
+
+ Import('*')
+
+@@ -24,6 +25,7 @@ elif env['PLATFORM'] == 'darwin': src += Glob('fah/cli
+ src += Glob('fah/client/win/*.cpp')
+
+ elif env['PLATFORM'] == 'darwin': src += Glob('fah/client/osx/*.cpp')
++elif env['PLATFORM'] == 'posix' and sys.platform.startswith('freebsd'): src += Glob('fah/client/freebsd/*.cpp')
+ else: src += Glob('fah/client/lin/*.cpp')
+
+ # Build Info
Index: biology/foldingathome/files/patch-src_fah_client_OS.cpp
===================================================================
--- /dev/null
+++ biology/foldingathome/files/patch-src_fah_client_OS.cpp
@@ -0,0 +1,21 @@
+--- src/fah/client/OS.cpp.orig 2026-09-18 23:20:20 UTC
++++ src/fah/client/OS.cpp
+@@ -35,6 +35,8 @@
+ #include "win/WinOSImpl.h"
+ #elif defined(__APPLE__)
+ #include "osx/OSXOSImpl.h"
++#elif defined(__FreeBSD__)
++#include "freebsd/FreeBSDOSImpl.h"
+ #else
+ #include "lin/LinOSImpl.h"
+ #endif
+@@ -62,6 +64,9 @@ SmartPointer<OS> OS::create(App &app) {
+
+ #elif defined(__APPLE__)
+ return new OSXOSImpl(app);
++
++#elif defined(__FreeBSD__)
++ return new FreeBSDOSImpl(app);
+
+ #else
+ return new LinOSImpl(app);
Index: biology/foldingathome/files/patch-src_fah_client_freebsd_FreeBSDOSImpl.h
===================================================================
--- /dev/null
+++ biology/foldingathome/files/patch-src_fah_client_freebsd_FreeBSDOSImpl.h
@@ -0,0 +1,56 @@
+--- src/fah/client/freebsd/FreeBSDOSImpl.h.orig 2026-09-18 23:19:28 UTC
++++ src/fah/client/freebsd/FreeBSDOSImpl.h
+@@ -0,0 +1,53 @@
++/******************************************************************************\
++
++ This file is part of the Folding@home Client.
++
++ The fah-client runs Folding@home protein folding simulations.
++ Copyright (c) 2001-2024, foldingathome.org
++ All rights reserved.
++
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 3 of the License, or
++ (at your option) any later version.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License along
++ with this program; if not, write to the Free Software Foundation, Inc.,
++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++
++ For information regarding this software email:
++ Joseph Coffland
++ joseph@cauldrondevelopment.com
++
++\******************************************************************************/
++
++#pragma once
++
++#include <fah/client/OS.h>
++
++
++namespace FAH {
++ namespace Client {
++ class FreeBSDOSImpl : public OS {
++ int sock = -1;
++ cb::SmartPointer<cb::Event::Event> event;
++
++ public:
++ FreeBSDOSImpl(App &app);
++ ~FreeBSDOSImpl();
++
++ // From OS
++ const char *getName() const override;
++ const char *getCPU() const override;
++ bool isSystemIdle() const override;
++
++ private:
++ void ueventMsg();
++ };
++ }
++}
Index: biology/foldingathome/files/patch-src_fah_client_freebsd_FreeBSDOSImpl.cpp
===================================================================
--- /dev/null
+++ biology/foldingathome/files/patch-src_fah_client_freebsd_FreeBSDOSImpl.cpp
@@ -0,0 +1,122 @@
+--- src/fah/client/freebsd/FreeBSDOSImpl.cpp.orig 2026-09-18 23:19:24 UTC
++++ src/fah/client/freebsd/FreeBSDOSImpl.cpp
+@@ -0,0 +1,119 @@
++/******************************************************************************\
++
++ This file is part of the Folding@home Client.
++
++ The fah-client runs Folding@home protein folding simulations.
++ Copyright (c) 2001-2024, foldingathome.org
++ All rights reserved.
++
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 3 of the License, or
++ (at your option) any later version.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License along
++ with this program; if not, write to the Free Software Foundation, Inc.,
++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++
++ For information regarding this software email:
++ Joseph Coffland
++ joseph@cauldrondevelopment.com
++
++\******************************************************************************/
++
++#include "FreeBSDOSImpl.h"
++
++#include <fah/client/App.h>
++
++#include <cbang/os/PowerManagement.h>
++#include <cbang/log/Logger.h>
++
++#include <array>
++#include <cstdio>
++
++#include <sys/socket.h>
++#include <netlink/netlink.h>
++#include <netlink/netlink_route.h>
++#include <unistd.h>
++#include <sys/utsname.h>
++
++using namespace FAH::Client;
++using namespace std;
++using namespace cb;
++
++
++namespace {
++ int open_uevent_netlink() {
++ sockaddr_nl sa {};
++ sa.nl_family = AF_NETLINK;
++ sa.nl_pid = getpid();
++ sa.nl_groups = -1; // receive all broadcasted uevents
++
++ int sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_KOBJECT_UEVENT);
++ if (sock < 0) return -1;
++ if (::bind(sock, (sockaddr *)&sa, sizeof(sa)) < 0) {
++ close(sock);
++ return -1;
++ }
++
++ return sock;
++ }
++}
++
++
++FreeBSDOSImpl::FreeBSDOSImpl(App &app) : OS(app), sock(open_uevent_netlink()) {
++ if (sock == -1) LOG_WARNING("Failed to open udev netlink socket, "
++ "may not be able to detect GPUs");
++ else {
++ auto flags = Event::EventFlag::EVENT_READ | Event::EventFlag::EVENT_PERSIST;
++ event = app.getEventBase().newEvent
++ (sock, this, &FreeBSDOSImpl::ueventMsg, flags);
++ event->add();
++ }
++}
++
++
++FreeBSDOSImpl::~FreeBSDOSImpl() {
++ if (sock != -1) close(sock);
++}
++
++
++const char *FreeBSDOSImpl::getName() const {return "freebsd";}
++
++
++const char *FreeBSDOSImpl::getCPU() const {
++ struct utsname name;
++
++ uname(&name);
++ string machine(name.machine);
++
++ if (machine.find("x86_64") != string::npos) return "amd64";
++ if (machine == "arch64" || machine == "arm64") return "arm64";
++
++ return OS::getCPU();
++}
++
++
++bool FreeBSDOSImpl::isSystemIdle() const {
++ return 15 < PowerManagement::instance().getIdleSeconds();
++}
++
++
++void FreeBSDOSImpl::ueventMsg() {
++ array<char, 4096> buf {};
++ auto len = recv(sock, buf.data(), buf.size() - 1, 0);
++ if (len < 0) return;
++
++ string msg(buf.data(), len);
++ LOG_DEBUG(4, "UEVENT: " << String::escapeC(msg));
++
++ // Only interested in DRM "add" events
++ if (msg.find("ACTION=add") != string::npos &&
++ msg.find("SUBSYSTEM=drm") != string::npos)
++ gpuAdded();
++}
Index: biology/foldingathome/files/pkg-message.in
===================================================================
--- /dev/null
+++ biology/foldingathome/files/pkg-message.in
@@ -0,0 +1,8 @@
+[
+{ type: install
+ message: <<EOM
+Refer to the fahclient(8) manual page for instructions
+on how to get started with Folding@home on FreeBSD.
+EOM
+}
+]
Index: biology/foldingathome/pkg-descr
===================================================================
--- /dev/null
+++ biology/foldingathome/pkg-descr
@@ -0,0 +1,15 @@
+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.
Index: biology/foldingathome/pkg-plist
===================================================================
--- /dev/null
+++ biology/foldingathome/pkg-plist
@@ -0,0 +1,5 @@
+bin/fah-client
+share/man/man8/fahclient.8.gz
+@dir(fahclient,fahclient,) %%ETCDIR%%
+@sample(fahclient,fahclient,) %%ETCDIR%%/config.xml.sample
+@dir(fahclient,fahclient,) %%FAHCLIENT_WORK_DIR%%
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Oct 2, 5:11 AM (1 h, 56 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
40061881
Default Alt Text
D59826.id187214.diff (22 KB)
Attached To
Mode
D59826: biology/foldingathome: Add a native Folding@home client
Attached
Detach File
Event Timeline
Log In to Comment