# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI="4" inherit versionator user MY_BASEURI="https://fah.stanford.edu/file-releases/public/release/fahclient" MY_64B_URI="${MY_BASEURI}/centos-5.3-64bit/v$(get_version_component_range 1-2)/fahclient_${PV}-64bit-release.tar.bz2" MY_32B_URI="${MY_BASEURI}/centos-5.5-32bit/v$(get_version_component_range 1-2)/fahclient_${PV}-32bit-release.tar.bz2" DESCRIPTION="Folding@Home is a distributed computing project for protein folding" HOMEPAGE="http://folding.stanford.edu/FAQ-SMP.html" SRC_URI="x86? ( ${MY_32B_URI} ) amd64? ( ${MY_64B_URI} )" RESTRICT="mirror bindist strip" LICENSE="FAH-EULA-2014 FAH-special-permission" SLOT="0" KEYWORDS="~amd64 ~x86" 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 RDEPEND="app-arch/bzip2 sys-devel/gcc sys-libs/glibc sys-libs/zlib" S="${WORKDIR}" I="opt/foldingathome" QA_PREBUILT="${I}/*" pkg_setup() { I="${EROOT}/${I}" einfo "" cat "${PORTDIR}"/licenses/FAH-special-permission einfo "" } src_install() { local myS="fahclient_${PV}-64bit-release" use x86 && myS="${myS//64bit/32bit}" exeinto "${I}" doexe "${FILESDIR}"/7.3/initfolding doexe "${myS}"/{FAHClient,FAHCoreWrapper} newconfd "${FILESDIR}"/7.3/folding-conf.d foldingathome newinitd "${FILESDIR}"/7.3/fah-init foldingathome } pkg_preinst() { # the bash shell is important for "su -c" in init script enewuser foldingathome -1 /bin/bash /opt/foldingathome } pkg_postinst() { chown -R foldingathome:nogroup "${I}" einfo "To run Folding@home in the background at boot (with openrc):" einfo "\trc-update add foldingathome default" einfo "" if [ ! -e "${I}"/config.xml ]; then elog "No configuration found -- please run ${I}/initfolding or" elog "emerge --config ${P} to configure your client and edit" elog "${EROOT}/etc/conf.d/foldingathome for options" fi einfo "" einfo "The original author 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 ${I}" } pkg_config() { "${I}"/initfolding }