mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-01 01:17:02 +00:00
556e902b17
There are no significant changes between this version and the previous one, but the head of upstream is significantly smaller. This reduces the distfile from 150Mb to 91Mb.
138 lines
4.1 KiB
Makefile
138 lines
4.1 KiB
Makefile
# Created by: marino@FreeBSD.org
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= modula3
|
|
PORTVERSION= 5.10.0
|
|
PORTREVISION= 2
|
|
CATEGORIES= lang
|
|
MASTER_SITES= http://downloads.dragonlace.net/m3/:boot
|
|
DISTFILES= ${SRCDISTFILE} ${BOOTDIST}
|
|
|
|
MAINTAINER= marino@FreeBSD.org
|
|
COMMENT= Critical Mass Modula-3 compiler
|
|
|
|
LICENSE= DECM3
|
|
LICENSE_NAME= CM3 License defined by DEC and Critical Mass copyrights
|
|
LICENSE_FILE= ${WRKSRC}/COM_LICENSE
|
|
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
|
|
|
|
LIB_DEPENDS= libodbc.so:${PORTSDIR}/databases/unixODBC
|
|
|
|
NEWBOOTDIR= ${WRKDIR}/new-bootstrap/bootstrap
|
|
SRCDISTFILE= modula3-cm3-${PORTVERSION}-${GH_TAGNAME}_GH0.tar.gz
|
|
DST1= m3-bootstrap.AMD64.FREEBSD.92.tar.bz2:boot
|
|
DST2= m3-bootstrap.x86_64.DRAGONFLY.36.tar.bz2:boot
|
|
|
|
ONLY_FOR_ARCHS= amd64
|
|
|
|
USE_GITHUB= yes
|
|
GH_ACCOUNT= modula3
|
|
GH_PROJECT= cm3
|
|
GH_TAGNAME= b2ce705
|
|
|
|
USES= gmake pgsql python:build
|
|
USE_XORG= xaw xmu xext xt sm ice x11
|
|
USE_GL= gl glu
|
|
USE_GCC= yes
|
|
NO_MTREE= yes
|
|
|
|
MAKE_ENV= CM3_DEBUG=yes \
|
|
M3_PORTABLE_RUN_PATH=yes
|
|
INTERMED= ${WRKDIR}/intermediate
|
|
BOOTCM3= CM3="${WRKDIR}/bootstrap/bin/cm3"
|
|
PORTDOCS= www license
|
|
STRIPPKG= m3staloneback/m3back \
|
|
libdump/libdump \
|
|
cmpfp/cmpfp \
|
|
formsview/formsview \
|
|
vorun/vorun \
|
|
pkl-fonts/PklFonts \
|
|
hack/dummy \
|
|
test/test
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
M3BOOT_ENV= ${MAKE_ENV:C/^LDFLAGS=.*//:C/^CPPFLAGS=.*//} \
|
|
${BOOTCM3} STAGE=${INTERMED:Q}
|
|
|
|
# for port maintenance, invoke "make makesum PLUS_BOOTSTRAPS=1"
|
|
.if defined(PLUS_BOOTSTRAPS)
|
|
DISTFILES= ${SRCDISTFILE} ${DST1} ${DST2}
|
|
.else
|
|
|
|
. if ${OPSYS} == FreeBSD
|
|
BOOTDIST= ${DST1}
|
|
MARCH= AMD64
|
|
. if !exists(/usr/include/xlocale/_ctype.h)
|
|
IGNORE= the bootstrap compiler only runs on FreeBSD 9.0 or later
|
|
. endif
|
|
. endif
|
|
|
|
. if ${OPSYS} == DragonFly
|
|
IGNORE= modula-3 has not adapted to DragonFly yet
|
|
BOOTDIST= ${DST2}
|
|
MARCH= x86_64
|
|
. endif
|
|
|
|
NEWBOOTNAME= m3-bootstrap.${MARCH}.${OPSYS:tu}.${OSREL:S/.//}.tar.bz2
|
|
M3TARGET= ${MARCH}_${OPSYS:tu}
|
|
PLIST_SUB= T=${M3TARGET} P=cm3/pkg B=cm3/bin L=cm3/lib
|
|
.endif
|
|
|
|
post-extract:
|
|
@(cd ${WRKSRC} && ${CAT} COPYRIGHT-DEC COPYRIGHT-CMASS > COM_LICENSE)
|
|
|
|
post-patch:
|
|
@${REINPLACE_CMD} -i "" -e 's|/usr/local|${LOCALBASE}|g' \
|
|
${WRKSRC}/m3-sys/cminstall/src/config-no-install/FreeBSD.common
|
|
@${REINPLACE_CMD} -i "" \
|
|
-e 's|/usr/local|${LOCALBASE}|g' \
|
|
-e 's|/usr/X11R6|${LOCALBASE}|g' \
|
|
${WRKSRC}/m3-sys/cminstall/src/config-no-install/Unix.common
|
|
@${REINPLACE_CMD} -i "" \
|
|
-e 's/^SYSTEM_CC = ".* -gs/SYSTEM_CC = "${CC} -gs/' \
|
|
-e 's|as -64|${AS} -64|' \
|
|
${WRKDIR}/bootstrap/etc/modula3/AMD64_FREEBSD \
|
|
${WRKSRC}/m3-sys/cminstall/src/config-no-install/AMD64_FREEBSD
|
|
@${REINPLACE_CMD} -e 's|m3cc, bin|bin|' \
|
|
${WRKDIR}/bootstrap/etc/modula3/cm3cfg.common
|
|
@${GREP} -rl 'bin/env python' ${WRKSRC}/m3-sys ${WRKSRC}/scripts | \
|
|
${XARGS} ${REINPLACE_CMD} \
|
|
-e 's|/usr/bin/env python|${PYTHON_CMD}|'
|
|
|
|
do-build:
|
|
(cd ${WRKSRC} && ${SETENV} ${M3BOOT_ENV} \
|
|
${PYTHON_CMD} scripts/python/make-dist.py)
|
|
|
|
do-install:
|
|
${MKDIR} ${STAGEDIR}${DOCSDIR}
|
|
${CP} -a ${INTERMED}/all-dist ${STAGEDIR}${PREFIX}/cm3
|
|
${MV} ${STAGEDIR}${PREFIX}/cm3/man ${STAGEDIR}${PREFIX}/
|
|
${MV} ${STAGEDIR}${PREFIX}/cm3/www ${STAGEDIR}${DOCSDIR}/
|
|
${MV} ${STAGEDIR}${PREFIX}/cm3/license ${STAGEDIR}${DOCSDIR}/
|
|
${CHMOD} -x ${STAGEDIR}${PREFIX}/cm3/pkg/m3back/src/M3C.i3 \
|
|
${STAGEDIR}${PREFIX}/cm3/pkg/m3core/src/C/Common/Csetjmp.i3
|
|
(cd ${STAGEDIR}${PREFIX}/cm3/bin && ${FIND} * -type f -perm +111 | \
|
|
${SED} -E '/^(obliq|obliqsrv|recordheap)$$/d' | \
|
|
${XARGS} ${STRIP_CMD})
|
|
${FIND} ${STAGEDIR}${PREFIX}/cm3/lib -type f -perm +111 | \
|
|
${XARGS} ${STRIP_CMD}
|
|
.for PACKAGE in ${STRIPPKG}
|
|
(cd ${STAGEDIR}${PREFIX}/cm3/pkg/${PACKAGE:H}/${M3TARGET} && \
|
|
${STRIP_CMD} ${PACKAGE:T} && \
|
|
${MV} ${PACKAGE:T} ../../../bin/ && \
|
|
${LN} -s ../../../bin/${PACKAGE:T} .)
|
|
.endfor
|
|
(cd ${STAGEDIR}${PREFIX}/cm3/pkg/cm3/${M3TARGET} && \
|
|
${RM} cm3 && ${LN} -s ../../../bin/cm3 .)
|
|
|
|
new-bootstrap:
|
|
@${RM} -rf ${NEWBOOTDIR}
|
|
@${MKDIR} ${NEWBOOTDIR:H}
|
|
${CP} -a ${INTERMED}/min-dist ${NEWBOOTDIR}
|
|
@${FIND} ${NEWBOOTDIR} -type f -perm +111 | \
|
|
${SED} -E '/Csetjmp.i3$$/d' | ${XARGS} ${STRIP_CMD}
|
|
(cd ${NEWBOOTDIR}/.. ; tar -cyf ${NEWBOOTNAME} bootstrap)
|
|
|
|
.include <bsd.port.post.mk>
|