commit:     d52cb3309baa6bfccc6bedb98c78b892bf71975d
Author:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 18 18:20:08 2021 +0000
Commit:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Sun Jul 18 18:42:14 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d52cb330

sci-biology/foldingathome: migrate to GLEP 81

Bug: https://bugs.gentoo.org/781485
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>

 .../foldingathome/foldingathome-7.6.13-r1.ebuild   | 138 +++++++++++++++++++++
 1 file changed, 138 insertions(+)

diff --git a/sci-biology/foldingathome/foldingathome-7.6.13-r1.ebuild 
b/sci-biology/foldingathome/foldingathome-7.6.13-r1.ebuild
new file mode 100644
index 00000000000..c45300719bf
--- /dev/null
+++ b/sci-biology/foldingathome/foldingathome-7.6.13-r1.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit 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$(ver_cut
 1-2)/fahclient_${PV}-64bit-release.tar.bz2"
+S="${WORKDIR}/fahclient_${PV}-64bit-release"
+
+LICENSE="FAH-EULA-2014 FAH-special-permission"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="mirror bindist strip"
+
+# 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="
+       acct-group/foldingathome
+       acct-group/video
+       acct-user/foldingathome
+       app-arch/bzip2
+       || (
+               dev-libs/openssl-compat:1.0.0
+               =dev-libs/openssl-1.0*:*
+       )
+       sys-devel/gcc
+       sys-libs/glibc
+       sys-libs/zlib
+"
+
+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 ""
+}
+
+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"
+}

Reply via email to