aboutsummaryrefslogtreecommitdiffstats
path: root/pkgs/development/python-modules/azure-cli/default.nix
blob: ef6ec074fb3cf5f0147725adbeb956255f1f918c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
{ stdenv, buildPythonPackage, fetchPypi, python
, azure-cli-acr
, azure-cli-acs
, azure-cli-advisor
, azure-cli-ams
, azure-cli-appservice
, azure-cli-backup
, azure-cli-batch
, azure-cli-batchai
, azure-cli-billing
, azure-cli-cdn
, azure-cli-cloud
, azure-cli-cognitiveservices
, azure-cli-configure
, azure-cli-consumption
, azure-cli-container
, azure-cli-core
, azure-cli-cosmosdb
, azure-cli-dla
, azure-cli-dls
, azure-cli-dms
, azure-cli-eventgrid
, azure-cli-eventhubs
, azure-cli-extension
, azure-cli-feedback
, azure-cli-find
, azure-cli-interactive
, azure-cli-iot
, azure-cli-keyvault
, azure-cli-lab
, azure-cli-monitor
, azure-cli-network
, azure-cli-nspkg
, azure-cli-profile
, azure-cli-rdbms
, azure-cli-redis
, azure-cli-reservations
, azure-cli-resource
, azure-cli-role
, azure-cli-search
, azure-cli-servicebus
, azure-cli-servicefabric
, azure-cli-sql
, azure-cli-storage
, azure-cli-vm
}:

buildPythonPackage rec {
  pname = "azure_cli";
  version = "2.0.45";
  format = "wheel";

  src = fetchPypi {
    inherit pname version format;
    sha256 = "053mmnghgljy4v7csyah5gvf88bg6s8xzw9dsj4zcpp332v43qhn";
  };

  propagatedBuildInputs = [
    azure-cli-acr
    azure-cli-acs
    azure-cli-advisor
    azure-cli-ams
    azure-cli-appservice
    azure-cli-batch
    azure-cli-batchai
    azure-cli-backup
    azure-cli-billing
    azure-cli-cdn
    azure-cli-cloud
    azure-cli-cognitiveservices
    azure-cli-container
    azure-cli-configure
    azure-cli-consumption
    azure-cli-core
    azure-cli-cosmosdb
    azure-cli-dla
    azure-cli-dls
    azure-cli-dms
    azure-cli-eventgrid
    azure-cli-extension
    azure-cli-feedback
    azure-cli-find
    azure-cli-interactive
    azure-cli-iot
    azure-cli-keyvault
    azure-cli-lab
    azure-cli-monitor
    azure-cli-network
    azure-cli-nspkg
    azure-cli-profile
    azure-cli-rdbms
    azure-cli-redis
    azure-cli-reservations
    azure-cli-resource
    azure-cli-role
    azure-cli-sql
    azure-cli-storage
    azure-cli-vm
    azure-cli-servicefabric
    azure-cli-servicebus
    azure-cli-eventhubs
    azure-cli-search
  ];

  # filter azure-xxx-nspkg packages from $program_PYTHONPATH and wrap invoker script setting it
  postFixup = ''
    IFS=: read -r -d "" -a path_array < <(printf '%s:\0' "$program_PYTHONPATH")
    filteredPythonPath=""

    for p in ''${path_array[@]}; do
      if [[ ! "$p" =~ "-nspkg-" ]]; then
        filteredPythonPath="$filteredPythonPath"''${filteredPythonPath:+':'}"$p"
      fi
    done

    wrapProgram $out/bin/az --set PYTHONPATH "$filteredPythonPath" --prefix PATH ":" ${python}/bin
  '';

  doCheck = false;

  meta = with stdenv.lib; {
    description = "Microsoft Azure Command-Line Tools";
    homepage = https://github.com/Azure/azure-cli;
    license = licenses.mit;
    maintainers = with maintainers; [ stesie ];
  };
}