forked from Lainports/freebsd-ports
preventing builds on 5.x. Don't bump PORTREVISION because we were only trying to apply the patch to 5.x systems and thus no changes will occur on systems that were building prior to this change. Reported by: pointyhat (via erwin)
264 lines
8.2 KiB
Makefile
264 lines
8.2 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= 2
|
|
CATEGORIES= sysutils parallel
|
|
MASTER_SITES= http://gridengine.sunsource.net/files/documents/7/161/:src \
|
|
http://gridengine.sunsource.net/download/SGE61/:bin \
|
|
${MASTER_SITE_LOCAL}:src,bin
|
|
MASTER_SITE_SUBDIR= brooks
|
|
DISTNAME= ge-V${SGE_RELEASE:S/.//}_TAG-src
|
|
DISTFILES= ${DISTNAME}.tar.gz:src \
|
|
ge-${SGE_RELEASE}-common.tar.gz:bin
|
|
EXTRACT_ONLY= ${DISTNAME}.tar.gz
|
|
|
|
MAINTAINER= brooks@FreeBSD.org
|
|
COMMENT= Sun Grid Engine, a batch queueing system
|
|
|
|
# MASTER_SITE requires cookies, which fetch does not support
|
|
FETCH_DEPENDS= wget:${PORTSDIR}/ftp/wget
|
|
|
|
# We have to use wget because the master site required cookies to
|
|
# download the file.
|
|
DISABLE_SIZE= yes
|
|
FETCH_CMD= wget -c
|
|
|
|
OPTIONS= BDB "Use DB based spooler" on \
|
|
JAVA "Support Java DRMAA API" on \
|
|
X11 "Qmon X11 GUI" on
|
|
|
|
LATEST_LINK= sge61
|
|
CONFLICTS= sge-6.[02-9]* sge-5* sgeee-[0-9]* sge-0.*
|
|
|
|
NOT_FOR_ARCHS= alpha
|
|
|
|
USE_GETTEXT= yes
|
|
USE_GMAKE= yes
|
|
USE_OPENSSL= yes
|
|
USE_LDCONFIG= ${SGE_ROOT}/lib/${SGE_ARCH}
|
|
|
|
SGE_BASE?= sge
|
|
SGE_ROOT= ${PREFIX}/${SGE_BASE}
|
|
SGE_ARCH= fbsd-${ARCH}
|
|
SGE_BUILD_ARCH= FREEBSD_${ARCH:U}
|
|
SGE_RELEASE= 6.1u3
|
|
SGE_VERSION= ${SGE_RELEASE:S/u/./}
|
|
|
|
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}
|
|
|
|
# From DEFAULTPROGS in scripts/distinst
|
|
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 \
|
|
${QMON} \
|
|
qhost \
|
|
qmake \
|
|
qtcsh \
|
|
qping \
|
|
qloadsensor.exe \
|
|
sgepasswd \
|
|
qquota
|
|
|
|
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_JAVA)
|
|
USE_JAVA= yes
|
|
JAVA_VERSION= 1.4+
|
|
PLIST_SUB+= DRMAA=
|
|
CATEGORIES+= java
|
|
.else
|
|
PLIST_SUB+= DRMAA="@comment "
|
|
.endif
|
|
AIMK_ARGS+= -no-java -no-jni
|
|
|
|
.if defined(WITH_X11)
|
|
USE_MOTIF= yes
|
|
PLIST_SUB+= QMON=
|
|
QMON= qmon
|
|
.else
|
|
AIMK_ARGS+= -no-qmon
|
|
PLIST_SUB+= QMON="@comment "
|
|
QMON= noqmon
|
|
.endif
|
|
|
|
post-extract:
|
|
@cd ${WRKDIR} && ${TAR} xf ${DISTDIR}/ge-${SGE_RELEASE}-common.tar.gz \*.jar
|
|
@${CP} ${WRKDIR}/lib/drmaa.jar ${WRKSRC}/classes/
|
|
@${MKDIR} ${WRKSRC}/classes/juti
|
|
@${CP} ${WRKDIR}/lib/juti.jar ${WRKSRC}/classes/juti/
|
|
@${MKDIR} ${WRKSRC}/libs/jgdi/build
|
|
@${CP} ${WRKDIR}/lib/jgdi.jar ${WRKSRC}/libs/jgdi/build/
|
|
|
|
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" \
|
|
-e "s|%%X11BASE%%|${X11BASE}|g" \
|
|
${WRKSRC}/aimk \
|
|
${WRKSRC}/dist/pvm/src/aimk
|
|
@test -d ${WRKSRC}/3rdparty/qtcsh/${SGE_BUILD_ARCH} || \
|
|
(${CP} -r ${WRKSRC}/3rdparty/qtcsh/FREEBSD_I386 \
|
|
${WRKSRC}/3rdparty/qtcsh/${SGE_BUILD_ARCH} && \
|
|
${REINPLACE_CMD} -e 's|FREEBSD_I386|${SGE_BUILD_ARCH}|' \
|
|
${WRKSRC}/3rdparty/qtcsh/${SGE_BUILD_ARCH}/Makefile)
|
|
@${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/${SGE_BUILD_ARCH}/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' \
|
|
-e 's|%%X11BASE%%|${X11BASE}|g' \
|
|
${FILESDIR}/aimk.private > ${WRKSRC}/aimk.private
|
|
@${SED} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
|
|
-e 's|%%OPENSSLBASE%%|${OPENSSLBASE}|g' \
|
|
-e 's|%%WRKDIR%%|${WRKDIR}|g' \
|
|
${FILESDIR}/distinst.private > ${WRKSRC}/distinst.private
|
|
.if !defined(WITH_X11)
|
|
@${REINPLACE_CMD} -e 's/qmon//' ${WRKSRC}/dist/util/setfileperm.sh
|
|
.endif
|
|
|
|
do-build:
|
|
@cd ${WRKSRC} && ${AIMK_CMD} -only-depend
|
|
@cd ${WRKSRC} && ./scripts/zerodepend
|
|
@cd ${WRKSRC} && ${AIMK_CMD} depend
|
|
@cd ${WRKSRC} && \
|
|
${AIMK_CMD} -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}
|
|
.if !defined(WITH_X11)
|
|
@${RM} ${TMP_SGE_ROOT}/catman/cat/cat1/qmon.1
|
|
@${RM} -r ${TMP_SGE_ROOT}/3rd_party/qmon
|
|
.endif
|
|
|
|
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 CVS \
|
|
${EXCEPTFILES:S/^/-o -name /} \) -a -prune -o -type f -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_X11)
|
|
# @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|\(.*libdb-4.2.so\)|%%BDB_SPOOL%%\1|' \
|
|
-e 's|\(.*utilbin.*db_.*\)|%%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 '@dirrmtry %%SGE_BASE%%' >> ${PLIST}
|
|
@echo '@unexec test ! -d %D/%%SGE_BASE%% || ( 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>
|