head	1.14;
access;
symbols
	pkgsrc-2026Q3:1.12.0.2
	pkgsrc-2026Q3-base:1.12
	pkgsrc-2026Q2:1.11.0.10
	pkgsrc-2026Q2-base:1.11
	pkgsrc-2026Q1:1.11.0.8
	pkgsrc-2026Q1-base:1.11
	pkgsrc-2025Q4:1.11.0.6
	pkgsrc-2025Q4-base:1.11
	pkgsrc-2025Q3:1.11.0.4
	pkgsrc-2025Q3-base:1.11
	pkgsrc-2025Q2:1.11.0.2
	pkgsrc-2025Q2-base:1.11
	pkgsrc-2025Q1:1.10.0.2
	pkgsrc-2025Q1-base:1.10
	pkgsrc-2024Q4:1.9.0.2
	pkgsrc-2024Q4-base:1.9
	pkgsrc-2024Q3:1.8.0.8
	pkgsrc-2024Q3-base:1.8
	pkgsrc-2024Q2:1.8.0.6
	pkgsrc-2024Q2-base:1.8
	pkgsrc-2024Q1:1.8.0.4
	pkgsrc-2024Q1-base:1.8
	pkgsrc-2023Q4:1.8.0.2
	pkgsrc-2023Q4-base:1.8
	pkgsrc-2023Q3:1.7.0.4
	pkgsrc-2023Q3-base:1.7
	pkgsrc-2023Q2:1.7.0.2
	pkgsrc-2023Q2-base:1.7
	pkgsrc-2023Q1:1.6.0.4
	pkgsrc-2023Q1-base:1.6
	pkgsrc-2022Q4:1.6.0.2
	pkgsrc-2022Q4-base:1.6
	pkgsrc-2022Q3:1.5.0.4
	pkgsrc-2022Q3-base:1.5
	pkgsrc-2022Q2:1.5.0.2
	pkgsrc-2022Q2-base:1.5
	pkgsrc-2022Q1:1.4.0.2
	pkgsrc-2022Q1-base:1.4
	pkgsrc-2021Q4:1.1.0.10
	pkgsrc-2021Q4-base:1.1
	pkgsrc-2021Q3:1.1.0.8
	pkgsrc-2021Q3-base:1.1
	pkgsrc-2021Q2:1.1.0.6
	pkgsrc-2021Q2-base:1.1
	pkgsrc-2021Q1:1.1.0.4
	pkgsrc-2021Q1-base:1.1
	pkgsrc-2020Q4:1.1.0.2
	pkgsrc-2020Q4-base:1.1;
locks; strict;
comment	@# @;


1.14
date	2026.10.29.12.25.01;	author adam;	state Exp;
branches;
next	1.13;
commitid	GPtPZLY26fUKYm1H;

1.13
date	2026.09.26.10.12.14;	author wiz;	state Exp;
branches;
next	1.12;
commitid	3QPZS4NxR3I5j7XG;

1.12
date	2026.08.09.13.54.04;	author wiz;	state Exp;
branches;
next	1.11;
commitid	wfNTrzuwTI8U4YQG;

1.11
date	2025.04.20.20.18.23;	author wiz;	state Exp;
branches;
next	1.10;
commitid	07LsqaNXLJEnvPRF;

1.10
date	2025.02.23.11.37.55;	author wiz;	state Exp;
branches;
next	1.9;
commitid	q7degoPV4MTnqAKF;

1.9
date	2024.11.03.07.50.30;	author adam;	state Exp;
branches;
next	1.8;
commitid	OigwtDgkbTRgLawF;

1.8
date	2023.10.25.21.46.36;	author wiz;	state Exp;
branches;
next	1.7;
commitid	cCLGyFnadvGlr3KE;

1.7
date	2023.05.15.07.18.20;	author adam;	state Exp;
branches;
next	1.6;
commitid	eg0pbPYh9rhBS1pE;

1.6
date	2022.11.14.09.09.26;	author adam;	state Exp;
branches;
next	1.5;
commitid	dwx0weRXVECqlE1E;

1.5
date	2022.04.07.12.28.15;	author adam;	state Exp;
branches;
next	1.4;
commitid	FuLwnHJQlT52ygzD;

1.4
date	2022.01.25.21.51.58;	author wiz;	state Exp;
branches;
next	1.3;
commitid	TbZkG7NcjRx4Z3qD;

1.3
date	2022.01.11.21.49.03;	author nros;	state Exp;
branches;
next	1.2;
commitid	ljAxsEYkZWH0qgoD;

1.2
date	2022.01.10.19.17.09;	author adam;	state Exp;
branches;
next	1.1;
commitid	jqoejcc0TOcCB7oD;

1.1
date	2020.12.04.23.29.33;	author riastradh;	state Exp;
branches;
next	;
commitid	WNBVMijbPIMBVtyC;


desc
@@


1.14
log
@py-flit py-flit_core: updated to 4.2.0

Version 4.2

Flit now has a policy against using AI/LLMs for development.

Sdist include & exclude patterns are now matched regardless of Unicode normalisation form. This fixes a potential security issue, where a sensitive file may be published in an sdist even though it appears to match an exclusion rule. This may also depend on the filesystem, e.g. a rule that matches on Linux may not match on Mac, because Mac filesystems perform unicode normalisation.
If you have sensitive information in your project folder and you rely on include/exclude patterns to keep it out of sdists, it’s still a good idea to check them carefully. A malicious contributor could still use other tricks, such as Unicode lookalike characters, to make a pattern that doesn’t do what it appears to.
Flit will now refuse to build an sdist with symlinks that point outside of the project directory. This is a security issue for a consumer unpacking the sdist, and the consumer still needs to verify it, but this makes it harder to accidentally produce an sdist which consumers will reject.
Similarly, Flit will refuse to build wheels with symlinks pointing outside of the project directory, or using a README from outside the project directory. Either of these routes could previously have included files from the build machine into a wheel.
This change does not make it safe to build arbitrary untrusted packages with Flit; code from the package may still be executed. The aim is to make building more predictable, to reduce what needs to be manually verified. If you do not trust the source of a package, it is best to only attempt to build it in a secure sandbox with no access to sensitive information.
Allow environment markers to start with a parenthesised clause
Text in [] brackets in requirements should only be name normalised if it is the name of an extra group
Allow uploading to PyPI with a configured URL missing the trailing slash
Fix flit install --symlink installing into a directory with spaces in the path
Improved error messages for various cases, including hiding tracebacks in more cases where they are not informative
@
text
@# $NetBSD: Makefile,v 1.13 2026/09/26 10:12:14 wiz Exp $

DISTNAME=	flit_core-4.2.0
PKGNAME=	${PYPKGPREFIX}-${DISTNAME}
CATEGORIES=	devel python
MASTER_SITES=	${MASTER_SITE_PYPI:=f/flit-core/}

MAINTAINER=	pkgsrc-users@@NetBSD.org
HOMEPAGE=	https://flit.readthedocs.io/
COMMENT=	Distribution-building parts of Flit
LICENSE=	modified-bsd

TEST_DEPENDS+=	${PYPKGPREFIX}-test>=0:../../devel/py-test
TEST_DEPENDS+=	${PYPKGPREFIX}-testpath>=0:../../devel/py-testpath

USE_LANGUAGES=	# none
PY_PATCHPLIST=	yes

do-build:
	cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${PYTHONBIN} -m flit_core.wheel

do-install:
	cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${PYTHONBIN} bootstrap_install.py --installdir ${DESTDIR}${PREFIX}/${PYSITELIB} dist/flit_core*.whl
	find ${DESTDIR}${PREFIX}/${PYSITELIB} -name *.py | ${PYTHONBIN} -m py_compile -

do-test:
	cd ${WRKSRC} && ${SETENV} ${TEST_ENV} pytest-${PYVERSSUFFIX} tests_core

.include "../../lang/python/extension.mk"
.include "../../mk/bsd.pkg.mk"
@


1.13
log
@py-flit_core: update to 4.1.0.

4.1.0

License expressions with named exceptions, the WITH syntax, are accepted (PR #809).

flit init allows dotted module names, for a component of a namespace package (#822).

Fix line endings in .cmd script wrappers on Windows (PR #824).

4.0.3

Fix built wheels being created with overly restrictive 0600
permissions instead of the normal, world-readable 0644 (PR #806).
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.12 2026/08/09 13:54:04 wiz Exp $
d3 1
a3 1
DISTNAME=	flit_core-4.1.0
d13 2
a14 2
TEST_DEPENDS+=	${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test
TEST_DEPENDS+=	${PYPKGPREFIX}-testpath-[0-9]*:../../devel/py-testpath
@


1.12
log
@py-flit_core: update to 4.0.2.

Version 4.0.2

Fix invalid metadata files with Import-Name (#813).

Version 4.0.1

No changes, but a new tag to trigger an upload to PyPI now that
twine will accept it.

Version 4.0

This version contains breaking changes, but most projects which
are already using the [project] table for metadata shouldn’t be
affected, and can simply change the flit_core <4 constraint to <5.

The [tool.flit.metadata] table is no longer used for project metadata
(PR #771). Use the newer [project] table instead (or if that is
not possible, build with flit_core <4).

flit build and flit publish no longer include files in the sdist
based on what is committed in git or Mercurial (PR #772).  These
commands now build packages more like Flit does when called as a
backend by e.g. python -m build. Specify sdist include & exclude
patterns instead (Flit can help to generate these), or pass the
--use-vcs option to get the old behaviour back.

flit_core now requires Python 3.8 or above (PR #738)

The --setup-py option to generate sdists containing a setup.py file
is no longer available (PR #776).

Making typing stubs packages with a -stubs suffix will now work
(PR #742).

The default glob patterns for license files have been extended to
include NOTICE* and AUTHORS* (PR #758).

license-files glob patterns can contain spaces (PR #797).

Fix a bug where license files could be found twice on Windows (PR
#752).

The new Import-Name and Import-Namespace metadata fields (metadata
2.5) are now supported (PR #774). In most cases no new input is
required, as Flit will create this metadata automatically.

Fix creating RECORD files when file names include commas (PR #744).

The --use-vcs option now correctly recognises git from inside a
git worktree folder (PR #799).

On Python 3.12 and above, flit build now uses the ‘data’ filter
when extracting the just-created sdist prior to building a wheel
(PR #775). This restricts some special features of tar files, but
sdists are unlikely to use these features, and they would probably
break in other scenarios if you did.

The vendorised readme_renderer package was updated to version 44.0
(PR #760).
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.11 2025/04/20 20:18:23 wiz Exp $
d3 1
a3 1
DISTNAME=	flit_core-4.0.2
@


1.11
log
@py-flit_core: update to 3.12.0.

    Support for license expressions using the AND and OR operators (PR #731).
    Recognise __version__: str = "0.1" annotated assignments when finding the version number (PR #728).
    Clear error message when referring to a license file in a parent directory, which is not supported (PR #725).
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.10 2025/02/23 11:37:55 wiz Exp $
d3 1
a3 1
DISTNAME=	flit_core-3.12.0
@


1.10
log
@py-flit_core: update to 3.11.0.

Support for SPDX license expressions and multiple license files,
as detailed in PEP 639:

    license = "BSD-3-Clause"
    license-files = ["LICENSE"]

For now, only a single license identifier is allowed. More complex
expressions describing multiple licenses & expressions may be
supported in a future version.

The metadata format in produced packages is now version 2.4, to
support the expanded license information.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.9 2024/11/03 07:50:30 adam Exp $
d3 1
a3 1
DISTNAME=	flit_core-3.11.0
@


1.9
log
@py-flit_core py-flit: updated to 3.10.1

Version 3.10.1

- The sdist of ``flit_core`` now includes the corresponding tests
  These were missing in 3.10.

Version 3.10

- ``flit publish`` can now use PyPI tokens stored in keyring
  either project tokens with a 'username' like
  :samp:`pypi_token:project:{project_name}` (use the `normalised form of the
  name <https://packaging.python.org/en/latest/specifications/name-normalization/>`_)
  or user tokens
- The ``--python`` option can now take the path of a virtualenv folder, as an
  alternative to a Python executable
- Flit will work with current development versions of Pythona again
- The ``flit`` command line package now requires Python 3.8 or above
  ``flit_core`` still works with Python 3.6 or above.
- The metadata in packages now has the names of optional dependency groups
  ("extras") normalised, complying with version 2.3 of the metadata standard
- The ``flit`` command line package now depends on pip
- Fix potential substitution of environment variables into passwords read from
  ``.pypirc`` files
- A warning is now shown when building packages which specify the old
  ``flit.buildapi`` backend, which should be replaced by ``flit_core.buildapi``
  build requirement, to protect against changes in future major versions of Flit.
- Avoid using the deprecated ``datetime.utcfromtimestamp()``
- Flit now has a ``SECURITY.md`` file in the Github repository
- The tests for ``flit_core`` are no longer part of the installed package,
  reducing the size of the wheels
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.8 2023/10/25 21:46:36 wiz Exp $
d3 1
a3 1
DISTNAME=	flit_core-3.10.1
@


1.8
log
@py-flit_core: make this module standalone

This now needs no other Python modules to build and install.

This is relevant because py-flit_core is currently the recommended
method to bootstrap Python module distributions from scratch.

Bump PKGREVISION.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.7 2023/05/15 07:18:20 adam Exp $
d3 1
a3 1
DISTNAME=	flit_core-3.9.0
a4 1
PKGREVISION=	1
d17 1
a17 3

PYTHON_VERSIONS_INCOMPATIBLE=	27
PY_PATCHPLIST=			yes
d27 1
a27 1
	cd ${WRKSRC} && ${SETENV} ${TEST_ENV} pytest-${PYVERSSUFFIX} flit_core/tests
@


1.7
log
@py-flit_core py_flit: updated to 3.9.0

Version 3.9

New options flit build --use-vcs and flit build --no-use-vcs to enable & disable including all committed files in the sdist. For now --use-vcs is the default, but this is likely to change in a future version, to bring flit build in line with standard build frontends like python -m build.
Sdist file names, and the name of the top-level folder in an sdist, are now normalised, in accordance with PEP 625.
A statically defined version number can now be parsed from files called version.py, _version.py or __version__.py inside a packge, as well as from __init__.py, so executing code is required in fewer cases.
Fix setting the flag for regular files in zip metadata.
The timestamp embedded in the gzip wrapper for sdists now defaults to a fixed date, so building an sdist twice on the same machine should produce identical results, even without any special steps. Setting SOURCE_DATE_EPOCH is still recommended for properly reproducible builds.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.6 2022/11/14 09:09:26 adam Exp $
d5 1
d20 8
d32 1
a32 1
.include "../../lang/python/wheel.mk"
@


1.6
log
@py-flit_core py-flit: updated to 3.8.0

Version 3.8

A project name containing hyphens is now automatically translated to use underscores for the import name
New option flit install --only-deps to install the dependencies of the package, but not the package itself.
Add support for recursive globbing (**) in sdist includes and excludes
Python’s bytecode cache files (__pycache__ folders and .pyc files) are now always excluded from sdists
Use tomllib in Python 3.11, rather than tomli
Fix crash when unable to get a password from keyring
Fix including modified files in sdist when using Mercurial
Fix for some cases of determining whether a package supports Python 2 or not
Fix parsing version number from code using multiple assignments
Document how to use a PyPI token with FLIT_PASSWORD
Fix link to information about environment variables for pip
Link to the docs for the latest stable version in package metadata
Remove a mention of the toml package, which is no longer needed, from the Developing Flit page
The bootstrap install script for flit_core accepts a new --install-root option.
Ensure the license file is included in packages on PyPI
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.5 2022/04/07 12:28:15 adam Exp $
d3 1
a3 1
DISTNAME=	flit_core-3.8.0
d13 2
a14 2
TEST_DEPENDS+=	${PYPKGPREFIX}-test>=0:../../devel/py-test
TEST_DEPENDS+=	${PYPKGPREFIX}-testpath>=0:../../devel/py-testpath
@


1.5
log
@py-flit_core py-flit: updated to 3.7.1

Version 3.7.1

Fix building packages which need execution to get the version number, and have a relative import in __init__.py.


Version 3.7

Support for external data files such as man pages or Jupyter extension support files.
Project names are now lowercase in wheel filenames and .dist-info folder names, in line with the specification.
Improved support for bootstrapping a Python environment, e.g. for downstream packagers. flit_core.wheel is usable with python -m to create wheels before the build tool is available, and flit_core sdists also include a script to install itself from a wheel before installer is available.
Use newer importlib APIs, fixing some deprecation warnings
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.4 2022/01/25 21:51:58 wiz Exp $
d3 1
a3 1
DISTNAME=	flit_core-3.7.1
@


1.4
log
@py-flit_core: wheel.mk is now standalone, remove extension.mk
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.3 2022/01/11 21:49:03 nros Exp $
d3 1
a3 1
DISTNAME=	flit_core-3.6.0
d20 3
@


1.3
log
@make py-flit_core use pep517 for building
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.2 2022/01/10 19:17:09 adam Exp $
a20 1
.include "../../lang/python/extension.mk"
@


1.2
log
@py-flit_core py-flit: updated o 3.6.0

Version 3.6

flit_core now bundles the tomli TOML parser library (version 1.2.3) to avoid a circular dependency between flit_core and tomli

Version 3.5.1

Fix development installs with flit install --symlink and --pth-file, which were broken in 3.5.0, especially for packages using a src folder

Version 3.5

You can now use Flit to distribute a module or package inside a namespace package (as defined by PEP 420). To do this, specify the import name of the concrete, inner module you are packaging - e.g. name = "sphinxcontrib.foo" - either in the [project] table, or under [tool.flit.module] if you want to use a different name on PyPI
Flit no longer generates a setup.py file in sdists (.tar.gz packages) by default
Fixed how flit init handles authors' names with non-ASCII characters
When flit init generates a LICENSE file, the new pyproject.toml now references it

Version 3.4

Python 3.6 or above is now required, both for flit and flit_core.
Add a --setup-py option to flit build and flit publish, and a warning when neither this nor --no-setup-py are specified
Add support for standardised editable installs - pip install -e - according to PEP 660
Add a --pypirc option for flit publish to specify an alternative path to a .pypirc config file describing package indexes
Fix installing dependencies specified in a [project] table
Fix building wheels when SOURCE_DATE_EPOCH (see :doc:`reproducible`) is set to a date before 1980
Switch to using the tomli TOML parser, in common with other packaging projects
Add a document on :doc:`bootstrap`

Version 3.3

PKG-INFO files in sdists are now generated the same way as METADATA in wheels, fixing some issues with sdists
flit publish now sends SHA-256 hashes, fixing uploads to GitLab package repositories
The [project] metadata table from PEP 621 is now fully supported and :ref:`documented <pyproject_toml_project>`. Projects using this can now specify requires = ["flit_core >=3.2,<4"] in the [build-system] table.

Version 3.2

Experimental support for specifying metadata in a [project] table in pyproject.toml as specified by PEP 621
Fix writing METADATA file with multi-line information in certain fields such as Author
Fix building wheel when a directory such as LICENSES appears in the project root directory

Version 3.1

Update handling of names & version numbers in wheel filenames and .dist-info folders in line with changes in the specs
Switch from the deprecated pytoml package to toml
Fix specifying backend-path in pyproject.toml for flit-core (as a list instead of a string).
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.1 2020/12/04 23:29:33 riastradh Exp $
a2 1
# Important: Re-generate files/setup.py on update.
d20 2
a21 7
pre-configure:
	${CP} ${FILESDIR}/setup.py ${WRKSRC}/

do-test:
	cd ${WRKSRC} && ${SETENV} ${TEST_ENV} pytest-${PYVERSSUFFIX} flit_core/tests

.include "../../lang/python/egg.mk"
@


1.1
log
@devel/py-flit: Import py-flit 3.0.0

Python and PyPI packaging tool.  Core library and bootstrapping goo
imported as devel/py-flit_core at the same time.  From the README:

   Flit is a simple way to put Python packages and modules on PyPI.

   It tries to require less thought about packaging and help you avoid
   common mistakes.
@
text
@d1 1
a1 1
# $NetBSD$
d3 5
a7 2
PKGNAME=	${PYPKGPREFIX}-${GITHUB_PROJECT}_core-${DISTNAME}
CATEGORIES=	devel
d11 1
a11 1
COMMENT=	Python and PyPI packaging tool -- core library
d14 2
a15 1
.include "../../devel/py-flit/Makefile.common"
d17 3
a19 2
TOOL_DEPENDS+=	${PYPKGPREFIX}-pip>=0:../../devel/py-pip
TOOL_DEPENDS+=	${PYPKGPREFIX}-pytoml>=0:../../textproc/py-pytoml
d21 2
a22 1
USE_LANGUAGES=	# none
d24 2
a25 19
MAKE_ENV+=	PIP_DISABLE_PIP_VERSION_CHECK=1
MAKE_ENV+=	PIP_ISOLATED=1
MAKE_ENV+=	PIP_NO_CACHE_DIR=1
MAKE_ENV+=	PIP_NO_DEPS=1
MAKE_ENV+=	PIP_NO_INDEX=1
MAKE_ENV+=	PIP_PREFIX=${PREFIX:Q}
MAKE_ENV+=	PIP_PROXY=0.0.0.0:0
MAKE_ENV+=	PIP_ROOT=${DESTDIR:Q}

do-build:
	${RUN} \
	cd ${WRKSRC}/flit_core && \
	${SETENV} ${MAKE_ENV} ${PYTHONBIN} build_dists.py

do-install:
	${RUN} \
	cd ${WRKSRC}/flit_core/dist && \
	${SETENV} ${MAKE_ENV} pip${PYVERSSUFFIX} install \
		./flit_core-${GITHUB_TAG}-py3-none-any.whl
d27 1
a27 2
PY_PATCHPLIST=	yes
.include "../../lang/python/extension.mk"
@

