mirror of https://github.com/pyodide/pyodide.git
Fix package name compatibility with wheel filename (#4005)
Co-authored-by: Gyeongjae Choi <def6488@gmail.com>
This commit is contained in:
parent
c129e6d567
commit
94ebdcacef
|
@ -85,7 +85,7 @@ repos:
|
|||
- resolvelib
|
||||
- rich
|
||||
- auditwheel_emscripten
|
||||
- pyodide-lock==0.1.0a1
|
||||
- pyodide-lock==0.1.0a4
|
||||
- micropip
|
||||
- id: mypy
|
||||
name: mypy-tests
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package:
|
||||
name: pyb2d
|
||||
version: 0.7.2
|
||||
name: b2d
|
||||
version: 0.7.4
|
||||
top-level:
|
||||
- b2d
|
||||
|
|
@ -4,7 +4,7 @@ import pytest
|
|||
@pytest.mark.driver_timeout(40)
|
||||
def test_pyb2d(selenium_standalone, request):
|
||||
selenium = selenium_standalone
|
||||
selenium.load_package("pyb2d")
|
||||
selenium.load_package("b2d")
|
||||
|
||||
selenium.run(
|
||||
"""
|
|
@ -1,6 +1,6 @@
|
|||
package:
|
||||
name: fpcast-test
|
||||
version: "0.1"
|
||||
version: "0.1.1"
|
||||
tag:
|
||||
- core
|
||||
- pyodide.test
|
||||
|
|
|
@ -21,6 +21,7 @@ from typing import Any
|
|||
|
||||
from pyodide_lock import PyodideLockSpec
|
||||
from pyodide_lock.spec import PackageSpec as PackageLockSpec
|
||||
from pyodide_lock.utils import update_package_sha256
|
||||
from rich.live import Live
|
||||
from rich.progress import BarColumn, Progress, TimeElapsedColumn
|
||||
from rich.spinner import Spinner
|
||||
|
@ -647,7 +648,8 @@ def generate_packagedata(
|
|||
install_dir=pkg.install_dir,
|
||||
package_type=pkg.package_type,
|
||||
)
|
||||
pkg_entry.update_sha256(output_dir / pkg.file_name)
|
||||
|
||||
update_package_sha256(pkg_entry, output_dir / pkg.file_name)
|
||||
|
||||
pkg_type = pkg.package_type
|
||||
if pkg_type in ("shared_library", "cpython_module"):
|
||||
|
@ -677,7 +679,8 @@ def generate_packagedata(
|
|||
file_name=pkg.unvendored_tests.name,
|
||||
install_dir=pkg.install_dir,
|
||||
)
|
||||
pkg_entry.update_sha256(output_dir / pkg.unvendored_tests.name)
|
||||
|
||||
update_package_sha256(pkg_entry, output_dir / pkg.unvendored_tests.name)
|
||||
|
||||
packages[name.lower() + "-tests"] = pkg_entry
|
||||
|
||||
|
@ -703,7 +706,9 @@ def generate_lockfile(
|
|||
"python": sys.version.partition(" ")[0],
|
||||
}
|
||||
packages = generate_packagedata(output_dir, pkg_map)
|
||||
return PyodideLockSpec(info=info, packages=packages)
|
||||
lock_spec = PyodideLockSpec(info=info, packages=packages)
|
||||
lock_spec.check_wheel_filenames()
|
||||
return lock_spec
|
||||
|
||||
|
||||
def copy_packages_to_dist_dir(
|
||||
|
|
|
@ -53,7 +53,12 @@ def test_generate_lockfile(tmp_path):
|
|||
)
|
||||
hashes = {}
|
||||
for pkg in pkg_map.values():
|
||||
pkg.file_name = pkg.file_name or pkg.name + ".whl"
|
||||
if not pkg.file_name:
|
||||
match pkg.package_type:
|
||||
case "package":
|
||||
pkg.file_name = pkg.name + f"-{pkg.version}-py3-none-any.whl"
|
||||
case _:
|
||||
pkg.file_name = pkg.name + ".zip"
|
||||
# Write dummy package file for SHA-256 hash verification
|
||||
with zipfile.ZipFile(tmp_path / pkg.file_name, "w") as whlzip:
|
||||
whlzip.writestr(pkg.file_name, data=pkg.file_name)
|
||||
|
@ -76,7 +81,7 @@ def test_generate_lockfile(tmp_path):
|
|||
assert package_data.packages["pkg_1"] == PackageSpec(
|
||||
name="pkg_1",
|
||||
version="1.0.0",
|
||||
file_name="pkg_1.whl",
|
||||
file_name="pkg_1-1.0.0-py3-none-any.whl",
|
||||
depends=["pkg_1_1", "pkg_3", "libtest_shared"],
|
||||
imports=["pkg_1"],
|
||||
package_type="package",
|
||||
|
|
|
@ -30,7 +30,7 @@ dependencies = [
|
|||
"types-requests",
|
||||
"typer",
|
||||
"auditwheel-emscripten~=0.0.9",
|
||||
"pyodide-lock==0.1.0a1",
|
||||
"pyodide-lock==0.1.0a4",
|
||||
"resolvelib",
|
||||
"rich",
|
||||
"loky",
|
||||
|
|
Loading…
Reference in New Issue