git: fad74a9412d1 - main - devel/py-gyp-next: Add py-gyp-next 0.20.2

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Mon, 30 Jun 2025 20:56:06 UTC
The branch main has been updated by sunpoet:

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

commit fad74a9412d1d58f0003ea300d34e2d5bf9a76ba
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2025-06-30 20:48:17 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2025-06-30 20:48:17 +0000

    devel/py-gyp-next: Add py-gyp-next 0.20.2
    
    GYP is a Meta-Build system: a build system that generates other build systems.
    
    GYP is intended to support large projects that need to be built on multiple
    platforms (e.g., Mac, Windows, Linux), and where it is important that the
    project can be built using the IDEs that are popular on each platform as if the
    project is a "native" one.
    
    It can be used to generate XCode projects, Visual Studio projects, Ninja build
    files, and Makefiles. In each case GYP's goal is to replicate as closely as
    possible the way one would set up a native build of the project using the IDE.
    
    GYP can also be used to generate "hybrid" projects that provide the IDE
    scaffolding for a nice user experience but call out to Ninja to do the actual
    building (which is usually much faster than the native build systems of the
    IDEs).
---
 devel/Makefile                               |  1 +
 devel/py-gyp-next/Makefile                   | 26 ++++++++++++++++++++++++++
 devel/py-gyp-next/distinfo                   |  3 +++
 devel/py-gyp-next/files/patch-pyproject.toml | 11 +++++++++++
 devel/py-gyp-next/pkg-descr                  | 15 +++++++++++++++
 5 files changed, 56 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 72674cac826e..b68257edeeac 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4979,6 +4979,7 @@
     SUBDIR += py-gs_api_client
     SUBDIR += py-guppy3
     SUBDIR += py-gyp
+    SUBDIR += py-gyp-next
     SUBDIR += py-hacking
     SUBDIR += py-hammett
     SUBDIR += py-hash_ring
diff --git a/devel/py-gyp-next/Makefile b/devel/py-gyp-next/Makefile
new file mode 100644
index 000000000000..7d95672990ea
--- /dev/null
+++ b/devel/py-gyp-next/Makefile
@@ -0,0 +1,26 @@
+PORTNAME=	gyp-next
+PORTVERSION=	0.20.2
+CATEGORIES=	devel python
+MASTER_SITES=	PYPI \
+		https://github.com/nodejs/gyp-next/releases/download/v${PORTVERSION}/
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTNAME=	gyp_next-${PORTVERSION}
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Fork of the GYP build system for use in the Node.js projects
+WWW=		https://github.com/nodejs/gyp-next
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>=61.0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}packaging>=24.0:devel/py-packaging@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}setuptools>=61.0:devel/py-setuptools@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent pep517
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/devel/py-gyp-next/distinfo b/devel/py-gyp-next/distinfo
new file mode 100644
index 000000000000..1d726397ab28
--- /dev/null
+++ b/devel/py-gyp-next/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1751208088
+SHA256 (gyp_next-0.20.2.tar.gz) = 0738492547339242ed4be995e2b101fe03abb67b7168fd14c52497adfbfc60fe
+SIZE (gyp_next-0.20.2.tar.gz) = 319733
diff --git a/devel/py-gyp-next/files/patch-pyproject.toml b/devel/py-gyp-next/files/patch-pyproject.toml
new file mode 100644
index 000000000000..59ff914ff2b6
--- /dev/null
+++ b/devel/py-gyp-next/files/patch-pyproject.toml
@@ -0,0 +1,11 @@
+--- pyproject.toml.orig	2025-06-22 10:53:48 UTC
++++ pyproject.toml
+@@ -12,7 +12,7 @@ requires-python = ">=3.8"
+ readme = "README.md"
+ license = { file="LICENSE" }
+ requires-python = ">=3.8"
+-dependencies = ["packaging>=24.0", "setuptools>=69.5.1"]
++dependencies = ["packaging>=24.0", "setuptools>=61.0"]
+ classifiers = [
+     "Development Status :: 3 - Alpha",
+     "Environment :: Console",
diff --git a/devel/py-gyp-next/pkg-descr b/devel/py-gyp-next/pkg-descr
new file mode 100644
index 000000000000..4c13fc3b63fc
--- /dev/null
+++ b/devel/py-gyp-next/pkg-descr
@@ -0,0 +1,15 @@
+GYP is a Meta-Build system: a build system that generates other build systems.
+
+GYP is intended to support large projects that need to be built on multiple
+platforms (e.g., Mac, Windows, Linux), and where it is important that the
+project can be built using the IDEs that are popular on each platform as if the
+project is a "native" one.
+
+It can be used to generate XCode projects, Visual Studio projects, Ninja build
+files, and Makefiles. In each case GYP's goal is to replicate as closely as
+possible the way one would set up a native build of the project using the IDE.
+
+GYP can also be used to generate "hybrid" projects that provide the IDE
+scaffolding for a nice user experience but call out to Ninja to do the actual
+building (which is usually much faster than the native build systems of the
+IDEs).