git: 9f617417c764 - main - math/py-scikit-rf: new port

From: Michael Osipov <michaelo_at_FreeBSD.org>
Date: Wed, 09 Sep 2026 20:26:14 UTC
The branch main has been updated by michaelo:

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

commit 9f617417c7643e39b8ea9286009b4af304707b1d
Author:     Daniel O'Connor <doconnor@gsoft.com.au>
AuthorDate: 2024-12-02 06:30:30 +0000
Commit:     Michael Osipov <michaelo@FreeBSD.org>
CommitDate: 2026-09-09 20:25:47 +0000

    math/py-scikit-rf: new port
    
    scikit-rf (aka skrf) is an Open Source, BSD-licensed package for
    RF/Microwave engineering implemented in the Python programming language.
    It provides a modern, object-oriented library which is both flexible
    and scalable.
    
    Co-authored-by: Michael Osipov <michaelo@FreeBSD.org>
    PR:             283072
---
 science/Makefile                                |  1 +
 science/py-scikit-rf/Makefile                   | 29 +++++++++++++++++++++++++
 science/py-scikit-rf/distinfo                   |  3 +++
 science/py-scikit-rf/files/patch-pyproject.toml | 11 ++++++++++
 science/py-scikit-rf/pkg-descr                  |  4 ++++
 5 files changed, 48 insertions(+)

diff --git a/science/Makefile b/science/Makefile
index cde38703f036..8e9f622f90af 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -456,6 +456,7 @@
     SUBDIR += py-scikit-fuzzy
     SUBDIR += py-scikit-learn
     SUBDIR += py-scikit-optimize
+    SUBDIR += py-scikit-rf
     SUBDIR += py-scikit-sparse
     SUBDIR += py-scimath
     SUBDIR += py-scipy
diff --git a/science/py-scikit-rf/Makefile b/science/py-scikit-rf/Makefile
new file mode 100644
index 000000000000..e24fa450101b
--- /dev/null
+++ b/science/py-scikit-rf/Makefile
@@ -0,0 +1,29 @@
+PORTNAME=	scikit-rf
+PORTVERSION=	2.1.0
+CATEGORIES=	science python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTNAME=	scikit_rf-${PORTVERSION}
+
+MAINTAINER=	doconnor@gsoft.com.au
+COMMENT=	RF and Microwave Engineering Scikit in Python
+WWW=		https://scikit-rf.readthedocs.io/en/latest/ \
+		https://github.com/scikit-rf/scikit-rf
+
+LICENSE=	BSD3CLAUSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>=63:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}numpy>=1.21:math/py-numpy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}scipy>=1.7:science/py-scipy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pandas>=1.1:math/py-pandas@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}matplotlib>=3.5:math/py-matplotlib@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}typing-extensions>0:devel/py-typing-extensions@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}networkx>=2.0:math/py-networkx@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent pep517 pytest
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/science/py-scikit-rf/distinfo b/science/py-scikit-rf/distinfo
new file mode 100644
index 000000000000..32f15234f38e
--- /dev/null
+++ b/science/py-scikit-rf/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1788982789
+SHA256 (scikit_rf-2.1.0.tar.gz) = f9aa5b25777d26d8b8f06a3f7d9f95795786ce496bbaf9121047dc412b974d3f
+SIZE (scikit_rf-2.1.0.tar.gz) = 617558
diff --git a/science/py-scikit-rf/files/patch-pyproject.toml b/science/py-scikit-rf/files/patch-pyproject.toml
new file mode 100644
index 000000000000..ecad3aa3c011
--- /dev/null
+++ b/science/py-scikit-rf/files/patch-pyproject.toml
@@ -0,0 +1,11 @@
+--- pyproject.toml.orig	2024-12-02 16:57:51.333258000 +1030
++++ pyproject.toml	2024-12-02 16:57:57.828225000 +1030
+@@ -91,7 +91,7 @@
+ 
+ [build-system]
+ requires = [
+-  "setuptools >= 64",
++  "setuptools >= 63",
+   "wheel",
+ ]
+ build-backend = "setuptools.build_meta"
diff --git a/science/py-scikit-rf/pkg-descr b/science/py-scikit-rf/pkg-descr
new file mode 100644
index 000000000000..2a998d58b6c7
--- /dev/null
+++ b/science/py-scikit-rf/pkg-descr
@@ -0,0 +1,4 @@
+scikit-rf (aka skrf) is an Open Source, BSD-licensed package for
+RF/Microwave engineering implemented in the Python programming language.
+It provides a modern, object-oriented library which is both flexible
+and scalable.