Final removal of WITH_NEW_XORG
This knob was turned on for all version of FreeBSD in r369875
(2014-10-03) and officially deprecated. Since then, it was gradually
removed from many ports when they needed an update.
x11-servers/xorg-server was the last major user of this knob. The port
was updated to xserver 1.14 in r374982 (2014-12-19). The update got rid
of the knob, clearing the path to the final removal.
This commit changes ports who were checking for WITH_NEW_XORG and remove
its handling from bsd.port.mk.
While here, two sanity checks are added to warn user about WITH_KMS and
WITH_NEW_XORG which have no effect now.
Differential Revision: https://reviews.freebsd.org/D1351
Reviewed by: antoine, bapt, kwm
Approved by: portmgr (antoine, bapt), kwm

- Rename PYTHON_FEATURES to USE_PYTHON to comply to USE_PERL5 and to avoid a
conflict in behaviour with the read-only COMPILER_FEATURES knob
- Fix the deprecated USE_PYTHON_BUILD and USE_PYTHON_RUN behaviour, which
usually should be mutually exclusive, but some ports include both knobs
Phabric: D581
Recommended by: danfe@, makc@
Reviewed by: danfe, wg, antoine
Approved by: portmgr
With hat: python@

Support for installations based on the easy_install setup.py target has
been removed from the Ports framework for Python software. The
PYEASYINSTALL_* knobs and support for USE_PYDISTUTILS=easy_install have
been removed.
Phabric: D299
With hat: python@

Mk/bsd.sanity.mk: note about python auto plist and pkgname
PYDISTUTILS_PKGNAME is useless when used with USE_PYDISTUTILS=yes and
PYDISTUTILS_AUTOPLIST as its only function is to determine egg info name.
Approved by: portmgr (bapt)

Mk/bsd.sanity.mk: note USE_PYDISTUTILS=easy_install deprecation
Now that all python packages use setuptools and eggs are undesired for system
wide packages the ports should use USE_PYDISTUTILS=yes instead.
Approved by: portmgr (bapt)

bsd.sanity.mk: add a warning not to use the BSD license
The 'BSD' license covered 3+ different licenses some of which were not OSI
approved. Instead we now have 3 separate licenses.
Approved by: portmgr (tabthorpe)

Add sanity check for LIB_DEPENDS and RUN_DEPENDS.
Ports does not support relative paths in ${TYPE}_DEPENDS and actually breaks
the dependency registration with pkgng. This occurs in ACTUAL_PACKAGE_DEPENDS
where ${PORTSDIR} is stripped from the dependencies' directory and uses the
rest of the string as the package origin. pkg(8) then fails to detect package
origins with relative paths.
Approved by: portmgr (bapt)

- add new USES target: zope, and convert the tree to it
- old USE_ZOPE knob support was removed from bsd.python.mk
- update CHANGES and bsd.sanity.mk accordingly
- add ZOPE options knob and use it in lang/py-mx-base
The work is done by Marcus von Appen, but any problems are mine.
Submitted by: mva (python ML)

Add support for staging area in the ports tree
The ports tree is now staged by default. With pkgng the sequence hasn't
changed, the main difference is that creating package is now independent
from installing it. With pkg_install, the package is now created first
and make install, do install the package.
New macros:
- STAGEDIR: PATH to the directory where the port will be staged.
- NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area)
Unsupported macro if NO_STAGE is not set:
- MAN* with staging man page compression and handling of hardlinks and
symlinks is automatically done in the stage. the manpages becomes then a
"normal" plist files and should be tracked in pkg-plist.

- Implement USES+=tcl and USES+=tk
- Use bsd.default-versions.mk to specify the default Tcl/Tk version (8.6)
- Add warnings about the now deprecated use of USE_TCL, USE_TK, ...
Notes:
* USES+=tcl and USES+=tk take the following optional arguments
- either a version in the form of XY or XY+, or 'wrapper' to depend on
lang/tcl-wrapper or x11-toolkits/tk-wrapper
- either 'build' (bring in build depend) or 'run' (bring in run depend)
* it is an error to specify both 'tcl' and 'tk' in USES.
* The functionality currently implemented via INVALID_TCL_VER and
INVALID_TK_VER is not yet available.
Approved by: bapt (portmgr)

Do not recommand to drop ltverhack because it needs to be done with cautious,
to avoid users having to rebuild the whole dependency chain for "free".
Maintainer should drop ltverhak on major upgrades only.
Requested by: kwm

Move the target for sanity checking to the end of bsd.port.mk so that
WARNING and DEV_* can be defined anywhere
While here, change sleep time from 5 to 10 so that users have time to read it
[1]
Suggested by: many [1]

Add a new bsd.sanity.mk.
This file is responsible to do some sanity checking on port, as well as doing
some sanity checking on users configuration
New macro for developer: WARNING (this will issue a warning to the normal users
can be used to warn the user about deprecating feature that will be unsupported
soon.
New macro to put in your make.conf for Maintainers: DEVELOPER=yes this macro
will activate warning on usage of deprecated features and errors on now
unspported usage of macros.
Reviewed by: bdrewery