git: f510c3259bce - main - devel/py-unicodedata2: Update to 18.0.0

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Sun, 20 Sep 2026 01:01:06 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f510c3259bce5a181a7ea3f056c7e8b32ea29b8e

commit f510c3259bce5a181a7ea3f056c7e8b32ea29b8e
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2026-09-20 00:56:50 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2026-09-20 00:56:50 +0000

    devel/py-unicodedata2: Update to 18.0.0
    
    Changes:        https://github.com/fonttools/unicodedata2/releases
---
 devel/py-unicodedata2/Makefile                   |  4 +--
 devel/py-unicodedata2/distinfo                   |  6 ++---
 devel/py-unicodedata2/files/patch-pyproject.toml | 33 ++++++++++++++++++++++++
 devel/py-unicodedata2/files/patch-setup.py       | 21 +++++++++++++++
 4 files changed, 59 insertions(+), 5 deletions(-)

diff --git a/devel/py-unicodedata2/Makefile b/devel/py-unicodedata2/Makefile
index 196eeb239e20..f06ea4091b0c 100644
--- a/devel/py-unicodedata2/Makefile
+++ b/devel/py-unicodedata2/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	unicodedata2
-PORTVERSION=	17.0.1
+PORTVERSION=	18.0.0
 CATEGORIES=	devel python
 MASTER_SITES=	PYPI
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
@@ -11,7 +11,7 @@ WWW=		https://github.com/fonttools/unicodedata2
 LICENSE=	APACHE20
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>=61:devel/py-setuptools@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
 
 USES=		python
diff --git a/devel/py-unicodedata2/distinfo b/devel/py-unicodedata2/distinfo
index 102cbb872fa7..34a611820d8d 100644
--- a/devel/py-unicodedata2/distinfo
+++ b/devel/py-unicodedata2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1771421670
-SHA256 (unicodedata2-17.0.1.tar.gz) = d79943d153f5f6bfbe3f55a5ec611985184bda37fcedb3ecc75322d82ae6ad3b
-SIZE (unicodedata2-17.0.1.tar.gz) = 679856
+TIMESTAMP = 1789834634
+SHA256 (unicodedata2-18.0.0.tar.gz) = a9536291a5204caf6423ca7c56131d44f2aafc2fada35ff3a5eac82f7f8c62a7
+SIZE (unicodedata2-18.0.0.tar.gz) = 700214
diff --git a/devel/py-unicodedata2/files/patch-pyproject.toml b/devel/py-unicodedata2/files/patch-pyproject.toml
new file mode 100644
index 000000000000..d833f996d93d
--- /dev/null
+++ b/devel/py-unicodedata2/files/patch-pyproject.toml
@@ -0,0 +1,33 @@
+--- pyproject.toml.orig	2026-09-18 12:23:00 UTC
++++ pyproject.toml
+@@ -2,7 +2,7 @@
+ # setuptools 77.0.1 is the first release that combines declarative ``ext-modules``
+ # (added in 74.1) with PEP 639 license metadata, which is what lets this
+ # project drop setup.py entirely.
+-requires = ["setuptools>=77.0.1"]
++requires = ["setuptools>=61"]
+ build-backend = "setuptools.build_meta"
+ 
+ [project]
+@@ -13,8 +13,7 @@ authors = [
+ authors = [
+     { name = "Mike Kaplinskiy", email = "mike.kaplinskiy@gmail.com" },
+ ]
+-license = "Apache-2.0"
+-license-files = ["LICENSE"]
++license = { text = "Apache-2.0" }
+ # README.md and CHANGELOG.md are concatenated so both are shown on PyPI.
+ dynamic = ["readme"]
+ 
+@@ -47,11 +46,3 @@ readme = { file = ["README.md", "CHANGELOG.md"], conte
+ 
+ [tool.setuptools.dynamic]
+ readme = { file = ["README.md", "CHANGELOG.md"], content-type = "text/markdown" }
+-
+-[[tool.setuptools.ext-modules]]
+-name = "unicodedata2"
+-sources = [
+-    "unicodedata2/unicodedata.c",
+-    "unicodedata2/unicodectype.c",
+-]
+-include-dirs = ["unicodedata2"]
diff --git a/devel/py-unicodedata2/files/patch-setup.py b/devel/py-unicodedata2/files/patch-setup.py
new file mode 100644
index 000000000000..7842477156cc
--- /dev/null
+++ b/devel/py-unicodedata2/files/patch-setup.py
@@ -0,0 +1,21 @@
+--- setup.py.orig	2026-09-19 18:48:52 UTC
++++ setup.py
+@@ -0,0 +1,18 @@
++import sys
++from setuptools import setup, Extension
++
++module_sources = [
++    "./unicodedata2/unicodedata.c",
++    "./unicodedata2/unicodectype.c",
++]
++
++module1 = Extension(
++    "unicodedata2",
++    sources=module_sources,
++    include_dirs=["./unicodedata2/"],
++)
++
++setup(
++    name = "unicodedata2",
++    ext_modules = [module1],
++)