diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 0000000..cf21e9b --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,11 @@ +# 0.2.1 + +* Allow arbitrary overrides of the form `kup install ... --override ... github:...` + + +# 0.2.0 + +* Removed `kup update` as it was functionally equivalent to `kup install` +* Renamed `kup remove` to `kup uninstall` so as to make it clear its associated with the `kup install` operation and not the `kup add` +* Added `kup publish` which allows uploading a package to a cachix cache and pinning it to it's uri +* Added the ability to query the `k-framework-binary.cachix.org` cache to download pre-built binaries of a package if they exist in the pinned cache \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 0e7f34f..809c627 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "kup" -version = "0.2.0" +version = "0.2.1" description = "kup is a tool for managing installations of the K framework along with the different available semantics" authors = [ "Runtime Verification, Inc. ", diff --git a/src/kup/__main__.py b/src/kup/__main__.py index a0ccacd..7c576cf 100644 --- a/src/kup/__main__.py +++ b/src/kup/__main__.py @@ -382,7 +382,7 @@ def mk_override_args(package: GithubPackage, overrides: List[List[str]]) -> List ) input_path = possible_input.follows possible_input = walk_package_metadata(inputs, input_path) - if possible_input is None: + if possible_input is None and not version_or_path.startswith('github:'): rich.print( f"❗ [red]'[green]{input}[/]' is not a valid input of the package '[green]{package.package_name.base}[/]'.\n" f"[/]To see the valid inputs, run '[blue]kup list {package.package_name.base} --inputs[/]'" @@ -399,6 +399,12 @@ def mk_override_args(package: GithubPackage, overrides: List[List[str]]) -> List nix_overrides.append(git_path) nix_overrides.append('--update-input') nix_overrides.append('/'.join(input_path)) + elif version_or_path.startswith('github:'): + nix_overrides.append('--override-input') + nix_overrides.append(input) + nix_overrides.append(version_or_path) + nix_overrides.append('--update-input') + nix_overrides.append(input) else: rich.print( f"❗ [red]Internal error when accessing package metadata. Expected '[green]{input}[/]' to be a direct input.[/]"