aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2025-06-01 15:48:58 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2025-06-01 16:23:09 +0000
commit93e42c90b946e41290a3556c3cb41aa65bd98410 (patch)
treeb180d7a482c6041303d854e5d1f8d3070ffac1e6
parentdbd60c098b7f4528d40aa67d139f039269d0756d (diff)
-rw-r--r--devel/Makefile1
-rw-r--r--devel/py-pyyaml-ft/Makefile26
-rw-r--r--devel/py-pyyaml-ft/distinfo3
-rw-r--r--devel/py-pyyaml-ft/files/patch-setup.py10
-rw-r--r--devel/py-pyyaml-ft/pkg-descr14
5 files changed, 54 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 0e14e99fff76..b63b9a99ac18 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5797,6 +5797,7 @@
SUBDIR += py-pyvisa-py
SUBDIR += py-pyxb-x
SUBDIR += py-pyyaml
+ SUBDIR += py-pyyaml-ft
SUBDIR += py-pyyaml-include
SUBDIR += py-pyyaml_env_tag
SUBDIR += py-pyzipper
diff --git a/devel/py-pyyaml-ft/Makefile b/devel/py-pyyaml-ft/Makefile
new file mode 100644
index 000000000000..357da442c5b8
--- /dev/null
+++ b/devel/py-pyyaml-ft/Makefile
@@ -0,0 +1,26 @@
+PORTNAME= pyyaml-ft
+PORTVERSION= 7.0.1
+CATEGORIES= devel python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= pyyaml_ft-${PORTVERSION}
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= YAML parser and emitter for Python with support for free-threading
+WWW= https://pyyaml.org/wiki/PyYAMLDocumentation \
+ https://github.com/Quansight-Labs/pyyaml-ft
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+LIB_DEPENDS= libyaml.so:textproc/libyaml
+
+USES= localbase python
+USE_PYTHON= autoplist concurrent cython pep517
+
+post-install:
+ ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} +
+
+.include <bsd.port.mk>
diff --git a/devel/py-pyyaml-ft/distinfo b/devel/py-pyyaml-ft/distinfo
new file mode 100644
index 000000000000..0fb309609c59
--- /dev/null
+++ b/devel/py-pyyaml-ft/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1748495685
+SHA256 (pyyaml_ft-7.0.1.tar.gz) = 3dc548f723e71ed2c1ba3df02e7c0ff4fd32c33bacd70e4c4b69e1bd3469f370
+SIZE (pyyaml_ft-7.0.1.tar.gz) = 140935
diff --git a/devel/py-pyyaml-ft/files/patch-setup.py b/devel/py-pyyaml-ft/files/patch-setup.py
new file mode 100644
index 000000000000..139562878c76
--- /dev/null
+++ b/devel/py-pyyaml-ft/files/patch-setup.py
@@ -0,0 +1,10 @@
+--- setup.py.orig 2025-04-28 18:32:18 UTC
++++ setup.py
+@@ -1,6 +1,6 @@ import pathlib
+ import pathlib
+
+-NAME = 'PyYAML-ft'
++NAME = 'pyyaml-ft'
+ VERSION = '7.0.1'
+ DESCRIPTION = "YAML parser and emitter for Python with support for free-threading"
+ LONG_DESCRIPTION = (pathlib.Path(__file__).parent / 'README.md').read_text(encoding="utf-8")
diff --git a/devel/py-pyyaml-ft/pkg-descr b/devel/py-pyyaml-ft/pkg-descr
new file mode 100644
index 000000000000..bfdb8d223d4c
--- /dev/null
+++ b/devel/py-pyyaml-ft/pkg-descr
@@ -0,0 +1,14 @@
+PyYAML-ft provides a full-featured YAML processing framework for Python with
+support for free-threading.
+
+PEP 703 introduced free-threaded Python as a separate build of CPython 3.13.
+Thread-safety issues that might have otherwise gone unnoticed are now much
+easier to trigger because of the absence of protection from the GIL. Also,
+because the free-threaded build is ABI-incompatible, extension modules need to
+be separate, free-threaded wheels and declare support for it.
+
+The PyYAML maintainers decided to not port PyYAML to the free-threaded build
+before the latter, along with Cython support for it, has been tested more
+extensively in real-world applications. Our rationale with this fork is to
+implement support for the free-threaded build, so that PyYAML can be tested with
+it by its users, even before the port is merged upstream.