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 big feature for adacontrol 1.18 is the direct support of .gpr project
files. Unfortunately, the project support requires devel/gnatcoll, a heavy
dependency. Thus, a PROJECT option was created which is "OFF" by default to
maintain the relatively lean dependency requirements. If project support is
vital, reconfigure the build with the PROJECT option.
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).
The upstream distfile was changed. Most of the changes were regenerated
documentation, but a build file (gpr) was also updated. The changes are
legitimate (but should have been provided r4)
Introduce DIST_SUBDIR now that adacontrol joined the reroll club.
Rule changes according to HISTORY file since version 1.15r5:
New rules:
----------
positional_associations (took over style (positional_association))
type_usage
unit_pattern
unsafe_elaboration
Changes to existing rules:
--------------------------
No_Operator_Usage:
added observed relational
Changed syntax
Filtering on indexing in addition to logical operators
Style (Multiple_Elements):
separated keywords from other subrules
(Casing_Identifier, original): Check closing identifier, allow multiple
casing options.
Positional_Association: removed, now subrule of Positional_Associations.
Parameter_Order, Formal_Parameter_Order: modes are separated by "|".
Multiple_Element: checks proper presentation of "end", "for ... loop"
With_Clauses:
Handle correctly case of with clauses required due to a use clause
or pragma Elaborate for the same package in the context clauses.
Use_Clauses
Added subrules type, type_global, type_local.
Array_Declarations:
Slightly changed the syntax of the component subrule.
Case_Statements:
Added subrule values_if_others
Declarations:
Added subrules box_defaulted_formal_function,
name_defaulted_formal_function, box_defaulted_formal_procedure,
name_defaulted_formal_procedure, null_defaulted_formal_procedure,
non_ravenscar_task, access_constrained_array_type,
access_unconstrained_array_type, access_def_discriminated_type,
access_nondef_discriminated_type,
access_unknown_discriminated_type, access_formal_type,
access_language_type, equality_operator
Better placement of some messages
Dependencies:
Added subrules public_child, private_child
Expressions:
Added subrules in, not_in, static_membership, and_array,
and_logical, and_binary, or_array, or_logical, or_binary,
xor_array, xor_logical, xor_binary, upward_conversion,
downward_conversion, extension_aggregate, extendable_aggregate,
array_positional_others, array_named_others,
unconverted_fixed_multiplying_op
Subrule Mixed_Operators considers membership tests and short circuit forms
Local_Hiding:
Added modifiers Not_Identical_Renaming, Not_Different_Families
Global_References:
Added subrules read, written
Multiple_Assignments:
The rule has been renamed to "Assignments"
Added subrule sliding.
Added criterion total.
Naming_Convention:
Added specific patterns by object and functions type names and categories
Added subrules regular_static_constant, regular_nonstatic_constant
Object declarations:
Added subrule type.
Parameter_Declarations:
Added subrules tagged_parameters, class_wide_parameters.
Added callables dispatching_function, dispatching_parameter
Reduceable_Scope:
Don't suggest moving declarations to a task specification
Representation_Clauses:
Added subrule no_bit_order_layout
Statements:
Added subrules named_exit, exit_plain_loop, simple_block,
unnamed_simple_block, redispatching_call.
Normalized behaviour of subrule exit.
While the version remains the same, AdaControl comes with two flavors of
distfiles: "old" and "new". The "old" distfile was appropriate for
gcc47-aux, but the "new" one is required for the gcc49-based ada compiler.
This change updates the distfile to be used to build adacontrol.
Rather than specify gnat_util every time ASIS is a dependency, set it
as a library dependency for ASIS. LIB_DEPENDS doesn't work because it
is a static library, so just manually add libgnat_util.a to BUILD_DEPENDS
and RUN_DEPENDS, then adjust 3 ports accordingly.
Adacontrol is a tool that analyzes language constructs in Ada programs. It
can be used as a standalone tool, or integrated into other tools. An
example of integration can be seen with the upcoming devel/ahven port.
Approved by: bapt (mentor)