* Switch to the PEP-517 build framework and remove the setuptools
workaround.
* Also convert "do-test" target to USE_PYTHON=pytest while I'm here.
Changelog:
https://github.com/networktocode/ntc-templates/compare/v3.1.0...v3.2.0
MFH: No (PEP-517 support not present in the 2023Q1 branch)
Version 0.3.11
~~~~~~~~~~~~~~
Released: 2023-02-20
New Features:
- Add limited support for XPath 1.0 'in' (Richard Hughes)
- Add support for zstd (Richard Hughes)
Bugfixes:
- Do not assert() when decompressing invalid LZMA (Richard Hughes)
Sunday, 12 February 2023
KDE today announces the release of KDE Frameworks 5.103.0.
KDE Frameworks are 83 addon libraries to Qt which provide a wide variety
of commonly needed functionality in mature, peer reviewed and well
tested libraries with friendly licensing terms. For an introduction see
the KDE Frameworks release announcement.
This release is part of a series of planned monthly releases making
improvements available to developers in a quick and predictable manner.
Announcement: https://kde.org/announcements/frameworks/5/5.103.0/
PR: 269526
Exp-run by: antoine
clang15 used by current is stricter -- probably, incorrectly so.
For example, -Wstrict-prototypes will now flag the following:
int fun(void);
...
int fun()
{
}
The definition must have an explicit "void"... There was also a
variable, which was set -- and even incremented -- but the of its
value was commented out in the upstream code decades ago. The
compiler now flags it -- correctly -- as set, but not used.
www/writefreely had a stray duplicate MAINTAINER block
from an earlier botched commit. I did intentionally not
touch the entry in UPDATING.
Reviewed by: eduardo, flo
Differential Revision: https://reviews.freebsd.org/D38435
Despite installer's default behaviour to compile and install bytecode,
we are not doing so going forward at stage/package time. [0] During
initial development and qualification of PEP-517 framework support,
compiling and installing bytecode at stage/package time was considered,
but was found problematic, fragile and ultimately unreliable, both
currently and historically (with USE_PYTHON=distutils), due to our
fixed plist requirement. While the living binary distribution format
(wheel) specification [1] says to compile bytecode, that is in the
pure Python package management context (pip, etc); nuance always
exists when interacting with "system" package management.
Additionally, "bytecode is an implementation detail of the CPython
interpreter. No guarantees are made that bytecode will not be added,
removed, or changed between versions of Python," thus "should not
be considered to work across Python VMs or Python releases." [2]
This is important to ensuring correctness for those ports specifying
NO_ARCH.
Instead of compiling and installing bytecode at stage/package time,
there is a WIP, review D34739, that compiles and installs bytecode
at install time instead, using triggers.
The aforementioned build_fs_violations will be investigated.
This reverts commit de6965254c.
With hat: python
Approved by: tcberner (mentor, portmgr)
Reference: https://wiki.freebsd.org/Python/PEP-517 [0]
https://packaging.python.org/en/latest/specifications/binary-distribution-format/ [1]
https://docs.python.org/3/library/dis.html [2]
- While I'm here, use long options for easier reading [1][2]
- Bump PORTREVISION of dependent ports (USE_PYTHON=pep517) for package change
It fixes build_fs_violation of dependent ports in poudriere (with -t flag).
It is also the default behavior of installer [2].
from py-sphinx log:
=>> Checking for staging violations... done
=>> Error: Filesystem touched during stage (files must install to ${STAGEDIR}):
extra: usr/local/lib/python3.9/site-packages/importlib_metadata/__pycache__
=>> Cleaning up wrkdir
from installer documentation:
--compile-bytecode
Possible choices: 0, 1, 2
generate bytecode for the specified optimization level(s) (default=0, 1)
--no-compile-bytecode
don’t generate bytecode for installed modules
Default: False
With hat: python
Reference: https://pypa-build.readthedocs.io/en/stable/ [1]
https://installer.pypa.io/en/stable/cli/installer/ [2]