[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / parallel / sge

File: [cvs.NetBSD.org] / pkgsrc / parallel / sge / Makefile (download)

Revision 1.60, Thu May 29 23:37:14 2014 UTC (9 years, 10 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2015Q1-base, pkgsrc-2015Q1, pkgsrc-2014Q4-base, pkgsrc-2014Q4, pkgsrc-2014Q3-base, pkgsrc-2014Q3, pkgsrc-2014Q2-base, pkgsrc-2014Q2
Changes since 1.59: +2 -2 lines

Bump for perl-5.20.0.
Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.

# $NetBSD: Makefile,v 1.60 2014/05/29 23:37:14 wiz Exp $
#

DISTNAME=		sge-8.1.6
PKGREVISION=		2
CATEGORIES=		parallel sysutils
MASTER_SITES=		http://arc.liv.ac.uk/downloads/SGE/releases/8.1.6/

MAINTAINER=		pkgsrc-users@NetBSD.org
HOMEPAGE=		https://arc.liv.ac.uk/trac/SGE
COMMENT=		Son of Grid Engine distributed resource management system
LICENSE=		sun-iss AND 2-clause-bsd AND gnu-gpl-v2 AND gnu-lgpl-v2

GNU_CONFIGURE=		YES
USE_TOOLS+=		gmake csh perl:run

MANINSTALL=		maninstall catinstall

CFLAGS+=		-D${UPPER_OPSYS}
CONFIGURE_ENV+=		REMOTE=sge
CONFIGURE_ENV+=		CFLAGS=${CFLAGS:M*:Q}
CONFIGURE_ARGS+=	--with-sge=${SGE_BUILDARCH:Q}
PLIST_SUBST+=		SGE_ARCH=${SGE_ARCH:Q}
MESSAGE_SUBST+=		SGE_ROOT=${SGE_ROOT}
MAKE_ENV+=		PERL5=${PERL5:Q}

SGE_USER?=		sgeadmin
SGE_GROUP?=		sgeadmin
PKG_GROUPS=		${SGE_GROUP}
PKG_USERS=		${SGE_USER}:${SGE_GROUP}
PKG_GECOS.${SGE_USER}=	Sun Grid Engine Administrator
PKG_GROUPS_VARS+=	SGE_GROUP
PKG_USERS_VARS+=	SGE_USER

EVAL_PREFIX+=	PKGSRC_SSL_PREFIX=openssl

AIMK=	${SETENV} ${MAKE_ENV} ${CSH} -fb ${WRKSRC}/source/aimk

CONFIG_GUESS_OVERRIDE=	source/3rdparty/qmake/config.guess \
		source/3rdparty/qtcsh/config.guess
CONFIG_SUB_OVERRIDE=	source/3rdparty/qmake/config.sub \
		source/3rdparty/qtcsh/config.sub

REPLACE_INTERPRETER+=	tclsh
REPLACE.tclsh.old=	.*tclsh
REPLACE.tclsh.new=	${PREFIX}/bin/tclsh
REPLACE_FILES.tclsh=	source/dist/util/resources/jsv/jsv.tcl
REPLACE_PERL+=		source/dist/util/resources/jsv/jsv.pl
REPLACE_PERL+=		source/dist/util/resources/scripts/qsched
REPLACE_PERL+=		source/dist/util/resources/scripts/process-scheduler-log
REPLACE_PERL+=		source/dist/util/resources/scripts/jobstats
REPLACE_PERL+=		source/dist/util/resources/wrappers/rshd-wrapper

.include "../../mk/bsd.prefs.mk"

# SGE_ARCH should match the putput of ${WRKSRC}/source/dist/util/arch
# SGE_BUILDARCH should match whats in ${WRKSRC}/source/aimk
UPPER_OPSYS_cmd=	${ECHO} "${OPSYS}" | ${TR} a-z A-Z
UPPER_OPSYS=		${UPPER_OPSYS_cmd:sh}

.if ${OPSYS} == "NetBSD"
AIMK+=			-DFD_SETSIZE=2048
SGE_ARCH=		nbsd-${MACHINE_ARCH}
SGE_BUILDARCH_cmd=	${ECHO} "${OPSYS}_${MACHINE_ARCH}" | ${TR} a-z A-Z
.elif ${OPSYS} == "FreeBSD"
SGE_ARCH=		fbsd-${MACHINE_ARCH}
SGE_BUILDARCH_cmd=	${ECHO} "${OPSYS}_${MACHINE_ARCH}" | ${TR} a-z A-Z
.elif ${OPSYS} == "SunOS"
.  if ${MACHINE_ARCH} == "i386"
SGE_ARCH=		solaris86
.  else
_ISAINFO!=		isainfo
.    if !empty(_ISAINFO:Msparcv9)
SGE_ARCH=		solaris64
.    else
SGE_ARCH=		solaris
.    endif
.  endif
SGE_BUILDARCH_cmd=	${ECHO} "${SGE_ARCH}" | ${TR} a-z A-Z
.elif ${OPSYS} == "Darwin"
SGE_ARCH=		darwin
SGE_BUILDARCH=		DARWIN
.elif ${OPSYS} == "Linux"
#AIMK+=			-no-dump
.  if ${MACHINE_ARCH} == "i386"
SGE_ARCH=		lx-x86
SGE_BUILDARCH=		LINUX86
.  else
SGE_ARCH=		lx-amd64
SGE_BUILDARCH=		LINUXAMD64
.  endif
.else
PKG_FAIL_REASON+=	"SGE_ARCH and SGE_BUILDARCH need to be configured for your OS"
.endif
SGE_BUILDARCH?=		${SGE_BUILDARCH_cmd:sh}

JAVA_ARGS=		-no-java -no-jni
#JAVA_ARGS=		-no-gui-inst -no-herd
#.include "../../mk/java-vm.mk"

# Some hacks to get it properly linked:
MAKE_ENV+=	SGE_ARCH=${SGE_ARCH} SGE_ROOT=${SGE_ROOT}

LDFLAGS+=	${COMPILER_RPATH_FLAG}${SGE_ROOT}/lib/${SGE_ARCH}
BUILDLINK_PASSTHRU_RPATHDIRS+=	${SGE_ROOT}/lib/${SGE_ARCH}

SGE_ROOT=	${PREFIX}/sge

INSTALLATION_DIRS=	bin

post-patch:
	@if [ "`${WRKSRC}/source/dist/util/arch`" != "${SGE_ARCH}" ]; then \
		${ECHO} "ERROR:  SGE_ARCH as set in the pkgsrc Makefile," ;\
		${ECHO} "        ${SGE_ARCH}, does not agree with that returned by" ; \
		${ECHO} "        ${WRKSRC}/source/dist/util/arch," ; \
		${ECHO} "        `${WRKSRC}/source/dist/util/arch`" ; \
		${FALSE} ; \
	fi
	( ${ECHO} "set OPENSSL_HOME = ${SSL_PREFIX}" ; \
	${ECHO} "set BERKELEYDB_HOME = ${BUILDLINK_PREFIX.db4}" ; \
	${ECHO} "set BDB_INCLUDE_SUBDIR = db4" ; \
	${ECHO} "set BDB_LIB_SUFFIX = 4" ; \
	${ECHO} "set PERL = ${PERL5}" ) > ${WRKSRC}/source/aimk.private
	( ${ECHO} "OPENSSLBASE=${SSL_PREFIX}" ; \
	${ECHO} "BERKELEYDBBASE=${BUILDLINK_PREFIX.db4}" ) > ${WRKSRC}/source/distinst.private
	rm ${WRKSRC}/source/dist/util/*.orig

SUBST_CLASSES+=		paths
SUBST_STAGE.paths=	post-patch
SUBST_FILES.paths=	source/dist/util/arch_variables
SUBST_SED.paths=	-e 's;@rcd_dir@;${RCD_SCRIPTS_DIR};'

do-configure:
.for __prog__ in qmake qtcsh
	${MKDIR} ${WRKSRC}/source/3rdparty/${__prog__}/${SGE_BUILDARCH}
	cd ${WRKSRC}/source/3rdparty/${__prog__}/${SGE_BUILDARCH} && \
		${SETENV} ${CONFIGURE_ENV} \
		SGE_ARCH=`${WRKSRC}/source/dist/util/arch` \
		../configure ${CONFIGURE_ARGS} --srcdir=..
.endfor

do-build:
	cd ${WRKSRC}/source && ${AIMK} ${JAVA_ARGS} -no-hwloc -only-depend
	cd ${WRKSRC}/source && ${SETENV} ${MAKE_ENV} ./scripts/zerodepend
	cd ${WRKSRC}/source && ${AIMK} ${JAVA_ARGS} -no-hwloc -no-qmake -no-qtcsh depend
	cd ${WRKSRC}/source && ${AIMK} ${JAVA_ARGS} -no-hwloc
	cd ${WRKSRC}/source && ${AIMK} ${JAVA_ARGS} -no-hwloc -man

CHECK_INTERPRETER_SKIP=	sge/bin/qstatus \
			sge/ckpt/cpr_* \
			sge/examples/drmaa/ruby/* \
			sge/hadoop/pestart.sh \
			sge/hadoop/pestop.sh \
			sge/hadoop/setup.pl \
			sge/hadoop/wait.sh \
			sge/mpi/myrinet/* \
			sge/util/resources/drmaa4ruby/* \
			sge/util/resources/drmaa4ruby/samples/* \
			sge/util/resources/jsv/jsv.sh \
			sge/util/resources/loadsensors/interix-loadsensor.sh

do-install:
	${MKDIR} ${DESTDIR}${SGE_ROOT}
	#${CHOWN} ${SGE_USER} ${DESTDIR}${SGE_ROOT}
	#${CHGRP} ${SGE_GROUP} ${DESTDIR}${SGE_ROOT}
	cd ${WRKSRC}/source && \
		${ECHO} "Y" | ${SETENV} LOCALBASE=${LOCALBASE} DESTDIR=${DESTDIR} SGE_ROOT=${SGE_ROOT} ./scripts/distinst -local -all -nobdb -noopenssl -mansrc sge ${SGE_ARCH} -- doc man
	for f in archive checkpoint deadlock dump load printlog recover stat upgrade verify ; do \
		ln -s ${LOCALBASE}/bin/db4_$${f} ${DESTDIR}${SGE_ROOT}/utilbin/${SGE_ARCH}/db_$${f} ; done
	ln -s ${LOCALBASE}/bin/berkeley_db4_svc ${DESTDIR}${SGE_ROOT}/utilbin/${SGE_ARCH}/berkeley_db_svc
	ln -s ${SSL_PREFIX}/bin/openssl ${DESTDIR}${SGE_ROOT}/utilbin/${SGE_ARCH}/openssl
	cd ${DESTDIR}${SGE_ROOT} && ${SETENV} SGE_ROOT=${SGE_ROOT} DESTDIR=${DESTDIR} ./util/setfileperm.sh -auto \
		${SGE_ROOT}
	for f in ${DESTDIR}${SGE_ROOT}/bin/${SGE_ARCH}/q* ; do \
		cd ${DESTDIR}${PREFIX}/bin && ln -fs $$f ; done

#% scripts/distinst -local"

PLIST_SUBST+=	SGE_ARCH=${SGE_ARCH}

.include "../../databases/db4/buildlink3.mk" # 4.2 at least
.include "../../x11/Xbae/buildlink3.mk"
.include "../../x11/libXpm/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../lang/tcl/buildlink3.mk"
.include "../../mk/motif.buildlink3.mk"
.include "../../mk/pam.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
.if ${USE_BUILTIN.openssl} == "yes"
SSL_PREFIX=	/usr
.else
SSL_PREFIX=	${PKGSRC_SSL_PREFIX}
.endif