aboutsummaryrefslogtreecommitdiff
path: root/misc/py-scikit-fusion
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2026-07-11 00:50:34 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2026-07-11 01:00:12 +0000
commitdbd3ca6f415fbdc44426530140ccd30e9a902884 (patch)
tree9552f825132f853d3a55c78e1d0542c92495ec74 /misc/py-scikit-fusion
parent2684b2196807ae680c3fbeeaad3dd858562db079 (diff)
Diffstat (limited to 'misc/py-scikit-fusion')
-rw-r--r--misc/py-scikit-fusion/Makefile2
-rw-r--r--misc/py-scikit-fusion/files/patch-setup.py27
2 files changed, 27 insertions, 2 deletions
diff --git a/misc/py-scikit-fusion/Makefile b/misc/py-scikit-fusion/Makefile
index d1737dfd88af..f5bbc52d36b1 100644
--- a/misc/py-scikit-fusion/Makefile
+++ b/misc/py-scikit-fusion/Makefile
@@ -12,8 +12,6 @@ WWW= https://github.com/marinkaz/scikit-fusion
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-BROKEN= not compatible with Python 3.12 (upstream last the project updated 6 years ago)
-
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=1.16:math/py-numpy@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}joblib>=0.8.4:devel/py-joblib@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}scipy>=0.12.0:science/py-scipy@${PY_FLAVOR}
diff --git a/misc/py-scikit-fusion/files/patch-setup.py b/misc/py-scikit-fusion/files/patch-setup.py
new file mode 100644
index 000000000000..b66fb2a9b71a
--- /dev/null
+++ b/misc/py-scikit-fusion/files/patch-setup.py
@@ -0,0 +1,27 @@
+-- Fix setup.py for Python 3.12 compatibility.
+-- The 'imp' module was removed in Python 3.12; replace imp.load_source
+-- with importlib.util.module_from_spec/spec_from_file_location.
+
+--- setup.py.orig 2023-04-10 00:00:00 UTC
++++ setup.py
+@@ -4,7 +4,7 @@ descr = """A Python module for data fusion built on top of factorized models."""
+ from setuptools import setup, find_packages
+ import subprocess
+ import os
+-import imp
++import importlib.util
+
+ DISTNAME = 'scikit-fusion'
+ DESCRIPTION = 'A Python module for data fusion built on top of factorized models.'
+@@ -69,8 +69,11 @@ def write_version_py(filename='skfusion/version.py'):
+ elif os.path.exists('skfusion/version.py'):
+ # must be a source distribution, use existing version file
+- version = imp.load_source("skfusion.version", "skfusion/version.py")
+- GIT_REVISION = version.git_revision
++ spec = importlib.util.spec_from_file_location("skfusion.version",
++ "skfusion/version.py")
++ version = importlib.util.module_from_spec(spec)
++ spec.loader.exec_module(version)
++ GIT_REVISION = getattr(version, 'git_revision', "Unknown")
+ else:
+ GIT_REVISION = "Unknown"