diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index b1c4f7b1f40aa..bf10181b1ade7 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -135,3 +135,6 @@ f8c4a98e8e138e21353a2c33b90db3359f539b37 acd0e3898feb321cb9a71a0fd376f1157d0f4553 1b28414d2886c57343864326dbb745a634d3e37d 6afb255d976f85f3359e4929abd6f5149c323a02 + +# azure-cli: move to by-name, nixfmt #325950 +96cd538b68bd1d0a0a37979356d669abbba32ebc diff --git a/pkgs/tools/admin/azure-cli/0001-optional-immutable-configuration-dir.patch b/pkgs/by-name/az/azure-cli/0001-optional-immutable-configuration-dir.patch similarity index 100% rename from pkgs/tools/admin/azure-cli/0001-optional-immutable-configuration-dir.patch rename to pkgs/by-name/az/azure-cli/0001-optional-immutable-configuration-dir.patch diff --git a/pkgs/tools/admin/azure-cli/README.md b/pkgs/by-name/az/azure-cli/README.md similarity index 100% rename from pkgs/tools/admin/azure-cli/README.md rename to pkgs/by-name/az/azure-cli/README.md diff --git a/pkgs/tools/admin/azure-cli/commit-update-hunks.sh b/pkgs/by-name/az/azure-cli/commit-update-hunks.sh similarity index 100% rename from pkgs/tools/admin/azure-cli/commit-update-hunks.sh rename to pkgs/by-name/az/azure-cli/commit-update-hunks.sh diff --git a/pkgs/tools/admin/azure-cli/extensions-generated.nix b/pkgs/by-name/az/azure-cli/extensions-generated.nix similarity index 100% rename from pkgs/tools/admin/azure-cli/extensions-generated.nix rename to pkgs/by-name/az/azure-cli/extensions-generated.nix diff --git a/pkgs/tools/admin/azure-cli/extensions-manual.nix b/pkgs/by-name/az/azure-cli/extensions-manual.nix similarity index 82% rename from pkgs/tools/admin/azure-cli/extensions-manual.nix rename to pkgs/by-name/az/azure-cli/extensions-manual.nix index 8e5a9be8fbb26..6bd86c7a0a7ee 100644 --- a/pkgs/tools/admin/azure-cli/extensions-manual.nix +++ b/pkgs/by-name/az/azure-cli/extensions-manual.nix @@ -2,11 +2,12 @@ # # Checkout ./README.md for more information. -{ lib -, mkAzExtension -, mycli -, python3Packages -, python3 +{ + lib, + mkAzExtension, + mycli, + python3Packages, + python3, }: { @@ -26,14 +27,14 @@ url = "https://azcliprod.blob.core.windows.net/cli-extensions/rdbms_connect-${version}-py2.py3-none-any.whl"; sha256 = "49cbe8d9b7ea07a8974a29ad90247e864ed798bed5f28d0e3a57a4b37f5939e7"; description = "Support for testing connection to Azure Database for MySQL & PostgreSQL servers"; - propagatedBuildInputs = (with python3Packages; [ - pgcli - psycopg2 - pymysql - setproctitle - ]) ++ [ - (mycli.override { inherit python3; }) - ]; + propagatedBuildInputs = + (with python3Packages; [ + pgcli + psycopg2 + pymysql + setproctitle + ]) + ++ [ (mycli.override { inherit python3; }) ]; meta.maintainers = with lib.maintainers; [ obreitwi ]; }; diff --git a/pkgs/by-name/az/azure-cli/package.nix b/pkgs/by-name/az/azure-cli/package.nix new file mode 100644 index 0000000000000..0924627766072 --- /dev/null +++ b/pkgs/by-name/az/azure-cli/package.nix @@ -0,0 +1,448 @@ +{ + lib, + callPackage, + callPackages, + stdenvNoCC, + fetchurl, + fetchFromGitHub, + runCommand, + installShellFiles, + python311, + + # Whether to include patches that enable placing certain behavior-defining + # configuration files in the Nix store. + withImmutableConfig ? true, + + # List of extensions/plugins to include. + withExtensions ? [ ], + + azure-cli, +}: + +let + version = "2.62.0"; + + src = fetchFromGitHub { + name = "azure-cli-${version}-src"; + owner = "Azure"; + repo = "azure-cli"; + rev = "azure-cli-${version}"; + hash = "sha256-Rb27KRAb50YzTZzMs6n8g04x14ni3rIYAL3c5j/ieRw="; + }; + + # Pin Python version to 3.11. + # See https://discourse.nixos.org/t/breaking-changes-announcement-for-unstable/17574/53 + # and https://github.com/Azure/azure-cli/issues/27673 + python3 = python311; + + # put packages that needs to be overridden in the py package scope + py = callPackage ./python-packages.nix { inherit src version python3; }; + + # Builder for Azure CLI extensions. Extensions are Python wheels that + # outside of nix would be fetched by the CLI itself from various sources. + mkAzExtension = + { + pname, + version, + url, + sha256, + description, + ... + }@args: + python3.pkgs.buildPythonPackage ( + { + format = "wheel"; + src = fetchurl { inherit url sha256; }; + meta = { + inherit description; + inherit (azure-cli.meta) platforms maintainers; + homepage = "https://github.com/Azure/azure-cli-extensions"; + changelog = "https://github.com/Azure/azure-cli-extensions/blob/main/src/${pname}/HISTORY.rst"; + license = lib.licenses.mit; + sourceProvenance = [ lib.sourceTypes.fromSource ]; + } // args.meta or { }; + } + // (removeAttrs args [ + "url" + "sha256" + "description" + "meta" + ]) + ); + + extensions = + callPackages ./extensions-generated.nix { inherit mkAzExtension; } + // callPackages ./extensions-manual.nix { + inherit mkAzExtension python3; + python3Packages = python3.pkgs; + }; + + extensionDir = stdenvNoCC.mkDerivation { + name = "azure-cli-extensions"; + dontUnpack = true; + installPhase = + let + namePaths = map (p: "${p.pname},${p}/${python3.sitePackages}") withExtensions; + in + '' + for line in ${lib.concatStringsSep " " namePaths}; do + name=$(echo $line | cut -d',' -f1) + path=$(echo $line | cut -d',' -f2) + mkdir -p $out/$name + for f in $(ls $path); do + ln -s $path/$f $out/$name/$f + done + done + ''; + }; +in + +py.pkgs.toPythonApplication ( + py.pkgs.buildAzureCliPackage rec { + pname = "azure-cli"; + inherit version src; + + sourceRoot = "${src.name}/src/azure-cli"; + + 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-graphrbac + azure-keyvault-administration + azure-keyvault-certificates + azure-keyvault-keys + azure-keyvault-secrets + azure-loganalytics + azure-mgmt-advisor + azure-mgmt-apimanagement + azure-mgmt-appconfiguration + azure-mgmt-appcontainers + azure-mgmt-applicationinsights + azure-mgmt-authorization + azure-mgmt-batch + azure-mgmt-batchai + azure-mgmt-billing + azure-mgmt-botservice + azure-mgmt-cdn + azure-mgmt-cognitiveservices + azure-mgmt-compute + azure-mgmt-consumption + azure-mgmt-containerinstance + azure-mgmt-containerregistry + azure-mgmt-containerservice + azure-mgmt-core + azure-mgmt-cosmosdb + azure-mgmt-databoxedge + azure-mgmt-datalake-nspkg + azure-mgmt-datalake-store + azure-mgmt-datamigration + azure-mgmt-devtestlabs + azure-mgmt-dns + azure-mgmt-eventgrid + azure-mgmt-eventhub + azure-mgmt-extendedlocation + azure-mgmt-hdinsight + azure-mgmt-imagebuilder + azure-mgmt-iotcentral + azure-mgmt-iothub + azure-mgmt-iothubprovisioningservices + azure-mgmt-keyvault + azure-mgmt-kusto + azure-mgmt-loganalytics + azure-mgmt-managementgroups + azure-mgmt-managedservices + azure-mgmt-maps + azure-mgmt-marketplaceordering + azure-mgmt-media + azure-mgmt-monitor + azure-mgmt-msi + azure-mgmt-netapp + azure-mgmt-policyinsights + azure-mgmt-privatedns + azure-mgmt-rdbms + azure-mgmt-recoveryservices + azure-mgmt-recoveryservicesbackup + azure-mgmt-redhatopenshift + azure-mgmt-redis + azure-mgmt-relay + azure-mgmt-resource + azure-mgmt-search + azure-mgmt-security + azure-mgmt-servicebus + azure-mgmt-servicefabric + azure-mgmt-servicefabricmanagedclusters + azure-mgmt-servicelinker + 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 + humanfriendly + idna + invoke + isodate + javaproperties + jinja2 + jmespath + jsondiff + knack + markupsafe + msal-extensions + msal + msrest + msrestazure + oauthlib + packaging + paramiko + pbr + pkginfo + portalocker + psutil + pycomposefile + pycparser + pygithub + pyjwt + pynacl + pyopenssl + python-dateutil + requests-oauthlib + requests + scp + semver + setuptools + six + sshtunnel + tabulate + urllib3 + wcwidth + websocket-client + xmltodict + ] + ++ lib.optionals (!withImmutableConfig) [ + # pip is required to install extensions locally, but it's not needed if + # we're using the default immutable configuration. + pip + ] + ++ lib.concatMap (extension: extension.propagatedBuildInputs) withExtensions; + + postInstall = + '' + substituteInPlace az.completion.sh \ + --replace register-python-argcomplete ${py.pkgs.argcomplete}/bin/register-python-argcomplete + installShellCompletion --bash --name az.bash az.completion.sh + installShellCompletion --zsh --name _az az.completion.sh + '' + + lib.optionalString withImmutableConfig '' + export HOME=$TMPDIR + $out/bin/az --version + mkdir -p $out/etc/azure + mv $TMPDIR/.azure/commandIndex.json $out/etc/azure/commandIndex.json + mv $TMPDIR/.azure/versionCheck.json $out/etc/azure/versionCheck.json + '' + + '' + # remove garbage + rm $out/bin/az.bat + rm $out/bin/az.completion.sh + ''; + + # wrap the executable so that the python packages are available + # it's just a shebang script which calls `python -m azure.cli "$@"` + postFixup = + '' + wrapProgram $out/bin/az \ + '' + + lib.optionalString withImmutableConfig '' + --set AZURE_IMMUTABLE_DIR $out/etc/azure \ + '' + + lib.optionalString (withExtensions != [ ]) '' + --set AZURE_EXTENSION_DIR ${extensionDir} \ + '' + + '' + --set PYTHONPATH "${python3.pkgs.makePythonPath propagatedBuildInputs}:$out/${python3.sitePackages}" + ''; + + doInstallCheck = true; + installCheckPhase = '' + export HOME=$TMPDIR + + $out/bin/az --version + $out/bin/az self-test + ''; + + # ensure these namespaces are able to be accessed + pythonImportsCheck = [ + "azure.batch" + "azure.cli.core" + "azure.cli.telemetry" + "azure.cosmos" + "azure.datalake.store" + "azure.graphrbac" + "azure.keyvault" + "azure.loganalytics" + "azure.mgmt.advisor" + "azure.mgmt.apimanagement" + "azure.mgmt.applicationinsights" + "azure.mgmt.appconfiguration" + "azure.mgmt.appcontainers" + "azure.mgmt.authorization" + "azure.mgmt.batch" + "azure.mgmt.batchai" + "azure.mgmt.billing" + "azure.mgmt.botservice" + "azure.mgmt.cdn" + "azure.mgmt.cognitiveservices" + "azure.mgmt.compute" + "azure.mgmt.consumption" + "azure.mgmt.containerinstance" + "azure.mgmt.containerregistry" + "azure.mgmt.containerservice" + "azure.mgmt.cosmosdb" + "azure.mgmt.datalake.store" + "azure.mgmt.datamigration" + "azure.mgmt.devtestlabs" + "azure.mgmt.dns" + "azure.mgmt.eventgrid" + "azure.mgmt.eventhub" + "azure.mgmt.hdinsight" + "azure.mgmt.imagebuilder" + "azure.mgmt.iotcentral" + "azure.mgmt.iothub" + "azure.mgmt.iothubprovisioningservices" + "azure.mgmt.keyvault" + "azure.mgmt.kusto" + "azure.mgmt.loganalytics" + "azure.mgmt.managedservices" + "azure.mgmt.managementgroups" + "azure.mgmt.maps" + "azure.mgmt.marketplaceordering" + "azure.mgmt.media" + "azure.mgmt.monitor" + "azure.mgmt.msi" + "azure.mgmt.netapp" + "azure.mgmt.policyinsights" + "azure.mgmt.privatedns" + "azure.mgmt.rdbms" + "azure.mgmt.recoveryservices" + "azure.mgmt.recoveryservicesbackup" + "azure.mgmt.redis" + "azure.mgmt.relay" + "azure.mgmt.resource" + "azure.mgmt.search" + "azure.mgmt.security" + "azure.mgmt.servicebus" + "azure.mgmt.servicefabric" + "azure.mgmt.signalr" + "azure.mgmt.sql" + "azure.mgmt.sqlvirtualmachine" + "azure.mgmt.storage" + "azure.mgmt.trafficmanager" + "azure.mgmt.web" + "azure.storage.blob" + "azure.storage.common" + ]; + + passthru = { + inherit extensions; + withExtensions = extensions: azure-cli.override { withExtensions = extensions; }; + tests = { + # Test the package builds with some extensions configured, and the + # wanted extensions are recognized by the CLI and listed in the output. + azWithExtensions = + let + extensions = with azure-cli.extensions; [ + aks-preview + azure-devops + rdbms-connect + ]; + extensionNames = map (ext: ext.pname) extensions; + az = (azure-cli.withExtensions extensions); + in + runCommand "test-az-with-extensions" { } '' + export HOME=$TMPDIR + ${lib.getExe az} extension list > $out + for ext in ${lib.concatStringsSep " " extensionNames}; do + if ! grep -q $ext $out; then + echo "Extension $ext not found in list" + exit 1 + fi + done + ''; + # Test the package builds with mutable config. + # TODO: Maybe we can install an extension from local python wheel to + # check mutable extension install still works. + azWithMutableConfig = + let + az = azure-cli.override { withImmutableConfig = false; }; + in + runCommand "test-az-with-immutable-config" { } '' + export HOME=$TMPDIR + ${lib.getExe az} --version || exit 1 + touch $out + ''; + }; + }; + + meta = with lib; { + homepage = "https://github.com/Azure/azure-cli"; + description = "Next generation multi-platform command line experience for Azure"; + downloadPage = "https://github.com/Azure/azure-cli/releases/tag/azure-cli-${version}"; + longDescription = '' + The Azure Command-Line Interface (CLI) is a cross-platform + command-line tool to connect to Azure and execute administrative + commands on Azure resources. It allows the execution of commands + through a terminal using interactive command-line prompts or a script. + + `azure-cli` has extension support. For example, to install the `aks-preview` extension, use + + ```nix + environment.systemPackages = [ + (azure-cli.withExtensions [ azure-cli.extensions.aks-preview ]) + ]; + ``` + + To make the `azure-cli` immutable and prevent clashes in case `azure-cli` is also installed via other package managers, + some configuration files were moved into the derivation. This can be disabled by overriding `withImmutableConfig = false` + when building `azure-cli`. + ''; + changelog = "https://github.com/MicrosoftDocs/azure-docs-cli/blob/main/docs-ref-conceptual/release-notes-azure-cli.md"; + sourceProvenance = [ sourceTypes.fromSource ]; + license = licenses.mit; + mainProgram = "az"; + maintainers = with maintainers; [ katexochen ]; + platforms = platforms.all; + }; + } +) diff --git a/pkgs/by-name/az/azure-cli/python-packages.nix b/pkgs/by-name/az/azure-cli/python-packages.nix new file mode 100644 index 0000000000000..6944188cd0e98 --- /dev/null +++ b/pkgs/by-name/az/azure-cli/python-packages.nix @@ -0,0 +1,241 @@ +{ + lib, + stdenv, + python3, + fetchPypi, + fetchpatch, + src, + version, +}: + +let + buildAzureCliPackage = with py.pkgs; buildPythonPackage; + + overrideAzureMgmtPackage = + package: version: extension: hash: + package.overridePythonAttrs (oldAttrs: { + inherit version; + + src = fetchPypi { + inherit (oldAttrs) pname; + inherit version hash extension; + }; + }); + + py = python3.override { + packageOverrides = self: super: { + inherit buildAzureCliPackage; + + # core and the actual application are highly coupled + azure-cli-core = buildAzureCliPackage { + pname = "azure-cli-core"; + inherit version src; + + sourceRoot = "${src.name}/src/azure-cli-core"; + + patches = [ + # Adding the possibility to configure an immutable configuration dir via `AZURE_IMMUTABLE_DIR`. + # This enables us to place configuration files that alter the behavior of the CLI in the Nix store. + # + # This is a downstream patch without an commit or PR upstream. + # There is an issue to discuss possible solutions upstream: + # https://github.com/Azure/azure-cli/issues/28093 + ./0001-optional-immutable-configuration-dir.patch + ]; + + propagatedBuildInputs = with self; [ + argcomplete + azure-cli-telemetry + azure-common + azure-mgmt-core + cryptography + distro + humanfriendly + jmespath + knack + msal-extensions + msal + msrestazure + packaging + paramiko + pkginfo + psutil + pyjwt + pyopenssl + requests + ]; + + nativeCheckInputs = with self; [ pytest ]; + + doCheck = stdenv.isLinux; + + # ignore tests that does network call, or assume powershell + checkPhase = '' + python -c 'import azure.common; print(azure.common)' + + PYTHONPATH=$PWD:${src}/src/azure-cli-testsdk:$PYTHONPATH HOME=$TMPDIR pytest \ + azure/cli/core/tests \ + --ignore=azure/cli/core/tests/test_profile.py \ + --ignore=azure/cli/core/tests/test_generic_update.py \ + --ignore=azure/cli/core/tests/test_cloud.py \ + --ignore=azure/cli/core/tests/test_extension.py \ + -k 'not metadata_url and not test_send_raw_requests and not test_format_styled_text_legacy_powershell' + ''; + + pythonImportsCheck = [ + "azure.cli.telemetry" + "azure.cli.core" + ]; + }; + + azure-cli-telemetry = buildAzureCliPackage { + pname = "azure-cli-telemetry"; + version = "1.1.0"; + inherit src; + + sourceRoot = "${src.name}/src/azure-cli-telemetry"; + + propagatedBuildInputs = with self; [ + applicationinsights + portalocker + ]; + + nativeCheckInputs = with self; [ pytest ]; + # ignore flaky test + checkPhase = '' + cd azure + HOME=$TMPDIR pytest -k 'not test_create_telemetry_note_file_from_scratch' + ''; + }; + + azure-keyvault-keys = + overrideAzureMgmtPackage super.azure-keyvault-keys "4.9.0b3" "tar.gz" + "sha256-qoseyf6WqBEG8vPc1hF17K46AWk8Ba8V9KRed4lOlGo="; + azure-mgmt-applicationinsights = + overrideAzureMgmtPackage super.azure-mgmt-applicationinsights "1.0.0" "zip" + "sha256-woeix9703hn5LAwxugKGf6xvW433G129qxkoi7RV/Fs="; + azure-mgmt-batch = + overrideAzureMgmtPackage super.azure-mgmt-batch "17.3.0" "tar.gz" + "sha256-/JSIGmrNuKlTPzcbb3stPq6heJ65VQFLJKkI1t/nWZE="; + azure-mgmt-batchai = + overrideAzureMgmtPackage super.azure-mgmt-batchai "7.0.0b1" "zip" + "sha256-mT6vvjWbq0RWQidugR229E8JeVEiobPD3XA/nDM3I6Y="; + azure-mgmt-botservice = + overrideAzureMgmtPackage super.azure-mgmt-botservice "2.0.0b3" "zip" + "sha256-XZGQOeMw8usyQ1tl8j57fZ3uqLshomHY9jO/rbpQOvM="; + azure-mgmt-cdn = + overrideAzureMgmtPackage super.azure-mgmt-cdn "12.0.0" "zip" + "sha256-t8PuIYkjS0r1Gs4pJJJ8X9cz8950imQtbVBABnyMnd0="; + azure-mgmt-compute = + overrideAzureMgmtPackage super.azure-mgmt-compute "31.0.0" "tar.gz" + "sha256-WlscT8GhnssCKhLe0b6LGxVfaXnQP7nvwEZC9gZkS78="; + azure-mgmt-core = + overrideAzureMgmtPackage super.azure-mgmt-core "1.3.2" "zip" + "sha256-B/Sv6COlXXBLBI1h7f3BMYwFHtWfJEAyEmNQvpXp1QE="; + azure-mgmt-cosmosdb = + overrideAzureMgmtPackage super.azure-mgmt-cosmosdb "9.5.1" "tar.gz" + "sha256-TlXTlz8RzwLPeoBVruhmFSM9fL47siegfBdrrIvH7wI="; + azure-mgmt-datalake-store = + overrideAzureMgmtPackage super.azure-mgmt-datalake-store "0.5.0" "zip" + "sha256-k3bTVJVmHRn4rMVgT2ewvFlJOxg1u8SA+aGVL5ABekw="; + azure-mgmt-devtestlabs = + overrideAzureMgmtPackage super.azure-mgmt-devtestlabs "4.0.0" "zip" + "sha256-WVScTEBo8mRmsQl7V0qOUJn7LNbIvgoAOVsG07KeJ40="; + azure-mgmt-dns = + overrideAzureMgmtPackage super.azure-mgmt-dns "8.0.0" "zip" + "sha256-QHwtrLM1E/++nKS+Wt216dS64Mt++mE8P31THve/jeg="; + azure-mgmt-eventgrid = + overrideAzureMgmtPackage super.azure-mgmt-eventgrid "10.2.0b2" "zip" + "sha256-QcHY1wCwQyVOEdUi06/wEa4dqJH5Ccd33gJ1Sju0qZA="; + azure-mgmt-eventhub = + overrideAzureMgmtPackage super.azure-mgmt-eventhub "10.1.0" "zip" + "sha256-MZqhSBkwypvEefhoEWEPsBUFidWYD7qAX6edcBDDSSA="; + azure-mgmt-extendedlocation = + overrideAzureMgmtPackage super.azure-mgmt-extendedlocation "1.0.0b2" "zip" + "sha256-mjfH35T81JQ97jVgElWmZ8P5MwXVxZQv/QJKNLS3T8A="; + azure-mgmt-iotcentral = + overrideAzureMgmtPackage super.azure-mgmt-iotcentral "10.0.0b1" "zip" + "sha256-1CiZuTXYhIb74eGQZUJHHzovYNnnVd3Ydu1UCy2Bu00="; + azure-mgmt-kusto = + (overrideAzureMgmtPackage super.azure-mgmt-kusto "0.3.0" "zip" + "sha256-nri3eB/UQQ7p4gfNDDmDuvnlhBS1tKGISdCYVuNrrN4=" + ).overridePythonAttrs + (attrs: { + propagatedBuildInputs = attrs.propagatedBuildInputs or [ ] ++ [ + self.msrest + self.msrestazure + ]; + }); + azure-mgmt-maps = + overrideAzureMgmtPackage super.azure-mgmt-maps "2.0.0" "zip" + "sha256-OE4X92potwCk+YhHiUXDqXIXEcBAByWv38tjz4ToXw4="; + azure-mgmt-media = + overrideAzureMgmtPackage super.azure-mgmt-media "9.0.0" "zip" + "sha256-TI7l8sSQ2QUgPqiE3Cu/F67Wna+KHbQS3fuIjOb95ZM="; + azure-mgmt-monitor = + overrideAzureMgmtPackage super.azure-mgmt-monitor "5.0.0" "zip" + "sha256-eL9KJowxTF7hZJQQQCNJZ7l+rKPFM8wP5vEigt3ZFGE="; + azure-mgmt-netapp = + overrideAzureMgmtPackage super.azure-mgmt-netapp "10.1.0" "zip" + "sha256-eJiWTOCk2C79Jotku9bKlu3vU6H8004hWrX+h76MjQM="; + azure-mgmt-policyinsights = + overrideAzureMgmtPackage super.azure-mgmt-policyinsights "1.1.0b4" "zip" + "sha256-aB16xyrhNYHJeitvdCeV+kik21B2LC+5/OSDQIGwTpI="; + azure-mgmt-privatedns = + overrideAzureMgmtPackage super.azure-mgmt-privatedns "1.0.0" "zip" + "sha256-tg8W5D97KRWCxfV7rhsIMJbYMD6dmVjiwpInpVzCfEU="; + azure-mgmt-rdbms = + overrideAzureMgmtPackage super.azure-mgmt-rdbms "10.2.0b16" "tar.gz" + "sha256-HDktzv8MOs5VRQArbS3waMhjbwVgZMmvch7PXen5DjE="; + azure-mgmt-recoveryservicesbackup = + overrideAzureMgmtPackage super.azure-mgmt-recoveryservicesbackup "9.1.0" "tar.gz" + "sha256-Hp/UBsDJ7iYn9aNx8BL4dzQvf8bzOyVk/NFNbwZjzQ8="; + azure-mgmt-redis = + overrideAzureMgmtPackage super.azure-mgmt-redis "14.3.0" "tar.gz" + "sha256-eoMbY4oNzYXkn3uFUhxecJQD+BxYkGTbWhAWSgAoLyA="; + azure-mgmt-resource = + overrideAzureMgmtPackage super.azure-mgmt-resource "23.1.1" "tar.gz" + "sha256-ILawBrVE/bGWB/P2o4EQViXgu2D78wNvOYhcRkbTND4="; + azure-mgmt-search = + overrideAzureMgmtPackage super.azure-mgmt-search "9.0.0" "zip" + "sha256-Gc+qoTa1EE4/YmJvUSqVG+zZ50wfohvWOe/fLJ/vgb0="; + azure-mgmt-security = + overrideAzureMgmtPackage super.azure-mgmt-security "6.0.0" "tar.gz" + "sha256-zq/BhpiZBnEQvYMMXMmLybjzLY6oQMofaTsaX1Kl+LA="; + azure-mgmt-servicefabric = + overrideAzureMgmtPackage super.azure-mgmt-servicefabric "2.1.0" "tar.gz" + "sha256-oIQzBJVUQ2yQhEvIqWgg6INplITm/8mQMv0lcfjF99Y="; + azure-mgmt-servicelinker = + overrideAzureMgmtPackage super.azure-mgmt-servicelinker "1.2.0b2" "tar.gz" + "sha256-PpEFMM8ri9OgAa79dGhvPKy5YFfDZZustBUDieQrtZU="; + azure-mgmt-signalr = + overrideAzureMgmtPackage super.azure-mgmt-signalr "2.0.0b1" "tar.gz" + "sha256-oK2ceBEoQ7gAeG6mye+x8HPzQU9bUNRPVJtRW2GL4xg="; + azure-mgmt-sql = + overrideAzureMgmtPackage super.azure-mgmt-sql "4.0.0b17" "tar.gz" + "sha256-i9VNbYJ3TgzURbtYYrXw+ez4ubK7BH39/EIL5kqb9Xg="; + azure-mgmt-sqlvirtualmachine = + overrideAzureMgmtPackage super.azure-mgmt-sqlvirtualmachine "1.0.0b5" "zip" + "sha256-ZFgJflgynRSxo+B+Vso4eX1JheWlDQjfJ9QmupXypMc="; + azure-mgmt-storage = + overrideAzureMgmtPackage super.azure-mgmt-storage "21.2.0" "tar.gz" + "sha256-KHyYQLAb6TGBnUA9p+1SvWL9B3sFKd1HDm28T+3ksg0="; + azure-mgmt-synapse = + overrideAzureMgmtPackage super.azure-mgmt-synapse "2.1.0b5" "zip" + "sha256-5E6Yf1GgNyNVjd+SeFDbhDxnOA6fOAG6oojxtCP4m+k="; + azure-mgmt-trafficmanager = + overrideAzureMgmtPackage super.azure-mgmt-trafficmanager "1.0.0" "zip" + "sha256-R0F2HoA0bE7dTLPycTaOqYBj+ATQFeJFwv4EjtK1lqg="; + azure-storage-common = + overrideAzureMgmtPackage super.azure-storage-common "1.4.2" "tar.gz" + "sha256-Tsh8dTfUV+yVJS4ORkd+LBzPM3dP/v0F2FRGgssK5AE="; + azure-synapse-accesscontrol = + overrideAzureMgmtPackage super.azure-synapse-accesscontrol "0.5.0" "zip" + "sha256-g14ySiByqPgkJGRH8EnIRJO9Q6H2usS5FOeMCQiUuwQ="; + azure-synapse-spark = + overrideAzureMgmtPackage super.azure-synapse-spark "0.2.0" "zip" + "sha256-OQ5brhweEIrtN2iP4I5NacdC9t3YUiGIVhhqSs3FMuI="; + }; + }; +in +py diff --git a/pkgs/tools/admin/azure-cli/query-extension-index.sh b/pkgs/by-name/az/azure-cli/query-extension-index.sh similarity index 100% rename from pkgs/tools/admin/azure-cli/query-extension-index.sh rename to pkgs/by-name/az/azure-cli/query-extension-index.sh diff --git a/pkgs/tools/admin/azure-cli/default.nix b/pkgs/tools/admin/azure-cli/default.nix deleted file mode 100644 index e0f503401426e..0000000000000 --- a/pkgs/tools/admin/azure-cli/default.nix +++ /dev/null @@ -1,423 +0,0 @@ -{ lib -, callPackage -, callPackages -, stdenvNoCC -, fetchurl -, fetchFromGitHub -, runCommand -, installShellFiles -, python311 - - # Whether to include patches that enable placing certain behavior-defining - # configuration files in the Nix store. -, withImmutableConfig ? true - - # List of extensions/plugins to include. -, withExtensions ? [ ] - -, azure-cli -}: - -let - version = "2.62.0"; - - src = fetchFromGitHub { - name = "azure-cli-${version}-src"; - owner = "Azure"; - repo = "azure-cli"; - rev = "azure-cli-${version}"; - hash = "sha256-Rb27KRAb50YzTZzMs6n8g04x14ni3rIYAL3c5j/ieRw="; - }; - - # Pin Python version to 3.11. - # See https://discourse.nixos.org/t/breaking-changes-announcement-for-unstable/17574/53 - # and https://github.com/Azure/azure-cli/issues/27673 - python3 = python311; - - # put packages that needs to be overridden in the py package scope - py = callPackage ./python-packages.nix { inherit src version python3; }; - - # Builder for Azure CLI extensions. Extensions are Python wheels that - # outside of nix would be fetched by the CLI itself from various sources. - mkAzExtension = - { pname - , version - , url - , sha256 - , description - , ... - }@args: python3.pkgs.buildPythonPackage ({ - format = "wheel"; - src = fetchurl { inherit url sha256; }; - meta = { - inherit description; - inherit (azure-cli.meta) platforms maintainers; - homepage = "https://github.com/Azure/azure-cli-extensions"; - changelog = "https://github.com/Azure/azure-cli-extensions/blob/main/src/${pname}/HISTORY.rst"; - license = lib.licenses.mit; - sourceProvenance = [ lib.sourceTypes.fromSource ]; - } // args.meta or { }; - } // (removeAttrs args [ "url" "sha256" "description" "meta" ])); - - extensions = - callPackages ./extensions-generated.nix { inherit mkAzExtension; } - // callPackages ./extensions-manual.nix { inherit mkAzExtension python3; python3Packages = python3.pkgs; }; - - extensionDir = stdenvNoCC.mkDerivation { - name = "azure-cli-extensions"; - dontUnpack = true; - installPhase = - let - namePaths = map (p: "${p.pname},${p}/${python3.sitePackages}") withExtensions; - in - '' - for line in ${lib.concatStringsSep " " namePaths}; do - name=$(echo $line | cut -d',' -f1) - path=$(echo $line | cut -d',' -f2) - mkdir -p $out/$name - for f in $(ls $path); do - ln -s $path/$f $out/$name/$f - done - done - ''; - }; -in - -py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage rec { - pname = "azure-cli"; - inherit version src; - - sourceRoot = "${src.name}/src/azure-cli"; - - 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-graphrbac - azure-keyvault-administration - azure-keyvault-certificates - azure-keyvault-keys - azure-keyvault-secrets - azure-loganalytics - azure-mgmt-advisor - azure-mgmt-apimanagement - azure-mgmt-appconfiguration - azure-mgmt-appcontainers - azure-mgmt-applicationinsights - azure-mgmt-authorization - azure-mgmt-batch - azure-mgmt-batchai - azure-mgmt-billing - azure-mgmt-botservice - azure-mgmt-cdn - azure-mgmt-cognitiveservices - azure-mgmt-compute - azure-mgmt-consumption - azure-mgmt-containerinstance - azure-mgmt-containerregistry - azure-mgmt-containerservice - azure-mgmt-core - azure-mgmt-cosmosdb - azure-mgmt-databoxedge - azure-mgmt-datalake-nspkg - azure-mgmt-datalake-store - azure-mgmt-datamigration - azure-mgmt-devtestlabs - azure-mgmt-dns - azure-mgmt-eventgrid - azure-mgmt-eventhub - azure-mgmt-extendedlocation - azure-mgmt-hdinsight - azure-mgmt-imagebuilder - azure-mgmt-iotcentral - azure-mgmt-iothub - azure-mgmt-iothubprovisioningservices - azure-mgmt-keyvault - azure-mgmt-kusto - azure-mgmt-loganalytics - azure-mgmt-managementgroups - azure-mgmt-managedservices - azure-mgmt-maps - azure-mgmt-marketplaceordering - azure-mgmt-media - azure-mgmt-monitor - azure-mgmt-msi - azure-mgmt-netapp - azure-mgmt-policyinsights - azure-mgmt-privatedns - azure-mgmt-rdbms - azure-mgmt-recoveryservices - azure-mgmt-recoveryservicesbackup - azure-mgmt-redhatopenshift - azure-mgmt-redis - azure-mgmt-relay - azure-mgmt-resource - azure-mgmt-search - azure-mgmt-security - azure-mgmt-servicebus - azure-mgmt-servicefabric - azure-mgmt-servicefabricmanagedclusters - azure-mgmt-servicelinker - 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 - humanfriendly - idna - invoke - isodate - javaproperties - jinja2 - jmespath - jsondiff - knack - markupsafe - msal-extensions - msal - msrest - msrestazure - oauthlib - packaging - paramiko - pbr - pkginfo - portalocker - psutil - pycomposefile - pycparser - pygithub - pyjwt - pynacl - pyopenssl - python-dateutil - requests-oauthlib - requests - scp - semver - setuptools - six - sshtunnel - tabulate - urllib3 - wcwidth - websocket-client - xmltodict - ] ++ lib.optionals (!withImmutableConfig) [ - # pip is required to install extensions locally, but it's not needed if - # we're using the default immutable configuration. - pip - ] ++ lib.concatMap (extension: extension.propagatedBuildInputs) withExtensions; - - postInstall = '' - substituteInPlace az.completion.sh \ - --replace register-python-argcomplete ${py.pkgs.argcomplete}/bin/register-python-argcomplete - installShellCompletion --bash --name az.bash az.completion.sh - installShellCompletion --zsh --name _az az.completion.sh - '' + lib.optionalString withImmutableConfig '' - export HOME=$TMPDIR - $out/bin/az --version - mkdir -p $out/etc/azure - mv $TMPDIR/.azure/commandIndex.json $out/etc/azure/commandIndex.json - mv $TMPDIR/.azure/versionCheck.json $out/etc/azure/versionCheck.json - '' + '' - # remove garbage - rm $out/bin/az.bat - rm $out/bin/az.completion.sh - ''; - - # wrap the executable so that the python packages are available - # it's just a shebang script which calls `python -m azure.cli "$@"` - postFixup = '' - wrapProgram $out/bin/az \ - '' + lib.optionalString withImmutableConfig '' - --set AZURE_IMMUTABLE_DIR $out/etc/azure \ - '' + lib.optionalString (withExtensions != [ ]) '' - --set AZURE_EXTENSION_DIR ${extensionDir} \ - '' + '' - --set PYTHONPATH "${python3.pkgs.makePythonPath propagatedBuildInputs}:$out/${python3.sitePackages}" - ''; - - doInstallCheck = true; - installCheckPhase = '' - export HOME=$TMPDIR - - $out/bin/az --version - $out/bin/az self-test - ''; - - # ensure these namespaces are able to be accessed - pythonImportsCheck = [ - "azure.batch" - "azure.cli.core" - "azure.cli.telemetry" - "azure.cosmos" - "azure.datalake.store" - "azure.graphrbac" - "azure.keyvault" - "azure.loganalytics" - "azure.mgmt.advisor" - "azure.mgmt.apimanagement" - "azure.mgmt.applicationinsights" - "azure.mgmt.appconfiguration" - "azure.mgmt.appcontainers" - "azure.mgmt.authorization" - "azure.mgmt.batch" - "azure.mgmt.batchai" - "azure.mgmt.billing" - "azure.mgmt.botservice" - "azure.mgmt.cdn" - "azure.mgmt.cognitiveservices" - "azure.mgmt.compute" - "azure.mgmt.consumption" - "azure.mgmt.containerinstance" - "azure.mgmt.containerregistry" - "azure.mgmt.containerservice" - "azure.mgmt.cosmosdb" - "azure.mgmt.datalake.store" - "azure.mgmt.datamigration" - "azure.mgmt.devtestlabs" - "azure.mgmt.dns" - "azure.mgmt.eventgrid" - "azure.mgmt.eventhub" - "azure.mgmt.hdinsight" - "azure.mgmt.imagebuilder" - "azure.mgmt.iotcentral" - "azure.mgmt.iothub" - "azure.mgmt.iothubprovisioningservices" - "azure.mgmt.keyvault" - "azure.mgmt.kusto" - "azure.mgmt.loganalytics" - "azure.mgmt.managedservices" - "azure.mgmt.managementgroups" - "azure.mgmt.maps" - "azure.mgmt.marketplaceordering" - "azure.mgmt.media" - "azure.mgmt.monitor" - "azure.mgmt.msi" - "azure.mgmt.netapp" - "azure.mgmt.policyinsights" - "azure.mgmt.privatedns" - "azure.mgmt.rdbms" - "azure.mgmt.recoveryservices" - "azure.mgmt.recoveryservicesbackup" - "azure.mgmt.redis" - "azure.mgmt.relay" - "azure.mgmt.resource" - "azure.mgmt.search" - "azure.mgmt.security" - "azure.mgmt.servicebus" - "azure.mgmt.servicefabric" - "azure.mgmt.signalr" - "azure.mgmt.sql" - "azure.mgmt.sqlvirtualmachine" - "azure.mgmt.storage" - "azure.mgmt.trafficmanager" - "azure.mgmt.web" - "azure.storage.blob" - "azure.storage.common" - ]; - - passthru = { - inherit extensions; - withExtensions = extensions: azure-cli.override { withExtensions = extensions; }; - tests = { - # Test the package builds with some extensions configured, and the - # wanted extensions are recognized by the CLI and listed in the output. - azWithExtensions = - let - extensions = with azure-cli.extensions; [ - aks-preview - azure-devops - rdbms-connect - ]; - extensionNames = map (ext: ext.pname) extensions; - az = (azure-cli.withExtensions extensions); - in - runCommand "test-az-with-extensions" { } '' - export HOME=$TMPDIR - ${lib.getExe az} extension list > $out - for ext in ${lib.concatStringsSep " " extensionNames}; do - if ! grep -q $ext $out; then - echo "Extension $ext not found in list" - exit 1 - fi - done - ''; - # Test the package builds with mutable config. - # TODO: Maybe we can install an extension from local python wheel to - # check mutable extension install still works. - azWithMutableConfig = - let - az = azure-cli.override { withImmutableConfig = false; }; - in - runCommand "test-az-with-immutable-config" { } '' - export HOME=$TMPDIR - ${lib.getExe az} --version || exit 1 - touch $out - ''; - }; - }; - - meta = with lib; { - homepage = "https://github.com/Azure/azure-cli"; - description = "Next generation multi-platform command line experience for Azure"; - downloadPage = "https://github.com/Azure/azure-cli/releases/tag/azure-cli-${version}"; - longDescription = '' - The Azure Command-Line Interface (CLI) is a cross-platform - command-line tool to connect to Azure and execute administrative - commands on Azure resources. It allows the execution of commands - through a terminal using interactive command-line prompts or a script. - - `azure-cli` has extension support. For example, to install the `aks-preview` extension, use - - ```nix - environment.systemPackages = [ - (azure-cli.withExtensions [ azure-cli.extensions.aks-preview ]) - ]; - ``` - - To make the `azure-cli` immutable and prevent clashes in case `azure-cli` is also installed via other package managers, - some configuration files were moved into the derivation. This can be disabled by overriding `withImmutableConfig = false` - when building `azure-cli`. - ''; - changelog = "https://github.com/MicrosoftDocs/azure-docs-cli/blob/main/docs-ref-conceptual/release-notes-azure-cli.md"; - sourceProvenance = [ sourceTypes.fromSource ]; - license = licenses.mit; - mainProgram = "az"; - maintainers = with maintainers; [ katexochen ]; - platforms = platforms.all; - }; -}) diff --git a/pkgs/tools/admin/azure-cli/python-packages.nix b/pkgs/tools/admin/azure-cli/python-packages.nix deleted file mode 100644 index d2eedff5499e9..0000000000000 --- a/pkgs/tools/admin/azure-cli/python-packages.nix +++ /dev/null @@ -1,155 +0,0 @@ -{ lib -, stdenv -, python3 -, fetchPypi -, fetchpatch -, src -, version -}: - -let - buildAzureCliPackage = with py.pkgs; buildPythonPackage; - - overrideAzureMgmtPackage = package: version: extension: hash: - package.overridePythonAttrs (oldAttrs: { - inherit version; - - src = fetchPypi { - inherit (oldAttrs) pname; - inherit version hash extension; - }; - }); - - py = python3.override { - packageOverrides = self: super: { - inherit buildAzureCliPackage; - - # core and the actual application are highly coupled - azure-cli-core = buildAzureCliPackage { - pname = "azure-cli-core"; - inherit version src; - - sourceRoot = "${src.name}/src/azure-cli-core"; - - patches = [ - # Adding the possibility to configure an immutable configuration dir via `AZURE_IMMUTABLE_DIR`. - # This enables us to place configuration files that alter the behavior of the CLI in the Nix store. - # - # This is a downstream patch without an commit or PR upstream. - # There is an issue to discuss possible solutions upstream: - # https://github.com/Azure/azure-cli/issues/28093 - ./0001-optional-immutable-configuration-dir.patch - ]; - - propagatedBuildInputs = with self; [ - argcomplete - azure-cli-telemetry - azure-common - azure-mgmt-core - cryptography - distro - humanfriendly - jmespath - knack - msal-extensions - msal - msrestazure - packaging - paramiko - pkginfo - psutil - pyjwt - pyopenssl - requests - ]; - - nativeCheckInputs = with self; [ pytest ]; - - doCheck = stdenv.isLinux; - - # ignore tests that does network call, or assume powershell - checkPhase = '' - python -c 'import azure.common; print(azure.common)' - - PYTHONPATH=$PWD:${src}/src/azure-cli-testsdk:$PYTHONPATH HOME=$TMPDIR pytest \ - azure/cli/core/tests \ - --ignore=azure/cli/core/tests/test_profile.py \ - --ignore=azure/cli/core/tests/test_generic_update.py \ - --ignore=azure/cli/core/tests/test_cloud.py \ - --ignore=azure/cli/core/tests/test_extension.py \ - -k 'not metadata_url and not test_send_raw_requests and not test_format_styled_text_legacy_powershell' - ''; - - pythonImportsCheck = [ - "azure.cli.telemetry" - "azure.cli.core" - ]; - }; - - azure-cli-telemetry = buildAzureCliPackage { - pname = "azure-cli-telemetry"; - version = "1.1.0"; - inherit src; - - sourceRoot = "${src.name}/src/azure-cli-telemetry"; - - propagatedBuildInputs = with self; [ - applicationinsights - portalocker - ]; - - nativeCheckInputs = with self; [ pytest ]; - # ignore flaky test - checkPhase = '' - cd azure - HOME=$TMPDIR pytest -k 'not test_create_telemetry_note_file_from_scratch' - ''; - }; - - azure-keyvault-keys = overrideAzureMgmtPackage super.azure-keyvault-keys "4.9.0b3" "tar.gz" "sha256-qoseyf6WqBEG8vPc1hF17K46AWk8Ba8V9KRed4lOlGo="; - azure-mgmt-applicationinsights = overrideAzureMgmtPackage super.azure-mgmt-applicationinsights "1.0.0" "zip" "sha256-woeix9703hn5LAwxugKGf6xvW433G129qxkoi7RV/Fs="; - azure-mgmt-batch = overrideAzureMgmtPackage super.azure-mgmt-batch "17.3.0" "tar.gz" "sha256-/JSIGmrNuKlTPzcbb3stPq6heJ65VQFLJKkI1t/nWZE="; - azure-mgmt-batchai = overrideAzureMgmtPackage super.azure-mgmt-batchai "7.0.0b1" "zip" "sha256-mT6vvjWbq0RWQidugR229E8JeVEiobPD3XA/nDM3I6Y="; - azure-mgmt-botservice = overrideAzureMgmtPackage super.azure-mgmt-botservice "2.0.0b3" "zip" "sha256-XZGQOeMw8usyQ1tl8j57fZ3uqLshomHY9jO/rbpQOvM="; - azure-mgmt-cdn = overrideAzureMgmtPackage super.azure-mgmt-cdn "12.0.0" "zip" "sha256-t8PuIYkjS0r1Gs4pJJJ8X9cz8950imQtbVBABnyMnd0="; - azure-mgmt-compute = overrideAzureMgmtPackage super.azure-mgmt-compute "31.0.0" "tar.gz" "sha256-WlscT8GhnssCKhLe0b6LGxVfaXnQP7nvwEZC9gZkS78="; - azure-mgmt-core = overrideAzureMgmtPackage super.azure-mgmt-core "1.3.2" "zip" "sha256-B/Sv6COlXXBLBI1h7f3BMYwFHtWfJEAyEmNQvpXp1QE="; - azure-mgmt-cosmosdb = overrideAzureMgmtPackage super.azure-mgmt-cosmosdb "9.5.1" "tar.gz" "sha256-TlXTlz8RzwLPeoBVruhmFSM9fL47siegfBdrrIvH7wI="; - azure-mgmt-datalake-store = overrideAzureMgmtPackage super.azure-mgmt-datalake-store "0.5.0" "zip" "sha256-k3bTVJVmHRn4rMVgT2ewvFlJOxg1u8SA+aGVL5ABekw="; - azure-mgmt-devtestlabs = overrideAzureMgmtPackage super.azure-mgmt-devtestlabs "4.0.0" "zip" "sha256-WVScTEBo8mRmsQl7V0qOUJn7LNbIvgoAOVsG07KeJ40="; - azure-mgmt-dns = overrideAzureMgmtPackage super.azure-mgmt-dns "8.0.0" "zip" "sha256-QHwtrLM1E/++nKS+Wt216dS64Mt++mE8P31THve/jeg="; - azure-mgmt-eventgrid = overrideAzureMgmtPackage super.azure-mgmt-eventgrid "10.2.0b2" "zip" "sha256-QcHY1wCwQyVOEdUi06/wEa4dqJH5Ccd33gJ1Sju0qZA="; - azure-mgmt-eventhub = overrideAzureMgmtPackage super.azure-mgmt-eventhub "10.1.0" "zip" "sha256-MZqhSBkwypvEefhoEWEPsBUFidWYD7qAX6edcBDDSSA="; - azure-mgmt-extendedlocation = overrideAzureMgmtPackage super.azure-mgmt-extendedlocation "1.0.0b2" "zip" "sha256-mjfH35T81JQ97jVgElWmZ8P5MwXVxZQv/QJKNLS3T8A="; - azure-mgmt-iotcentral = overrideAzureMgmtPackage super.azure-mgmt-iotcentral "10.0.0b1" "zip" "sha256-1CiZuTXYhIb74eGQZUJHHzovYNnnVd3Ydu1UCy2Bu00="; - azure-mgmt-kusto = (overrideAzureMgmtPackage super.azure-mgmt-kusto "0.3.0" "zip" - "sha256-nri3eB/UQQ7p4gfNDDmDuvnlhBS1tKGISdCYVuNrrN4=").overridePythonAttrs (attrs: { - propagatedBuildInputs = attrs.propagatedBuildInputs or [ ] ++ [ self.msrest self.msrestazure ]; - }); - azure-mgmt-maps = overrideAzureMgmtPackage super.azure-mgmt-maps "2.0.0" "zip" "sha256-OE4X92potwCk+YhHiUXDqXIXEcBAByWv38tjz4ToXw4="; - azure-mgmt-media = overrideAzureMgmtPackage super.azure-mgmt-media "9.0.0" "zip" "sha256-TI7l8sSQ2QUgPqiE3Cu/F67Wna+KHbQS3fuIjOb95ZM="; - azure-mgmt-monitor = overrideAzureMgmtPackage super.azure-mgmt-monitor "5.0.0" "zip" "sha256-eL9KJowxTF7hZJQQQCNJZ7l+rKPFM8wP5vEigt3ZFGE="; - azure-mgmt-netapp = overrideAzureMgmtPackage super.azure-mgmt-netapp "10.1.0" "zip" "sha256-eJiWTOCk2C79Jotku9bKlu3vU6H8004hWrX+h76MjQM="; - azure-mgmt-policyinsights = overrideAzureMgmtPackage super.azure-mgmt-policyinsights "1.1.0b4" "zip" "sha256-aB16xyrhNYHJeitvdCeV+kik21B2LC+5/OSDQIGwTpI="; - azure-mgmt-privatedns = overrideAzureMgmtPackage super.azure-mgmt-privatedns "1.0.0" "zip" "sha256-tg8W5D97KRWCxfV7rhsIMJbYMD6dmVjiwpInpVzCfEU="; - azure-mgmt-rdbms = overrideAzureMgmtPackage super.azure-mgmt-rdbms "10.2.0b16" "tar.gz" "sha256-HDktzv8MOs5VRQArbS3waMhjbwVgZMmvch7PXen5DjE="; - azure-mgmt-recoveryservicesbackup = overrideAzureMgmtPackage super.azure-mgmt-recoveryservicesbackup "9.1.0" "tar.gz" "sha256-Hp/UBsDJ7iYn9aNx8BL4dzQvf8bzOyVk/NFNbwZjzQ8="; - azure-mgmt-redis = overrideAzureMgmtPackage super.azure-mgmt-redis "14.3.0" "tar.gz" "sha256-eoMbY4oNzYXkn3uFUhxecJQD+BxYkGTbWhAWSgAoLyA="; - azure-mgmt-resource = overrideAzureMgmtPackage super.azure-mgmt-resource "23.1.1" "tar.gz" "sha256-ILawBrVE/bGWB/P2o4EQViXgu2D78wNvOYhcRkbTND4="; - azure-mgmt-search = overrideAzureMgmtPackage super.azure-mgmt-search "9.0.0" "zip" "sha256-Gc+qoTa1EE4/YmJvUSqVG+zZ50wfohvWOe/fLJ/vgb0="; - azure-mgmt-security = overrideAzureMgmtPackage super.azure-mgmt-security "6.0.0" "tar.gz" "sha256-zq/BhpiZBnEQvYMMXMmLybjzLY6oQMofaTsaX1Kl+LA="; - azure-mgmt-servicefabric = overrideAzureMgmtPackage super.azure-mgmt-servicefabric "2.1.0" "tar.gz" "sha256-oIQzBJVUQ2yQhEvIqWgg6INplITm/8mQMv0lcfjF99Y="; - azure-mgmt-servicelinker = overrideAzureMgmtPackage super.azure-mgmt-servicelinker "1.2.0b2" "tar.gz" "sha256-PpEFMM8ri9OgAa79dGhvPKy5YFfDZZustBUDieQrtZU="; - azure-mgmt-signalr = overrideAzureMgmtPackage super.azure-mgmt-signalr "2.0.0b1" "tar.gz" "sha256-oK2ceBEoQ7gAeG6mye+x8HPzQU9bUNRPVJtRW2GL4xg="; - azure-mgmt-sql = overrideAzureMgmtPackage super.azure-mgmt-sql "4.0.0b17" "tar.gz" "sha256-i9VNbYJ3TgzURbtYYrXw+ez4ubK7BH39/EIL5kqb9Xg="; - azure-mgmt-sqlvirtualmachine = overrideAzureMgmtPackage super.azure-mgmt-sqlvirtualmachine "1.0.0b5" "zip" "sha256-ZFgJflgynRSxo+B+Vso4eX1JheWlDQjfJ9QmupXypMc="; - azure-mgmt-storage = overrideAzureMgmtPackage super.azure-mgmt-storage "21.2.0" "tar.gz" "sha256-KHyYQLAb6TGBnUA9p+1SvWL9B3sFKd1HDm28T+3ksg0="; - azure-mgmt-synapse = overrideAzureMgmtPackage super.azure-mgmt-synapse "2.1.0b5" "zip" "sha256-5E6Yf1GgNyNVjd+SeFDbhDxnOA6fOAG6oojxtCP4m+k="; - azure-mgmt-trafficmanager = overrideAzureMgmtPackage super.azure-mgmt-trafficmanager "1.0.0" "zip" "sha256-R0F2HoA0bE7dTLPycTaOqYBj+ATQFeJFwv4EjtK1lqg="; - azure-storage-common = overrideAzureMgmtPackage super.azure-storage-common "1.4.2" "tar.gz" "sha256-Tsh8dTfUV+yVJS4ORkd+LBzPM3dP/v0F2FRGgssK5AE="; - azure-synapse-accesscontrol = overrideAzureMgmtPackage super.azure-synapse-accesscontrol "0.5.0" "zip" "sha256-g14ySiByqPgkJGRH8EnIRJO9Q6H2usS5FOeMCQiUuwQ="; - azure-synapse-spark = overrideAzureMgmtPackage super.azure-synapse-spark "0.2.0" "zip" "sha256-OQ5brhweEIrtN2iP4I5NacdC9t3YUiGIVhhqSs3FMuI="; - }; - }; -in -py diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4417e93bbcbed..ae0a48aa7dd1e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3314,8 +3314,6 @@ with pkgs; azeret-mono = callPackage ../data/fonts/azeret-mono { }; - azure-cli = callPackage ../tools/admin/azure-cli { }; - azure-cli-extensions = recurseIntoAttrs azure-cli.extensions; azure-functions-core-tools = callPackage ../development/tools/azure-functions-core-tools { };