freebsd-ports/sysutils/sge60/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

256 lines
7.8 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= 1
CATEGORIES= sysutils parallel
MASTER_SITES= http://gridengine.sunsource.net/files/documents/7/163/
MASTER_SITES+= ${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR= brooks
DISTNAME= ge-V60u12_TAG-src
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
CONFLICTS= sge-6.[1-9]* sge-5* sgeee-[0-9]* sge-0.*
EXTRA_PATCHES= ${FILESDIR}/sge-freebsd-pdc.diff
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_VERSION= 6.0.12
SGE_RELEASE= 6.0u12
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_JAVA)
USE_JAVA= yes
JAVA_VERSION= 1.4+
JAVA_OS= native
JAVA_BUILD= jdk
JAVA_RUN= jre
ANT?= ${LOCALBASE}/bin/ant
BUILD_DEPENDS+= ${ANT}:${PORTSDIR}/devel/apache-ant
PLIST_SUB+= DRMAA=
AIMK_ENV+= JAVA_HOME=${JAVA_HOME}
CATEGORIES+= java
.else
AIMK_ARGS+= -no-java -no-jni
PLIST_SUB+= DRMAA="@comment "
.endif
.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-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' < \
${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>