mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-11 02:50:24 +00:00
136 lines
3.8 KiB
Makefile
136 lines
3.8 KiB
Makefile
# New ports collection makefile for: folding@home client
|
|
# Date created: Sun Sep 29 19:48:01 UTC 2002
|
|
# Whom: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME= distribfold
|
|
PORTVERSION= 0.1.${RELEASE_DATE}
|
|
CATEGORIES= biology net
|
|
MASTER_SITES= ${MASTER_SITE_LOCAL}
|
|
MASTER_SITE_SUBDIR= lioux
|
|
DISTNAME= distribfold-current-FreeBSD-${PORTVERSION}
|
|
|
|
MAINTAINER= lioux@FreeBSD.org
|
|
COMMENT= distributedfolding.org distributed protein folding project
|
|
|
|
ONLY_FOR_ARCHS= i386
|
|
USE_REINPLACE= yes
|
|
NO_BUILD= yes
|
|
|
|
WRKSRC= ${WRKDIR}/distribfold
|
|
|
|
# files to install
|
|
SCRIPT_FILES= distrib-update foldit
|
|
PROGRAM_FILES= foldtrajlite
|
|
# installation dir
|
|
DESTINATION_DIR= ${PREFIX}/distribfold
|
|
|
|
# default users
|
|
DNETFOLD_USER=dnetfold
|
|
DNETFOLD_GROUP=dnetfold
|
|
|
|
# default number of processors
|
|
WITH_NCPU?= 1
|
|
|
|
RELEASE_DATE= 20030425
|
|
|
|
post-patch:
|
|
@${REINPLACE_CMD} -E -e 's|%%DESTINATION_DIR%%|${DESTINATION_DIR}/cpu0|' \
|
|
${WRKSRC}/foldit
|
|
|
|
pre-install:
|
|
# create users
|
|
@${SETENV} PKG_PREFIX=${PREFIX} ${SH} \
|
|
${PKGINSTALL} ${PKGNAME} POST-INSTALL
|
|
|
|
do-install:
|
|
# remove any patch scrap files
|
|
.for ext in bak orig
|
|
@${RM} -f ${WRKSRC}/*.${ext}
|
|
.endfor
|
|
# strip binaries
|
|
.for file in ${PROGRAM_FILES}
|
|
@${STRIP_CMD} ${WRKSRC}/${file}
|
|
.endfor
|
|
# install startup script
|
|
@${INSTALL_SCRIPT} ${WRKDIR}/distribfold.sh ${PREFIX}/etc/rc.d
|
|
# for every cpu directory
|
|
@ncpu=`${CAT} ${WRKDIR}/ncpu` ; \
|
|
for dir in `${FILESDIR}/number_of_dirs.sh $${ncpu}` ; do \
|
|
DESTINATION_DIR=${DESTINATION_DIR}/cpu$${dir} ; \
|
|
${MKDIR} $${DESTINATION_DIR} ; \
|
|
${INSTALL_DATA} ${WRKSRC}/* $${DESTINATION_DIR} ; \
|
|
${CHGRP} -R ${DNETFOLD_GROUP} $${DESTINATION_DIR} ; \
|
|
${CHMOD} g+w $${DESTINATION_DIR} ; \
|
|
${CHOWN} ${DNETFOLD_USER} $${DESTINATION_DIR}/* ; \
|
|
${CHMOD} u+w $${DESTINATION_DIR}/* ; \
|
|
for file in ${PROGRAM_FILES} ${SCRIPT_FILES} ; do \
|
|
${CHMOD} 0755 $${DESTINATION_DIR}/$${file} ; \
|
|
done ; \
|
|
done
|
|
# display package message
|
|
@${CAT} ${PKGMESSAGE}
|
|
|
|
post-install: cook-install-plist fix-startup-scripts
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if ${OSVERSION} >= 500000
|
|
LIB_DEPENDS+= c_r.4:${PORTSDIR}/misc/compat4x
|
|
.endif
|
|
|
|
pre-everything::
|
|
.if ${WITH_NCPU} < 1
|
|
@${ECHO_MSG} "===> Number of processors HAS to be at least 1"
|
|
@${ECHO_MSG} "===> (${WITH_NCPU}) IS NOT"
|
|
@${FALSE}
|
|
.endif
|
|
@${ECHO_MSG} "=======> ATTENTION <======="
|
|
@${ECHO_MSG} "===> If you want to have multiple copies of this program"
|
|
@${ECHO_MSG} "===> running in order to make better use of your SMP"
|
|
@${ECHO_MSG} "===> system, set WITH_CPU to the number of cpus"
|
|
@${ECHO_MSG} "===> available in your system"
|
|
@${ECHO_MSG} "===> For example, 2 cpus. \"make WITH_CPU=2\""
|
|
@${ECHO_MSG} "===> Do not use this variable if you do not have a SMP"
|
|
@${ECHO_MSG} "===> system. There is no advantage otherwise."
|
|
|
|
do-configure:
|
|
# prepare startup script
|
|
@${SED} -e 's|%%DNETFOLD_USER%%|${DNETFOLD_USER}|' \
|
|
-e 's|%%DESTINATION_DIR%%|${DESTINATION_DIR}|' \
|
|
-e 's|%%NCPU%%|${WITH_NCPU}|' \
|
|
${FILESDIR}/distribfold.sh > ${WRKDIR}/distribfold.sh
|
|
# record number of cpus
|
|
@${ECHO} ${WITH_NCPU} > ${WRKDIR}/ncpu
|
|
|
|
cook-install-plist: generate-plist
|
|
.if ${WITH_NCPU} > 1
|
|
@${GREP} cpu0 ${TMPPLIST} > ${WRKDIR}/plist
|
|
@${TAIL} -n 2 ${TMPPLIST} > ${WRKDIR}/plist.end
|
|
@${CP} /dev/null ${WRKDIR}/plistN
|
|
# for every cpu directory
|
|
@ncpu=`${CAT} ${WRKDIR}/ncpu` ; \
|
|
for dir in `${FILESDIR}/number_of_dirs.sh $${ncpu}` ; do \
|
|
${SED} -e "s|cpu0|cpu$${dir}|" ${WRKDIR}/plist >> ${WRKDIR}/plistN ; \
|
|
done
|
|
@${CP} /dev/null ${TMPPLIST}
|
|
.for file in plistN plist.end
|
|
@${CAT} ${WRKDIR}/${file} >> ${TMPPLIST}
|
|
.endfor
|
|
.endif
|
|
|
|
fix-startup-scripts:
|
|
.if ${WITH_NCPU} > 1
|
|
# for every cpu directory
|
|
@ncpu=`${CAT} ${WRKDIR}/ncpu` ; \
|
|
for dir in `${FILESDIR}/number_of_dirs.sh $${ncpu}` ; do \
|
|
${REINPLACE_CMD} -e "s|cpu0|cpu$${dir}|" \
|
|
${DESTINATION_DIR}/cpu$${dir}/foldit ; \
|
|
${RM} -f ${DESTINATION_DIR}/cpu$${dir}/foldit.bak ; \
|
|
done
|
|
.endif
|
|
|
|
.include <bsd.port.post.mk>
|