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.
The lang/gcc-aux port has recently been removed, so the previously legal
"49" argument is no longer so. Adjust ada.mk accordingly by removing
reference to option 49 and lang/gcc-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).
Right now, ironsides emits a STORAGE ERROR during building with
lang/gcc6-aux. It's unclear if the problem lies with compiler or with
ironsides. For now, limit building it with gcc5-aux (the default).
The USES=ada:5 setting wasn't supported, but it should have been. This
has also been fixed.
Modify make describe to automatically prepend ${PORTSDIR} if the path for the
port is not absolute
Checked with poudriere, portmaster, portupgrade
PR: 203685
Exp-run by: antoine
Differential Revision: https://reviews.freebsd.org/D3866
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
* www/aws
* www/aws-demos
While the version upgrades were modest in most cases (gps, gtkada3), the
amount of work put into each port was significant. There are too many
improvements to mention here. A few include the removal of dynamic
package lists and incorporating gnatcoll into gps to avoid building it
twice. A private "exp-run" was done all on all 50+ Ada ports to ensure
they still build.
Also, a new argument was added to Uses/ada.mk, "run", that pulls in the
GNAT compiler as a run depends. This was necessary for GPS that will
not launch correctly without the compiler in place.
To be complete, ada.mk needs to support having ADA_DEFAULT=5 and the port
explicitly requesting lang/gcc-aux. There is no identified use case for
this yet, but not supporting it is a hole.
A new argument has been added to USES=ada, "5", which will select the
gcc5-aux compiler (gcc 5) instead of the gcc-aux compiler (gcc 4.9).
Additionally, it will check if ADA_DEFAULT is defined and equal to "5".
If that is the case, gcc5-aux will be used by default, even if no
arguments are defined. The use case is to define it in make.conf so that
all Ada ports are built with same compiler. This capability will be used
to confirm all Ada ports build correctly with gcc5-aux before the default
compiler is switched.
- Loop over USES twice, once to define all *_ARGS variables and once to
include Uses/*.mk. This allows all Uses/*.mk to examine arguments given
to other USES entries.
- Always define *_ARGS (possibly empty) and replace commas with spaces.
Similar for _USES_POST.
Adjust all Uses/*.mk:
- defined(u_ARGS) becomes !empty(u_ARGS)
- Eliminate helper variables like _*_ARGS=${*_ARGS:C/,/ /g}
- Some Uses/*.mk used ":" as argument separator instead of ",", but no port
used this form
- Uses/cran.mk: remove unused variable VALID_ARGS and USES+=fortran which
has no effect
- Uses/twisted.mk: simplify handling of the case where neither "build" nor
"run" arguments have been specified
PR: 193931
Exp-run by: antoine
Approved by: portmgr (antoine)
Currently the Ada framework uses a single compiler based on gcc47.
Soon this compiler will be updated to the gcc49 base, but not all Ada
ports are currently happy about this.
This update to ada.mk induces the ARGS of "47" which causes the port to
use the newly-created lang/gcc47-aux port which is currently a clone
of lang/gcc-aux. When the latter is updated, the Ada Framework will
use it except for those ports that feature "USES+= ada:47"
While I'm here, also trim the headers on a couple of ports and remove
a reference to the Dragonlace mirror which is down indefinitely.
Approved by: bapt (mentor)