Changes since 19.3.3:
The code that handles license names is the same for Python and Perl
modules.
Python packages that use distutils.extension can be handled. An example
package is devel/py-pysha3.
The DESCR file is filled from the package's README file.
The PLIST is generated with some comments providing further assistance.
Changes since 19.3.2:
The rationale for variables like BROKEN, GCC_REQD and for direct
inclusion of builtin.mk files may span multiple lines, and it may end
with an empty comment line.
Changes since 19.3.1:
* Pkglint no longer warns about a missing :Q modifier if there is also
a :D modifier, since the latter hides the original variable value
from the expression value.
* Variable names like .CURDIR are now allowed in the _VARGROUPS section.
* In dependency lines like "${_COOKIE.extract}:", pkglint no longer
warns about the unknown target. No matter whether this is a file name
or even a list of other targets, there's no chance for a typo here.
* If some dependencies are included conditionally, and the package
Makefile and buildlink3.mk disagree, and the conditions depend on
PKG_OPTIONS, pkglint outputs a helpful explanation.
* The check for including builtin.mk directly can be disabled by giving
a reason in a comment at the end of the line.
Placing the code into a main function allows the tests to source the file
without any side effects.
The LC_ALL=C environment variable is necessary on NetBSD/x86_64 8.0 in
the en_US.UTF-8 locale since otherwise R dumps core in the source(...)
call, deep inside towctrans.
Before, it was difficult to edit the R code since all dollars,
backslashes and backticks had to be escaped. Separating the code also
makes the R part testable on its own.
Changes since 0.6:
* Run properly even if TMPDIR is not set.
* Quote variables to prevent unintended interpolation.
* Write error messages to stderr instead of stdout.
Changes since 19.3.0:
* In buildlink3.mk files, the package identifier doesn't have to match
the PKGBASE from the package Makefile exactly. The PKGBASE may have a
leading "lib" (for libiconv and libgettext), as well as a trailing
number (for emacs20 and netatalk22).
* GITHUB_RELEASE is added to the variables that should appear in a fixed
order in the package Makefile.
* In the MASTER_SITE URLs, the transport protocol is irrelevant for
matching direct URLs to the predefined MASTER_SITE_* variables.
The motivation is to consider meson as an application, so there is only
one copy on the system, and as a python 3 program, it can build python 2
packages.