Lines Matching full:package

33 def ebuild_template(package: str):
44 DESCRIPTION="Build file for the {package} crate."
45 HOMEPAGE="https://crates.io/crates/{package}"
57 def ebuild_file_path(package: str, version: str):
58 return f"{DEV_RUST_PATH}/{package}/{package}-{version}.ebuild"
62 """Parses Cargo.lock file and returns (package, version) pairs."""
70 """Returns (package, version) pairs of ebuild files in dev-rust."""
79 """Returns a dict of package versions of all ebuild files in dev-rust."""
81 for (package, version) in all_ebuild_versions():
82 if package in versions:
83 versions[package].append(version)
84 versions[package].sort(key=StrictVersion)
86 versions[package] = [version]
90 def update_manifest(package: str, version: str):
91 """Regenerate ebuild manifest for the provided package/version."""
92 cmd = ["ebuild", ebuild_file_path(package, version), "manifest"]
97 def uprev_ebuild(package: str, new_version: str, old_version: str):
99 old_path = ebuild_file_path(package, old_version)
100 new_path = ebuild_file_path(package, new_version)
103 update_manifest(package, new_version)
106 def add_ebuild(package: str, version: str):
107 """Creates a new ebuild file for the provided package."""
108 ebuild_path = ebuild_file_path(package, version)
110 open(ebuild_path, "w").write(ebuild_template(package))
111 update_manifest(package, version)
114 def update_cargo(package: str, latest_version: str):
116 cmd = ["cargo", "update", "-p", package, "--precise", latest_version]
128 for (package, cargo_version) in parse_cargo_lock():
129 ebuild_versions = ebuild_packages.get(package, [])
130 if package in IGNORED_PACKAGES:
135 print(f"{package}: No ebuild file.")
137 add_ebuild(package, cargo_version)
140 f"{package}: Cargo version {cargo_version} is older than "
144 update_cargo(package, ebuild_versions[-1])
147 f"{package}: Ebuild versions ({', '.join(ebuild_versions)}) "
151 uprev_ebuild(package, cargo_version, ebuild_versions[-1])