Update the default version of GCC pulled in via USE_GCC=yes and a myriad
other ways from GCC 7 (7.4 right now) to GCC 8 (8.2 right now).
This is the first time for eons, if not forever, that we are on the most
recent major version of GCC, a catch-up that's been taking more than two
years with the great help of many fellow committers and volunteers.
PR: 231590
Tested by: antoine (exp-runs)
Thanks to: jbeich, tobik, jwb, mi, yuri, and others for helping fix (broken)
ports

Add PHP 7.3 RC2 to the ports-tree.
Notable changes:
- Switch from PCRE to PCRE2
- Many modules now require PCRE2 for building
- graphics/php73-gd: X11 option is no longer default
Changes to Mk/Uses/php.mk approved by ale

Remove 4.8 as a documented option for GCC_DEFAULT. Technically nothing
has changed, so it still should work as well (or not) as before, but it's
essentially untested and if anyone needs an older version from the GCC 4.x
era, 4.9 is still available.

- Allow users to change the default Fortran compiler via DEFAULT_VERSIONS.
- Rename USES=fortran:gcc to the more appropriate USES=fortran:gfortran.
- Change the options in math/R and math/libRmath so the choice becomes
flang or default instead of flang or gfortran. Use default Fortran
compiler again on amd64.

lang/tcl84, x11-toolkits/tk84: remove expired ports
Fix supported versions in USES=t[cl|k], remove last consumer (lang/fpc-tcl) and
bump PORTREVISION on two other ports that have had their dependencies or
default options changed (lang/smalltalk and x11-toolkits/ocaml-labltk)

Introduce Perl 5.26.
A few important changes:
- '.' is no longer in @INC.
- "do" now gives a deprecation warning when it fails to load a file
which it would have loaded had "." been in @INC.
- In regular expression patterns, a literal left brace "{" should be
escaped.
Changes: https://metacpan.org/pod/release/XSAWYERX/perl-5.26.0/pod/perldelta.pod
Sponsored by: Absolight

As of today, USE_GCC=yes (and USE_GCC=any in most circumstances)
and consequently many of the USES=compiler flavors use the canonical
version of GCC as defined in Mk/bsd.default-versions.mk as well as
the lang/gcc port
With the "new" setup starting with GCC 5 where I have introduced
lang/gcc5-devel for regular snapshots and lang/gcc5 for releases,
and similarly for GCC 6 and onward, we can now leverage lang/gcc5
(and later) for most of the role that lang/gcc used to play -- and
indeed as of today lang/gcc and lang/gcc5 are nearly identical
short of symlinks for gcc, g++, and gfortran binaries that the
former provides.
So now use lang/gcc5 instead of lang/gcc whenever requested via the
USE_GCC framework directly or indirectly.
This is similar to how the python ports work, for example, and it
allows simplifications in Mk/bsd.gcc.mk and Mk/Uses/fortran.mk and
dropping LANG_GCC_IS from Mk/bsd.default-versions.mk. As a next
step lang/gcc is going to become a "hull" essentially only providing
those symlinks and requiring lang/gcc5 (or whatever has been set as
default in Mk/bsd.default-versions.mk).

Update lang/gcc and hence the default version of GCC in the Ports
Collection (requested by USE_GCC=yes and various USES=compiler
invocations) from GCC 4.9.4 to GCC 5.4.
files/patch-arm-support and files/patch-gcc_system.h have become
obsolete. New patches files/patch-arm-unwind-cxx-support and
files/patch-libc++ help support arm targets and new libc++ in base.
ONLY_FOR_ARCHS now also includes arm.
A new option GRAPHITE_DESC, off by default for now, adds support for
Graphite loop optimizations.
Finally, conflicts with other lang/gcc* ports are adjusted suitably.

- Remove inclusion of bsd.default-versions.mk from ftp/curl/Makefile so
bsd.default-versions.mk can rely on ARCH being defined.
- In bsd.port.mk move inclusion of bsd.default-versions.mk from the
pre-makefile section to the options section so the variables can be used
earlier. Also put the bit of code sitting between the options section and
the pre-makefile section into the options section.
- Remove last few cases where ports set WITH_OPENSSL_PORT. This variable is
handled in bsd.default-versions.mk and some ports were setting it after
including bsd.port.options.mk. After FreeBSD 9 EoL all but a few ports,
and then only when setting non-default options, work without setting that
variable.
PR: 215996
Exp-run by: antoine
Approved by: portmgr (antoine)

Update Linux CentOS 7 ports to 7.3.1611. While 7.2 had semi-official i386
packages there are no such packages for 7.3 yet so i386 support has been
marked IGNORE for now.
Change DIST_SUBDIR to just "centos" so distfiles that remain the same
between major versions don't have to be redownloaded.
Remove fmake hacks from linux.mk.
Submitted by: Piotr Kubaj <pkubaj@anongoth.pl>

Welcome Percona 5.7 ports to the tree
- client and server version 5.7.16-10
- pam-for-mysql: compatible with newer MySQL API (MySQL 5.7+)
Thanks to all who have worked on Percona, MariaDB, and MySQL ports. Your
tireless efforts have been instrumental in making this port happen.
Differential Revision: https://reviews.freebsd.org/D8785

Long awaited, finally update the default version of GCC in the Ports
Collection as well as the lang/gcc port from GCC 4.8.5 to GCC 4.9.4!
See http://gcc.gnu.org/gcc-4.9/changes.html for an extensive list of
changes and http://gcc.gnu.org/gcc-4.9/porting_to.html for information
on how to port to that new version (if necessary).
files/java-patch-hier required adjustments, gcc/files/patch-arm-libcpp
is not needed any longer (merged upstream), and we're also loosing the
local Stack Protector patches/backports.
PR: 196712
Tested by: antoine (-exp runs)
Supported by: antoine, kwm, and others

Change the default Perl version to 5.24.
We have been stuck with Perl 5.20 for too long. Now that the main
problem, mod_perl2, has been updated to work with Perl 5.22+, we can go
and live with a modern Perl.
PR: 213810
Submitted by: mat
Exp-run by: antoine
Sponsored by: Absolight

Introduce USES=varnish
You can now set the default version of Varnish with DEFAULT_VERSIONS to
build Varnish and its modules against your desired Varnish release
train.
The default version of Varnish throughout the ports tree will remain as
www/varnish4 until at least 2017Q1 when it will be changed in HEAD to be
www/varnish5. This should allow plenty of time for migration and for
stabilization of the changes in Varnish 5.x.
Submitted by: vanilla

- Replace Mk/bsd.linux-apps.mk and Mk/bsd.linux-rpm.mk with
Mk/Uses/linux.mk.
- Replace USE_LINUX=yes with USES+=linux and USE_LINUX=(.*) with
USES+=linux:\1 in all ports.
- Replace USE_LINUX_APPS with USE_LINUX in all ports.
- Use INSTALL_SCRIPT instead of INSTALL_PROGRAM to install scripts in some
ports.
- When USE_LINUX_RPM is defined, simplify the way DISTFILES and EXTRACT_ONLY
are defined.
- Remove BRANDELF_DIRS and BRANDELF_FILES handling. In the very rare cases
that it is still necessary ports can run ${BRANDELF} from post-patch.
- Remove AUTOMATIC_PLIST handling. Only one port used it.
- Fix Linux MASTER_SITES.
- Replace OVERRIDE_LINUX_BASE_PORT and OVERRIDE_LINUX_NONBASE_PORTS with
default versions framework.

Delete the now expired postgresql90 ports. Upstream support for
postgresql-9.0.x was declared EoL in September 2015.
Summary:
Remove 9.0 from the list of postgresql versions available in ports
Disconnect postgresql90 ports from the build
Remove postgresql90-pgtcl port
Remove postgresql90-client port
Move the master postgreslXY-plperl makefile to postgresql95-plperl/Makefile.
Adjust include lines in other postgresqlXY-plperl ports

Make it possible to have bsd.default-versions.mk included before any
other bsd.*.mk file.
Restore the way ftp/curl was working before.
With hat: portmgr
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D6921

Make print/ghostscript9-agpl-base the default Ghostscript port. Upstream
changed the license to the AGPL 3 in version 9.07 so print/ghostscript9-base
is stuck at 9.06 which is almost 4 years old now.
Fix the logic in Uses/ghostscript.mk so "agpl" is treated as a real version
on its own instead of as a variant of other versions.
Fix print/ghostscript9-agpl-base to install eps2write.
Update math/asymptote to 2.37 to support newer Ghostscript.
PR: 208159
Exp-run by: antoine
Approved by: portmgr (antoine)

FPC ecosystem: Upgrade version 2.6.4 => 3.0.0
This is the first major release of FreePascal in nearly four years.
There are a ton of new features, way more to list here. see:
http://wiki.freepascal.org/FPC_New_Features_3.0
Several new unit ports were added, some were contracted. Most of
those were absorbed into the main FPC packages, but two units are
no longer supported: sndfile and matroshka.
All 99 remaining ports (including Lazarus ports) were build tested
on FreeBSD i386 and amd64 Release 10.2