Add spidermonkey 38 aka mozjs 3.8.
Spidermonkey is mozilla's JavaScript engine. This version is based
on the last release of firefox esr; 38.8.0. This is done because
the stand alone release aren't done often enough. I copied this idea
from the fedora spidermonkey38 spec file.
Probably due to the fact that spidermonkey in the firefox tarball isn't
intended to be installed standalone we need to manualy replace the header
symlinks in the stage dir with the actual header files.
Thanks to miki and streja for build testing on armv6 and aarch64.

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

2017-04-30 devel/stormlib-ghost++: Unfetchable for more than six months (google
code has gone away)
2017-04-30 devel/py-coil: Unfetchable for more than six months (google code has
gone away)
2017-04-30 devel/py-cmdln: Unfetchable for more than six months (google code has
gone away)
2017-04-30 devel/privman: Unfetchable for more than six months (google code has
gone away)
2017-04-30 devel/c-unit: Unfetchable for more than six months (google code has
gone away)
2017-04-30 devel/py-px: Unfetchable for more than six months (google code has
gone away)
2017-04-30 devel/nglogc: Unfetchable for more than six months (google code has
gone away)
2017-04-30 devel/bncsutil-ghost++: Unfetchable for more than six months (google
code has gone away)
2017-04-30 devel/liblouisxml: Unfetchable for more than six months (google code
has gone away)
2017-04-30 devel/nxt-python: Unfetchable for more than six months (google code
has gone away)
2017-04-30 devel/spdict: Unfetchable for more than six months (google code has
gone away)
2017-04-30 devel/guiloader-c++: Unfetchable for more than six months (google
code has gone away)
2017-04-30 devel/streamhtmlparser: Unfetchable for more than six months (google
code has gone away)
2017-04-30 devel/winpdb: Unfetchable for more than six months (google code has
gone away)
2017-04-30 net/opendpi: Unfetchable for more than six months (google code has
gone away)

Welcome GCC 8! GCC 7 (provided via lang/gcc7-devel) has been branched
for the release and this first GCC 8 snapshot is still very close to that,
whereas the coming months are going to provide a rougher ride through
the development stages of GCC 8.

New port: lang/myrddin
Myrddin is a systems programming language that covers a similar niche
as C including desktop, OS, and embedded development, but at the same
time making it harder to shoot yourself in the foot.
It is designed to be a simple language that runs close to the metal,
giving the programmer predictable and transparent behavior and mental
model. It also does strong type checking, generics, type inference,
closures, and traits.
Myrddin is not a language designed to explore the forefront of type
theory or compiler technology. It is not a language that is focused
on guaranteeing perfect safety. It is satisfied to be a practical,
small, fairly well defined, and easy to understand language for code
that needs to be close to the hardware.
WWW: https://myrlang.org/
Approved by: lme (mentor)
Differential Revision: https://reviews.freebsd.org/D9989

New ports: lang/ldc
The LDC project aims to provide a portable D programming language compiler
with modern optimization and code generation capabilities.
The compiler uses the official DMD frontends to support the latest version of
D2, and relies on the LLVM Core libraries for code generation.
LDC is fully Open Source; the parts of the code not taken/adapted from other
projects are BSD-licensed (see the LICENSE file for details).
WWW: http://wiki.dlang.org/LDC

Add lang/cling: Interactive C++ Interpreter Based on LLVM and Clang Libs
Cling is an interactive C++ interpreter,
built on the top of LLVM and Clang libraries.
Its advantages over the standard interpreters are that it has command prompt
and uses just-in-time (JIT) compiler for compilation.
One of Cling's main goals is to provide contemporary, high-performance
alternative of the current C++ interpreter in the ROOT project "CINT".
The backward-compatibility with CINT is major priority during the development.
Its main advantages are:
Production-grade parser.
Just-in-time compiler (JIT).
Modular C++ API from the ground up.
Separate parser and execution engine.
C++ 11 support through clang.
PR: 215689
Submitted by: Mahdi Mokhtari
Reviewed by: mat, novel
Differential Revision: https://reviews.freebsd.org/D9012

Add pocl.
Portable OpenCL aims to be an efficient open source (MIT-licensed)
implementation of the OpenCL 1.2 standard. pocl uses Clang as an
OpenCL C frontend and LLVM for the kernel compiler implementation,
and as a portability layer. Thus, if your desired target has an LLVM
backend, it should be able to get OpenCL support easily by using pocl.
PR: 171914
Submitted by: O.Hartmann <ohartmann@walstatt.org> (based on)

Importing KDE Frameworks into the ports tree (required for newer KDE Desktop and
Applications)
KDE Frameworks is a collection of libraries and software frameworks by KDE
that serve as technological foundation for KDE Plasma 5 and KDE Applications
distributed under the GNU Lesser General Public License (LGPL) [1].
The work is based on what we have in the KDE testing repo [2].
This is the next big step in updating the KDE Desktop and its Applications
to anything less dusty.
With this change, `USES=kde:5` is now a valid option. Ports that need to depend
on KDE Framework can now set:
USES=kde:5
USE_KDE=<framework1> <framework2> ... <frameworkX>

lang/referenceassemblies-pcl: add new port
You can build .NET apps across a wide variety of platforms, and the
Portable Class Library (PCL) helps you share your code and libraries across
.NET platforms. Specifically, the PCL provides a set of common reference
assemblies that enable .NET libraries and binaries to be used on any .NET
based runtime - from phones, to clients, to servers and clouds
Notes:
- The official reference assemblies come from a Microsoft download page.
- Additional reference assemblies come from Debian (via Mono).
- Bump PORTREVISION to indicate we are not using the pure PCL from Microsoft
- Provide a plain-text version of the EULA that is dialog(1) friendly.
- The official RTF based EULA is distributed alongside the LICENSE file

Remove expired ports without open PRs:
2016-07-04 security/openpgpsdk: Broken for more than 6 months
2016-07-04 security/radiusniff: Broken for more than 6 months
2016-07-04 security/pear-Auth_OpenID: Broken for more than 6 months
2016-07-04 security/sshit: Broken for more than 6 months
2016-07-04 security/ifd-slb_rf60: Broken for more than 6 months
2016-07-04 security/rainbowcrack: Broken for more than 6 months
2016-07-04 security/vlog: Broken for more than 6 months
2016-07-04 security/cryptstring: Broken for more than 6 months
2016-07-04 x11/libdnd: Broken for more than 6 months
2016-07-04 x11/xlupe: Broken for more than 6 months
2016-07-04 x11/xco: Broken for more than 6 months
2016-07-04 x11/xclick: Broken for more than 6 months
2016-07-04 devel/ocfpcsc: Broken for more than 6 months
2016-07-04 devel/dits: Broken for more than 6 months

Welcome to the GCC 6.1 release, the first release of the GCC 6 series.
The default mode for C++ is now -std=gnu++14 instead of -std=gnu++98.
Type-based alias analysis now disambiguates accesses to different pointers.
This improves precision of the alias oracle by about 20-30% on higher-level
C++ programs. Programs doing invalid type punning of pointer types may now
need -fno-strict-aliasing to work correctly.
Value range propagation now assumes that the this pointer of C++ member
functions is non-null. This eliminates common null pointer checks but also
breaks some non-conforming code-bases (such as Qt-5, Chromium, KDevelop).
As a temporary work-around -fno-delete-null-pointer-checks can be used.
Wrong code can be identified by using -fsanitize=undefined.

GCC 6 has branched for the release of GCC 6.1 and GCC trunk has become
the home of development for the GCC 7 series, so track this with a new
gcc7-devel port, starting with the 20160417 snapshot of GCC 7.0.0.
For the coming months, this will be highly volatile and likely broken
in various ways at various points in time, so not recommended for any
production use.

Merge cloudabi-clang with cloudabi-toolchain and install more useful tools.
Now that the previous changes to the cloudabi-clang package brought in
more LLVM tools, the package actually became a misnomer. Most of the
tools that it installed are not part of Clang, but of LLVM instead. My
plans of extending it to also install wrappers around man(1) and
pkgconf(1) would make the naming even worse.
The only reason that the cloudabi-clang package was created in the first
place, was because we still had some of the core CloudABI libraries part
of FreeBSD Ports. Now that these libraries are part of their own package
collection, it makes more sense to squash this package together with
cloudabi-toolchain.
The nice thing about installing a wrapper around pkgconf(1) named
${gnu_triple}-pkg-config is that Autoconf now automatically picks it up.
Running ./configure --host=${gnu_triple} is enough to make it detect the
cross compiled libraries it depends on.
Reviewed by: bapt
Differential Revision: https://reviews.freebsd.org/D5697

Remove expired ports:
2015-12-30 www/ocsigen: Broken for more than 6 months
2015-12-30 devel/monodevelop-database: Broken for more than 6 months
2015-12-30 lang/cduce: Broken for more than 6 months
2015-12-30 science/hdf-java: Broken for more than 6 months
2015-12-30 math/p5-Math-Geometry-Planar-GPC-Polygon: Broken for more than 6
months
2015-12-30 www/eliom: Depends on broken and expiring www/ocsigen
2015-12-30 audio/py-fastaudio: Broken for more than 6 months
2015-12-30 devel/jgoodies-common: Broken for more than 6 months
2015-12-30 graphics/pinta: Broken for more than 6 months
2015-12-30 games/kanatest: Broken for more than 6 months
2015-12-30 editors/bless: Broken for more than 6 months
2015-12-30 security/burpsuite: Broken for more than 6 months

At very long last land PyQt5 5.5.1 ports.
Add the required bits to Uses/pyqt.mk along with all the PyQt5 ports.
Thankfully this commit is mostly adding new ports, as the hard work was
already done in r403297 and r403662.
Huge kudos to Tobias Berner <tcberner@gmail.com> and, most importantly,
Guido Falsi (madpilot@) for their initial work on these ports (see D2910 in
Phabricator for an earlier version of the PyQt5 patch set).
PR: 204672

Add new port lang/gcc6-aux
This will be the successor to lang/gcc5-aux. GCC6 is still in development
although the Ada front end is generally stable. Once gcc6-aux is released,
the lang/gcc-aux port will likely be removed. For that to happen, the
gnatdroid compilers need to move from it to gcc5-aux or gcc6-aux. The
Ada framework will also move to gcc6-aux by default as well.

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

Add gnatdroid-x86 (3 new ports), X-compiler to Android-x86
Similar to lang/gnatdroid-armv7, lang/gnatdroid-x86 is a cross-compiler
targetting Android. The former targets ARMv7 processors while the latter
targets Android on x86 (32-bit). The latter also runs on Virtualbox as
a bonus. The new ports are implemented as slaves to the ARMv7 versions.
The GNAT ACATS were run, and it passed every test except CXG2024,
"accuracy of multiplication and division of mixed decimal and binary
fixed point numbers".
subtest 13: expected -51.00 got 50.0
subtest 14: expected 51.0 got 50.0
This is probably a rounding error unique to 32-bit x86. Overall this
version passed better than gnatdroid-armv7 because unwind is supported,

Update Mesa port to 10.6.6 and add Clover.
Add beignet 1.1.0.
Add clinfo, clblas, clfft and clrng.
The major change is that all Mesa ports are now configured the same way.
This fixes several problems and enables new features. The details
are described in this blog post:
http://blogs.freebsdish.org/graphics/2015/03/18/unifying-mesa-ports-configure/
The second important change is the OpenCL support. Mesa's
implementation, Clover, is enabled as well as Beignet. Clover
targets all Gallium drivers, only Radeon GPUs in our case. Beignet
is for Intel GPUs starting with Ivy Bridge. Thanks to Johannes
Dieterich, O. Hartman, and Koop Mast for their work on OpenCL! As a
bonus, there are several OpenCL-based math ports added (clblas,

Import lang/lfe.
LFE, Lisp Flavoured Erlang, is a lisp syntax front-end to the Erlang
compiler. Code produced with it is compatible with "normal" Erlang
code. An LFE evaluator and shell is also included.

- Update The Glorious Glasgow Haskell Compiler to version 7.10.2
- Include a patch for addressing timer issues [1]
- Add support for building both GHC and Haskell ports with Clang, either from
ports or the base system
- Discontinue supporting Haskell Platform, use Stackage instead as a
reference
- Drop support for FreeBSD 8.x, optimize bootstrap compiler tarballs
- Update Gtk2Hs to version 0.13 [2]
- Update Pandoc to version 1.15.0.6
- Update git-annex to version 5.20150727
- Update Darcs to 2.10 [3]
- Unbreak wxHaskell ports
Please note that port revisions for all the Haskell ports without version
changes are bumped.

- Resurrect lang/quack port, unbreak, and update to the latest version (0.47)
- Remove BROKEN on ia64 statement, it was never a first-class architecture
and officially killed in -CURRENT already
- Modernize and clean up the port while here, define LICENSE (GPLv2)

Add new file lang/spark (will become run-depends for GPS)
SPARK 2014 is a programming language and a set of verification tools
designed to meet the needs of high-assurance software development. SPARK
is based on Ada 2012, both subsetting the language to remove features that
defy verification, but also extending the system of contracts and aspects
to support modular, formal verification.
The new aspects support abstraction and refinement and facilitate deep
static analysis to be performed including information-flow analysis and
formal verification of an implementation against a specification.
SPARK is a much larger and more flexible language than its predecessor
SPARK 2005. The language can be configured to suit a number of application
domains and standards, from server-class high-assurance systems (such as
air-traffic management applications), to embedded, hard real-time,
critical systems (such as avionic systems complying with DO-178C Level A).
A major feature of SPARK is the support for a mixture of proof and other
verification methods such as testing, which facilitates the use of unit
proof in place of unit testing; an approach now formalized in DO-178C and
the DO-333 formal methods supplement. Certain units may be formally proven
and other units validated through testing.

Add cloudabi-clang.
This port adds the necessary symbolic links to make Clang work as a
cross compiler for CloudABI. Clang can automatically derive its target
from argv[0]. We don't need to install another copy of Clang. It is
sufficient to invoke it the right way.
CloudABI support is not yet part of a released version of Clang. This is
why we still need to depend on llvm-devel. My intent is to stick to a
fixed compiler version at one point in time.
PR: 200954
Differential Revision: https://reviews.freebsd.org/D2885
Approved by: bapt

Add new port lang/lua-ada
These are bindings to a Lua library for Ada. The gpr file is written for
the version of Lua that is default on the system that builds the port.
(see Mk/bsd.default-versions.mk)
There is no documentation available, but two examples with sources are
built and installed for illustration.

Now that GCC 5 has branched for the release of GCC 5.1, create a new port
gcc6-devel to track mainline GCC development, starting with the 20150412
snapshot of GCC 6.0.0.
(Since this really is a development version not necessarily recommended
for general use, start using the -devel moniker for this port. This is
not due to any changes in upstream policy or expected attributes of this
port, only an adjustment in how we name things.)

tcbasic implements a small subset of BASIC known as Tiny BASIC.
It provides the following statements and commands: INPUT, PRINT,
LET, GOTO, GOSUB, RETURN, IF, END, CLEAR, LIST, and RUN. Integer
arithmetic is supported, and strings may be PRINTed. A built-in
RND(n) function provides random numbers.
The small size of the language make it easy to learn and master
while providing all of the building blocks needed to develop many
interesting programs. tcbasic runs on a variety of platforms and
aims to be as portable as possible.
WWW: https://github.com/tcort/tcbasic
PR: 197938
Submitted by: Thomas Cort <linuxgeek@gmail.com>

Add lang/perl5-devel, which will be the one from which the lang/perl5.xx ports
will come from, from now on.
Please, only use the -devel port for testing, not for production purposes.
Sponsored by: Absolight

[NEW] lang/c: Tool to compile and run C programs like a shell script
Tool to compile and run C programs like a shell script.
WWW: https://www.github.com/ryanmjacobs/c
PR: 198365
Submitted by: neel@neelc.org

Add new port lang/gcc5-aux (next Ada compiler)
This is the initial version of gcc5-aux, which will eventually become the
default Ada compiler. It's not hooked into Mk/Uses/ada.mk yet, but it
does pass all Ada tests on both DragonFly64 and FreeBSD64.
For FreeBSD 10 amd64, the compiler built fine outside of poudriere but the
bootstrap compiler failed inside of it (seemingly as a result of using
base linker). Eventually a new bootstrap compiler needs to be made, but
for now gcc5-aux is built with a full bootstrap on FreeBSD. On DragonFly,
only a single stage is built as the bootstrap compiler still works fine.

Add lang/erlang-java and lang/erlang-wx.
These ports contain applications that are enabled by specific options in
lang/erlang, but carry significant dependencies (X11 and Java).
Now these applications can be installed separately, and people using the
stock packages will be able to install X11 and Java support without
recompiling lang/erlang.
The JAVA and WX options of lang/erlang will probably be phased out in the
future.

New port - 0.94
This module is an implementation of the "Promise/A+" pattern for
asynchronous programming. Promises are meant to be a way to
better deal with the resulting callback spaghetti that can often
result in asynchronous programs.

Add lua 5.3.0
Highlights from this new version:
Main new features are support for integers, bitwise operators, and a basic utf-8
library
Complete list of changes: http://www.lua.org/manual/5.3/readme.html#changes
List of incompatibilities with lua 5.2:
http://www.lua.org/manual/5.3/manual.html#8

Remove ports of obsolete and unmaintained upstream llvm/clang 3.2.
Mark pure as BROKEN by this removal. It should be updated to a recent
release that supports llvm 3.5, but has seen no substantive updates in
over a year.