Skip to content

Commit 7659646

Browse files
tools: update gyp-next to 0.22.1
1 parent 34adeeb commit 7659646

7 files changed

Lines changed: 21 additions & 41 deletions

File tree

tools/gyp/CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Changelog
22

3+
## [0.22.1](https://github.com/nodejs/gyp-next/compare/v0.22.0...v0.22.1) (2026-04-21)
4+
5+
6+
### Bug Fixes
7+
8+
* use floor division when escaping command-line arguments ([#338](https://github.com/nodejs/gyp-next/issues/338)) ([cadca24](https://github.com/nodejs/gyp-next/commit/cadca2416dc13e117e035ad6dd2b471a86d0430f))
9+
310
## [0.22.0](https://github.com/nodejs/gyp-next/compare/v0.21.1...v0.22.0) (2026-04-02)
411

512

tools/gyp/pylib/gyp/generator/msvs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -857,7 +857,7 @@ def _EscapeCommandLineArgumentForMSBuild(s):
857857
"""Escapes a Windows command-line argument for use by MSBuild."""
858858

859859
def _Replace(match):
860-
return (len(match.group(1)) / 2 * 4) * "\\" + '\\"'
860+
return (len(match.group(1)) // 2 * 4) * "\\" + '\\"'
861861

862862
# Escape all quotes so that they are interpreted literally.
863863
s = quote_replacer_regex2.sub(_Replace, s)

tools/gyp/pylib/gyp/generator/ninja_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def test_BinaryNamesWindows(self):
3939
"executable": ".exe",
4040
"shared_library": ".dll",
4141
"static_library": ".lib",
42-
}:
42+
}.items():
4343
self.assertTrue(writer.ComputeOutputFileName(spec, key).endswith(ext))
4444

4545
def test_BinaryNamesLinux(self):

tools/gyp/pylib/gyp/simple_copy.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ def deepcopy(x):
2424
return _deepcopy_dispatch[type(x)](x)
2525
except KeyError:
2626
raise Error(
27-
"Unsupported type %s for deepcopy. Use copy.deepcopy "
28-
+ "or expand simple_copy support." % type(x)
27+
f"Unsupported type {type(x)} for deepcopy. Use copy.deepcopy "
28+
+ "or expand simple_copy support."
2929
)
3030

3131

tools/gyp/pylib/packaging/metadata.py

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,27 +21,10 @@
2121
from . import requirements, specifiers, utils, version as version_module
2222

2323
T = typing.TypeVar("T")
24-
if sys.version_info[:2] >= (3, 8): # pragma: no cover
25-
from typing import Literal, TypedDict
26-
else: # pragma: no cover
27-
if typing.TYPE_CHECKING:
28-
from typing_extensions import Literal, TypedDict
29-
else:
30-
try:
31-
from typing_extensions import Literal, TypedDict
32-
except ImportError:
33-
34-
class Literal:
35-
def __init_subclass__(*_args, **_kwargs):
36-
pass
37-
38-
class TypedDict:
39-
def __init_subclass__(*_args, **_kwargs):
40-
pass
41-
24+
from typing import Literal, TypedDict
4225

4326
try:
44-
ExceptionGroup
27+
ExceptionGroup # Added in Python 3.11+
4528
except NameError: # pragma: no cover
4629

4730
class ExceptionGroup(Exception): # noqa: N818
@@ -504,7 +487,7 @@ def __set_name__(self, _owner: "Metadata", name: str) -> None:
504487
self.raw_name = _RAW_TO_EMAIL_MAPPING[name]
505488

506489
def __get__(self, instance: "Metadata", _owner: Type["Metadata"]) -> T:
507-
# With Python 3.8, the caching can be replaced with functools.cached_property().
490+
# With Python 3.8+, the caching can be replaced with functools.cached_property().
508491
# No need to check the cache as attribute lookup will resolve into the
509492
# instance's __dict__ before __get__ is called.
510493
cache = instance.__dict__

tools/gyp/pylib/packaging/tags.py

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -127,10 +127,8 @@ def _normalize_string(string: str) -> str:
127127
def _abi3_applies(python_version: PythonVersion) -> bool:
128128
"""
129129
Determine if the Python version supports abi3.
130-
131-
PEP 384 was first implemented in Python 3.2.
132130
"""
133-
return len(python_version) > 1 and tuple(python_version) >= (3, 2)
131+
return len(python_version) > 1
134132

135133

136134
def _cpython_abis(py_version: PythonVersion, warn: bool = False) -> List[str]:
@@ -146,17 +144,7 @@ def _cpython_abis(py_version: PythonVersion, warn: bool = False) -> List[str]:
146144
has_ext = "_d.pyd" in EXTENSION_SUFFIXES
147145
if with_debug or (with_debug is None and (has_refcount or has_ext)):
148146
debug = "d"
149-
if py_version < (3, 8):
150-
with_pymalloc = _get_config_var("WITH_PYMALLOC", warn)
151-
if with_pymalloc or with_pymalloc is None:
152-
pymalloc = "m"
153-
if py_version < (3, 3):
154-
unicode_size = _get_config_var("Py_UNICODE_SIZE", warn)
155-
if unicode_size == 4 or (
156-
unicode_size is None and sys.maxunicode == 0x10FFFF
157-
):
158-
ucs4 = "u"
159-
elif debug:
147+
if debug:
160148
# Debug builds can also load "normal" extension modules.
161149
# We can also assume no UCS-4 or pymalloc requirement.
162150
abis.append(f"cp{version}")

tools/gyp/pyproject.toml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "gyp-next"
7-
version = "0.22.0"
7+
version = "0.22.1"
88
authors = [
99
{ name="Node.js contributors", email="[email protected]" },
1010
]
1111
description = "A fork of the GYP build system for use in the Node.js projects"
1212
readme = "README.md"
1313
license = { file="LICENSE" }
14-
requires-python = ">=3.8"
14+
requires-python = ">=3.9"
1515
dependencies = ["packaging>=24.0", "setuptools>=69.5.1"]
1616
classifiers = [
1717
"Development Status :: 3 - Alpha",
@@ -21,10 +21,12 @@ classifiers = [
2121
"Natural Language :: English",
2222
"Programming Language :: Python",
2323
"Programming Language :: Python :: 3",
24-
"Programming Language :: Python :: 3.8",
2524
"Programming Language :: Python :: 3.9",
2625
"Programming Language :: Python :: 3.10",
2726
"Programming Language :: Python :: 3.11",
27+
"Programming Language :: Python :: 3.12",
28+
"Programming Language :: Python :: 3.13",
29+
"Programming Language :: Python :: 3.14",
2830
]
2931

3032
[project.optional-dependencies]

0 commit comments

Comments
 (0)