pythonPackages.cocotb: Ensure the required dynamic libraries are stated (#419599)

This commit is contained in:
Peder Bergebakken Sundt
2026-01-13 22:54:36 +00:00
committed by GitHub
@@ -4,6 +4,7 @@
fetchFromGitHub,
setuptools,
setuptools-scm,
python,
cocotb-bus,
find-libpython,
pytestCheckHook,
@@ -46,6 +47,14 @@ buildPythonPackage rec {
substituteInPlace setup.py --replace "'cocotb-bus<1.0'" ""
'';
# cocotb uses dlopen so that it's dynamic libraries are python version agnostic.
# Here we patch its dynamic libraries to make sure the correct libpython is found and used.
preFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
for lib in $out/lib/python*/site-packages/cocotb/libs/*.so; do
patchelf --add-rpath ${python}/lib --add-needed libpython3.so $lib
done
'';
disabledTests = [
# https://github.com/cocotb/cocotb/commit/425e1edb8e7133f4a891f2f87552aa2748cd8d2c#diff-4df986cbc2b1a3f22172caea94f959d8fcb4a128105979e6e99c68139469960cL33
"test_cocotb"