diff options
Diffstat (limited to 'pkgs/tools/package-management')
8 files changed, 209 insertions, 2 deletions
diff --git a/pkgs/tools/package-management/nixops/azure-mgmt-compute/default.nix b/pkgs/tools/package-management/nixops/azure-mgmt-compute/default.nix new file mode 100644 index 000000000000..462c9e615a13 --- /dev/null +++ b/pkgs/tools/package-management/nixops/azure-mgmt-compute/default.nix @@ -0,0 +1,37 @@ +{ pkgs +, buildPythonPackage +, fetchPypi +, python +, azure-mgmt-common +}: + +buildPythonPackage rec { + version = "0.20.1"; + pname = "azure-mgmt-compute"; + + src = fetchPypi { + inherit pname version; + extension = "zip"; + sha256 = "97298fc7f133f1d50a974ed6299151eda494a574b0f7fdf8192a388015c2215a"; + }; + + preConfigure = '' + # Patch to make this package work on requests >= 2.11.x + # CAN BE REMOVED ON NEXT PACKAGE UPDATE + sed -i 's|len(request_content)|str(len(request_content))|' azure/mgmt/compute/computemanagement.py + ''; + + postInstall = '' + echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/__init__.py + echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/mgmt/__init__.py + ''; + + propagatedBuildInputs = [ azure-mgmt-common ]; + + meta = with pkgs.lib; { + description = "Microsoft Azure SDK for Python"; + homepage = "https://azure.microsoft.com/en-us/develop/python/"; + license = licenses.asl20; + maintainers = with maintainers; [ olcai ]; + }; +} diff --git a/pkgs/tools/package-management/nixops/azure-mgmt-network/default.nix b/pkgs/tools/package-management/nixops/azure-mgmt-network/default.nix new file mode 100644 index 000000000000..fd47f8895fd4 --- /dev/null +++ b/pkgs/tools/package-management/nixops/azure-mgmt-network/default.nix @@ -0,0 +1,37 @@ +{ pkgs +, buildPythonPackage +, fetchPypi +, azure-mgmt-common +, python +}: + +buildPythonPackage rec { + version = "0.20.1"; + pname = "azure-mgmt-network"; + + src = fetchPypi { + inherit pname version; + extension = "zip"; + sha256 = "10vj22h6nxpw0qpvib5x2g6qs5j8z31142icvh4qk8k40fcrs9hx"; + }; + + preConfigure = '' + # Patch to make this package work on requests >= 2.11.x + # CAN BE REMOVED ON NEXT PACKAGE UPDATE + sed -i 's|len(request_content)|str(len(request_content))|' azure/mgmt/network/networkresourceprovider.py + ''; + + postInstall = '' + echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/__init__.py + echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/mgmt/__init__.py + ''; + + propagatedBuildInputs = [ azure-mgmt-common ]; + + meta = with pkgs.lib; { + description = "Microsoft Azure SDK for Python"; + homepage = "https://azure.microsoft.com/en-us/develop/python/"; + license = licenses.asl20; + maintainers = with maintainers; [ olcai ]; + }; +} diff --git a/pkgs/tools/package-management/nixops/azure-mgmt-nspkg/default.nix b/pkgs/tools/package-management/nixops/azure-mgmt-nspkg/default.nix new file mode 100644 index 000000000000..aa037b48b4f5 --- /dev/null +++ b/pkgs/tools/package-management/nixops/azure-mgmt-nspkg/default.nix @@ -0,0 +1,25 @@ +{ pkgs +, buildPythonPackage +, fetchPypi +, azure-nspkg +}: + +buildPythonPackage rec { + version = "1.0.0"; + pname = "azure-mgmt-nspkg"; + + src = fetchPypi { + inherit pname version; + extension = "zip"; + sha256 = "1rq92fj3kvnqkk18596dybw0kvhgscvc6cd8hp1dhy3wrkqnhwmq"; + }; + + propagatedBuildInputs = [ azure-nspkg ]; + + meta = with pkgs.lib; { + description = "Microsoft Azure SDK for Python"; + homepage = "https://azure.microsoft.com/en-us/develop/python/"; + license = licenses.asl20; + maintainers = with maintainers; [ olcai ]; + }; +} diff --git a/pkgs/tools/package-management/nixops/azure-mgmt-resource/default.nix b/pkgs/tools/package-management/nixops/azure-mgmt-resource/default.nix new file mode 100644 index 000000000000..b60e3aee3402 --- /dev/null +++ b/pkgs/tools/package-management/nixops/azure-mgmt-resource/default.nix @@ -0,0 +1,38 @@ +{ pkgs +, buildPythonPackage +, fetchPypi +, python +, azure-mgmt-common +}: + + +buildPythonPackage rec { + version = "0.20.1"; + pname = "azure-mgmt-resource"; + + src = fetchPypi { + inherit pname version; + extension = "zip"; + sha256 = "0slh9qfm5nfacrdm3lid0sr8kwqzgxvrwf27laf9v38kylkfqvml"; + }; + + preConfigure = '' + # Patch to make this package work on requests >= 2.11.x + # CAN BE REMOVED ON NEXT PACKAGE UPDATE + sed -i 's|len(request_content)|str(len(request_content))|' azure/mgmt/resource/resourcemanagement.py + ''; + + postInstall = '' + echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/__init__.py + echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/mgmt/__init__.py + ''; + + propagatedBuildInputs = [ azure-mgmt-common ]; + + meta = with pkgs.lib; { + description = "Microsoft Azure SDK for Python"; + homepage = "https://azure.microsoft.com/en-us/develop/python/"; + license = licenses.asl20; + maintainers = with maintainers; [ olcai ]; + }; +} diff --git a/pkgs/tools/package-management/nixops/azure-mgmt-storage/default.nix b/pkgs/tools/package-management/nixops/azure-mgmt-storage/default.nix new file mode 100644 index 000000000000..2e0523bb25cc --- /dev/null +++ b/pkgs/tools/package-management/nixops/azure-mgmt-storage/default.nix @@ -0,0 +1,37 @@ +{ pkgs +, buildPythonPackage +, fetchPypi +, python +, azure-mgmt-common +}: + +buildPythonPackage rec { + version = "0.20.0"; + pname = "azure-mgmt-storage"; + + src = fetchPypi { + inherit pname version; + extension = "zip"; + sha256 = "16iw7hqhq97vlzfwixarfnirc60l5mz951p57brpcwyylphl3yim"; + }; + + preConfigure = '' + # Patch to make this package work on requests >= 2.11.x + # CAN BE REMOVED ON NEXT PACKAGE UPDATE + sed -i 's|len(request_content)|str(len(request_content))|' azure/mgmt/storage/storagemanagement.py + ''; + + postInstall = '' + echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/__init__.py + echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/mgmt/__init__.py + ''; + + propagatedBuildInputs = [ azure-mgmt-common ]; + + meta = with pkgs.lib; { + description = "Microsoft Azure SDK for Python"; + homepage = "https://azure.microsoft.com/en-us/develop/python/"; + license = licenses.asl20; + maintainers = with maintainers; [ olcai ]; + }; +} diff --git a/pkgs/tools/package-management/nixops/default.nix b/pkgs/tools/package-management/nixops/default.nix index 56e0a31a97ec..73e8c90d4e42 100644 --- a/pkgs/tools/package-management/nixops/default.nix +++ b/pkgs/tools/package-management/nixops/default.nix @@ -1,4 +1,4 @@ -{ callPackage, fetchurl }: +{ callPackage, newScope, pkgs, fetchurl }: callPackage ./generic.nix (rec { version = "1.6.1"; @@ -6,4 +6,19 @@ callPackage ./generic.nix (rec { url = "http://nixos.org/releases/nixops/nixops-${version}/nixops-${version}.tar.bz2"; sha256 = "0lfx5fhyg3z6725ydsk0ibg5qqzp5s0x9nbdww02k8s307axiah3"; }; +# nixops is incompatible with the most recent versions of listed +# azure-mgmt-* packages, therefore we are pinning them to +# package-private versions, so that they don't get trampled by +# updates. +# see +# https://github.com/NixOS/nixops/issues/1065 + python2Packages = pkgs.python2Packages.override { + overrides = (self: super: let callPackage = newScope self; in { + azure-mgmt-compute = callPackage ./azure-mgmt-compute { }; + azure-mgmt-network = callPackage ./azure-mgmt-network { }; + azure-mgmt-nspkg = callPackage ./azure-mgmt-nspkg { }; + azure-mgmt-resource = callPackage ./azure-mgmt-resource { }; + azure-mgmt-storage = callPackage ./azure-mgmt-storage { }; + }); + }; }) diff --git a/pkgs/tools/package-management/nixops/generic.nix b/pkgs/tools/package-management/nixops/generic.nix index 2ce7f9858a5b..813ae64bef55 100644 --- a/pkgs/tools/package-management/nixops/generic.nix +++ b/pkgs/tools/package-management/nixops/generic.nix @@ -1,6 +1,7 @@ { lib, python2Packages, libxslt, docbook_xsl_ns, openssh, cacert # version args , src, version +, meta ? {} }: python2Packages.buildPythonApplication { @@ -55,5 +56,5 @@ python2Packages.buildPythonApplication { maintainers = with lib.maintainers; [ eelco rob domenkozar ]; platforms = lib.platforms.unix; license = lib.licenses.lgpl3; - }; + } // meta; } diff --git a/pkgs/tools/package-management/nixops/unstable.nix b/pkgs/tools/package-management/nixops/unstable.nix index dc71914f087b..88d9d0c94bef 100644 --- a/pkgs/tools/package-management/nixops/unstable.nix +++ b/pkgs/tools/package-management/nixops/unstable.nix @@ -10,4 +10,21 @@ callPackage ./generic.nix (rec { url = "https://hydra.nixos.org/build/88329589/download/2/nixops-${version}.tar.bz2"; sha256 = "1ppnhqmsbiijm6r77h86abv3fjny5iq35yvj207s520kjwzaj7kc"; }; + # # Marking unstable as broken, instead of using the pinned version, + # # like stable does You might be able to use the following code (as + # # in stable), to run unstable against the pinned packages + # python2Packages = pkgs.python2Packages.override { + # overrides = (self: super: let callPackage = newScope self; in { + # azure-mgmt-compute = callPackage ./azure-mgmt-compute { }; + # azure-mgmt-network = callPackage ./azure-mgmt-network { }; + # azure-mgmt-nspkg = callPackage ./azure-mgmt-nspkg { }; + # azure-mgmt-resource = callPackage ./azure-mgmt-resource { }; + # azure-mgmt-storage = callPackage ./azure-mgmt-storage { }; + # }); + # }; + # # otherwise + # # see https://github.com/NixOS/nixpkgs/pull/52550 + # # see https://github.com/NixOS/nixops/issues/1065 + # # see https://github.com/NixOS/nixpkgs/issues/52547 + meta.broken = true; }) |