summary refs log tree commit diff
path: root/pkgs/tools/admin/azure-cli/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/admin/azure-cli/default.nix')
-rw-r--r--pkgs/tools/admin/azure-cli/default.nix116
1 files changed, 60 insertions, 56 deletions
diff --git a/pkgs/tools/admin/azure-cli/default.nix b/pkgs/tools/admin/azure-cli/default.nix
index df7fcdfbbb2..982fc5efa3f 100644
--- a/pkgs/tools/admin/azure-cli/default.nix
+++ b/pkgs/tools/admin/azure-cli/default.nix
@@ -1,20 +1,22 @@
-{ stdenv, lib, python3, fetchPypi, fetchFromGitHub, installShellFiles }:
+{ lib
+, callPackage
+, fetchFromGitHub
+, installShellFiles
+}:
 
 let
-  version = "2.52.0";
+  version = "2.53.1";
 
   src = fetchFromGitHub {
     name = "azure-cli-${version}-src";
     owner = "Azure";
     repo = "azure-cli";
     rev = "azure-cli-${version}";
-    hash = "sha256-wa0LmBMv3eQIsWEKMAHks+TvBZmTdFepPGG5XQRvZXk=";
+    hash = "sha256-++JquLva3ij4NDhXnY7tSQMH4HCtJ8DhZIzE0XguInM=";
   };
 
   # put packages that needs to be overridden in the py package scope
-  py = import ./python-packages.nix {
-    inherit stdenv src version python3 fetchPypi;
-  };
+  py = callPackage ./python-packages.nix { inherit src version; };
 in
 
 py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
@@ -23,46 +25,35 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
 
   sourceRoot = "${src.name}/src/azure-cli";
 
-  prePatch = ''
-    substituteInPlace setup.py \
-      --replace "chardet~=3.0.4" "chardet" \
-      --replace "javaproperties~=0.5.1" "javaproperties" \
-      --replace "scp~=0.13.2" "scp" \
-      --replace "packaging>=20.9,<22.0" "packaging" \
-      --replace "fabric~=2.4" "fabric"
-
-    # remove namespace hacks
-    # remove urllib3 because it was added as 'urllib3[secure]', which doesn't get handled well
-    sed -i setup.py \
-      -e '/azure-cli-command_modules-nspkg/d' \
-      -e '/azure-cli-nspkg/d' \
-      -e '/urllib3/d'
-  '';
-
-  nativeBuildInputs = [ installShellFiles ];
+  nativeBuildInputs = [
+    installShellFiles
+  ];
 
   propagatedBuildInputs = with py.pkgs; [
+    antlr4-python3-runtime
+    applicationinsights
+    argcomplete
+    asn1crypto
     azure-appconfiguration
     azure-batch
     azure-cli-core
     azure-cli-telemetry
+    azure-common
+    azure-core
     azure-cosmos
     azure-data-tables
     azure-datalake-store
-    azure-functions-devops-build
     azure-graphrbac
-    azure-identity
-    azure-keyvault
     azure-keyvault-administration
-    azure-keyvault-keys
     azure-keyvault-certificates
+    azure-keyvault-keys
     azure-keyvault-secrets
     azure-loganalytics
     azure-mgmt-advisor
     azure-mgmt-apimanagement
-    azure-mgmt-applicationinsights
     azure-mgmt-appconfiguration
     azure-mgmt-appcontainers
+    azure-mgmt-applicationinsights
     azure-mgmt-authorization
     azure-mgmt-batch
     azure-mgmt-batchai
@@ -75,12 +66,12 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
     azure-mgmt-containerinstance
     azure-mgmt-containerregistry
     azure-mgmt-containerservice
+    azure-mgmt-core
     azure-mgmt-cosmosdb
     azure-mgmt-databoxedge
-    azure-mgmt-datalake-analytics
+    azure-mgmt-datalake-nspkg
     azure-mgmt-datalake-store
     azure-mgmt-datamigration
-    azure-mgmt-deploymentmanager
     azure-mgmt-devtestlabs
     azure-mgmt-dns
     azure-mgmt-eventgrid
@@ -94,14 +85,13 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
     azure-mgmt-keyvault
     azure-mgmt-kusto
     azure-mgmt-loganalytics
-    azure-mgmt-managedservices
     azure-mgmt-managementgroups
+    azure-mgmt-managedservices
     azure-mgmt-maps
     azure-mgmt-marketplaceordering
     azure-mgmt-media
     azure-mgmt-monitor
     azure-mgmt-msi
-    azure-mgmt-network
     azure-mgmt-netapp
     azure-mgmt-policyinsights
     azure-mgmt-privatedns
@@ -111,7 +101,6 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
     azure-mgmt-redhatopenshift
     azure-mgmt-redis
     azure-mgmt-relay
-    azure-mgmt-reservations
     azure-mgmt-resource
     azure-mgmt-search
     azure-mgmt-security
@@ -119,50 +108,68 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
     azure-mgmt-servicefabric
     azure-mgmt-servicefabricmanagedclusters
     azure-mgmt-servicelinker
-    azure-mgmt-signalr
     azure-mgmt-sql
+    azure-mgmt-signalr
     azure-mgmt-sqlvirtualmachine
     azure-mgmt-storage
     azure-mgmt-synapse
     azure-mgmt-trafficmanager
     azure-mgmt-web
     azure-multiapi-storage
+    azure-nspkg
+    azure-storage-common
     azure-storage-blob
     azure-synapse-accesscontrol
     azure-synapse-artifacts
     azure-synapse-managedprivateendpoints
     azure-synapse-spark
+    bcrypt
+    certifi
+    cffi
     chardet
     colorama
     cryptography
     distro
     fabric
-    jsmin
+    humanfriendly
+    idna
+    invoke
+    isodate
+    javaproperties
+    jinja2
+    jmespath
+    jsondiff
     knack
-    mock
+    markupsafe
+    msal-extensions
+    msal
+    msrest
+    msrestazure
+    oauthlib
+    packaging
     paramiko
-    pydocumentdb
+    pbr
+    pkginfo
+    portalocker
+    psutil
+    pycomposefile
+    pycparser
     pygithub
-    pygments
+    pyjwt
     pynacl
     pyopenssl
-    pytz
-    pyyaml
-    psutil
+    python-dateutil
+    requests-oauthlib
     requests
     scp
     semver
     six
     sshtunnel
+    tabulate
     urllib3
-    vsts-cd-manager
+    wcwidth
     websocket-client
     xmltodict
-    javaproperties
-    jsondiff
-    # urllib3[secure]
-    # shell completion
-    argcomplete
   ];
 
   postInstall = ''
@@ -183,10 +190,12 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
       --set PYTHONPATH $PYTHONPATH
   '';
 
-  # almost the entire test suite requires an azure account setup and networking
-  # ensure that the azure namespaces are setup correctly and that azure.cli can be accessed
-  checkPhase = ''
-    HOME=$TMPDIR $out/bin/az --help > /dev/null
+  doInstallCheck = true;
+  installCheckPhase = ''
+    export HOME=$TMPDIR
+
+    $out/bin/az --version
+    $out/bin/az self-test
   '';
 
   # ensure these namespaces are able to be accessed
@@ -196,7 +205,6 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
     "azure.cli.telemetry"
     "azure.cosmos"
     "azure.datalake.store"
-    "azure_functions_devops_build"
     "azure.graphrbac"
     "azure.keyvault"
     "azure.loganalytics"
@@ -218,10 +226,8 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
     "azure.mgmt.containerregistry"
     "azure.mgmt.containerservice"
     "azure.mgmt.cosmosdb"
-    "azure.mgmt.datalake.analytics"
     "azure.mgmt.datalake.store"
     "azure.mgmt.datamigration"
-    "azure.mgmt.deploymentmanager"
     "azure.mgmt.devtestlabs"
     "azure.mgmt.dns"
     "azure.mgmt.eventgrid"
@@ -241,7 +247,6 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
     "azure.mgmt.media"
     "azure.mgmt.monitor"
     "azure.mgmt.msi"
-    "azure.mgmt.network"
     "azure.mgmt.netapp"
     "azure.mgmt.policyinsights"
     "azure.mgmt.privatedns"
@@ -250,7 +255,6 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
     "azure.mgmt.recoveryservicesbackup"
     "azure.mgmt.redis"
     "azure.mgmt.relay"
-    "azure.mgmt.reservations"
     "azure.mgmt.resource"
     "azure.mgmt.search"
     "azure.mgmt.security"