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.
Remove patch to add -I/usr/local/include in freetype-config --cflags. If
ports need extra headers they should look for them, and not get them via
a side-effect.
Freetype had a header resuffle in 2.5.1, patch ports to use the new header
style.
Thanks go to bdrewery for the two exp-runs and rakuco for helping me with
some troublesome cmake ports.
PR: ports/184587
2013-12-22 devel/ruby-cvs: Broken for more than 6 month
2013-12-22 devel/hs-reactive: Broken for more than 6 month
2013-12-22 databases/rubygem-delayed_job_data_mapper: Broken for more than 6 month
2013-12-22 graphics/xmagv: Broken for more than 6 month
2013-12-22 lang/slib-gauche: Broken for more than 6 month
2013-12-22 graphics/f-spot: Broken for more than 6 month
2013-12-22 sysutils/linux-megamgr: Broken for more than 6 month
2013-12-22 games/linux-savage-samuraiwars: Broken for more than 6 month
2013-12-22 ftp/gftp: Broken for more than 6 month
2013-12-22 devel/hs-DeepArrow: Broken for more than 6 month
2013-12-22 converters/py-svglib: Broken for more than 6 month
2013-12-22 converters/p5-Unicode-Lite: Broken for more than 6 month
2013-12-22 mail/squirrelmail-calendar_sql_backend-plugin: Broken for more than 6 month
2013-12-22 finance/quantlib: Broken for more than 6 month
2013-12-22 games/xkobo: Broken for more than 6 month
2013-12-22 games/quake3-rq3: Broken for more than 6 month
2013-12-22 math/fbm: No new release since 2004, new supported upstream
Reset maintainership for llwang@infor.org due to multiple timeouts and email
address permanent failure. Return all ports to the free pool except
py-numpy, which is taken under the wing of the python@ team.
We thank you for your contribution to the FreeBSD project
Approved by: portmgr
Changes:
1) Fix installation with LOCALBASE!=/usr/local
2) Properly detect the number of CPUs for concurrent builds
Notes:
1) The cffi based module _sqlite3.py needs to know where to find
sqlite3.h, which is hard-coded into the file, however the '.so'
created is based on the checksum of _sqlite3.py that changes
when changing the hard-coded path. Change this by properly
using the LOCALBASE environment variable.
2) This change does not modify the behaviour of the port as this
port runs the compilation stage directly, and correctly, however
this change will be upstreamed.