Recently added to the FreeBSD ports collection was codelabs.ch's pscs-ada (thick Ada binding to PC/SC-middleware) and the APQ Ada95 database binding with drivers for MySQL, PostgreSQL, and ODBC included as as separate ports.
A huge effort went into updating the GNATDroid ARM cross-compiler to be based on GCC 4.9. This is the only ARM compiler that supports sockets to my knowledge -- socket support is disabled on a stock gcc, but I've got it working and it passes the related testsuite.
The only thing that doesn't pass is the stack-check tests. That is because stack-checking as not yet been implemented for the ARM target on GCC. A patch to add the capability was created but never added, but hopefully it gets added soon.
Other internal improvements include getting the ACATS test to run on a remote device in 15 minutes rather than 6 hours, and to get the gnat.dg testsuite to run for the first time on a remote device. The results are publish on the main page (they look good!)
Four new packages have been added to FreeBSD ports collection:
Three of those are the works of Gautier de Montmollin, and they have been converted into static libraries with dedicated gpr files in the standard GNAT location.
Ever since the Ada Framework on the FreeBSD Ports Collection was formed, the heart of it has been GNAT based on FSF GCC 4.7.x. This was starting to show limitations due to its partial Ada 2012 implementation, and this consequently limited s/w to earlier versions.
While GCC 4.9 has not been released, the Ada portion of it is pretty stable and it easily passes on tests on ACATS and GNAT.DejaGNU suites. New bootstraps were requires since GCC now requires C++ to build, so fully static (including GNAT tools) bootstrap were creates for i386 and amd64 architectures on both FreeBSD and DragonFly.
After the compiler port (lang/gcc-aux) was updated, the following ports were immediately upgraded: ASIS to version 2013, GPRBuild to version 2013, PolyOrb to version 2013, and OpenToken 5.0a was added (it requires at least FSF GNAT 4.8 to build). Except for GNATDroid which is still based on FSF GNAT 4.7 for the moment, all Ada ports on FreeBSD use the latest FSF Ada compiler.
In other news, the AdaSockets port was resurrected a couple of weeks ago and another network library, ANet, was brought in and it handles IPv6 as well as IPv4.
The Spark/Ada-based Ironsides DNS server just arrived to FreeBSD ports. I believe it is currently unavailable on all other platforms. Ironsides has the potential to be a showcase for Ada so I'm glad to give it exposure and chance to be used on a great server platform. From it's website:
FreeBSD has PLplot, cross-platform software package for creating scientific plots, at the latest stable version 5.10.0 (as of today). What it did not have is the option to build the Ada bindings although most other languages were available as an option. Rather than update the currently unmaintained PLplot port, I created a new port at math/plplot-ada to build the Ada bindings separately.
In separate news, the Ada bindings to ncurses were completely revamped. Previously the port didn't actually build the library. Now it does and it should work as expected. The port is located at devel/adacurses.
There was a port in FreeBSD called "devel/adabooch" which installed the 2003 version of the Ada95 Booch components. There was no building done, only the source files were installed. Ada95 Booch is actually well-maintained at SourceForge by Simon Wright and Martin Krischik. The latest version came out in March 2013.
FreeBSD now builds this version, including a full library and standard .gpr support, and should be in great shape now.
FreeBSD ports continue to be updated. Yesterday "devel/sdl_gnat" port was added. This is the re-packaging of the thin bindings to SDL that arrived in GNAT GPL 2013, and as such they are also licensed with the full GPLv3. As a result, the port "devel/adasdl" will be removed in 6 weeks for several reasons, including that it does not build on amd64/x86-64.
A current list of Ada ports in FreeBSD is as follows (R.U. = Recently Updated):
All of presentations were video recorded, and the presentations have been uploaded to the AdaEurope-Belgium site. The DragonLace Presentation is available in PDF and ODP formats. It discusses the latest state of Ports and Pkgsrc support as well as some potential future work.
There has been a fair amount of activity for Ada in the FreeBSD Ports collection. Two new ports have been added:
Some existing ports have been updated:
More Ada ports will be coming soon!
To fix Ada tasking in FreeBSD 9.0, you have to fix and rebuild the thread library.
Before you start, make sure you have the FreeBSD 9.0 source at /usr/src. If you didn't install it with FreeBSD, you can find src.txz on the install disk. Alternatively, you can download the 89MB file directly from FreeBSD Just extract it in the root directory as it starts with /usr.
Now Ada tasking should function correctly on FreeBSD 9.0. This has already been fixed for the upcoming FreeBSD 9.1.