[neon/forks/sip6/Neon/release] /: New upstream version 6.14.0
Dmitry Shachnev
null at kde.org
Wed Dec 3 06:39:48 GMT 2025
Git commit f7b528f4d76de3d9ffb1416c045f081978c751c4 by Dmitry Shachnev.
Committed on 23/10/2025 at 18:28.
Pushed by carlosdem into branch 'Neon/release'.
New upstream version 6.14.0
M +3 -3 .git_archival.txt
M +7 -0 docs/command_line_tools.rst
M +1 -1 docs/conf.py
M +14 -0 docs/releases.md
M +20 -0 examples/package/core/README
M +20 -0 examples/package/extras/README
M +8 -7 sipbuild/buildable.py
M +8 -1 sipbuild/builder.py
M +4 -0 sipbuild/generator/resolver/resolver.py
M +2 -2 sipbuild/project.py
https://invent.kde.org/neon/forks/sip6/-/commit/f7b528f4d76de3d9ffb1416c045f081978c751c4
diff --git a/.git_archival.txt b/.git_archival.txt
index 972908a..686ea38 100644
--- a/.git_archival.txt
+++ b/.git_archival.txt
@@ -1,3 +1,3 @@
-node: bc5fb1968bf3b6177fda61308f0a4ed2e58472c2
-node-date: 2025-10-10T16:26:04+01:00
-describe-name: 6.13.1
+node: 0e24a7f10b5aa588dbe2656d1450f9a919931393
+node-date: 2025-10-23T16:48:04+01:00
+describe-name: 6.14.0
diff --git a/docs/command_line_tools.rst b/docs/command_line_tools.rst
index fff56c0..1876dbb 100644
--- a/docs/command_line_tools.rst
+++ b/docs/command_line_tools.rst
@@ -473,6 +473,13 @@ The full set of command line options is:
Display the SIP version number.
+.. option:: --abi-version M[.N]
+
+ The version number of the ABI of the :mod:`sip` module to target is
+ ``M.N``. By default the latest major version is used. If the minor
+ version is not specified then the latest minor version of the major version
+ is used.
+
.. option:: --deprecations-are-errors
The use of any deprecated feature is handled as an error rather than a
diff --git a/docs/conf.py b/docs/conf.py
index 90d7345..f96dca2 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -13,7 +13,7 @@ project = 'sip'
copyright = '{0} Phil Thompson <phil at riverbankcomputing.com>'.format(
date.today().year)
author = 'Phil Thompson'
-version = 'v6.13.1'
+version = 'v6.14.0'
# -- General configuration ---------------------------------------------------
diff --git a/docs/releases.md b/docs/releases.md
index 40f3729..a6e5164 100644
--- a/docs/releases.md
+++ b/docs/releases.md
@@ -1,5 +1,19 @@
# Release Notes
+## v6.14.0
+
+### Specification of target ABI version
+
+`sip-sdist` now has a `--abi-version` command line option to be used if a value
+is not specified in `pyproject.toml`.
+
+### Bug fixes
+
+- Bugs in the handling of the default target ABI have been fixed.
+- Fixed a regression in v6.13.1 in the handling of composite modules. Resolves
+ [#95](https://github.com/Python-SIP/sip/issues/95)
+
+
## v6.13.1
### Bug fixes
diff --git a/examples/package/core/README b/examples/package/core/README
index 76ee03b..da4687c 100644
--- a/examples/package/core/README
+++ b/examples/package/core/README
@@ -1,2 +1,22 @@
This is the 'root' project of the examples package (i.e. it does not import any
other module in the package (other than the examples.sip module).
+
+To create and install the extension module, run:
+
+ sip-install
+or
+ pip install .
+
+To create and install an sdist, run::
+
+ sip-sdist
+ pip install examples_core-0.1.tar.gz
+
+To create and install a wheel, run::
+
+ sip-wheel
+ pip install examples_core-0.1-*.whl
+
+To uninstall the extension module, run:
+
+ pip uninstall examples_core
diff --git a/examples/package/extras/README b/examples/package/extras/README
index 5edeec6..24a8965 100644
--- a/examples/package/extras/README
+++ b/examples/package/extras/README
@@ -1,3 +1,23 @@
This is a separate project to the 'examples-core' project (possibly with a
different maintainer) that extends the 'extras' bindings to the 'example'
package.
+
+To create and install the extension module, run:
+
+ sip-install
+or
+ pip install .
+
+To create and install an sdist, run::
+
+ sip-sdist
+ pip install examples_extras-0.1.tar.gz
+
+To create and install a wheel, run::
+
+ sip-wheel
+ pip install examples_extras-0.1-*.whl
+
+To uninstall the extension module, run:
+
+ pip uninstall examples_extras
diff --git a/sipbuild/buildable.py b/sipbuild/buildable.py
index dd8e324..f32a3dc 100644
--- a/sipbuild/buildable.py
+++ b/sipbuild/buildable.py
@@ -183,14 +183,15 @@ class BuildableBindings(BuildableModule):
with open(config_path, 'w') as cf:
sip_version_str = SIP_VERSION_STR if self.project.version_info else ''
+ abi_major, abi_minor = self.project.target_abi
tags = ', '.join(['"{}"'.format(t) for t in bindings.tags])
disabled = ', '.join(
['"{}"'.format(f) for f in bindings.disabled_features])
- cf.write("# Automatically generated configuration for {0}.\n".format(self.fq_name))
- cf.write('''
-sip-version = "{}"
-sip-abi-version = "{}"
-module-tags = [{}]
-module-disabled-features = [{}]
-'''.format(sip_version_str, self.project.abi_version, tags, disabled))
+ cf.write(f"# Automatically generated configuration for {self.fq_name}.\n")
+ cf.write(f'''
+sip-version = "{sip_version_str}"
+sip-abi-version = "{abi_major}.{abi_minor}"
+module-tags = [{tags}]
+module-disabled-features = [{disabled}]
+''')
diff --git a/sipbuild/builder.py b/sipbuild/builder.py
index 4f6ad30..c39970a 100644
--- a/sipbuild/builder.py
+++ b/sipbuild/builder.py
@@ -14,7 +14,7 @@ from .abstract_builder import AbstractBuilder
from .distinfo import write_metadata
from .exceptions import UserException
from .installable import Installable
-from .module import copy_sip_h, copy_sip_pyi
+from .module import copy_sip_h, copy_sip_pyi, get_latest_version
from .py_versions import OLDEST_SUPPORTED_MINOR
@@ -83,6 +83,13 @@ class Builder(AbstractBuilder):
shutil.copy2(s_fn_path, d_fn_path)
+ # If we don't know the target ABI at this point then default to the
+ # latest version.
+ if project.target_abi is None:
+ major_version = get_latest_version()
+ minor_version = get_latest_version(major_version)
+ project.target_abi = (major_version, minor_version)
+
# Create the PKG-INFO file. This is assumed to be identical to the
# .dist-info/METADATA file.
write_metadata(project.metadata, project.get_requires_dists(),
diff --git a/sipbuild/generator/resolver/resolver.py b/sipbuild/generator/resolver/resolver.py
index 9dbc2e9..492b2e3 100644
--- a/sipbuild/generator/resolver/resolver.py
+++ b/sipbuild/generator/resolver/resolver.py
@@ -38,6 +38,10 @@ def resolve(spec, modules):
# Set the base name of the module. This is done for efficiency.
mod.py_name = mod.fq_py_name.name.split('.')[-1]
+ # There is nothing else that needs doing for composite modules.
+ if spec.is_composite:
+ return
+
# Set the default meta-type for the main module if it doesn't have one
# explicitly set.
if spec.module.default_metatype is None:
diff --git a/sipbuild/project.py b/sipbuild/project.py
index ed8ff43..caedef0 100644
--- a/sipbuild/project.py
+++ b/sipbuild/project.py
@@ -108,8 +108,8 @@ class Project(AbstractProject, Configurable):
help="enable verbose progress messages"),
Option('name', help="the name used in sdist and wheel file names",
metavar="NAME", tools=['sdist', 'wheel']),
- Option('abi_version', help="The ABI to generate code for",
- metavar="M[.N]"),
+ Option('abi_version', help="the ABI to generate code for",
+ metavar="M[.N]", tools=['build', 'install', 'sdist', 'wheel']),
Option('build_dir', help="the build directory", metavar="DIR"),
Option('build_tag', help="the build tag to be used in the wheel name",
metavar="TAG", tools=['wheel']),
More information about the Neon-commits
mailing list