Modula-3 is a systems programming language that descends from Mesa,
Modula-2, Cedar, and Modula-2+. It also resembles its cousins Oberon,
Object Pascal, and Euclid.
Modula-3 retains one of Modula-2's most successful features, the provision
of explicit interfaces between modules. It adds objects and classes,
exception handling, garbage collection, lightweight processes (or threads),
and the isolation of unsafe features.
This is the Critical Mass implementation.
WWW: http://www.modula3.org
===> The following configuration options are available for modula3-5.10.0_10:
DOCS=on: Build and/or install documentation
===> Use 'make config' to modify these settings
Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
Mark BROKEN on FreeBSD 12 and 13
Traceback (most recent call last):
File "scripts/python/make-dist.py", line 294, in <module>
Setup(InstallRoot_CompilerWithPrevious, InstallRoot_CompilerWithSelf)
File "scripts/python/make-dist.py", line 268, in Setup
reload(pylib) or FatalError()
File
"/wrkdirs/usr/ports/lang/modula3/work/cm3-b2ce705/scripts/python/pylib.py", line
655, in <module>
if Host.endswith("_NT") or Host == "NT386":
AttributeError: 'NoneType' object has no attribute 'endswith'
Reported by: pkg-fallout
MFH: 2019Q2
Bump PORTREVISION for ports depending on the canonical version of GCC
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
After an include, PLIST_SUB must be appended to, not overwritten.
If it is overwritten, many values will be clobbered, and
pain will ensue.
PR: 230864
Submitted by: mat
exp-runs by: antoine
Bump PORTREVISION for ports depending on the canonical version of GCC
in the ports tree (via Mk/bsd.default-versions.mk and lang/gcc) which
has now moved from GCC 6 to GCC 7 by default.
This includes ports
- featuring USE_GCC=yes or USE_GCC=any,
- featuring USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and those
- with USES=compiler specifying one of openmp, nestedfct, c11, c++0x,
c++11-lib, c++11-lang, c++14-lang, c++17-lang, or gcc-c++11-lib.
PR: 222542
Bump PORTREVISION for ports depending on the canonical version of GCC
(via Mk/bsd.default-versions.mk and lang/gcc) which has moved from
GCC 5.4 to GCC 6.4 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++11-lang,
c++14-lang, c++0x, c11, or gcc-c++11-lib.
PR: 219275
Revision bump of all ports with USE_GL after consolidation of mesa-libs
Approved by: swills (mentor)
Differential Revision: https://reviews.freebsd.org/D10845
Bump PORTREVISIONs for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.9.4 to GCC 5.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using using Mk/bsd.octave.mk which in turn has USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++14-lang,
c++11-lang, c++0x, c11, or gcc-c++11-lib.
PR: 216707
Bump PORTREVISIONS for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.8.5 to GCC 4.9.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
In particular that is ports with USE_GCC=yes, USE_GCC=any, or one of
gcc-c++11-lib, openmp, nestedfct, c++11-lib as well as c++14-lang,
c++11-lang, c++0x, c11 requested via USES=compiler.
lang/modula3: Generate new distfile to reduce size by 60Mb
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.
lang/modula3: Enable some the pkg programs
A few of the pkg programs were made unexecutable -- they didn't work
anyway because the rtld couldn't find the libraries. By relocating
them to cm3/bin and using symlinks instead fixes the issues.
lang/modula3: Remove CONFLICTS definition
When the base install moved from $LOCALBASE to $LOCALBASE/cm3, the
conflict with cvsup disappeared. The conflict wasn't current anyway,
it should have been moved to net/cvsup-static as the original cvsup
ports were removed within the last year.
lang/modula3: Upgrade 5.8.6 => pre-5.10.0
Modula3 hasn't had a proper release in close to 5 years. However, the
project has moved to github and has been under slow continuous
development. The internal version was recently switch to 5.10.0, but
this is not a release.
A new build script is used which simplifies the port makefile and even
the generation of new bootstrap compilers. However, the original 5.8.6
bootstrap still works with some inline modifications.
This version still uses the gcc backend, but eventually it could be
switched to the new c-backend, something that DragonFly could use as
well. The base has been moved from $LOCALBASE to $LOCALBASE/cm3, so
the "example" programs are back with the rest.
Update conflicts between modula3 and cvsup*
Modula3 provides a newer cvsup which is unconditionally installed.
This put the port in conflict with the two expiring cvsup ports. They've
been removed, but a new cvsup-static port took their place. Update the
CONFLICTS_INSTALL on both modula3 and cvsup-static as a follow-up to
change in cvsup-* ports.
Update the default version of GCC in the Ports Collection from GCC 4.7.4
to GCC 4.8.3.
Part II, Bump PORTREVISIONs.
PR: 192025
Tested by: antoine (-exp runs)
Approved by: portmgr (implicit)
Fix unixODBC vs libiodbc conflicts
Always rely on unixODBC each time a port is looking for libodbc.so
Remove odbc compat from libiodbc
This allows to install both kde and gnome at the same time
While here:
- Convert libiodbc to USES=libtool
- Convert a bunch of libiodbc dependencies to USES=libtool
- Chase libiodbc.so shlib change
- Stagify some ports
- Convert some ports to USES=pgsql
Discussed with: rakuco (kde)
With hat: portmgr
Convert all :U to :tu and :L to :tl
Since FreeBSD 8.4 and FreeBSD 9.1 make(1) do support :tu and :tl as a
replacement for :U and :L (which has been marked as deprecated)
bmake which is the default on FreeBSD 10+ only support by default
:tu/:tl a hack has been added at the time to support :U and :L to ease
migration. This hack is now not necessary anymore
Note that this makes the ports tree incompatible with make(1) from
FreeBSD 8.3 or earlier
With hat: portmgr
lang/modula3: Add custom DEC/CM3 license
It doesn't appear possible to have two custom licenses combined, so I
had to get creative and concatenate them into one combined document.
Also, the auto-generated plist had to be modified to add the three new
entries. There may be a better way to do this (e.g. use >> ${TMPPLIST}
instead of > ${TMPPLIST} on first line) but at least the awk method
works durably.
lang/modula3: Not for FreeBSD 8.x
The Modula-3 bootstrap compiler was built on FreeBSD 9.
It will not run on FreeBSD 8 due to missing symbols, e.g.
_ThreadRuneLocale. As with i386, I don't feel it is worth my time
to create a separate bootstrap for FreeBSD 8.x AMD64, so let's just
IGNORE this to save the user a 100Mb download.
lang/modula3: Support FreeBSD 10+
It appears that modula3 will segfault if debug information is not
generated in stabs format. Clang doesn't recognize -gstabs+ options,
but removing it results in lots of segfaults early during the build.
By setting USE_GCC=any, FreeBSD 9 and below will use the base gcc 4.2.1
and FreeBSD10 and later will need lang/gcc. Verified on Redports.
While here, make sure .bak files do not get installed into stage by
using 'sed -i ""' rather than ${REINPLACE_CMD} which equals 'sed -i.bak'.
Add lang/modula3: Critical Mass implementation of Modula-3
This is a huge port. It probably should be split into several separate
ports, but Modula-3's lack of popularity doesn't justify the large
effort that would require yet.
This port will download a "bootstrap" compiler which builds a fresh
compiler and small set of core components. The fresh compiler will
then build everything else. This includes, among other things:
* CM3 Integrated Development Environment (IDE)
* CM3 Code Generator based on gcc 4.3
* CM3 Middle- and back- ends
* CVSup (CM3 is too new to build the CVSUP already in ports)
* M3 GDB (GNU Debugger)
(Only the first 15 lines of the commit message are shown above )