Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
__enter__=lambda: entered_context, __exit__=lambda *a: None
)
InGenericPkgCtx = pretend.stub(__call__=lambda a: context)
monkeypatch.setattr(wheel_abi, "InGenericPkgCtx", InGenericPkgCtx)
monkeypatch.setattr(
wheel_abi, "elf_is_python_extension", lambda fn, elf: (fn, elf)
)
monkeypatch.setattr(
wheel_abi,
"elf_file_filter",
lambda fns: [(fn, pretend.stub()) for fn in fns],
)
with pytest.raises(RuntimeError) as exec_info:
wheel_abi.get_wheel_elfdata("/fakepath")
assert exec_info.value.args == (message,)
def xacc_repair_wheel(wheel_path: str, abi: str, lib_sdir: str, out_dir: str,
update_tags: bool) -> Optional[str]:
external_refs_by_fn = get_wheel_elfdata(wheel_path)[1]
soname_map = {} # type: Dict[str, str]
if not isabs(out_dir):
out_dir = abspath(out_dir)
wheel_fname = basename(wheel_path)
with InWheelCtx(wheel_path) as ctx:
ctx.out_wheel = pjoin(out_dir, wheel_fname)
# here, fn is a path to a python extension library in
# the wheel, and v['libs'] contains its required libs
for fn, v in external_refs_by_fn.items():
# pkg_root should resolve to like numpy/ or scipy/
# note that it's possible for the wheel to contain
# more than one pkg, which is why we detect the pkg root
# for each fn.
def repair_wheel(wheel_path: str, abi: str, lib_sdir: str, out_dir: str,
update_tags: bool, patcher: ElfPatcher) -> Optional[str]:
external_refs_by_fn = get_wheel_elfdata(wheel_path)[1]
# Do not repair a pure wheel, i.e. has no external refs
if not external_refs_by_fn:
return None
soname_map = {} # type: Dict[str, Tuple[str, str]]
if not isabs(out_dir):
out_dir = abspath(out_dir)
wheel_fname = basename(wheel_path)
with InWheelCtx(wheel_path) as ctx:
ctx.out_wheel = pjoin(out_dir, wheel_fname)
match = WHEEL_INFO_RE(wheel_fname)
if not match: