about 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.nix381
1 files changed, 0 insertions, 381 deletions
diff --git a/pkgs/tools/admin/azure-cli/default.nix b/pkgs/tools/admin/azure-cli/default.nix
deleted file mode 100644
index 89bd83d23a1bf..0000000000000
--- a/pkgs/tools/admin/azure-cli/default.nix
+++ /dev/null
@@ -1,381 +0,0 @@
-{ lib
-, callPackage
-, callPackages
-, stdenvNoCC
-, fetchurl
-, fetchFromGitHub
-, installShellFiles
-, python3
-
-  # 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.61.0";
-
-  src = fetchFromGitHub {
-    name = "azure-cli-${version}-src";
-    owner = "Azure";
-    repo = "azure-cli";
-    rev = "azure-cli-${version}";
-    hash = "sha256-RmCZigDenbX8OoIZeY087ga2AP8yRckyG0qZnN9gg44=";
-  };
-
-  # put packages that needs to be overridden in the py package scope
-  py = callPackage ./python-packages.nix { inherit src version; };
-
-  # 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; };
-
-  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; };
-  };
-
-  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;
-  };
-})