diff options
Diffstat (limited to 'sci-biology/foldingathome/foldingathome-7.6.9.ebuild')
-rw-r--r-- | sci-biology/foldingathome/foldingathome-7.6.9.ebuild | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/sci-biology/foldingathome/foldingathome-7.6.9.ebuild b/sci-biology/foldingathome/foldingathome-7.6.9.ebuild new file mode 100644 index 000000000000..cb7ce89a604b --- /dev/null +++ b/sci-biology/foldingathome/foldingathome-7.6.9.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit versionator user systemd + +DESCRIPTION="Folding@Home is a distributed computing project for protein folding" +HOMEPAGE="https://foldingathome.org/" +SRC_URI="https://download.foldingathome.org/releases/public/release/fahclient/centos-6.7-64bit/v$(get_version_component_range 1-2)/fahclient_${PV}-64bit-release.tar.bz2" + +RESTRICT="mirror bindist strip" + +LICENSE="FAH-EULA-2014 FAH-special-permission" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" +# Expressly listing all deps, as this is a binpkg and it is doubtful whether +# i.e. uclibc or clang can provide what is necessary at runtime +DEPEND="dev-util/patchelf" +RDEPEND="app-arch/bzip2 + || ( + dev-libs/openssl-compat:1.0.0 + =dev-libs/openssl-1.0*:* + ) + sys-devel/gcc + sys-libs/glibc + sys-libs/zlib + acct-group/video +" + +S="${WORKDIR}/fahclient_${PV}-64bit-release" + +QA_PREBUILT="opt/foldingathome/*" + +pkg_setup() { + elog "" + elog "Special permission is hereby granted to the Gentoo project to provide an" + elog "automated installer package which downloads and installs the Folding@home client" + elog "software. Permission is also granted for future Gentoo installer packages on the" + elog "condition that they continue to adhere to all of the terms of the accompanying" + elog "Folding@home license agreements and display this notice." + elog "-- Vijay S. Pande, Stanford University, 07 May 2013" + elog "" + elog "(ref: http://foldingforum.org/viewtopic.php?f=16&t=22524&p=241992#p241992 )" + elog "" + + enewgroup foldingathome + enewuser foldingathome -1 -1 "${EPREFIX}"/opt/foldingathome video +} + +src_install() { + patchelf --set-rpath "${EPREFIX}/opt/foldingathome" FAHClient || die + patchelf --set-rpath "${EPREFIX}/opt/foldingathome" FAHCoreWrapper || die + + dosym "../../usr/$(get_libdir)/libssl.so.1.0.0" /opt/foldingathome/libssl.so.10 + dosym "../../usr/$(get_libdir)/libcrypto.so.1.0.0" /opt/foldingathome/libcrypto.so.10 + + exeinto /opt/foldingathome + doexe {FAHClient,FAHCoreWrapper} + + insinto /opt/foldingathome + doins sample-config.xml + + newconfd "${FILESDIR}"/7.3/folding-conf.d foldingathome + cat <<EOF >"${T}"/fah-init +#!/sbin/openrc-run +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +start_stop_daemon_args="--chdir \"${EPREFIX}/opt/foldingathome\"" +command="${EPREFIX}/opt/foldingathome/FAHClient" +command_args="\${FOLD_OPTS}" +command_user=foldingathome +command_background=1 +pidfile="\${PIDFILE}" +EOF + newinitd "${T}"/fah-init foldingathome + + cat <<EOF >"${T}"/fah-init.service +[Unit] +Description=Folding@Home V7 Client +Documentation=https://foldingathome.org + +[Service] +Type=simple +User=foldingathome +Group=foldingathome +Nice=19 +WorkingDirectory=${EPREFIX}/opt/foldingathome +ExecStart=${EPREFIX}/opt/foldingathome/FAHClient --fork=false --pid=false --respawn=false --service=false +NoNewPrivileges=yes +PrivateTmp=yes +ProtectControlGroups=yes +ProtectSystem=full +RestrictRealtime=true +ProtectControlGroups=yes + +[Install] +WantedBy=multi-user.target +EOF + systemd_newunit "${T}"/fah-init.service foldingathome.service + + fowners -R foldingathome:foldingathome /opt/foldingathome +} + +pkg_postinst() { + elog "To run Folding@home in the background at boot:" + elog "(openrc)\trc-update add foldingathome default" + elog "(systemd)\tsystemctl enable foldingathome" + elog "" + if [ ! -e "${EPREFIX}"/opt/foldingathome/config.xml ]; then + elog "No config.xml file found -- please run" + elog "emerge --config ${P} to configure your client, or specify" + elog "all necessary runtime options in FOLD_OPTS within" + elog "${EPREFIX}/etc/conf.d/foldingathome" + elog "" + fi + if [[ -n ${REPLACING_VERSIONS} ]]; then + elog "NOTE, the 'initfolding' helper script has been dropped, please" + elog "use emerge --config ${P} or run FAHClient --configure directly" + elog "and adjust file permissions and ownership yourself" + elog "" + fi + elog "Please see ${EPREFIX}/opt/foldingathome/FAHClient --help for more details." + einfo "" + einfo "The original package maintainer encourages you to acquire a username and join team 36480." + einfo "http://folding.stanford.edu/English/Download#ntoc2" + einfo "" +} + +pkg_postrm() { + elog "Folding@home data files were not removed." + elog "Remove them manually from ${EPREFIX}/opt/foldingathome" +} + +pkg_config() { + cd "${EPREFIX}"/opt/foldingathome || die + su foldingathome -s /bin/sh -c "./FAHClient --configure" +} |