Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 May 2026 02:43:10 +0000
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 5330c42233da - main - science/py-openbabel: update 3.1.1.=?utf-8?Q?1 =E2=86=92 3.?=2.0
Message-ID:  <6a17abbe.30018.58acdbac@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by yuri:

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

commit 5330c42233da53353757f008066dd8bf375fb552
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-05-28 02:37:55 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-05-28 02:43:02 +0000

    science/py-openbabel: update 3.1.1.1 → 3.2.0
---
 science/py-openbabel/Makefile                      | 28 ++++++++++++----------
 science/py-openbabel/distinfo                      |  6 ++---
 science/py-openbabel/files/patch-pyproject.toml    | 14 +++++++++++
 ...tch-scripts_python_openbabel_____init____.py.in | 19 +++++++++++++++
 4 files changed, 51 insertions(+), 16 deletions(-)

diff --git a/science/py-openbabel/Makefile b/science/py-openbabel/Makefile
index 16ecbeb51eee..207e25259fdb 100644
--- a/science/py-openbabel/Makefile
+++ b/science/py-openbabel/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	openbabel
-DISTVERSION=	3.1.1.1
-PORTREVISION=	1
+DISTVERSION=	3.2.0
 CATEGORIES=	science # chemistry
 MASTER_SITES=	PYPI
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
@@ -11,23 +10,26 @@ WWW=		https://openbabel.org/wiki/Main_Page
 
 LICENSE=	GPLv2+
 
-BUILD_DEPENDS=	swig:devel/swig
-LIB_DEPENDS=	libopenbabel.so:science/openbabel
+BUILD_DEPENDS=	swig:devel/swig \
+		rapidjson>0:devel/rapidjson \
+		${PYTHON_PKGNAMEPREFIX}cmeel-eigen>0:devel/py-cmeel-eigen@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}scikit-build-core>=0.11:devel/py-scikit-build-core@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}setuptools-scm>0:devel/py-setuptools-scm@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}swig>0:devel/py-swig@${PY_FLAVOR}
+LIB_DEPENDS=	libcoordgen.so:science/coordgenlibs \
+		libmaeparser.so:science/maeparser \
+		libopenbabel.so:science/openbabel \
+		libxml2.so:textproc/libxml2
 
 USES=		python
-USE_PYTHON=	distutils autoplist
+USE_PYTHON=	pep517 autoplist pytest
 
 BINARY_ALIAS=	python=${PYTHON_CMD}
 
-.include <bsd.port.options.mk>
-
-post-patch:
-.if ${OPSYS} == FreeBSD
-	@${REINPLACE_CMD} -e 's|binary_function|__binary_function|g' \
-		${WRKSRC}/openbabel/openbabel-python.i
-.endif
+TEST_ENV=	${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+TEST_WRKSRC=	${WRKSRC}/test
 
 post-install:
-	@${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/openbabel/_openbabel${PYTHON_TAG}.so
+	@${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/openbabel/_openbabel.so
 
 .include <bsd.port.mk>
diff --git a/science/py-openbabel/distinfo b/science/py-openbabel/distinfo
index 0c674328b335..429092c86446 100644
--- a/science/py-openbabel/distinfo
+++ b/science/py-openbabel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1668939398
-SHA256 (openbabel-3.1.1.1.tar.gz) = bb7f8cad15f3a208f4869d7943cbb14eb7125372eba397588f207f8d19e78373
-SIZE (openbabel-3.1.1.1.tar.gz) = 82811
+TIMESTAMP = 1779863957
+SHA256 (openbabel-3.2.0.tar.gz) = 332e6038146e0b69f9c32b8d71d6de153a095d98dce4663972c4a45e55449d01
+SIZE (openbabel-3.2.0.tar.gz) = 36460954
diff --git a/science/py-openbabel/files/patch-pyproject.toml b/science/py-openbabel/files/patch-pyproject.toml
new file mode 100644
index 000000000000..15cbdac881a2
--- /dev/null
+++ b/science/py-openbabel/files/patch-pyproject.toml
@@ -0,0 +1,14 @@
+-- Remove the [project.scripts] entry that installs 'obabel' — that binary is
+-- already provided by science/openbabel (a required LIB_DEPENDS), so installing
+-- it here would conflict with that package.
+--- pyproject.toml.orig	2026-05-27 21:58:16 UTC
++++ pyproject.toml
+@@ -41,8 +41,6 @@ Documentation = "https://openbabel.org/docs/"
+ Repository = "https://github.com/openbabel/openbabel"
+ Documentation = "https://openbabel.org/docs/"
+ 
+-[project.scripts]
+-obabel = "openbabel.executable:obabel"
+ 
+ [tool.scikit-build]
+ minimum-version = "0.11"
diff --git a/science/py-openbabel/files/patch-scripts_python_openbabel_____init____.py.in b/science/py-openbabel/files/patch-scripts_python_openbabel_____init____.py.in
new file mode 100644
index 000000000000..e72a42711d1f
--- /dev/null
+++ b/science/py-openbabel/files/patch-scripts_python_openbabel_____init____.py.in
@@ -0,0 +1,19 @@
+-- On FreeBSD, Python loads extension modules with RTLD_LOCAL, which prevents
+-- plugin .so files (in BABEL_LIBDIR) from resolving symbols from libopenbabel.so.8
+-- when they are dlopen'd by the plugin loader.  Pre-loading libopenbabel.so.8 with
+-- RTLD_GLOBAL fixes symbol resolution for all subsequently loaded plugins.
+--- scripts/python/openbabel/__init__.py.in.orig	2026-05-27 20:44:02 UTC
++++ scripts/python/openbabel/__init__.py.in
+@@ -13,6 +13,12 @@ if "${BUILD_BY_PIP}" == "ON":
+ if "${BUILD_BY_PIP}" == "ON":
+     os.environ["BABEL_LIBDIR"] = os.path.join(base_dir, "lib", "openbabel", __version__)
+     os.environ["BABEL_DATADIR"] = os.path.join(base_dir, "share", "openbabel", __version__)
++    # Load libopenbabel.so with RTLD_GLOBAL so that plugin .so files can resolve
++    # its symbols when they are dlopen'd by the plugin loader.
++    import ctypes as _ctypes
++    _libob = os.path.join(base_dir, "lib", "libopenbabel.so.8")
++    if os.path.exists(_libob):
++        _ctypes.CDLL(_libob, _ctypes.RTLD_GLOBAL)
+ 
+ from . import openbabel
+ 


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a17abbe.30018.58acdbac>