Add a port for ezm3, a smaller, more portable distribution of the

Modula-3 compiler and runtime system for people who just want to
build CVSup.  Smaller distfiles!  Faster builds!  No runtime
dependencies!  Less memory usage!  No more RTHeapDepC.c problems!
Smoother skin and glossier fur!  (Well, most of those things.)
This commit is contained in:
John Polstra 2002-01-01 22:23:50 +00:00
parent 1b110d75a4
commit e5c90a2538
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=52472
8 changed files with 1241 additions and 0 deletions

View File

@ -33,6 +33,7 @@
SUBDIR += eperl
SUBDIR += erlang
SUBDIR += expect
SUBDIR += ezm3
SUBDIR += f2c
SUBDIR += f77
SUBDIR += fbbi

75
lang/ezm3/Makefile Normal file
View File

@ -0,0 +1,75 @@
# New ports collection makefile for: ezm3
# Date created: 1 Jan 2002
# Whom: John Polstra <jdp@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= ezm3
PORTVERSION= 1.0
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_FREEBSD_ORG}
MASTER_SITE_SUBDIR=development/CVSup/ezm3
DISTFILES= ${BOOTSTRAP} \
ezm3-${PORTVERSION}-src.tar.bz2
MAINTAINER= jdp@FreeBSD.org
DIST_SUBDIR= ezm3
INSTALL_TARGET= all
MAKE_ARGS+= M3OPTIONS="-DBUILD_ALL -DSHIP_ALL"
MAN1= m3bundle.1
PLIST_SUB+= TARGET=${TARGET} TARGETDIR=${TARGETDIR} WORDSIZE=${WORDSIZE}
SCRIPTS_ENV+= TARGET=${TARGET}
USE_BZIP2= yes
USE_GMAKE= yes
PROGS= bin/m3build \
bin/m3bundle \
bin/m3ship \
lib/m3/${TARGET}/m3cgc1
BOOTSTRAP= ezm3-${PORTVERSION}-${TARGET}-boot.tar.bz2
.include <bsd.port.pre.mk>
.if ${PORTOBJFORMAT} == "aout"
TARGET= FreeBSD2
TARGETDIR= freebsd-2
WORDSIZE= 32
.elif ${ARCH} == "i386"
.if ${OSVERSION} < 400011
TARGET= FreeBSD3
TARGETDIR= freebsd-3
.else
TARGET= FreeBSD4
TARGETDIR= freebsd-4
.endif
WORDSIZE= 32
.elif ${ARCH} == "alpha"
.if ${OSVERSION} < 400011
BROKEN= Not supported on older versions of FreeBSD/Alpha
.endif
TARGET= FBSD_ALPHA
TARGETDIR= fbsd-alpha
WORDSIZE= 64
.endif
.if empty(TARGET)
pre-fetch:
@${ECHO_MSG} "Cannot determine M3 target for this architecture"
@${FALSE}
.endif
do-build:
@${ECHO_MSG} "This port does everything in the install step."
@${ECHO_MSG} "The build step is a no-op."
do-install:
@${RM} -rf ${WRKSRC}/${TARGET}
@(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \
${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET})
@for i in ${PROGS}; do strip ${PREFIX}/$$i; done
@${MKDIR} ${PREFIX}/share/ezm3
@${INSTALL_DATA} ${WRKSRC}/src/COPYRIGHT ${PREFIX}/share/ezm3
.include <bsd.port.post.mk>

5
lang/ezm3/distinfo Normal file
View File

@ -0,0 +1,5 @@
MD5 (ezm3/ezm3-1.0-FBSD_ALPHA-boot.tar.bz2) = ad8ae879904a02cf7823908792437476
MD5 (ezm3/ezm3-1.0-FreeBSD2-boot.tar.bz2) = 695f1afea6cb6f6c5b36048d30de31ee
MD5 (ezm3/ezm3-1.0-FreeBSD3-boot.tar.bz2) = 6346625515e34c76c7211306b9adbbc2
MD5 (ezm3/ezm3-1.0-FreeBSD4-boot.tar.bz2) = d8924f0dad6d880f724802affc3e458f
MD5 (ezm3/ezm3-1.0-src.tar.bz2) = 7f85f69e420b00a51481dad92f7eb749

38
lang/ezm3/files/patch-ea Normal file
View File

@ -0,0 +1,38 @@
--- language/modula3/m3compiler/m3ship/src/Main.m3.orig Mon Jun 7 10:11:49 1999
+++ language/modula3/m3compiler/m3ship/src/Main.m3 Sat Sep 8 14:46:14 2001
@@ -303,9 +303,10 @@
m3_template := Env.Get("M3_TEMPLATE_DIR");
path : TEXT;
subpath : TEXT;
- nextsep : INTEGER := 0;
- prevsep : INTEGER := 0;
+ nextsep : INTEGER;
+ prevsep : INTEGER := -1;
sep : CHAR;
+ filename : TEXT;
BEGIN
IF m3_template # NIL THEN
template_dir := m3_template;
@@ -322,13 +323,17 @@
REPEAT
nextsep := Text.FindChar(path, sep, prevsep + 1);
IF nextsep # -1 THEN
- subpath := Text.Sub(path, prevsep, nextsep - prevsep - 1);
+ subpath := Text.Sub(path, prevsep + 1, nextsep - prevsep - 1);
ELSE
- subpath := Text.Sub(path, prevsep);
+ subpath := Text.Sub(path, prevsep + 1);
END;
- IF M3File.IsReadable(subpath & template) THEN
- template_dir := subpath;
- RETURN;
+ IF Text.Length(subpath) > 0 THEN
+ filename := subpath & SL & template;
+ IF M3File.IsReadable(filename) AND
+ NOT M3File.IsDirectory(filename) THEN
+ template_dir := subpath;
+ RETURN;
+ END;
END;
prevsep := nextsep;
UNTIL prevsep = -1;

1
lang/ezm3/pkg-comment Normal file
View File

@ -0,0 +1 @@
Easier, more portable Modula-3 distribution for building CVSup

11
lang/ezm3/pkg-descr Normal file
View File

@ -0,0 +1,11 @@
Ezm3 is a smaller, more portable distribution of the Modula-3 compiler
and runtime system for people whose only need for Modula-3 is to build
CVSup. It supports all features of CVSup, but has smaller distfiles
and installs more quickly than other versions of Modula-3. Ezm3
provides full X11 GUI support even when compiled on systems which
do not have X11 installed. It links programs statically with the
Modula-3 libraries but dynamically with the system libraries, so that
programs built with Ezm3 can run on systems which do not have
Modula-3 installed on them.
John Polstra <jdp@FreeBSD.ORG>

1101
lang/ezm3/pkg-plist Normal file

File diff suppressed because it is too large Load Diff

9
lang/ezm3/scripts/configure vendored Normal file
View File

@ -0,0 +1,9 @@
#! /bin/sh
cfg=${WRKSRC}/m3config/src/${TARGET}
cp -p ${cfg} ${cfg}.bak || exit
sed \
-e "/^INSTALL_ROOT = /s|\".*\"|\"${PREFIX}\"|" \
-e "/^X11ROOT = /s|\".*\"|\"${X11BASE}/lib\"|" \
${cfg} > ${cfg}.tmp || exit
mv ${cfg}.tmp ${cfg}