diff options
-rw-r--r-- | pkgs/development/python-modules/openapi3/default.nix | 46 | ||||
-rw-r--r-- | pkgs/tools/virtualization/linode-cli/default.nix | 27 | ||||
-rw-r--r-- | pkgs/tools/virtualization/linode-cli/remove-update-check.patch | 24 | ||||
-rwxr-xr-x | pkgs/tools/virtualization/linode-cli/update.sh | 6 | ||||
-rw-r--r-- | pkgs/top-level/python-packages.nix | 2 |
5 files changed, 82 insertions, 23 deletions
diff --git a/pkgs/development/python-modules/openapi3/default.nix b/pkgs/development/python-modules/openapi3/default.nix new file mode 100644 index 00000000000..72e852d209c --- /dev/null +++ b/pkgs/development/python-modules/openapi3/default.nix @@ -0,0 +1,46 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchPypi +, requests +, pyyaml +, setuptools +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "openapi3"; + version = "1.8.2"; + pyproject = true; + + disabled = pythonOlder "3.8"; + src = fetchPypi { + inherit pname version; + hash = "sha256-ohpJBXPYnKaa2ny+WFrbL8pJZCV/bzod9THxKBVFXSw="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ + requests + pyyaml + ]; + + nativeCheckinputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "openapi3" + ]; + + meta = with lib; { + changelog = "https://github.com/Dorthu/openapi3/releases/tag/${version}"; + description = "A Python3 OpenAPI 3 Spec Parser"; + homepage = "https://github.com/Dorthu/openapi3"; + license = licenses.bsd3; + maintainers = with maintainers; [ techknowlogick ]; + }; +} diff --git a/pkgs/tools/virtualization/linode-cli/default.nix b/pkgs/tools/virtualization/linode-cli/default.nix index e25fcb3a19b..a4f54ec8617 100644 --- a/pkgs/tools/virtualization/linode-cli/default.nix +++ b/pkgs/tools/virtualization/linode-cli/default.nix @@ -8,29 +8,33 @@ , requests , setuptools , terminaltables +, rich +, openapi3 +, packaging }: let - sha256 = "0r5by5d6wr5zbsaj211s99qg28nr7wm8iri6jxnksx5b375dah6g"; + hash = "sha256-J0L+FTVzYuAqTDOwpoH12lQr03UNo5dsQpd/iUKR40Q="; # specVersion taken from: https://www.linode.com/docs/api/openapi.yaml at `info.version`. - specVersion = "4.140.0"; - specSha256 = "0ay54m4aa8bmmpjc7s66rfzqzk4w25h48b9a665y29g67ybb432g"; + specVersion = "4.166.0"; + specHash = "sha256-rUwKQt3y/ALZUoW3eJiiIDJYLQpUHO7Abm0h09ra02g="; spec = fetchurl { url = "https://raw.githubusercontent.com/linode/linode-api-docs/v${specVersion}/openapi.yaml"; - sha256 = specSha256; + hash = specHash; }; in buildPythonApplication rec { pname = "linode-cli"; - version = "5.26.1"; + version = "5.45.0"; + pyproject = true; src = fetchFromGitHub { owner = "linode"; repo = pname; - rev = version; - inherit sha256; + rev = "v${version}"; + inherit hash; }; patches = [ @@ -40,7 +44,7 @@ buildPythonApplication rec { # remove need for git history prePatch = '' substituteInPlace setup.py \ - --replace "version=get_version()," "version='${version}'," + --replace "version = get_version()" "version='${version}'," ''; propagatedBuildInputs = [ @@ -49,11 +53,15 @@ buildPythonApplication rec { requests setuptools terminaltables + rich + openapi3 + packaging ]; postConfigure = '' python3 -m linodecli bake ${spec} --skip-config cp data-3 linodecli/ + echo "${version}" > baked_version ''; doInstallCheck = true; @@ -69,9 +77,10 @@ buildPythonApplication rec { passthru.updateScript = ./update.sh; meta = with lib; { + mainProgram = "linode-cli"; description = "The Linode Command Line Interface"; homepage = "https://github.com/linode/linode-cli"; license = licenses.bsd3; - maintainers = with maintainers; [ ryantm ]; + maintainers = with maintainers; [ ryantm techknowlogick ]; }; } diff --git a/pkgs/tools/virtualization/linode-cli/remove-update-check.patch b/pkgs/tools/virtualization/linode-cli/remove-update-check.patch index 316d2855b1f..f26b30edf72 100644 --- a/pkgs/tools/virtualization/linode-cli/remove-update-check.patch +++ b/pkgs/tools/virtualization/linode-cli/remove-update-check.patch @@ -1,11 +1,13 @@ ---- a/linodecli/cli.py -+++ b/linodecli/cli.py -@@ -555,7 +555,7 @@ - if self.debug_request: - self.print_response_debug_info(result) - -- if not self.suppress_warnings: -+ if False: - # check the major/minor version API reported against what we were built - # with to see if an upgrade should be available - api_version_higher = False +diff --git a/linodecli/api_request.py b/linodecli/api_request.py +index 4273aa6..3ada5c2 100644 +--- a/linodecli/api_request.py ++++ b/linodecli/api_request.py +@@ -305,7 +305,7 @@ def _attempt_warn_old_version(ctx, result): + file=sys.stderr, + ) + +- if api_version_higher: ++ if False: + # check to see if there is, in fact, a version to upgrade to. If not, don't + # suggest an upgrade (since there's no package anyway) + new_version_exists = False \ No newline at end of file diff --git a/pkgs/tools/virtualization/linode-cli/update.sh b/pkgs/tools/virtualization/linode-cli/update.sh index f232dd1e03b..8bd0bfe8602 100755 --- a/pkgs/tools/virtualization/linode-cli/update.sh +++ b/pkgs/tools/virtualization/linode-cli/update.sh @@ -18,13 +18,13 @@ VERSION=$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ | grep -v -e rc -e list \ | cut -d '"' -f4 | sort -rV | head -n 1) -SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/linode/linode-cli/archive/refs/tags/${VERSION}.tar.gz) +SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/linode/linode-cli/archive/refs/tags/v${VERSION}.tar.gz) setKV () { sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" ./default.nix } setKV specVersion ${SPEC_VERSION} -setKV specSha256 ${SPEC_SHA256} +setKV specHash ${SPEC_SHA256} setKV version ${VERSION} -setKV sha256 ${SHA256} +setKV hash ${SHA256} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 228cabf855d..806d4d6609f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8431,6 +8431,8 @@ self: super: with self; { openapi-spec-validator = callPackage ../development/python-modules/openapi-spec-validator { }; + openapi3 = callPackage ../development/python-modules/openapi3 { }; + openbabel-bindings = callPackage ../development/python-modules/openbabel-bindings { openbabel = callPackage ../development/libraries/openbabel { inherit (self) python; }; }; |