pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

py-joblib: Test BSD support patch for devel/py-joblib



Module Name:	pkgsrc-wip
Committed By:	Jason W. Bacon <bacon%NetBSD.org@localhost>
Pushed By:	outpaddling
Date:		Thu Jan 4 08:17:36 2024 -0600
Changeset:	b150cc60bbceaf98d90ee2d3614ba7fc4e9e33f8

Modified Files:
	Makefile
Added Files:
	py-joblib/DESCR
	py-joblib/Makefile
	py-joblib/PLIST
	py-joblib/distinfo
	py-joblib/patches/patch-joblib_externals_loky_backend_context.py

Log Message:
py-joblib: Test BSD support patch for devel/py-joblib

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=b150cc60bbceaf98d90ee2d3614ba7fc4e9e33f8

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                                           |   1 +
 py-joblib/DESCR                                    |   6 +
 py-joblib/Makefile                                 |  22 ++
 py-joblib/PLIST                                    | 290 +++++++++++++++++++++
 py-joblib/distinfo                                 |   6 +
 .../patch-joblib_externals_loky_backend_context.py |  36 +++
 6 files changed, 361 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index d9fc132cfb..2cd9fa4e14 100644
--- a/Makefile
+++ b/Makefile
@@ -3806,6 +3806,7 @@ SUBDIR+=	py-jewish
 SUBDIR+=	py-jitcdde
 SUBDIR+=	py-jitcode
 SUBDIR+=	py-jitcxde-common
+SUBDIR+=	py-joblib
 SUBDIR+=	py-jose
 SUBDIR+=	py-joypy
 SUBDIR+=	py-json-stream
diff --git a/py-joblib/DESCR b/py-joblib/DESCR
new file mode 100644
index 0000000000..bee159e6ad
--- /dev/null
+++ b/py-joblib/DESCR
@@ -0,0 +1,6 @@
+Joblib is a set of tools to provide lightweight pipelining in Python.
+In particular, joblib offers transparent disk-caching of the output
+values and lazy re-evaluation (memoize pattern), easy simple parallel
+computing, and logging and tracing of the execution.  Joblib is
+optimized to be fast and robust in particular on large data and has
+specific optimizations for numpy arrays.
diff --git a/py-joblib/Makefile b/py-joblib/Makefile
new file mode 100644
index 0000000000..04a9a27cc8
--- /dev/null
+++ b/py-joblib/Makefile
@@ -0,0 +1,22 @@
+# $NetBSD: Makefile,v 1.16 2023/11/03 10:35:53 adam Exp $
+
+DISTNAME=	joblib-1.3.2
+PKGNAME=	${PYPKGPREFIX}-${DISTNAME}
+CATEGORIES=	devel python
+MASTER_SITES=	${MASTER_SITE_PYPI:=j/joblib/}
+
+MAINTAINER=	jihbed.research%gmail.com@localhost
+HOMEPAGE=	https://joblib.readthedocs.io/
+COMMENT=	Set of tools to provide lightweight pipelining
+LICENSE=	modified-bsd
+
+TOOL_DEPENDS+=	${PYPKGPREFIX}-setuptools>=61.2:../../devel/py-setuptools
+TOOL_DEPENDS+=	${PYPKGPREFIX}-wheel-[0-9]*:../../devel/py-wheel
+DEPENDS+=	${PYPKGPREFIX}-sysctl-[0-9]*:../../devel/py-sysctl
+
+USE_LANGUAGES=	# none
+
+PYTHON_VERSIONS_INCOMPATIBLE=	27
+
+.include "../../lang/python/wheel.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/py-joblib/PLIST b/py-joblib/PLIST
new file mode 100644
index 0000000000..f107ab2bc2
--- /dev/null
+++ b/py-joblib/PLIST
@@ -0,0 +1,290 @@
+@comment $NetBSD: PLIST,v 1.10 2023/11/03 10:35:53 adam Exp $
+${PYSITELIB}/${WHEEL_INFODIR}/LICENSE.txt
+${PYSITELIB}/${WHEEL_INFODIR}/METADATA
+${PYSITELIB}/${WHEEL_INFODIR}/RECORD
+${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
+${PYSITELIB}/${WHEEL_INFODIR}/top_level.txt
+${PYSITELIB}/joblib/__init__.py
+${PYSITELIB}/joblib/__init__.pyc
+${PYSITELIB}/joblib/__init__.pyo
+${PYSITELIB}/joblib/_cloudpickle_wrapper.py
+${PYSITELIB}/joblib/_cloudpickle_wrapper.pyc
+${PYSITELIB}/joblib/_cloudpickle_wrapper.pyo
+${PYSITELIB}/joblib/_dask.py
+${PYSITELIB}/joblib/_dask.pyc
+${PYSITELIB}/joblib/_dask.pyo
+${PYSITELIB}/joblib/_memmapping_reducer.py
+${PYSITELIB}/joblib/_memmapping_reducer.pyc
+${PYSITELIB}/joblib/_memmapping_reducer.pyo
+${PYSITELIB}/joblib/_multiprocessing_helpers.py
+${PYSITELIB}/joblib/_multiprocessing_helpers.pyc
+${PYSITELIB}/joblib/_multiprocessing_helpers.pyo
+${PYSITELIB}/joblib/_parallel_backends.py
+${PYSITELIB}/joblib/_parallel_backends.pyc
+${PYSITELIB}/joblib/_parallel_backends.pyo
+${PYSITELIB}/joblib/_store_backends.py
+${PYSITELIB}/joblib/_store_backends.pyc
+${PYSITELIB}/joblib/_store_backends.pyo
+${PYSITELIB}/joblib/_utils.py
+${PYSITELIB}/joblib/_utils.pyc
+${PYSITELIB}/joblib/_utils.pyo
+${PYSITELIB}/joblib/backports.py
+${PYSITELIB}/joblib/backports.pyc
+${PYSITELIB}/joblib/backports.pyo
+${PYSITELIB}/joblib/compressor.py
+${PYSITELIB}/joblib/compressor.pyc
+${PYSITELIB}/joblib/compressor.pyo
+${PYSITELIB}/joblib/disk.py
+${PYSITELIB}/joblib/disk.pyc
+${PYSITELIB}/joblib/disk.pyo
+${PYSITELIB}/joblib/executor.py
+${PYSITELIB}/joblib/executor.pyc
+${PYSITELIB}/joblib/executor.pyo
+${PYSITELIB}/joblib/externals/__init__.py
+${PYSITELIB}/joblib/externals/__init__.pyc
+${PYSITELIB}/joblib/externals/__init__.pyo
+${PYSITELIB}/joblib/externals/cloudpickle/__init__.py
+${PYSITELIB}/joblib/externals/cloudpickle/__init__.pyc
+${PYSITELIB}/joblib/externals/cloudpickle/__init__.pyo
+${PYSITELIB}/joblib/externals/cloudpickle/cloudpickle.py
+${PYSITELIB}/joblib/externals/cloudpickle/cloudpickle.pyc
+${PYSITELIB}/joblib/externals/cloudpickle/cloudpickle.pyo
+${PYSITELIB}/joblib/externals/cloudpickle/cloudpickle_fast.py
+${PYSITELIB}/joblib/externals/cloudpickle/cloudpickle_fast.pyc
+${PYSITELIB}/joblib/externals/cloudpickle/cloudpickle_fast.pyo
+${PYSITELIB}/joblib/externals/cloudpickle/compat.py
+${PYSITELIB}/joblib/externals/cloudpickle/compat.pyc
+${PYSITELIB}/joblib/externals/cloudpickle/compat.pyo
+${PYSITELIB}/joblib/externals/loky/__init__.py
+${PYSITELIB}/joblib/externals/loky/__init__.pyc
+${PYSITELIB}/joblib/externals/loky/__init__.pyo
+${PYSITELIB}/joblib/externals/loky/_base.py
+${PYSITELIB}/joblib/externals/loky/_base.pyc
+${PYSITELIB}/joblib/externals/loky/_base.pyo
+${PYSITELIB}/joblib/externals/loky/backend/__init__.py
+${PYSITELIB}/joblib/externals/loky/backend/__init__.pyc
+${PYSITELIB}/joblib/externals/loky/backend/__init__.pyo
+${PYSITELIB}/joblib/externals/loky/backend/_posix_reduction.py
+${PYSITELIB}/joblib/externals/loky/backend/_posix_reduction.pyc
+${PYSITELIB}/joblib/externals/loky/backend/_posix_reduction.pyo
+${PYSITELIB}/joblib/externals/loky/backend/_win_reduction.py
+${PYSITELIB}/joblib/externals/loky/backend/_win_reduction.pyc
+${PYSITELIB}/joblib/externals/loky/backend/_win_reduction.pyo
+${PYSITELIB}/joblib/externals/loky/backend/context.py
+${PYSITELIB}/joblib/externals/loky/backend/context.pyc
+${PYSITELIB}/joblib/externals/loky/backend/context.pyo
+${PYSITELIB}/joblib/externals/loky/backend/fork_exec.py
+${PYSITELIB}/joblib/externals/loky/backend/fork_exec.pyc
+${PYSITELIB}/joblib/externals/loky/backend/fork_exec.pyo
+${PYSITELIB}/joblib/externals/loky/backend/popen_loky_posix.py
+${PYSITELIB}/joblib/externals/loky/backend/popen_loky_posix.pyc
+${PYSITELIB}/joblib/externals/loky/backend/popen_loky_posix.pyo
+${PYSITELIB}/joblib/externals/loky/backend/popen_loky_win32.py
+${PYSITELIB}/joblib/externals/loky/backend/popen_loky_win32.pyc
+${PYSITELIB}/joblib/externals/loky/backend/popen_loky_win32.pyo
+${PYSITELIB}/joblib/externals/loky/backend/process.py
+${PYSITELIB}/joblib/externals/loky/backend/process.pyc
+${PYSITELIB}/joblib/externals/loky/backend/process.pyo
+${PYSITELIB}/joblib/externals/loky/backend/queues.py
+${PYSITELIB}/joblib/externals/loky/backend/queues.pyc
+${PYSITELIB}/joblib/externals/loky/backend/queues.pyo
+${PYSITELIB}/joblib/externals/loky/backend/reduction.py
+${PYSITELIB}/joblib/externals/loky/backend/reduction.pyc
+${PYSITELIB}/joblib/externals/loky/backend/reduction.pyo
+${PYSITELIB}/joblib/externals/loky/backend/resource_tracker.py
+${PYSITELIB}/joblib/externals/loky/backend/resource_tracker.pyc
+${PYSITELIB}/joblib/externals/loky/backend/resource_tracker.pyo
+${PYSITELIB}/joblib/externals/loky/backend/spawn.py
+${PYSITELIB}/joblib/externals/loky/backend/spawn.pyc
+${PYSITELIB}/joblib/externals/loky/backend/spawn.pyo
+${PYSITELIB}/joblib/externals/loky/backend/synchronize.py
+${PYSITELIB}/joblib/externals/loky/backend/synchronize.pyc
+${PYSITELIB}/joblib/externals/loky/backend/synchronize.pyo
+${PYSITELIB}/joblib/externals/loky/backend/utils.py
+${PYSITELIB}/joblib/externals/loky/backend/utils.pyc
+${PYSITELIB}/joblib/externals/loky/backend/utils.pyo
+${PYSITELIB}/joblib/externals/loky/cloudpickle_wrapper.py
+${PYSITELIB}/joblib/externals/loky/cloudpickle_wrapper.pyc
+${PYSITELIB}/joblib/externals/loky/cloudpickle_wrapper.pyo
+${PYSITELIB}/joblib/externals/loky/initializers.py
+${PYSITELIB}/joblib/externals/loky/initializers.pyc
+${PYSITELIB}/joblib/externals/loky/initializers.pyo
+${PYSITELIB}/joblib/externals/loky/process_executor.py
+${PYSITELIB}/joblib/externals/loky/process_executor.pyc
+${PYSITELIB}/joblib/externals/loky/process_executor.pyo
+${PYSITELIB}/joblib/externals/loky/reusable_executor.py
+${PYSITELIB}/joblib/externals/loky/reusable_executor.pyc
+${PYSITELIB}/joblib/externals/loky/reusable_executor.pyo
+${PYSITELIB}/joblib/func_inspect.py
+${PYSITELIB}/joblib/func_inspect.pyc
+${PYSITELIB}/joblib/func_inspect.pyo
+${PYSITELIB}/joblib/hashing.py
+${PYSITELIB}/joblib/hashing.pyc
+${PYSITELIB}/joblib/hashing.pyo
+${PYSITELIB}/joblib/logger.py
+${PYSITELIB}/joblib/logger.pyc
+${PYSITELIB}/joblib/logger.pyo
+${PYSITELIB}/joblib/memory.py
+${PYSITELIB}/joblib/memory.pyc
+${PYSITELIB}/joblib/memory.pyo
+${PYSITELIB}/joblib/numpy_pickle.py
+${PYSITELIB}/joblib/numpy_pickle.pyc
+${PYSITELIB}/joblib/numpy_pickle.pyo
+${PYSITELIB}/joblib/numpy_pickle_compat.py
+${PYSITELIB}/joblib/numpy_pickle_compat.pyc
+${PYSITELIB}/joblib/numpy_pickle_compat.pyo
+${PYSITELIB}/joblib/numpy_pickle_utils.py
+${PYSITELIB}/joblib/numpy_pickle_utils.pyc
+${PYSITELIB}/joblib/numpy_pickle_utils.pyo
+${PYSITELIB}/joblib/parallel.py
+${PYSITELIB}/joblib/parallel.pyc
+${PYSITELIB}/joblib/parallel.pyo
+${PYSITELIB}/joblib/pool.py
+${PYSITELIB}/joblib/pool.pyc
+${PYSITELIB}/joblib/pool.pyo
+${PYSITELIB}/joblib/test/__init__.py
+${PYSITELIB}/joblib/test/__init__.pyc
+${PYSITELIB}/joblib/test/__init__.pyo
+${PYSITELIB}/joblib/test/common.py
+${PYSITELIB}/joblib/test/common.pyc
+${PYSITELIB}/joblib/test/common.pyo
+${PYSITELIB}/joblib/test/data/__init__.py
+${PYSITELIB}/joblib/test/data/__init__.pyc
+${PYSITELIB}/joblib/test/data/__init__.pyo
+${PYSITELIB}/joblib/test/data/create_numpy_pickle.py
+${PYSITELIB}/joblib/test/data/create_numpy_pickle.pyc
+${PYSITELIB}/joblib/test/data/create_numpy_pickle.pyo
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_compressed_pickle_py27_np16.gz
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_compressed_pickle_py27_np17.gz
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_compressed_pickle_py33_np18.gz
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_compressed_pickle_py34_np19.gz
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_compressed_pickle_py35_np19.gz
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_pickle_py27_np17.pkl
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_pickle_py27_np17.pkl.bz2
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_pickle_py27_np17.pkl.gzip
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_pickle_py27_np17.pkl.lzma
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_pickle_py27_np17.pkl.xz
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_pickle_py33_np18.pkl
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_pickle_py33_np18.pkl.bz2
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_pickle_py33_np18.pkl.gzip
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_pickle_py33_np18.pkl.lzma
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_pickle_py33_np18.pkl.xz
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_pickle_py34_np19.pkl
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_pickle_py34_np19.pkl.bz2
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_pickle_py34_np19.pkl.gzip
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_pickle_py34_np19.pkl.lzma
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_pickle_py34_np19.pkl.xz
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_pickle_py35_np19.pkl
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_pickle_py35_np19.pkl.bz2
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_pickle_py35_np19.pkl.gzip
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_pickle_py35_np19.pkl.lzma
+${PYSITELIB}/joblib/test/data/joblib_0.10.0_pickle_py35_np19.pkl.xz
+${PYSITELIB}/joblib/test/data/joblib_0.11.0_compressed_pickle_py36_np111.gz
+${PYSITELIB}/joblib/test/data/joblib_0.11.0_pickle_py36_np111.pkl
+${PYSITELIB}/joblib/test/data/joblib_0.11.0_pickle_py36_np111.pkl.bz2
+${PYSITELIB}/joblib/test/data/joblib_0.11.0_pickle_py36_np111.pkl.gzip
+${PYSITELIB}/joblib/test/data/joblib_0.11.0_pickle_py36_np111.pkl.lzma
+${PYSITELIB}/joblib/test/data/joblib_0.11.0_pickle_py36_np111.pkl.xz
+${PYSITELIB}/joblib/test/data/joblib_0.8.4_compressed_pickle_py27_np17.gz
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_compressed_pickle_py27_np16.gz
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_compressed_pickle_py27_np17.gz
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_compressed_pickle_py34_np19.gz
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_compressed_pickle_py35_np19.gz
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py27_np16.pkl
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py27_np16.pkl_01.npy
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py27_np16.pkl_02.npy
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py27_np16.pkl_03.npy
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py27_np16.pkl_04.npy
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py27_np17.pkl
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py27_np17.pkl_01.npy
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py27_np17.pkl_02.npy
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py27_np17.pkl_03.npy
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py27_np17.pkl_04.npy
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py33_np18.pkl
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py33_np18.pkl_01.npy
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py33_np18.pkl_02.npy
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py33_np18.pkl_03.npy
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py33_np18.pkl_04.npy
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py34_np19.pkl
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py34_np19.pkl_01.npy
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py34_np19.pkl_02.npy
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py34_np19.pkl_03.npy
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py34_np19.pkl_04.npy
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py35_np19.pkl
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py35_np19.pkl_01.npy
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py35_np19.pkl_02.npy
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py35_np19.pkl_03.npy
+${PYSITELIB}/joblib/test/data/joblib_0.9.2_pickle_py35_np19.pkl_04.npy
+${PYSITELIB}/joblib/test/data/joblib_0.9.4.dev0_compressed_cache_size_pickle_py35_np19.gz
+${PYSITELIB}/joblib/test/data/joblib_0.9.4.dev0_compressed_cache_size_pickle_py35_np19.gz_01.npy.z
+${PYSITELIB}/joblib/test/data/joblib_0.9.4.dev0_compressed_cache_size_pickle_py35_np19.gz_02.npy.z
+${PYSITELIB}/joblib/test/data/joblib_0.9.4.dev0_compressed_cache_size_pickle_py35_np19.gz_03.npy.z
+${PYSITELIB}/joblib/test/test_backports.py
+${PYSITELIB}/joblib/test/test_backports.pyc
+${PYSITELIB}/joblib/test/test_backports.pyo
+${PYSITELIB}/joblib/test/test_cloudpickle_wrapper.py
+${PYSITELIB}/joblib/test/test_cloudpickle_wrapper.pyc
+${PYSITELIB}/joblib/test/test_cloudpickle_wrapper.pyo
+${PYSITELIB}/joblib/test/test_config.py
+${PYSITELIB}/joblib/test/test_config.pyc
+${PYSITELIB}/joblib/test/test_config.pyo
+${PYSITELIB}/joblib/test/test_dask.py
+${PYSITELIB}/joblib/test/test_dask.pyc
+${PYSITELIB}/joblib/test/test_dask.pyo
+${PYSITELIB}/joblib/test/test_disk.py
+${PYSITELIB}/joblib/test/test_disk.pyc
+${PYSITELIB}/joblib/test/test_disk.pyo
+${PYSITELIB}/joblib/test/test_func_inspect.py
+${PYSITELIB}/joblib/test/test_func_inspect.pyc
+${PYSITELIB}/joblib/test/test_func_inspect.pyo
+${PYSITELIB}/joblib/test/test_func_inspect_special_encoding.py
+${PYSITELIB}/joblib/test/test_func_inspect_special_encoding.pyc
+${PYSITELIB}/joblib/test/test_func_inspect_special_encoding.pyo
+${PYSITELIB}/joblib/test/test_hashing.py
+${PYSITELIB}/joblib/test/test_hashing.pyc
+${PYSITELIB}/joblib/test/test_hashing.pyo
+${PYSITELIB}/joblib/test/test_init.py
+${PYSITELIB}/joblib/test/test_init.pyc
+${PYSITELIB}/joblib/test/test_init.pyo
+${PYSITELIB}/joblib/test/test_logger.py
+${PYSITELIB}/joblib/test/test_logger.pyc
+${PYSITELIB}/joblib/test/test_logger.pyo
+${PYSITELIB}/joblib/test/test_memmapping.py
+${PYSITELIB}/joblib/test/test_memmapping.pyc
+${PYSITELIB}/joblib/test/test_memmapping.pyo
+${PYSITELIB}/joblib/test/test_memory.py
+${PYSITELIB}/joblib/test/test_memory.pyc
+${PYSITELIB}/joblib/test/test_memory.pyo
+${PYSITELIB}/joblib/test/test_missing_multiprocessing.py
+${PYSITELIB}/joblib/test/test_missing_multiprocessing.pyc
+${PYSITELIB}/joblib/test/test_missing_multiprocessing.pyo
+${PYSITELIB}/joblib/test/test_module.py
+${PYSITELIB}/joblib/test/test_module.pyc
+${PYSITELIB}/joblib/test/test_module.pyo
+${PYSITELIB}/joblib/test/test_numpy_pickle.py
+${PYSITELIB}/joblib/test/test_numpy_pickle.pyc
+${PYSITELIB}/joblib/test/test_numpy_pickle.pyo
+${PYSITELIB}/joblib/test/test_numpy_pickle_compat.py
+${PYSITELIB}/joblib/test/test_numpy_pickle_compat.pyc
+${PYSITELIB}/joblib/test/test_numpy_pickle_compat.pyo
+${PYSITELIB}/joblib/test/test_numpy_pickle_utils.py
+${PYSITELIB}/joblib/test/test_numpy_pickle_utils.pyc
+${PYSITELIB}/joblib/test/test_numpy_pickle_utils.pyo
+${PYSITELIB}/joblib/test/test_parallel.py
+${PYSITELIB}/joblib/test/test_parallel.pyc
+${PYSITELIB}/joblib/test/test_parallel.pyo
+${PYSITELIB}/joblib/test/test_store_backends.py
+${PYSITELIB}/joblib/test/test_store_backends.pyc
+${PYSITELIB}/joblib/test/test_store_backends.pyo
+${PYSITELIB}/joblib/test/test_testing.py
+${PYSITELIB}/joblib/test/test_testing.pyc
+${PYSITELIB}/joblib/test/test_testing.pyo
+${PYSITELIB}/joblib/test/test_utils.py
+${PYSITELIB}/joblib/test/test_utils.pyc
+${PYSITELIB}/joblib/test/test_utils.pyo
+${PYSITELIB}/joblib/test/testutils.py
+${PYSITELIB}/joblib/test/testutils.pyc
+${PYSITELIB}/joblib/test/testutils.pyo
+${PYSITELIB}/joblib/testing.py
+${PYSITELIB}/joblib/testing.pyc
+${PYSITELIB}/joblib/testing.pyo
diff --git a/py-joblib/distinfo b/py-joblib/distinfo
new file mode 100644
index 0000000000..b4b5ee2f57
--- /dev/null
+++ b/py-joblib/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.17 2023/11/03 10:35:53 adam Exp $
+
+BLAKE2s (joblib-1.3.2.tar.gz) = 6f3ff669b1222cd1bb387d989b636936fc17a8b01c5ea27d98f6ee2405f8aae5
+SHA512 (joblib-1.3.2.tar.gz) = 9b5acba1321351cf2ae548161ced18774b8b316aaf883cc8e77bf58898d1913361a3845d64f1f1f87e4e2394eafd92e0a6a8d67947db0c9a95a40e5f579baae6
+Size (joblib-1.3.2.tar.gz) = 1987720 bytes
+SHA1 (patch-joblib_externals_loky_backend_context.py) = d4451da69929fe6cbe24cd8300f398c16449a478
diff --git a/py-joblib/patches/patch-joblib_externals_loky_backend_context.py b/py-joblib/patches/patch-joblib_externals_loky_backend_context.py
new file mode 100644
index 0000000000..8f2c3c6f3b
--- /dev/null
+++ b/py-joblib/patches/patch-joblib_externals_loky_backend_context.py
@@ -0,0 +1,36 @@
+$NetBSD$
+
+# Add BSD support, eliminate subprocess on Darwin
+
+--- joblib/externals/loky/backend/context.py.orig	2023-06-29 15:14:21.000000000 +0000
++++ joblib/externals/loky/backend/context.py
+@@ -11,6 +11,7 @@
+ #
+ import os
+ import sys
++import sysctl
+ import math
+ import subprocess
+ import traceback
+@@ -267,13 +268,14 @@ def _count_physical_cores():
+             ]
+             cpu_count_physical = sum(map(int, cpu_info))
+         elif sys.platform == "darwin":
+-            cpu_info = subprocess.run(
+-                "sysctl -n hw.physicalcpu".split(),
+-                capture_output=True,
+-                text=True,
+-            )
+-            cpu_info = cpu_info.stdout
+-            cpu_count_physical = int(cpu_info)
++            cpu_count_physical = int(sysctl.filter("hw.physicalcpu")[0].value);
++        elif sys.platform.startswith('freebsd'):
++            cpu_count_physical = int(sysctl.filter("kern.smp.cores")[0].value);
++        elif sys.platform.startswith('netbsd'):
++            # FIXME: This reports the number of hyperthreads
++            # We want independent cores to prevent oversubscription
++            cpu_count_physical = int(sysctl.filter("hw.ncpu")[0].value);
++        # FIXME: Add OpenBSD, Dragonfly (probably the same as FreeBSD)
+         else:
+             raise NotImplementedError(f"unsupported platform: {sys.platform}")
+ 


Home | Main Index | Thread Index | Old Index