Gnat_Util is a library uniting a number of GNAT sources that are used by
different tools. At the moment Gnat_Util provides GNAT sources needed by ASIS,
GNATCOLL and Gprbuild. Its main purpose is allowing to simultaneously use
tools like ASIS and GNATCOLL (and other ones based on GNAT sources, if they
are to come), which would normally cause name conflicts between the same GNAT
sources that they use. Building both of them using same set of sources that
is Gnat_Util solves this problem.
WWW: http://libre.adacore.com
cleanup: Remove ports depending on expired lang/gcc6-aux
Keep ports-mgmt/synth and dependencies (including lang/gcc6-aux itself)
for now as synth is the only Ada port still maintained and might be
somewhat high-profile.
Removed ports:
archivers/zip-ada
cad/ghdl
databases/adabase
databases/apq
databases/apq-mysql
databases/apq-odbc
databases/apq-pgsql
devel/ada-util
(Only the first 15 lines of the commit message are shown above )
Return the ports mistakenly reset to ports@ in r433856 to John Marino.
The mistake was completely on my part, I somehow connected the dots the
wrong way in my head.
The only exceptions (for now) are archivers/zstd and ports-mgmt/synth
which were already picked up by new volunteers in the mean time.
Change Ada Framework foundation from gcc5-aux to gcc6-aux
GCC 6.1 was released this week. The Ada Framework in FreeBSD ports has
been based on GCC 5.3 GNAT although GCC 6.x has been supported for awhile
via the ADA_DEFAULT option in make.conf.
Now that GCC 6 has been officially released, switch to it by default.
People can maintain the old foundation by putting "ADA_DEFAULT=5" in
/etc/make.conf.
Libraries built by one GNAT are unusable by another, so almost every Ada
port has been bumped as a result. Noticable exceptions are dns/ironsides
which fails to build on gcc6 (thus USES=ada:5 is set) and cad/ghdl which
needs additional testing as it may require gcc5 on FreeBSD (DragonFly
uses the LLVM backend only).
Ada Framework: Switch to gcc5-aux, upgrade 6 packages at once
The transition from gcc-aux to gcc5-aux in the Ada framework has been
blocked by the inability to build gtkada3 and, once resolved, GPS (due
to tight locking with compiler).
A few days ago, Adacore made their annual release of their main libre
products, include GPS. However, some products were tightly coupled with
the recent compilers, so in order to upgrade, the compiler had to be
switched and dependencies require many ports to be upgraded at once:
* lang/asis
* devel/gnatcoll
* devel/gps
* x11-toolkits/gtkada3
(Only the first 15 lines of the commit message are shown above )
MASTER_SITES cleanup.
- Replace ${MASTER_SITE_FOO} with FOO.
- Merge MASTER_SITE_SUBDIR into MASTER_SITES when possible. (This means 99.9%
of the time.)
- Remove occurrences of MASTER_SITE_LOCAL when no subdirectory was present and
no hint of what it should be was present.
- Fix some logic.
- And generally, make things more simple and easy to understand.
While there, add magic values to the FESTIVAL, GENTOO, GIMP, GNUPG, QT and
SAMBA macros.
Also, replace some EXTRACT_SUFX occurences with USES=tar:*.
Checked by: make fetch-urlall-list
With hat: portmgr
Sponsored by: Absolight
devel/gps: Restore missing project properties switches
The project properties were missing several tabs in the "switches"
sections, but it wasn't immediately obvious why. It turns out that this
was caused by a missing generated file (gnat_switches.py). Restoring
that file along with having PATH set to the Ada compiler restored the
missing tabs.
The trick is that the generated file needs a texi file that is not present
in the distfile. The texi file was discarded by gnat_util (and its parent
gccX), so the solution is change gnat_util to install the file at its own
DOCDIR. Pregeneration of the gnat_switches.py is a bad idea IMO, so we
stick with the intended generation.
while here, install gps as gps_exe and create a wrapper named "gps" that
(Only the first 15 lines of the commit message are shown above )
lang/gnat_util, devel/gprbuild: Support gcc5-aux
GPRBuild is too highly tethered to the compiler -- in practical terms
each version of GPRBuild is meant to be built by a specific GPL GNAT,
but we're trying to build it with multiple FSF GNATS that are out of sync.
This patch set does allow GPRBuild to build and apparently work with both
gcc-aux and gcc5-aux. There is no real change for gcc-aux (OpenVMS is
removed from the code but it should be same difference) ang for gcc5-aux,
the previous patches aren't needed but new ones are. Thus, EXTRA_PATCHES
had to be set for each of the two supported compilers.
lang/gnat_utils had to be modified to stop packaging OpenVMS target files
as apparently this target has been removed from gcc5-aux.
lang/gnat_util: Move PORTREVISION to central location
Many of the ports based on gcc-aux sources have a central location
defining their PORTREVISION to make it easy to reset all them all when
the base version is updated. lang/gnat_util should have had, but did not
and as a result the PORTREVISION didn't get reset at all. Centralize
it for the future.
lang/gnat_util: Carry impunit.ad[bs] source files
The GNAT Programming Studio needs the impunit.ad[bs] files in order
to create a menu based on the gnat source code. Just carry these
source files with the others that are used to build gnat_util and then
use the GPS port makefile to pull it in as needed. A quick check with
poudriere indicates that ports dependent on gnat_util still build fine.
lang/gnat_util: Add set_std_prefix and update_path symbols
Rather than require each user of libgnat_util to link in set_std_prefix
and update_path functions, let's assume each user needs the same version
of these functions and just add them directly to the library.
Adjust gnatcoll accordingly -- hack no longer necessary.
lang/gcc-aux: Upgrade from gcc-4.7.3 to gcc49-20140302 snapshot
GCC4.9 hasn't been released yet, but the Ada portion of it is pretty
stable and perfectly passes ACATS and gnat.dg testsuites. The only
trick was to change the unwind mechanism on i386 away from KERN_PS_STRINGS
because it will not work with 32-bit compatability mode on AMD64. This
is because on AMD64, the signal trampoline is located on a random area
on a shared page rather than a fixed location before KERN_PS_STRINGS. To
support both true i386 and AMD64-32 compatibility mode, unwind now looks
for frame pattern in all cases. Apparently stack checking has been broken
on AMD64-32 until now.
It is important to get the Ada Framework in ports to be based on gcc49
because this compiler supports the full Ada-2012 standard implementation,
and in fact some new programs require this already.
(Only the first 15 lines of the commit message are shown above )
lang/gnat_util: Fix licenses in PLIST
The post-install target was overwriting the licenses
which were already present in $TMPPLIST
reported-by: antoine
Add new port: lang/gnat_util
There are a number of GNAT tools that have to be build using the same
exact sources as the compiler that it serves. Two examples of this are
GPRbuild and ASIS. The latter is an important component of several other
language semantic tools.
Accordingly, a separate port is being created to build a static library
that need these compiler sources. Incidentally, diverging sources is the
reason devel/gprbuild-aux stopped building after lang/gcc-aux was upgraded.
With this new scheme, this type of failure should no longer occur.
This is a dependency of the upcoming lang/asis port, and must be specified
as a build dependency by any port that needs ASIS.
Approved by: bapt (mentor)