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)
* M3 GUI and networking support
* M3 Quake
* some demos
* many examples
* many CM3 tools
* Oblique
* Caltech Parser toolset
* Full M3 library
* Lots of documentation and man pages
Intentionally left out for now: six (6) games, three (3) webdev progs,
kate (gui), sgml+deepcopy (devlib), pp (m3devtool)
This is the latest release of the Critical Mass Modula-3 (CM3) collection,
version 5.8.6, and it was released in July 2010. Days were spent
developing this port, but not so much time was developed to quality
assurance. I added a "recent" patch from upstream for network concurrency
and also modified the getaddrbyname implementation as the original one
raised IPError exceptions due to my VM not having a fully qualified
hostname and external IP address. My modification makes the exception
look up hostent with 127.0.0.1 first, then raise a new exception on error.
It seems to work, but like I said, it was not heavily tested.
Most of the programs require a running X (Trestle), which I don't have
at the moment, so they stop with an appropriate raised exception. I only
assume they work, I'll have to check later.
Right now only FreeBSD AMD64 is supported. I do not expect to attempt
to support FreeBSD i386. I will probably make an attempt to cross-compile
this on DragonFly x86-64 after appropriate patches are added. A few
months ago I nearly succeeded in porting CM3 to DragonFly and I expect to
succeed on the next attempt. If other platforms are desired, somebody
else will have to create bootstraps and any necessary patches.
This was built and poudriere-tested on FreeBSD 9.2. Only libc, libm, and
libpthread are dynamically loaded so it should build fine on FreeBSD 8.4.
I don't have access to my Redports repository ATM so I can't test FreeBSD
10+, but I will attempt to fix should it fail to build on those platforms.
Hopefully someone will find this port useful. I was surprised that
apparently the full Modula-3 compiler set has never been ported to
FreeBSD, only the ezm3 version needed to build cvsup. Modula-3 is a nice
language that probably deserved to be widely used outside of academia.
2014-01-02 02:34:47 +00:00
|
|
|
# Created by: marino@FreeBSD.org
|
|
|
|
# $FreeBSD$
|
|
|
|
|
|
|
|
PORTNAME= modula3
|
2015-06-04 22:15:23 +00:00
|
|
|
PORTVERSION= 5.10.0
|
2015-06-12 23:03:24 +00:00
|
|
|
PORTREVISION= 2
|
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)
* M3 GUI and networking support
* M3 Quake
* some demos
* many examples
* many CM3 tools
* Oblique
* Caltech Parser toolset
* Full M3 library
* Lots of documentation and man pages
Intentionally left out for now: six (6) games, three (3) webdev progs,
kate (gui), sgml+deepcopy (devlib), pp (m3devtool)
This is the latest release of the Critical Mass Modula-3 (CM3) collection,
version 5.8.6, and it was released in July 2010. Days were spent
developing this port, but not so much time was developed to quality
assurance. I added a "recent" patch from upstream for network concurrency
and also modified the getaddrbyname implementation as the original one
raised IPError exceptions due to my VM not having a fully qualified
hostname and external IP address. My modification makes the exception
look up hostent with 127.0.0.1 first, then raise a new exception on error.
It seems to work, but like I said, it was not heavily tested.
Most of the programs require a running X (Trestle), which I don't have
at the moment, so they stop with an appropriate raised exception. I only
assume they work, I'll have to check later.
Right now only FreeBSD AMD64 is supported. I do not expect to attempt
to support FreeBSD i386. I will probably make an attempt to cross-compile
this on DragonFly x86-64 after appropriate patches are added. A few
months ago I nearly succeeded in porting CM3 to DragonFly and I expect to
succeed on the next attempt. If other platforms are desired, somebody
else will have to create bootstraps and any necessary patches.
This was built and poudriere-tested on FreeBSD 9.2. Only libc, libm, and
libpthread are dynamically loaded so it should build fine on FreeBSD 8.4.
I don't have access to my Redports repository ATM so I can't test FreeBSD
10+, but I will attempt to fix should it fail to build on those platforms.
Hopefully someone will find this port useful. I was surprised that
apparently the full Modula-3 compiler set has never been ported to
FreeBSD, only the ezm3 version needed to build cvsup. Modula-3 is a nice
language that probably deserved to be widely used outside of academia.
2014-01-02 02:34:47 +00:00
|
|
|
CATEGORIES= lang
|
2015-06-04 22:15:23 +00:00
|
|
|
MASTER_SITES= http://downloads.dragonlace.net/m3/:boot
|
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)
* M3 GUI and networking support
* M3 Quake
* some demos
* many examples
* many CM3 tools
* Oblique
* Caltech Parser toolset
* Full M3 library
* Lots of documentation and man pages
Intentionally left out for now: six (6) games, three (3) webdev progs,
kate (gui), sgml+deepcopy (devlib), pp (m3devtool)
This is the latest release of the Critical Mass Modula-3 (CM3) collection,
version 5.8.6, and it was released in July 2010. Days were spent
developing this port, but not so much time was developed to quality
assurance. I added a "recent" patch from upstream for network concurrency
and also modified the getaddrbyname implementation as the original one
raised IPError exceptions due to my VM not having a fully qualified
hostname and external IP address. My modification makes the exception
look up hostent with 127.0.0.1 first, then raise a new exception on error.
It seems to work, but like I said, it was not heavily tested.
Most of the programs require a running X (Trestle), which I don't have
at the moment, so they stop with an appropriate raised exception. I only
assume they work, I'll have to check later.
Right now only FreeBSD AMD64 is supported. I do not expect to attempt
to support FreeBSD i386. I will probably make an attempt to cross-compile
this on DragonFly x86-64 after appropriate patches are added. A few
months ago I nearly succeeded in porting CM3 to DragonFly and I expect to
succeed on the next attempt. If other platforms are desired, somebody
else will have to create bootstraps and any necessary patches.
This was built and poudriere-tested on FreeBSD 9.2. Only libc, libm, and
libpthread are dynamically loaded so it should build fine on FreeBSD 8.4.
I don't have access to my Redports repository ATM so I can't test FreeBSD
10+, but I will attempt to fix should it fail to build on those platforms.
Hopefully someone will find this port useful. I was surprised that
apparently the full Modula-3 compiler set has never been ported to
FreeBSD, only the ezm3 version needed to build cvsup. Modula-3 is a nice
language that probably deserved to be widely used outside of academia.
2014-01-02 02:34:47 +00:00
|
|
|
DISTFILES= ${SRCDISTFILE} ${BOOTDIST}
|
|
|
|
|
|
|
|
MAINTAINER= marino@FreeBSD.org
|
|
|
|
COMMENT= Critical Mass Modula-3 compiler
|
|
|
|
|
2014-02-16 08:42:53 +00:00
|
|
|
LICENSE= DECM3
|
|
|
|
LICENSE_NAME= CM3 License defined by DEC and Critical Mass copyrights
|
2015-06-04 22:15:23 +00:00
|
|
|
LICENSE_FILE= ${WRKSRC}/COM_LICENSE
|
2014-02-16 08:42:53 +00:00
|
|
|
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
|
|
|
|
|
2014-05-05 16:24:00 +00:00
|
|
|
LIB_DEPENDS= libodbc.so:${PORTSDIR}/databases/unixODBC
|
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)
* M3 GUI and networking support
* M3 Quake
* some demos
* many examples
* many CM3 tools
* Oblique
* Caltech Parser toolset
* Full M3 library
* Lots of documentation and man pages
Intentionally left out for now: six (6) games, three (3) webdev progs,
kate (gui), sgml+deepcopy (devlib), pp (m3devtool)
This is the latest release of the Critical Mass Modula-3 (CM3) collection,
version 5.8.6, and it was released in July 2010. Days were spent
developing this port, but not so much time was developed to quality
assurance. I added a "recent" patch from upstream for network concurrency
and also modified the getaddrbyname implementation as the original one
raised IPError exceptions due to my VM not having a fully qualified
hostname and external IP address. My modification makes the exception
look up hostent with 127.0.0.1 first, then raise a new exception on error.
It seems to work, but like I said, it was not heavily tested.
Most of the programs require a running X (Trestle), which I don't have
at the moment, so they stop with an appropriate raised exception. I only
assume they work, I'll have to check later.
Right now only FreeBSD AMD64 is supported. I do not expect to attempt
to support FreeBSD i386. I will probably make an attempt to cross-compile
this on DragonFly x86-64 after appropriate patches are added. A few
months ago I nearly succeeded in porting CM3 to DragonFly and I expect to
succeed on the next attempt. If other platforms are desired, somebody
else will have to create bootstraps and any necessary patches.
This was built and poudriere-tested on FreeBSD 9.2. Only libc, libm, and
libpthread are dynamically loaded so it should build fine on FreeBSD 8.4.
I don't have access to my Redports repository ATM so I can't test FreeBSD
10+, but I will attempt to fix should it fail to build on those platforms.
Hopefully someone will find this port useful. I was surprised that
apparently the full Modula-3 compiler set has never been ported to
FreeBSD, only the ezm3 version needed to build cvsup. Modula-3 is a nice
language that probably deserved to be widely used outside of academia.
2014-01-02 02:34:47 +00:00
|
|
|
|
|
|
|
NEWBOOTDIR= ${WRKDIR}/new-bootstrap/bootstrap
|
2015-06-04 22:15:23 +00:00
|
|
|
SRCDISTFILE= modula3-cm3-${PORTVERSION}-${GH_TAGNAME}_GH0.tar.gz
|
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)
* M3 GUI and networking support
* M3 Quake
* some demos
* many examples
* many CM3 tools
* Oblique
* Caltech Parser toolset
* Full M3 library
* Lots of documentation and man pages
Intentionally left out for now: six (6) games, three (3) webdev progs,
kate (gui), sgml+deepcopy (devlib), pp (m3devtool)
This is the latest release of the Critical Mass Modula-3 (CM3) collection,
version 5.8.6, and it was released in July 2010. Days were spent
developing this port, but not so much time was developed to quality
assurance. I added a "recent" patch from upstream for network concurrency
and also modified the getaddrbyname implementation as the original one
raised IPError exceptions due to my VM not having a fully qualified
hostname and external IP address. My modification makes the exception
look up hostent with 127.0.0.1 first, then raise a new exception on error.
It seems to work, but like I said, it was not heavily tested.
Most of the programs require a running X (Trestle), which I don't have
at the moment, so they stop with an appropriate raised exception. I only
assume they work, I'll have to check later.
Right now only FreeBSD AMD64 is supported. I do not expect to attempt
to support FreeBSD i386. I will probably make an attempt to cross-compile
this on DragonFly x86-64 after appropriate patches are added. A few
months ago I nearly succeeded in porting CM3 to DragonFly and I expect to
succeed on the next attempt. If other platforms are desired, somebody
else will have to create bootstraps and any necessary patches.
This was built and poudriere-tested on FreeBSD 9.2. Only libc, libm, and
libpthread are dynamically loaded so it should build fine on FreeBSD 8.4.
I don't have access to my Redports repository ATM so I can't test FreeBSD
10+, but I will attempt to fix should it fail to build on those platforms.
Hopefully someone will find this port useful. I was surprised that
apparently the full Modula-3 compiler set has never been ported to
FreeBSD, only the ezm3 version needed to build cvsup. Modula-3 is a nice
language that probably deserved to be widely used outside of academia.
2014-01-02 02:34:47 +00:00
|
|
|
DST1= m3-bootstrap.AMD64.FREEBSD.92.tar.bz2:boot
|
|
|
|
DST2= m3-bootstrap.x86_64.DRAGONFLY.36.tar.bz2:boot
|
|
|
|
|
|
|
|
ONLY_FOR_ARCHS= amd64
|
2016-01-07 09:40:49 +00:00
|
|
|
PORTSCOUT= ignore:1
|
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)
* M3 GUI and networking support
* M3 Quake
* some demos
* many examples
* many CM3 tools
* Oblique
* Caltech Parser toolset
* Full M3 library
* Lots of documentation and man pages
Intentionally left out for now: six (6) games, three (3) webdev progs,
kate (gui), sgml+deepcopy (devlib), pp (m3devtool)
This is the latest release of the Critical Mass Modula-3 (CM3) collection,
version 5.8.6, and it was released in July 2010. Days were spent
developing this port, but not so much time was developed to quality
assurance. I added a "recent" patch from upstream for network concurrency
and also modified the getaddrbyname implementation as the original one
raised IPError exceptions due to my VM not having a fully qualified
hostname and external IP address. My modification makes the exception
look up hostent with 127.0.0.1 first, then raise a new exception on error.
It seems to work, but like I said, it was not heavily tested.
Most of the programs require a running X (Trestle), which I don't have
at the moment, so they stop with an appropriate raised exception. I only
assume they work, I'll have to check later.
Right now only FreeBSD AMD64 is supported. I do not expect to attempt
to support FreeBSD i386. I will probably make an attempt to cross-compile
this on DragonFly x86-64 after appropriate patches are added. A few
months ago I nearly succeeded in porting CM3 to DragonFly and I expect to
succeed on the next attempt. If other platforms are desired, somebody
else will have to create bootstraps and any necessary patches.
This was built and poudriere-tested on FreeBSD 9.2. Only libc, libm, and
libpthread are dynamically loaded so it should build fine on FreeBSD 8.4.
I don't have access to my Redports repository ATM so I can't test FreeBSD
10+, but I will attempt to fix should it fail to build on those platforms.
Hopefully someone will find this port useful. I was surprised that
apparently the full Modula-3 compiler set has never been ported to
FreeBSD, only the ezm3 version needed to build cvsup. Modula-3 is a nice
language that probably deserved to be widely used outside of academia.
2014-01-02 02:34:47 +00:00
|
|
|
|
2015-06-04 22:15:23 +00:00
|
|
|
USE_GITHUB= yes
|
|
|
|
GH_ACCOUNT= modula3
|
|
|
|
GH_PROJECT= cm3
|
2015-06-12 23:03:24 +00:00
|
|
|
GH_TAGNAME= b2ce705
|
2015-06-04 22:15:23 +00:00
|
|
|
|
|
|
|
USES= gmake pgsql python:build
|
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)
* M3 GUI and networking support
* M3 Quake
* some demos
* many examples
* many CM3 tools
* Oblique
* Caltech Parser toolset
* Full M3 library
* Lots of documentation and man pages
Intentionally left out for now: six (6) games, three (3) webdev progs,
kate (gui), sgml+deepcopy (devlib), pp (m3devtool)
This is the latest release of the Critical Mass Modula-3 (CM3) collection,
version 5.8.6, and it was released in July 2010. Days were spent
developing this port, but not so much time was developed to quality
assurance. I added a "recent" patch from upstream for network concurrency
and also modified the getaddrbyname implementation as the original one
raised IPError exceptions due to my VM not having a fully qualified
hostname and external IP address. My modification makes the exception
look up hostent with 127.0.0.1 first, then raise a new exception on error.
It seems to work, but like I said, it was not heavily tested.
Most of the programs require a running X (Trestle), which I don't have
at the moment, so they stop with an appropriate raised exception. I only
assume they work, I'll have to check later.
Right now only FreeBSD AMD64 is supported. I do not expect to attempt
to support FreeBSD i386. I will probably make an attempt to cross-compile
this on DragonFly x86-64 after appropriate patches are added. A few
months ago I nearly succeeded in porting CM3 to DragonFly and I expect to
succeed on the next attempt. If other platforms are desired, somebody
else will have to create bootstraps and any necessary patches.
This was built and poudriere-tested on FreeBSD 9.2. Only libc, libm, and
libpthread are dynamically loaded so it should build fine on FreeBSD 8.4.
I don't have access to my Redports repository ATM so I can't test FreeBSD
10+, but I will attempt to fix should it fail to build on those platforms.
Hopefully someone will find this port useful. I was surprised that
apparently the full Modula-3 compiler set has never been ported to
FreeBSD, only the ezm3 version needed to build cvsup. Modula-3 is a nice
language that probably deserved to be widely used outside of academia.
2014-01-02 02:34:47 +00:00
|
|
|
USE_XORG= xaw xmu xext xt sm ice x11
|
|
|
|
USE_GL= gl glu
|
2015-06-04 22:15:23 +00:00
|
|
|
USE_GCC= yes
|
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)
* M3 GUI and networking support
* M3 Quake
* some demos
* many examples
* many CM3 tools
* Oblique
* Caltech Parser toolset
* Full M3 library
* Lots of documentation and man pages
Intentionally left out for now: six (6) games, three (3) webdev progs,
kate (gui), sgml+deepcopy (devlib), pp (m3devtool)
This is the latest release of the Critical Mass Modula-3 (CM3) collection,
version 5.8.6, and it was released in July 2010. Days were spent
developing this port, but not so much time was developed to quality
assurance. I added a "recent" patch from upstream for network concurrency
and also modified the getaddrbyname implementation as the original one
raised IPError exceptions due to my VM not having a fully qualified
hostname and external IP address. My modification makes the exception
look up hostent with 127.0.0.1 first, then raise a new exception on error.
It seems to work, but like I said, it was not heavily tested.
Most of the programs require a running X (Trestle), which I don't have
at the moment, so they stop with an appropriate raised exception. I only
assume they work, I'll have to check later.
Right now only FreeBSD AMD64 is supported. I do not expect to attempt
to support FreeBSD i386. I will probably make an attempt to cross-compile
this on DragonFly x86-64 after appropriate patches are added. A few
months ago I nearly succeeded in porting CM3 to DragonFly and I expect to
succeed on the next attempt. If other platforms are desired, somebody
else will have to create bootstraps and any necessary patches.
This was built and poudriere-tested on FreeBSD 9.2. Only libc, libm, and
libpthread are dynamically loaded so it should build fine on FreeBSD 8.4.
I don't have access to my Redports repository ATM so I can't test FreeBSD
10+, but I will attempt to fix should it fail to build on those platforms.
Hopefully someone will find this port useful. I was surprised that
apparently the full Modula-3 compiler set has never been ported to
FreeBSD, only the ezm3 version needed to build cvsup. Modula-3 is a nice
language that probably deserved to be widely used outside of academia.
2014-01-02 02:34:47 +00:00
|
|
|
NO_MTREE= yes
|
|
|
|
|
2015-06-04 22:15:23 +00:00
|
|
|
MAKE_ENV= CM3_DEBUG=yes \
|
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)
* M3 GUI and networking support
* M3 Quake
* some demos
* many examples
* many CM3 tools
* Oblique
* Caltech Parser toolset
* Full M3 library
* Lots of documentation and man pages
Intentionally left out for now: six (6) games, three (3) webdev progs,
kate (gui), sgml+deepcopy (devlib), pp (m3devtool)
This is the latest release of the Critical Mass Modula-3 (CM3) collection,
version 5.8.6, and it was released in July 2010. Days were spent
developing this port, but not so much time was developed to quality
assurance. I added a "recent" patch from upstream for network concurrency
and also modified the getaddrbyname implementation as the original one
raised IPError exceptions due to my VM not having a fully qualified
hostname and external IP address. My modification makes the exception
look up hostent with 127.0.0.1 first, then raise a new exception on error.
It seems to work, but like I said, it was not heavily tested.
Most of the programs require a running X (Trestle), which I don't have
at the moment, so they stop with an appropriate raised exception. I only
assume they work, I'll have to check later.
Right now only FreeBSD AMD64 is supported. I do not expect to attempt
to support FreeBSD i386. I will probably make an attempt to cross-compile
this on DragonFly x86-64 after appropriate patches are added. A few
months ago I nearly succeeded in porting CM3 to DragonFly and I expect to
succeed on the next attempt. If other platforms are desired, somebody
else will have to create bootstraps and any necessary patches.
This was built and poudriere-tested on FreeBSD 9.2. Only libc, libm, and
libpthread are dynamically loaded so it should build fine on FreeBSD 8.4.
I don't have access to my Redports repository ATM so I can't test FreeBSD
10+, but I will attempt to fix should it fail to build on those platforms.
Hopefully someone will find this port useful. I was surprised that
apparently the full Modula-3 compiler set has never been ported to
FreeBSD, only the ezm3 version needed to build cvsup. Modula-3 is a nice
language that probably deserved to be widely used outside of academia.
2014-01-02 02:34:47 +00:00
|
|
|
M3_PORTABLE_RUN_PATH=yes
|
2015-06-04 22:15:23 +00:00
|
|
|
INTERMED= ${WRKDIR}/intermediate
|
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)
* M3 GUI and networking support
* M3 Quake
* some demos
* many examples
* many CM3 tools
* Oblique
* Caltech Parser toolset
* Full M3 library
* Lots of documentation and man pages
Intentionally left out for now: six (6) games, three (3) webdev progs,
kate (gui), sgml+deepcopy (devlib), pp (m3devtool)
This is the latest release of the Critical Mass Modula-3 (CM3) collection,
version 5.8.6, and it was released in July 2010. Days were spent
developing this port, but not so much time was developed to quality
assurance. I added a "recent" patch from upstream for network concurrency
and also modified the getaddrbyname implementation as the original one
raised IPError exceptions due to my VM not having a fully qualified
hostname and external IP address. My modification makes the exception
look up hostent with 127.0.0.1 first, then raise a new exception on error.
It seems to work, but like I said, it was not heavily tested.
Most of the programs require a running X (Trestle), which I don't have
at the moment, so they stop with an appropriate raised exception. I only
assume they work, I'll have to check later.
Right now only FreeBSD AMD64 is supported. I do not expect to attempt
to support FreeBSD i386. I will probably make an attempt to cross-compile
this on DragonFly x86-64 after appropriate patches are added. A few
months ago I nearly succeeded in porting CM3 to DragonFly and I expect to
succeed on the next attempt. If other platforms are desired, somebody
else will have to create bootstraps and any necessary patches.
This was built and poudriere-tested on FreeBSD 9.2. Only libc, libm, and
libpthread are dynamically loaded so it should build fine on FreeBSD 8.4.
I don't have access to my Redports repository ATM so I can't test FreeBSD
10+, but I will attempt to fix should it fail to build on those platforms.
Hopefully someone will find this port useful. I was surprised that
apparently the full Modula-3 compiler set has never been ported to
FreeBSD, only the ezm3 version needed to build cvsup. Modula-3 is a nice
language that probably deserved to be widely used outside of academia.
2014-01-02 02:34:47 +00:00
|
|
|
BOOTCM3= CM3="${WRKDIR}/bootstrap/bin/cm3"
|
2015-06-04 22:15:23 +00:00
|
|
|
PORTDOCS= www license
|
2015-06-06 21:30:14 +00:00
|
|
|
STRIPPKG= m3staloneback/m3back \
|
|
|
|
libdump/libdump \
|
|
|
|
cmpfp/cmpfp \
|
|
|
|
formsview/formsview \
|
|
|
|
vorun/vorun \
|
|
|
|
pkl-fonts/PklFonts \
|
|
|
|
hack/dummy \
|
|
|
|
test/test
|
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)
* M3 GUI and networking support
* M3 Quake
* some demos
* many examples
* many CM3 tools
* Oblique
* Caltech Parser toolset
* Full M3 library
* Lots of documentation and man pages
Intentionally left out for now: six (6) games, three (3) webdev progs,
kate (gui), sgml+deepcopy (devlib), pp (m3devtool)
This is the latest release of the Critical Mass Modula-3 (CM3) collection,
version 5.8.6, and it was released in July 2010. Days were spent
developing this port, but not so much time was developed to quality
assurance. I added a "recent" patch from upstream for network concurrency
and also modified the getaddrbyname implementation as the original one
raised IPError exceptions due to my VM not having a fully qualified
hostname and external IP address. My modification makes the exception
look up hostent with 127.0.0.1 first, then raise a new exception on error.
It seems to work, but like I said, it was not heavily tested.
Most of the programs require a running X (Trestle), which I don't have
at the moment, so they stop with an appropriate raised exception. I only
assume they work, I'll have to check later.
Right now only FreeBSD AMD64 is supported. I do not expect to attempt
to support FreeBSD i386. I will probably make an attempt to cross-compile
this on DragonFly x86-64 after appropriate patches are added. A few
months ago I nearly succeeded in porting CM3 to DragonFly and I expect to
succeed on the next attempt. If other platforms are desired, somebody
else will have to create bootstraps and any necessary patches.
This was built and poudriere-tested on FreeBSD 9.2. Only libc, libm, and
libpthread are dynamically loaded so it should build fine on FreeBSD 8.4.
I don't have access to my Redports repository ATM so I can't test FreeBSD
10+, but I will attempt to fix should it fail to build on those platforms.
Hopefully someone will find this port useful. I was surprised that
apparently the full Modula-3 compiler set has never been ported to
FreeBSD, only the ezm3 version needed to build cvsup. Modula-3 is a nice
language that probably deserved to be widely used outside of academia.
2014-01-02 02:34:47 +00:00
|
|
|
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
|
2015-06-04 22:15:23 +00:00
|
|
|
M3BOOT_ENV= ${MAKE_ENV:C/^LDFLAGS=.*//:C/^CPPFLAGS=.*//} \
|
|
|
|
${BOOTCM3} STAGE=${INTERMED:Q}
|
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)
* M3 GUI and networking support
* M3 Quake
* some demos
* many examples
* many CM3 tools
* Oblique
* Caltech Parser toolset
* Full M3 library
* Lots of documentation and man pages
Intentionally left out for now: six (6) games, three (3) webdev progs,
kate (gui), sgml+deepcopy (devlib), pp (m3devtool)
This is the latest release of the Critical Mass Modula-3 (CM3) collection,
version 5.8.6, and it was released in July 2010. Days were spent
developing this port, but not so much time was developed to quality
assurance. I added a "recent" patch from upstream for network concurrency
and also modified the getaddrbyname implementation as the original one
raised IPError exceptions due to my VM not having a fully qualified
hostname and external IP address. My modification makes the exception
look up hostent with 127.0.0.1 first, then raise a new exception on error.
It seems to work, but like I said, it was not heavily tested.
Most of the programs require a running X (Trestle), which I don't have
at the moment, so they stop with an appropriate raised exception. I only
assume they work, I'll have to check later.
Right now only FreeBSD AMD64 is supported. I do not expect to attempt
to support FreeBSD i386. I will probably make an attempt to cross-compile
this on DragonFly x86-64 after appropriate patches are added. A few
months ago I nearly succeeded in porting CM3 to DragonFly and I expect to
succeed on the next attempt. If other platforms are desired, somebody
else will have to create bootstraps and any necessary patches.
This was built and poudriere-tested on FreeBSD 9.2. Only libc, libm, and
libpthread are dynamically loaded so it should build fine on FreeBSD 8.4.
I don't have access to my Redports repository ATM so I can't test FreeBSD
10+, but I will attempt to fix should it fail to build on those platforms.
Hopefully someone will find this port useful. I was surprised that
apparently the full Modula-3 compiler set has never been ported to
FreeBSD, only the ezm3 version needed to build cvsup. Modula-3 is a nice
language that probably deserved to be widely used outside of academia.
2014-01-02 02:34:47 +00:00
|
|
|
|
|
|
|
# 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
|
2014-01-15 13:41:26 +00:00
|
|
|
. if !exists(/usr/include/xlocale/_ctype.h)
|
|
|
|
IGNORE= the bootstrap compiler only runs on FreeBSD 9.0 or later
|
|
|
|
. endif
|
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)
* M3 GUI and networking support
* M3 Quake
* some demos
* many examples
* many CM3 tools
* Oblique
* Caltech Parser toolset
* Full M3 library
* Lots of documentation and man pages
Intentionally left out for now: six (6) games, three (3) webdev progs,
kate (gui), sgml+deepcopy (devlib), pp (m3devtool)
This is the latest release of the Critical Mass Modula-3 (CM3) collection,
version 5.8.6, and it was released in July 2010. Days were spent
developing this port, but not so much time was developed to quality
assurance. I added a "recent" patch from upstream for network concurrency
and also modified the getaddrbyname implementation as the original one
raised IPError exceptions due to my VM not having a fully qualified
hostname and external IP address. My modification makes the exception
look up hostent with 127.0.0.1 first, then raise a new exception on error.
It seems to work, but like I said, it was not heavily tested.
Most of the programs require a running X (Trestle), which I don't have
at the moment, so they stop with an appropriate raised exception. I only
assume they work, I'll have to check later.
Right now only FreeBSD AMD64 is supported. I do not expect to attempt
to support FreeBSD i386. I will probably make an attempt to cross-compile
this on DragonFly x86-64 after appropriate patches are added. A few
months ago I nearly succeeded in porting CM3 to DragonFly and I expect to
succeed on the next attempt. If other platforms are desired, somebody
else will have to create bootstraps and any necessary patches.
This was built and poudriere-tested on FreeBSD 9.2. Only libc, libm, and
libpthread are dynamically loaded so it should build fine on FreeBSD 8.4.
I don't have access to my Redports repository ATM so I can't test FreeBSD
10+, but I will attempt to fix should it fail to build on those platforms.
Hopefully someone will find this port useful. I was surprised that
apparently the full Modula-3 compiler set has never been ported to
FreeBSD, only the ezm3 version needed to build cvsup. Modula-3 is a nice
language that probably deserved to be widely used outside of academia.
2014-01-02 02:34:47 +00:00
|
|
|
. endif
|
|
|
|
|
|
|
|
. if ${OPSYS} == DragonFly
|
|
|
|
IGNORE= modula-3 has not adapted to DragonFly yet
|
|
|
|
BOOTDIST= ${DST2}
|
|
|
|
MARCH= x86_64
|
|
|
|
. endif
|
|
|
|
|
2014-05-05 09:45:36 +00:00
|
|
|
NEWBOOTNAME= m3-bootstrap.${MARCH}.${OPSYS:tu}.${OSREL:S/.//}.tar.bz2
|
|
|
|
M3TARGET= ${MARCH}_${OPSYS:tu}
|
2015-06-04 22:15:23 +00:00
|
|
|
PLIST_SUB= T=${M3TARGET} P=cm3/pkg B=cm3/bin L=cm3/lib
|
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)
* M3 GUI and networking support
* M3 Quake
* some demos
* many examples
* many CM3 tools
* Oblique
* Caltech Parser toolset
* Full M3 library
* Lots of documentation and man pages
Intentionally left out for now: six (6) games, three (3) webdev progs,
kate (gui), sgml+deepcopy (devlib), pp (m3devtool)
This is the latest release of the Critical Mass Modula-3 (CM3) collection,
version 5.8.6, and it was released in July 2010. Days were spent
developing this port, but not so much time was developed to quality
assurance. I added a "recent" patch from upstream for network concurrency
and also modified the getaddrbyname implementation as the original one
raised IPError exceptions due to my VM not having a fully qualified
hostname and external IP address. My modification makes the exception
look up hostent with 127.0.0.1 first, then raise a new exception on error.
It seems to work, but like I said, it was not heavily tested.
Most of the programs require a running X (Trestle), which I don't have
at the moment, so they stop with an appropriate raised exception. I only
assume they work, I'll have to check later.
Right now only FreeBSD AMD64 is supported. I do not expect to attempt
to support FreeBSD i386. I will probably make an attempt to cross-compile
this on DragonFly x86-64 after appropriate patches are added. A few
months ago I nearly succeeded in porting CM3 to DragonFly and I expect to
succeed on the next attempt. If other platforms are desired, somebody
else will have to create bootstraps and any necessary patches.
This was built and poudriere-tested on FreeBSD 9.2. Only libc, libm, and
libpthread are dynamically loaded so it should build fine on FreeBSD 8.4.
I don't have access to my Redports repository ATM so I can't test FreeBSD
10+, but I will attempt to fix should it fail to build on those platforms.
Hopefully someone will find this port useful. I was surprised that
apparently the full Modula-3 compiler set has never been ported to
FreeBSD, only the ezm3 version needed to build cvsup. Modula-3 is a nice
language that probably deserved to be widely used outside of academia.
2014-01-02 02:34:47 +00:00
|
|
|
.endif
|
|
|
|
|
2015-06-04 22:15:23 +00:00
|
|
|
post-extract:
|
2014-02-16 08:42:53 +00:00
|
|
|
@(cd ${WRKSRC} && ${CAT} COPYRIGHT-DEC COPYRIGHT-CMASS > COM_LICENSE)
|
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)
* M3 GUI and networking support
* M3 Quake
* some demos
* many examples
* many CM3 tools
* Oblique
* Caltech Parser toolset
* Full M3 library
* Lots of documentation and man pages
Intentionally left out for now: six (6) games, three (3) webdev progs,
kate (gui), sgml+deepcopy (devlib), pp (m3devtool)
This is the latest release of the Critical Mass Modula-3 (CM3) collection,
version 5.8.6, and it was released in July 2010. Days were spent
developing this port, but not so much time was developed to quality
assurance. I added a "recent" patch from upstream for network concurrency
and also modified the getaddrbyname implementation as the original one
raised IPError exceptions due to my VM not having a fully qualified
hostname and external IP address. My modification makes the exception
look up hostent with 127.0.0.1 first, then raise a new exception on error.
It seems to work, but like I said, it was not heavily tested.
Most of the programs require a running X (Trestle), which I don't have
at the moment, so they stop with an appropriate raised exception. I only
assume they work, I'll have to check later.
Right now only FreeBSD AMD64 is supported. I do not expect to attempt
to support FreeBSD i386. I will probably make an attempt to cross-compile
this on DragonFly x86-64 after appropriate patches are added. A few
months ago I nearly succeeded in porting CM3 to DragonFly and I expect to
succeed on the next attempt. If other platforms are desired, somebody
else will have to create bootstraps and any necessary patches.
This was built and poudriere-tested on FreeBSD 9.2. Only libc, libm, and
libpthread are dynamically loaded so it should build fine on FreeBSD 8.4.
I don't have access to my Redports repository ATM so I can't test FreeBSD
10+, but I will attempt to fix should it fail to build on those platforms.
Hopefully someone will find this port useful. I was surprised that
apparently the full Modula-3 compiler set has never been ported to
FreeBSD, only the ezm3 version needed to build cvsup. Modula-3 is a nice
language that probably deserved to be widely used outside of academia.
2014-01-02 02:34:47 +00:00
|
|
|
|
|
|
|
post-patch:
|
2015-06-04 22:15:23 +00:00
|
|
|
@${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)
|
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)
* M3 GUI and networking support
* M3 Quake
* some demos
* many examples
* many CM3 tools
* Oblique
* Caltech Parser toolset
* Full M3 library
* Lots of documentation and man pages
Intentionally left out for now: six (6) games, three (3) webdev progs,
kate (gui), sgml+deepcopy (devlib), pp (m3devtool)
This is the latest release of the Critical Mass Modula-3 (CM3) collection,
version 5.8.6, and it was released in July 2010. Days were spent
developing this port, but not so much time was developed to quality
assurance. I added a "recent" patch from upstream for network concurrency
and also modified the getaddrbyname implementation as the original one
raised IPError exceptions due to my VM not having a fully qualified
hostname and external IP address. My modification makes the exception
look up hostent with 127.0.0.1 first, then raise a new exception on error.
It seems to work, but like I said, it was not heavily tested.
Most of the programs require a running X (Trestle), which I don't have
at the moment, so they stop with an appropriate raised exception. I only
assume they work, I'll have to check later.
Right now only FreeBSD AMD64 is supported. I do not expect to attempt
to support FreeBSD i386. I will probably make an attempt to cross-compile
this on DragonFly x86-64 after appropriate patches are added. A few
months ago I nearly succeeded in porting CM3 to DragonFly and I expect to
succeed on the next attempt. If other platforms are desired, somebody
else will have to create bootstraps and any necessary patches.
This was built and poudriere-tested on FreeBSD 9.2. Only libc, libm, and
libpthread are dynamically loaded so it should build fine on FreeBSD 8.4.
I don't have access to my Redports repository ATM so I can't test FreeBSD
10+, but I will attempt to fix should it fail to build on those platforms.
Hopefully someone will find this port useful. I was surprised that
apparently the full Modula-3 compiler set has never been ported to
FreeBSD, only the ezm3 version needed to build cvsup. Modula-3 is a nice
language that probably deserved to be widely used outside of academia.
2014-01-02 02:34:47 +00:00
|
|
|
|
|
|
|
do-install:
|
2015-06-04 22:15:23 +00:00
|
|
|
${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}/
|
2015-06-06 21:30:14 +00:00
|
|
|
${CHMOD} -x ${STAGEDIR}${PREFIX}/cm3/pkg/m3back/src/M3C.i3 \
|
|
|
|
${STAGEDIR}${PREFIX}/cm3/pkg/m3core/src/C/Common/Csetjmp.i3
|
2015-06-04 22:15:23 +00:00
|
|
|
(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}
|
2015-06-06 21:30:14 +00:00
|
|
|
(cd ${STAGEDIR}${PREFIX}/cm3/pkg/${PACKAGE:H}/${M3TARGET} && \
|
|
|
|
${STRIP_CMD} ${PACKAGE:T} && \
|
|
|
|
${MV} ${PACKAGE:T} ../../../bin/ && \
|
|
|
|
${LN} -s ../../../bin/${PACKAGE:T} .)
|
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)
* M3 GUI and networking support
* M3 Quake
* some demos
* many examples
* many CM3 tools
* Oblique
* Caltech Parser toolset
* Full M3 library
* Lots of documentation and man pages
Intentionally left out for now: six (6) games, three (3) webdev progs,
kate (gui), sgml+deepcopy (devlib), pp (m3devtool)
This is the latest release of the Critical Mass Modula-3 (CM3) collection,
version 5.8.6, and it was released in July 2010. Days were spent
developing this port, but not so much time was developed to quality
assurance. I added a "recent" patch from upstream for network concurrency
and also modified the getaddrbyname implementation as the original one
raised IPError exceptions due to my VM not having a fully qualified
hostname and external IP address. My modification makes the exception
look up hostent with 127.0.0.1 first, then raise a new exception on error.
It seems to work, but like I said, it was not heavily tested.
Most of the programs require a running X (Trestle), which I don't have
at the moment, so they stop with an appropriate raised exception. I only
assume they work, I'll have to check later.
Right now only FreeBSD AMD64 is supported. I do not expect to attempt
to support FreeBSD i386. I will probably make an attempt to cross-compile
this on DragonFly x86-64 after appropriate patches are added. A few
months ago I nearly succeeded in porting CM3 to DragonFly and I expect to
succeed on the next attempt. If other platforms are desired, somebody
else will have to create bootstraps and any necessary patches.
This was built and poudriere-tested on FreeBSD 9.2. Only libc, libm, and
libpthread are dynamically loaded so it should build fine on FreeBSD 8.4.
I don't have access to my Redports repository ATM so I can't test FreeBSD
10+, but I will attempt to fix should it fail to build on those platforms.
Hopefully someone will find this port useful. I was surprised that
apparently the full Modula-3 compiler set has never been ported to
FreeBSD, only the ezm3 version needed to build cvsup. Modula-3 is a nice
language that probably deserved to be widely used outside of academia.
2014-01-02 02:34:47 +00:00
|
|
|
.endfor
|
2015-06-06 21:30:14 +00:00
|
|
|
(cd ${STAGEDIR}${PREFIX}/cm3/pkg/cm3/${M3TARGET} && \
|
|
|
|
${RM} cm3 && ${LN} -s ../../../bin/cm3 .)
|
2015-06-04 22:15:23 +00:00
|
|
|
|
|
|
|
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}
|
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)
* M3 GUI and networking support
* M3 Quake
* some demos
* many examples
* many CM3 tools
* Oblique
* Caltech Parser toolset
* Full M3 library
* Lots of documentation and man pages
Intentionally left out for now: six (6) games, three (3) webdev progs,
kate (gui), sgml+deepcopy (devlib), pp (m3devtool)
This is the latest release of the Critical Mass Modula-3 (CM3) collection,
version 5.8.6, and it was released in July 2010. Days were spent
developing this port, but not so much time was developed to quality
assurance. I added a "recent" patch from upstream for network concurrency
and also modified the getaddrbyname implementation as the original one
raised IPError exceptions due to my VM not having a fully qualified
hostname and external IP address. My modification makes the exception
look up hostent with 127.0.0.1 first, then raise a new exception on error.
It seems to work, but like I said, it was not heavily tested.
Most of the programs require a running X (Trestle), which I don't have
at the moment, so they stop with an appropriate raised exception. I only
assume they work, I'll have to check later.
Right now only FreeBSD AMD64 is supported. I do not expect to attempt
to support FreeBSD i386. I will probably make an attempt to cross-compile
this on DragonFly x86-64 after appropriate patches are added. A few
months ago I nearly succeeded in porting CM3 to DragonFly and I expect to
succeed on the next attempt. If other platforms are desired, somebody
else will have to create bootstraps and any necessary patches.
This was built and poudriere-tested on FreeBSD 9.2. Only libc, libm, and
libpthread are dynamically loaded so it should build fine on FreeBSD 8.4.
I don't have access to my Redports repository ATM so I can't test FreeBSD
10+, but I will attempt to fix should it fail to build on those platforms.
Hopefully someone will find this port useful. I was surprised that
apparently the full Modula-3 compiler set has never been ported to
FreeBSD, only the ezm3 version needed to build cvsup. Modula-3 is a nice
language that probably deserved to be widely used outside of academia.
2014-01-02 02:34:47 +00:00
|
|
|
(cd ${NEWBOOTDIR}/.. ; tar -cyf ${NEWBOOTNAME} bootstrap)
|
|
|
|
|
|
|
|
.include <bsd.port.post.mk>
|