freebsd-ports/sysutils/sge62/Makefile
Brooks Davis cf5c43aaa8 Remove a nolonger needed workaround for systems prior to 6.0 that was
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)
2008-02-25 23:43:39 +00:00

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>