mirror of
https://github.com/CHN-beta/nixpkgs.git
synced 2026-01-12 02:40:31 +08:00
octodns: python3Packages.callPackage -> callPackage, octodns-providers.*: autocall using octodns' python (#402602)
This commit is contained in:
@@ -1,26 +1,28 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
dnspython,
|
||||
fetchFromGitHub,
|
||||
fqdn,
|
||||
idna,
|
||||
natsort,
|
||||
pytestCheckHook,
|
||||
python-dateutil,
|
||||
python,
|
||||
pythonOlder,
|
||||
pyyaml,
|
||||
python3,
|
||||
runCommand,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
# passthru
|
||||
octodns,
|
||||
}:
|
||||
let
|
||||
# Export `python` with `octodns` as a module for `octodns-providers`.
|
||||
python = python3.override {
|
||||
self = python;
|
||||
packageOverrides = final: prev: {
|
||||
octodns = final.toPythonModule octodns;
|
||||
};
|
||||
};
|
||||
python3Packages = python.pkgs;
|
||||
in
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "octodns";
|
||||
version = "1.10.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
disabled = python.pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "octodns";
|
||||
@@ -29,11 +31,11 @@ buildPythonPackage rec {
|
||||
hash = "sha256-L3c4lYt/fgMctJFArc1XlR+hvpz10kcBcYYXajnNQr0=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
build-system = with python3Packages; [
|
||||
setuptools
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
dependencies = with python3Packages; [
|
||||
dnspython
|
||||
fqdn
|
||||
idna
|
||||
@@ -42,21 +44,30 @@ buildPythonPackage rec {
|
||||
pyyaml
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
nativeCheckInputs = with python3Packages; [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "octodns" ];
|
||||
|
||||
passthru.withProviders =
|
||||
ps:
|
||||
let
|
||||
pyEnv = python.withPackages ps;
|
||||
in
|
||||
runCommand "octodns-with-providers" { } ''
|
||||
mkdir -p $out/bin
|
||||
ln -st $out/bin ${pyEnv}/bin/octodns-*
|
||||
'';
|
||||
passthru = {
|
||||
providers = lib.recurseIntoAttrs (
|
||||
lib.packagesFromDirectoryRecursive {
|
||||
inherit (python3Packages) callPackage;
|
||||
directory = ./providers;
|
||||
}
|
||||
);
|
||||
|
||||
withProviders =
|
||||
ps:
|
||||
let
|
||||
pyEnv = python.withPackages ps;
|
||||
in
|
||||
runCommand "octodns-with-providers" { } ''
|
||||
mkdir -p $out/bin
|
||||
ln -st $out/bin ${pyEnv}/bin/octodns-*
|
||||
'';
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tools for managing DNS across multiple providers";
|
||||
|
||||
@@ -419,17 +419,9 @@ with pkgs;
|
||||
|
||||
deviceTree = callPackage ../os-specific/linux/device-tree { };
|
||||
|
||||
octodns = python3Packages.callPackage ../tools/networking/octodns { };
|
||||
octodns = callPackage ../tools/networking/octodns { };
|
||||
|
||||
octodns-providers = recurseIntoAttrs {
|
||||
bind = python3Packages.callPackage ../tools/networking/octodns/providers/bind { };
|
||||
gandi = python3Packages.callPackage ../tools/networking/octodns/providers/gandi { };
|
||||
hetzner = python3Packages.callPackage ../tools/networking/octodns/providers/hetzner { };
|
||||
powerdns = python3Packages.callPackage ../tools/networking/octodns/providers/powerdns { };
|
||||
cloudflare = python3Packages.callPackage ../tools/networking/octodns/providers/cloudflare { };
|
||||
ddns = python3Packages.callPackage ../tools/networking/octodns/providers/ddns { };
|
||||
transip = python3Packages.callPackage ../tools/networking/octodns/providers/transip { };
|
||||
};
|
||||
octodns-providers = octodns.providers;
|
||||
|
||||
oletools = with python3.pkgs; toPythonApplication oletools;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user