220c053bfb
test installation without confiugration changes. In the process, switch from using snapshots of CVS to using the official Sun tarballs. This should ease upgrades, but has the unfortunate side effect of making wget a FETCH_DEPEND becuase the weird download interface requires cookies.
238 lines
7.1 KiB
Makefile
238 lines
7.1 KiB
Makefile
# Ports collection makefile for: sge
|
|
# Date created: Fri Jul 11, 2003
|
|
# Whom: Brooks Davis <brooks@FreeBSD.org>
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME= sge
|
|
PORTVERSION= ${SGE_VERSION}
|
|
PORTREVISION= 0
|
|
CATEGORIES= sysutils parallel
|
|
MASTER_SITES= http://gridengine.sunsource.net/files/documents/7/32/
|
|
MASTER_SITES+= ${MASTER_SITE_LOCAL}
|
|
DISTNAME= sge-V60u6_TAG-src
|
|
MASTER_SITE_SUBDIR= brooks
|
|
|
|
MAINTAINER= brooks@FreeBSD.org
|
|
COMMENT= Sun Grid Engine, a batch queueing system
|
|
|
|
OPTIONS= BDB "Use DB based spooler (currently broken)" off \
|
|
DRMAA "Support the Java DRMAA API (requires native Java)" on \
|
|
QMON "Qmon support (requires X and Motif)" on
|
|
|
|
CONFLICTS= sge-5* sgeee-[0-9]*
|
|
|
|
.if !exists(/usr/include/sys/_pthreadtypes.h)
|
|
EXTRA_PATCHES= ${FILESDIR}/pthread-types.diff
|
|
.endif
|
|
NOT_FOR_ARCHS= alpha
|
|
|
|
USE_GETTEXT= yes
|
|
USE_GMAKE= yes
|
|
USE_OPENSSL= yes
|
|
USE_REINPLACE= yes
|
|
INSTALLS_SHLIB= yes
|
|
LDCONFIG_DIRS= ${SGE_ROOT}/lib/${SGE_ARCH}
|
|
|
|
# We have to use fetch because the master site required cookies to
|
|
# download the file.
|
|
FETCH_DEPENDS= wget:${PORTSDIR}/ftp/wget
|
|
DISABLE_SIZE= yes
|
|
FETCH_CMD= wget -c
|
|
|
|
SGE_BASE?= sge
|
|
SGE_ROOT= ${PREFIX}/${SGE_BASE}
|
|
SGE_ARCH= fbsd-${ARCH}
|
|
SGE_VERSION= 6.0.6
|
|
SGE_RELEASE= 6.0u6
|
|
|
|
PLIST_SUB+= SGE_ARCH=${SGE_ARCH}
|
|
PLIST_SUB+= SGE_BASE=${SGE_BASE}
|
|
|
|
SUB_FILES= pkg-message pkg-install
|
|
SUB_LIST+= SGE_BASE=${SGE_BASE}
|
|
|
|
USE_RC_SUBR= sge.sh
|
|
|
|
PKGMESSAGE= ${WRKDIR}/pkg-message
|
|
PKGINSTALL= ${WRKDIR}/pkg-install
|
|
WRKSRC= ${WRKDIR}/gridengine/source
|
|
TMP_SGE_ROOT= ${WRKDIR}/sgeroot
|
|
AIMK_CMD= ${SETENV} ${AIMK_ENV} ./aimk ${AIMK_ARGS}
|
|
|
|
INST_PROGS= man common \
|
|
sge_qmaster \
|
|
sge_execd \
|
|
sge_shadowd \
|
|
sge_schedd \
|
|
sge_shepherd \
|
|
sge_coshepherd \
|
|
qstat \
|
|
qsub \
|
|
qalter \
|
|
qconf \
|
|
qdel \
|
|
qacct \
|
|
qmod \
|
|
qsh \
|
|
utilbin \
|
|
jobs \
|
|
qhost \
|
|
qmake \
|
|
qtcsh \
|
|
qping \
|
|
qloadsensor.exe \
|
|
sgepasswd \
|
|
${QMON}
|
|
|
|
MANPREFIX= ${SGE_ROOT}
|
|
.include "${.CURDIR}/Makefile.man"
|
|
EXCEPTFILES= arc_depend_irix.asc arc_depend_solaris.asc man testsuite
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if defined(WITH_BDB)
|
|
LIB_DEPENDS= db-4.2:${PORTSDIR}/databases/db42
|
|
PLIST_SUB+= BDB_SPOOL=
|
|
.else
|
|
AIMK_ARGS+= -spool-classic
|
|
PLIST_SUB+= BDB_SPOOL="@comment "
|
|
.endif
|
|
|
|
.if defined(WITH_DRMAA)
|
|
USE_JAVA= yes
|
|
JAVA_VERSION= 1.4+
|
|
JAVA_OS= native
|
|
JAVA_BUILD= jdk
|
|
JAVA_RUN= jre
|
|
.include "${PORTSDIR}/Mk/bsd.java.mk"
|
|
ANT?= ${LOCALBASE}/bin/ant
|
|
BUILD_DEPENDS+= ${ANT}:${PORTSDIR}/devel/apache-ant
|
|
PLIST_SUB+= DRMAA=
|
|
AIMK_ENV+= JAVA_HOME=${JAVA_HOME}
|
|
.else
|
|
AIMK_ARGS+= -no-java -no-jni
|
|
PLIST_SUB+= DRMAA="@comment "
|
|
.endif
|
|
|
|
.if defined(WITH_QMON)
|
|
USE_MOTIF= yes
|
|
PLIST_SUB+= QMON=
|
|
QMON= qmon
|
|
.else
|
|
AIMK_ARGS+= -no-qmon
|
|
PLIST_SUB+= QMON="@comment "
|
|
QMON= noqmon
|
|
.endif
|
|
|
|
post-patch:
|
|
@${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|g" \
|
|
-e "s|%%X11BASE%%|${X11BASE}|g" \
|
|
-e "s|%%LOCALBASE%%|${LOCALBASE}|g" \
|
|
${WRKSRC}/dist/util/arch_variables \
|
|
${WRKSRC}/dist/pvm/src/aimk
|
|
@${REINPLACE_CMD} -e "s|%%CC%%|${CC}|g" -e "s|%%CXX%%|${CXX}|g" \
|
|
-e "s|%%CFLAGS%%|${CFLAGS}|g" -e "s|%CXXFLAGS%%|${CXXFLAGS}|g" \
|
|
${WRKSRC}/aimk \
|
|
${WRKSRC}/dist/pvm/src/aimk
|
|
@${REINPLACE_CMD} -e 's|^CC = gcc|CC = ${CC}|' \
|
|
-e 's|^CPP = gcc -E|CPP = ${CPP}|' \
|
|
${WRKSRC}/3rdparty/qmake/FREEBSD_*/Makefile \
|
|
${WRKSRC}/3rdparty/qmake/FREEBSD_*/glob/Makefile \
|
|
${WRKSRC}/3rdparty/qtcsh/FREEBSD_*/Makefile
|
|
@${RM} ${WRKSRC}/dist/util/arch_variables.orig
|
|
@${RM} ${WRKSRC}/dist/util/install_modules/inst_common.sh.orig
|
|
@${FIND} ${WRKSRC} -name Makefile | ${XARGS} \
|
|
${REINPLACE_CMD} "s|-g -O2|${CFLAGS}|"
|
|
@${SED} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
|
|
-e 's|%%OPENSSLBASE%%|${OPENSSLBASE}|g' < \
|
|
${FILESDIR}/aimk.private > ${WRKSRC}/aimk.private
|
|
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
|
|
-e 's|%%OPENSSLBASE%%|${OPENSSLBASE}|g' \
|
|
${WRKSRC}/scripts/distinst.site
|
|
|
|
do-build:
|
|
cd ${WRKSRC} && ${AIMK_CMD} -only-depend
|
|
cd ${WRKSRC} && ./scripts/zerodepend
|
|
cd ${WRKSRC} && ${AIMK_CMD} depend
|
|
cd ${WRKSRC} && \
|
|
${AIMK_CMD} -secure -debug && \
|
|
${AIMK_CMD} -man ${SGE_PRODUCT} &&
|
|
${MKDIR} ${TMP_SGE_ROOT}
|
|
cd ${WRKSRC} && ${SETENV} SGE_ROOT=${TMP_SGE_ROOT} \
|
|
./scripts/distinst -local -libs ${SGE_ARCH} -- ${INST_PROGS}
|
|
|
|
do-install:
|
|
${MKDIR} ${SGE_ROOT}
|
|
cd ${TMP_SGE_ROOT} && \
|
|
${FIND} . | ${TAR} cTf - - | ${TAR} xUCf ${SGE_ROOT} -
|
|
cd ${SGE_ROOT} && ${SETENV} SGE_ROOT=${SGE_ROOT} util/setfileperm.sh -auto ${SGE_ROOT}
|
|
.if !defined(NOPORTDOCS)
|
|
${MKDIR} ${DOCSDIR}
|
|
cd ${WRKSRC}/../doc && ${FIND} * \( -name nonexistant \
|
|
${EXCEPTFILES:S/^/-o -name /} -o -name CVS \) -a -prune -o -print \
|
|
| ${TAR} cTf - - | ${TAR} xUCf ${DOCSDIR} -
|
|
.endif
|
|
|
|
post-install:
|
|
@${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
|
|
@${CAT} ${PKGMESSAGE}
|
|
@${ECHO}
|
|
|
|
# Automaticly produce the offical machine dependent bits tarball from
|
|
# the temporary root. This can be used if FreeBSD machines are to be
|
|
# included in a shared SGE installation.
|
|
release-tar: build
|
|
cd ${TMP_SGE_ROOT} && \
|
|
${TAR} cfvz ${.CURDIR}/sge-${SGE_RELEASE}-bin-${SGE_ARCH}.tar.gz \
|
|
`${FIND} . -name ${SGE_ARCH}`
|
|
|
|
#########################################################################
|
|
# Maintainer support below this line. No user servicable parts inside. #
|
|
#########################################################################
|
|
|
|
# Build a pkg-plist and Makefile.man
|
|
build-plist: build
|
|
#.if defined(WITHOUT_BDB) || defined(WITHOUT_JAVA) || defined(WITHOUT_QMON)
|
|
# @echo "ERROR: All OPTIONS must be enabled to build plist!" && ${FALSE}
|
|
#.endif
|
|
@${FIND} ${TMP_SGE_ROOT}/* -name man -prune -o \
|
|
\( -type f -o -type l \) -print | \
|
|
${SORT} | \
|
|
${SED} -e 's|^${TMP_SGE_ROOT}|%%SGE_BASE%%|' \
|
|
-e 's|${SGE_ARCH}|%%SGE_ARCH%%|' \
|
|
-e 's|\(.*libspool[bc].so\)|%%BDB_SPOOL%%\1|' \
|
|
-e 's|\(.*libXltree.so\)|%%QMON%%\1|' \
|
|
-e 's|\(.*qmon.*\)|%%QMON%%\1|' \
|
|
> ${PLIST}
|
|
@${FIND} ${WRKSRC}/../doc \( -name CVS \
|
|
${EXCEPTFILES:S/^/-o -name /} \) -a -prune -o -type f -print | \
|
|
${SORT} | \
|
|
${SED} -e 's|${WRKSRC}/../doc|%%PORTDOCS%%%%DOCSDIR%%|' \
|
|
>> ${PLIST}
|
|
@${FIND} ${TMP_SGE_ROOT}/* -type d | \
|
|
${SORT} -r | \
|
|
${SED} -e 's|^${TMP_SGE_ROOT}|@dirrm %%SGE_BASE%%|' \
|
|
-e 's|${SGE_ARCH}|%%SGE_ARCH%%|' \
|
|
-e 's|\(.*qmon.*\)|%%QMON%%\1|' \
|
|
>> ${PLIST}
|
|
@${FIND} ${WRKSRC}/../doc \( -name CVS \
|
|
${EXCEPTFILES:S/^/-o -name /} \) -a -prune -o -type d -print | \
|
|
${SORT} -r | \
|
|
${SED} -e 's|${WRKSRC}/../doc|%%PORTDOCS%%@dirrm %%DOCSDIR%%|' \
|
|
>> ${PLIST}
|
|
@echo '@unexec rmdir %D/%%SGE_BASE%%/ 2>/dev/null || ( echo "Configuration information saved. If you will *NOT* use this package anymore," && echo "please remove %D/%%SGE_BASE%% and its contents manually.")' >> ${PLIST}
|
|
@echo "# Do not edit! Auto-generated file." > ${.CURDIR}/Makefile.man
|
|
@echo "# See build-plist target in Makefile." >> ${.CURDIR}/Makefile.man
|
|
@echo "#" >> ${.CURDIR}/Makefile.man
|
|
@${FIND} ${TMP_SGE_ROOT}/man -type f | ${XARGS} ${GREP} -H ^\\.so | \
|
|
${SED} \
|
|
-e 's|.*/\([^ :/][^ :/]*\):.*/\([^ :/][^ :/]*\)$$|MLINKS+=\2 \1|' \
|
|
>> ${.CURDIR}/Makefile.man
|
|
@${FIND} ${TMP_SGE_ROOT}/man -type f | ${XARGS} ${GREP} -L ^\\.so | \
|
|
${SED} -e 's|.*man\([0-9LN]\)/\(.*\)|MAN\1+=\2|' \
|
|
>> ${.CURDIR}/Makefile.man
|
|
|
|
.include <bsd.port.post.mk>
|