From e77888cca5a1aa5ad409ca284c45fc309087a2b8 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Fri, 21 Feb 2025 23:11:19 -0500 Subject: [PATCH 1/4] oci-cli: drop toplevel with, use relaxDeps --- pkgs/by-name/oc/oci-cli/package.nix | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/pkgs/by-name/oc/oci-cli/package.nix b/pkgs/by-name/oc/oci-cli/package.nix index fca8f519d0be..7048069871a1 100644 --- a/pkgs/by-name/oc/oci-cli/package.nix +++ b/pkgs/by-name/oc/oci-cli/package.nix @@ -35,9 +35,8 @@ let }; }; in -with py.pkgs; -buildPythonApplication rec { +py.pkgs.buildPythonApplication rec { pname = "oci-cli"; version = "3.14.0"; format = "setuptools"; @@ -51,7 +50,7 @@ buildPythonApplication rec { nativeBuildInputs = [ installShellFiles ]; - propagatedBuildInputs = [ + propagatedBuildInputs = with py.pkgs; [ arrow certifi click @@ -68,15 +67,14 @@ buildPythonApplication rec { terminaltables ]; - postPatch = '' - substituteInPlace setup.py \ - --replace "cryptography>=3.2.1,<=37.0.2" "cryptography" \ - --replace "pyOpenSSL>=17.5.0,<=22.0.0" "pyOpenSSL" \ - --replace "PyYAML>=5.4,<6" "PyYAML" \ - --replace "prompt-toolkit==3.0.29" "prompt-toolkit" \ - --replace "terminaltables==3.1.0" "terminaltables" \ - --replace "oci==2.78.0" "oci" - ''; + pythonRelaxDeps = [ + "PyYAML" + "cryptography" + "oci" + "prompt-toolkit" + "pyOpenSSL" + "terminaltables" + ]; postInstall = '' cat >oci.zsh < Date: Fri, 21 Feb 2025 23:18:28 -0500 Subject: [PATCH 2/4] oci-cli: 3.14.0 -> 3.51.8 https://github.com/oracle/oci-cli/releases/tag/v3.51.8 --- pkgs/by-name/oc/oci-cli/package.nix | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/pkgs/by-name/oc/oci-cli/package.nix b/pkgs/by-name/oc/oci-cli/package.nix index 7048069871a1..1799ffe36e1e 100644 --- a/pkgs/by-name/oc/oci-cli/package.nix +++ b/pkgs/by-name/oc/oci-cli/package.nix @@ -1,27 +1,15 @@ { lib, fetchFromGitHub, - fetchPypi, python3, installShellFiles, + nix-update-script, }: let py = python3.override { self = py; packageOverrides = self: super: { - - click = super.click.overridePythonAttrs (oldAttrs: rec { - version = "7.1.2"; - - src = fetchPypi { - pname = "click"; - inherit version; - hash = "sha256-0rUlXHxjSbwb0eWeCM0SrLvWPOZJ8liHVXg6qU37axo="; - }; - disabledTests = [ "test_bytes_args" ]; # https://github.com/pallets/click/commit/6e05e1fa1c2804 - }); - jmespath = super.jmespath.overridePythonAttrs (oldAttrs: rec { version = "0.10.0"; src = oldAttrs.src.override { @@ -31,21 +19,20 @@ let }; doCheck = false; }); - }; }; in py.pkgs.buildPythonApplication rec { pname = "oci-cli"; - version = "3.14.0"; + version = "3.51.8"; format = "setuptools"; src = fetchFromGitHub { owner = "oracle"; repo = pname; - rev = "v${version}"; - hash = "sha256-yooEZuSIw2EMJVyT/Z/x4hJi8a1F674CtsMMGkMAYLg="; + tag = "v${version}"; + hash = "sha256-p+X6kJDjuDaOLgZ9KwrZJgAqORKLxPrXwQ4X+JZb1W4="; }; nativeBuildInputs = [ installShellFiles ]; @@ -97,9 +84,11 @@ py.pkgs.buildPythonApplication rec { doCheck = true; pythonImportsCheck = [ - " oci_cli " + "oci_cli" ]; + passthru.updateScript = nix-update-script { }; + meta = with lib; { description = "Command Line Interface for Oracle Cloud Infrastructure"; homepage = "https://docs.cloud.oracle.com/iaas/Content/API/Concepts/cliconcepts.htm"; From 4a22ccb00fbe45a091560a98c92d7ecaac6fa2e8 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Fri, 21 Feb 2025 23:29:55 -0500 Subject: [PATCH 3/4] oci-cli, python3Packages.oci: add adamcstephens as maintainer --- pkgs/by-name/oc/oci-cli/package.nix | 5 ++++- pkgs/development/python-modules/oci/default.nix | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/oc/oci-cli/package.nix b/pkgs/by-name/oc/oci-cli/package.nix index 1799ffe36e1e..b12cf5be165d 100644 --- a/pkgs/by-name/oc/oci-cli/package.nix +++ b/pkgs/by-name/oc/oci-cli/package.nix @@ -96,6 +96,9 @@ py.pkgs.buildPythonApplication rec { asl20 # or upl ]; - maintainers = with maintainers; [ ilian ]; + maintainers = with maintainers; [ + adamcstephens + ilian + ]; }; } diff --git a/pkgs/development/python-modules/oci/default.nix b/pkgs/development/python-modules/oci/default.nix index f2e8cd0bac85..59de6db60323 100644 --- a/pkgs/development/python-modules/oci/default.nix +++ b/pkgs/development/python-modules/oci/default.nix @@ -52,6 +52,9 @@ buildPythonPackage rec { asl20 # or upl ]; - maintainers = with lib.maintainers; [ ilian ]; + maintainers = with lib.maintainers; [ + adamcstephens + ilian + ]; }; } From d55ea69caf5a0df617e026a0b3bec018bdc7e8ef Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Fri, 21 Feb 2025 23:46:58 -0500 Subject: [PATCH 4/4] oci-cli: drop nix-support/propagated-build-inputs --- pkgs/by-name/oc/oci-cli/package.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/by-name/oc/oci-cli/package.nix b/pkgs/by-name/oc/oci-cli/package.nix index b12cf5be165d..eebd13ad60b9 100644 --- a/pkgs/by-name/oc/oci-cli/package.nix +++ b/pkgs/by-name/oc/oci-cli/package.nix @@ -63,6 +63,12 @@ py.pkgs.buildPythonApplication rec { "terminaltables" ]; + # Propagating dependencies leaks them through $PYTHONPATH which causes issues + # when used in nix-shell. + postFixup = '' + rm $out/nix-support/propagated-build-inputs + ''; + postInstall = '' cat >oci.zsh <