diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 9bf5d68c4c96..4a7edfbe4387 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -10051,6 +10051,13 @@
githubId = 16779;
name = "Rickard Nilsson";
};
+ ricochet = {
+ email = "behayes2@gmail.com";
+ github = "ricochet";
+ githubId = 974323;
+ matrix = "@ricochetcode:matrix.org";
+ name = "Bailey Hayes";
+ };
riey = {
email = "creeper844@gmail.com";
github = "Riey";
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index 8c61c4f876f4..ce2833569f98 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -135,6 +135,13 @@
services.baget.
+
+
+ prosody-filer,
+ a server for handling XMPP HTTP Upload requests. Available at
+ services.prosody-filer.
+
+
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index d0a018739070..392e97f47fd2 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -41,6 +41,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- [BaGet](https://loic-sharma.github.io/BaGet/), a lightweight NuGet and symbol server. Available at [services.baget](#opt-services.baget.enable).
+- [prosody-filer](https://github.com/ThomasLeister/prosody-filer), a server for handling XMPP HTTP Upload requests. Available at [services.prosody-filer](#opt-services.prosody-filer.enable).
+
## Backward Incompatibilities {#sec-release-22.05-incompatibilities}
- `pkgs.ghc` now refers to `pkgs.targetPackages.haskellPackages.ghc`.
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index b56b9ae8d8b4..3d54810050a5 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -1032,6 +1032,7 @@
./services/web-apps/plausible.nix
./services/web-apps/pgpkeyserver-lite.nix
./services/web-apps/powerdns-admin.nix
+ ./services/web-apps/prosody-filer.nix
./services/web-apps/matomo.nix
./services/web-apps/openwebrx.nix
./services/web-apps/restya-board.nix
diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix
index 6c1da075a869..964cfe7040c1 100644
--- a/nixos/modules/security/pam.nix
+++ b/nixos/modules/security/pam.nix
@@ -1072,8 +1072,8 @@ in
security.apparmor.includes."abstractions/pam" = let
isEnabled = test: fold or false (map test (attrValues config.security.pam.services));
in
- lib.concatMapStringsSep "\n"
- (name: "r ${config.environment.etc."pam.d/${name}".source},")
+ lib.concatMapStrings
+ (name: "r ${config.environment.etc."pam.d/${name}".source},\n")
(attrNames config.security.pam.services) +
''
mr ${getLib pkgs.pam}/lib/security/pam_filter/*,
diff --git a/nixos/modules/services/monitoring/netdata.nix b/nixos/modules/services/monitoring/netdata.nix
index 00bdd9fcda0d..f528d1830424 100644
--- a/nixos/modules/services/monitoring/netdata.nix
+++ b/nixos/modules/services/monitoring/netdata.nix
@@ -19,8 +19,17 @@ let
"${wrappedPlugins}/libexec/netdata/plugins.d"
] ++ cfg.extraPluginPaths;
+ configDirectory = pkgs.runCommand "netdata-config-d" { } ''
+ mkdir $out
+ ${concatStringsSep "\n" (mapAttrsToList (path: file: ''
+ mkdir -p "$out/$(dirname ${path})"
+ ln -s "${file}" "$out/${path}"
+ '') cfg.configDir)}
+ '';
+
localConfig = {
global = {
+ "config directory" = "/etc/netdata/conf.d";
"plugins directory" = concatStringsSep " " plugins;
};
web = {
@@ -130,6 +139,26 @@ in {
'';
};
+ configDir = mkOption {
+ type = types.attrsOf types.path;
+ default = {};
+ description = ''
+ Complete netdata config directory except netdata.conf.
+ The default configuration is merged with changes
+ defined in this option.
+ Each top-level attribute denotes a path in the configuration
+ directory as in environment.etc.
+ Its value is the absolute path and must be readable by netdata.
+ Cannot be combined with configText.
+ '';
+ example = literalExpression ''
+ "health_alarm_notify.conf" = pkgs.writeText "health_alarm_notify.conf" '''
+ sendmail="/path/to/sendmail"
+ ''';
+ "health.d" = "/run/secrets/netdata/health.d";
+ '';
+ };
+
enableAnalyticsReporting = mkOption {
type = types.bool;
default = false;
@@ -150,11 +179,14 @@ in {
}
];
+ environment.etc."netdata/netdata.conf".source = configFile;
+ environment.etc."netdata/conf.d".source = configDirectory;
+
systemd.services.netdata = {
description = "Real time performance monitoring";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
- path = (with pkgs; [ curl gawk iproute2 which ])
+ path = (with pkgs; [ curl gawk iproute2 which procps ])
++ lib.optional cfg.python.enable (pkgs.python3.withPackages cfg.python.extraPackages)
++ lib.optional config.virtualisation.libvirtd.enable (config.virtualisation.libvirtd.package);
environment = {
@@ -162,8 +194,12 @@ in {
} // lib.optionalAttrs (!cfg.enableAnalyticsReporting) {
DO_NOT_TRACK = "1";
};
+ restartTriggers = [
+ config.environment.etc."netdata/netdata.conf".source
+ config.environment.etc."netdata/conf.d".source
+ ];
serviceConfig = {
- ExecStart = "${cfg.package}/bin/netdata -P /run/netdata/netdata.pid -D -c ${configFile}";
+ ExecStart = "${cfg.package}/bin/netdata -P /run/netdata/netdata.pid -D -c /etc/netdata/netdata.conf";
ExecReload = "${pkgs.util-linux}/bin/kill -s HUP -s USR1 -s USR2 $MAINPID";
TimeoutStopSec = 60;
Restart = "on-failure";
diff --git a/nixos/modules/services/web-apps/prosody-filer.nix b/nixos/modules/services/web-apps/prosody-filer.nix
new file mode 100644
index 000000000000..6a52c36ab2cf
--- /dev/null
+++ b/nixos/modules/services/web-apps/prosody-filer.nix
@@ -0,0 +1,88 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+let
+
+ cfg = config.services.prosody-filer;
+
+ settingsFormat = pkgs.formats.toml { };
+ configFile = settingsFormat.generate "prosody-filer.toml" cfg.settings;
+in {
+
+ options = {
+ services.prosody-filer = {
+ enable = mkEnableOption "Prosody Filer XMPP upload file server";
+
+ settings = mkOption {
+ description = ''
+ Configuration for Prosody Filer.
+ Refer to for details on supported values.
+ '';
+
+ type = settingsFormat.type;
+
+ example = literalExample ''
+ {
+ secret = "mysecret";
+ storeDir = "/srv/http/nginx/prosody-upload";
+ }
+ '';
+
+ defaultText = literalExpression ''
+ {
+ listenport = mkDefault "127.0.0.1:5050";
+ uploadSubDir = mkDefault "upload/";
+ }
+ '';
+ };
+ };
+ };
+
+ config = mkIf cfg.enable {
+ services.prosody-filer.settings = {
+ listenport = mkDefault "127.0.0.1:5050";
+ uploadSubDir = mkDefault "upload/";
+ };
+
+ users.users.prosody-filer = {
+ group = "prosody-filer";
+ isSystemUser = true;
+ };
+
+ users.groups.prosody-filer = { };
+
+ systemd.services.prosody-filer = {
+ description = "Prosody file upload server";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network.target" ];
+
+ serviceConfig = {
+ User = "prosody-filer";
+ Group = "prosody-filer";
+ ExecStart = "${pkgs.prosody-filer}/bin/prosody-filer -config ${configFile}";
+ Restart = "on-failure";
+ CapabilityBoundingSet = "";
+ NoNewPrivileges = true;
+ PrivateDevices = true;
+ PrivateTmp = true;
+ PrivateMounts = true;
+ ProtectHome = true;
+ ProtectClock = true;
+ ProtectProc = "noaccess";
+ ProcSubset = "pid";
+ ProtectKernelLogs = true;
+ ProtectKernelModules = true;
+ ProtectKernelTunables = true;
+ ProtectControlGroups = true;
+ ProtectHostname = true;
+ RestrictSUIDSGID = true;
+ RestrictRealtime = true;
+ RestrictNamespaces = true;
+ LockPersonality = true;
+ RemoveIPC = true;
+ RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+ SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ];
+ };
+ };
+ };
+}
diff --git a/pkgs/applications/blockchains/wownero/default.nix b/pkgs/applications/blockchains/wownero/default.nix
index bc020de8be49..9efdd6c56dfd 100644
--- a/pkgs/applications/blockchains/wownero/default.nix
+++ b/pkgs/applications/blockchains/wownero/default.nix
@@ -1,28 +1,30 @@
-{ lib, stdenv, fetchgit, cmake, boost, miniupnpc_2, openssl, unbound
-, readline, libsodium, rapidjson, fetchurl
+{ lib, stdenv, fetchFromGitea, cmake, boost, miniupnpc_2, openssl, unbound
+, readline, libsodium, rapidjson
}:
with lib;
-
-let
- randomwowVersion = "1.1.7";
- randomwow = fetchurl {
- url = "https://github.com/wownero/RandomWOW/archive/${randomwowVersion}.tar.gz";
- sha256 = "1xp76zf01hnhnk6rjvqjav9n9pnvxzxlzqa5rc574d1c2qczfy3q";
- };
-in
-
stdenv.mkDerivation rec {
pname = "wownero";
version = "0.8.0.1";
+ randomwowVersion = "1.1.7";
- src = fetchgit {
- url = "https://git.wownero.com/wownero/wownero.git";
+ src = fetchFromGitea {
+ domain = "git.wownero.com";
+ owner = "wownero";
+ repo = "wownero";
rev = "v${version}";
- sha256 = "15443xv6q1nw4627ajk6k4ghhahvh82lb4gyb8nvq753p2v838g3";
+ sha256 = "sha256-+cUdousEiZMNwqhTvjoqw/k21x3dg7Lhb/5KyNUGrjQ=";
fetchSubmodules = false;
};
+ randomwow = fetchFromGitea {
+ domain = "git.wownero.com";
+ owner = "wownero";
+ repo = "RandomWOW";
+ rev = randomwowVersion;
+ sha256 = "sha256-JzyRlHwM8rmJ5OaKHz+6vHGfpSz+X4zkFAKn4Jmo+EE=";
+ };
+
nativeBuildInputs = [ cmake ];
buildInputs = [
@@ -31,8 +33,7 @@ stdenv.mkDerivation rec {
postUnpack = ''
rm -r $sourceRoot/external/RandomWOW
- unpackFile ${randomwow}
- mv RandomWOW-${randomwowVersion} $sourceRoot/external/RandomWOW
+ ln -s ${randomwow} $sourceRoot/external/RandomWOW
'';
cmakeFlags = [
diff --git a/pkgs/applications/graphics/image-roll/default.nix b/pkgs/applications/graphics/image-roll/default.nix
index 7f395fe30600..2bba3c80cd9b 100644
--- a/pkgs/applications/graphics/image-roll/default.nix
+++ b/pkgs/applications/graphics/image-roll/default.nix
@@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec {
pname = "image-roll";
- version = "1.4.0";
+ version = "1.4.1";
src = fetchFromGitHub {
owner = "weclaw1";
repo = pname;
rev = version;
- sha256 = "sha256-NhZ0W9WBOIRe2nE4jQJ9WgfduKhHd+222feUCay4atw=";
+ sha256 = "sha256-SyG/syIDnyQaXUgGkXZkY98dmFs7O+OFnGL50250nJI=";
};
- cargoSha256 = "sha256-7sV8v/npmdOgTMtnww/VoK1Kp4Na9Go95XLcfdgkTik=";
+ cargoSha256 = "sha256-pyeJ7WmtkbQjbek/rRh2UKFQ5o006Rf7phZ1yl2s4wA=";
nativeBuildInputs = [ glib pkg-config wrapGAppsHook ];
diff --git a/pkgs/applications/networking/cluster/helm/chart-testing/default.nix b/pkgs/applications/networking/cluster/helm/chart-testing/default.nix
index c4365975713a..2f6dcbe01446 100644
--- a/pkgs/applications/networking/cluster/helm/chart-testing/default.nix
+++ b/pkgs/applications/networking/cluster/helm/chart-testing/default.nix
@@ -1,17 +1,17 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
buildGoModule rec {
pname = "chart-testing";
- version = "3.4.0";
+ version = "3.5.0";
src = fetchFromGitHub {
owner = "helm";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-c7Rjk2YZaQXyFwrDVwYgOCnq/F2ooIUVETXVn5FVlZE=";
+ sha256 = "sha256-lXi778MTeVUBtepGjIkKAX1kDEaaVzQI1gTKfcpANC0=";
};
- vendorSha256 = "sha256-1Py66ljDjJC38biJ25D8KnWEi3nXAVt9QSgyH1KkwHM=";
+ vendorSha256 = "sha256-pNevyTibnhUK8LSM1lVnmumFazXK86q4AZ2WKFt5jok=";
postPatch = ''
substituteInPlace pkg/config/config.go \
@@ -26,9 +26,16 @@ buildGoModule rec {
"-X github.com/helm/chart-testing/v3/ct/cmd.BuildDate=19700101-00:00:00"
];
+ nativeBuildInputs = [ installShellFiles ];
+
postInstall = ''
install -Dm644 -t $out/etc/ct etc/chart_schema.yaml
install -Dm644 -t $out/etc/ct etc/lintconf.yaml
+
+ installShellCompletion --cmd ct \
+ --bash <($out/bin/ct completion bash) \
+ --zsh <($out/bin/ct completion zsh) \
+ --fish <($out/bin/ct completion fish) \
'';
meta = with lib; {
@@ -36,5 +43,6 @@ buildGoModule rec {
homepage = "https://github.com/helm/chart-testing";
license = licenses.asl20;
maintainers = with maintainers; [ atkinschang ];
+ mainProgram = "ct";
};
}
diff --git a/pkgs/applications/networking/cluster/kube3d/default.nix b/pkgs/applications/networking/cluster/kube3d/default.nix
index 861fa2eb97ef..fa2f218ffa0b 100644
--- a/pkgs/applications/networking/cluster/kube3d/default.nix
+++ b/pkgs/applications/networking/cluster/kube3d/default.nix
@@ -49,7 +49,7 @@ buildGoModule rec {
multi-node k3s cluster on a single machine using docker.
'';
license = licenses.mit;
- maintainers = with maintainers; [ kuznero jlesquembre ngerstle jk ];
- platforms = platforms.linux;
+ maintainers = with maintainers; [ kuznero jlesquembre ngerstle jk ricochet ];
+ platforms = platforms.linux ++ platforms.darwin;
};
}
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index b499f01d88fd..6154ce668cdb 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -26,10 +26,10 @@ in {
pname = "discord-canary";
binaryName = "DiscordCanary";
desktopName = "Discord Canary";
- version = "0.0.131";
+ version = "0.0.132";
src = fetchurl {
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
- sha256 = "087rzyivk0grhc73v7ldxxghks0n16ifrvpmk95vzaw99l9xv0v5";
+ sha256 = "1jjbd9qllgcdpnfxg5alxpwl050vzg13rh17n638wha0vv4mjhyv";
};
};
}.${branch}
diff --git a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
index 59ff3554ebf5..93d0f7a4694e 100644
--- a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, lib, fetchurl, makeWrapper, openjdk11_headless, libmatthew_java, dbus, dbus_java }:
+{ stdenv, lib, fetchurl, makeWrapper, openjdk17_headless, libmatthew_java, dbus, dbus_java }:
stdenv.mkDerivation rec {
pname = "signal-cli";
- version = "0.9.2";
+ version = "0.10.0";
# Building from source would be preferred, but is much more involved.
src = fetchurl {
url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}.tar.gz";
- sha256 = "sha256-CumrIlOPmvQ3x7Ua5I2G7ZlTSAbhLgAQMPUg4I5WCeQ=";
+ sha256 = "sha256-2JofDCq9HsF+2DO5wzObzAALbJmJ9HJgmuuSJQDu1vY=";
};
buildInputs = lib.optionals stdenv.isLinux [ libmatthew_java dbus dbus_java ];
@@ -18,15 +18,15 @@ stdenv.mkDerivation rec {
cp -r lib $out/lib
cp bin/signal-cli $out/bin/signal-cli
'' + (if stdenv.isLinux then ''
- makeWrapper ${openjdk11_headless}/bin/java $out/bin/signal-cli \
- --set JAVA_HOME "${openjdk11_headless}" \
+ makeWrapper ${openjdk17_headless}/bin/java $out/bin/signal-cli \
+ --set JAVA_HOME "${openjdk17_headless}" \
--add-flags "-classpath '$out/lib/*:${libmatthew_java}/lib/jni'" \
--add-flags "-Djava.library.path=${libmatthew_java}/lib/jni:${dbus_java}/share/java/dbus:$out/lib" \
--add-flags "org.asamk.signal.Main"
'' else ''
wrapProgram $out/bin/signal-cli \
- --prefix PATH : ${lib.makeBinPath [ openjdk11_headless ]} \
- --set JAVA_HOME ${openjdk11_headless}
+ --prefix PATH : ${lib.makeBinPath [ openjdk17_headless ]} \
+ --set JAVA_HOME ${openjdk17_headless}
'');
# Execution in the macOS (10.13) sandbox fails with
diff --git a/pkgs/applications/virtualization/conmon/default.nix b/pkgs/applications/virtualization/conmon/default.nix
index c8f78117f500..11df90ce6e63 100644
--- a/pkgs/applications/virtualization/conmon/default.nix
+++ b/pkgs/applications/virtualization/conmon/default.nix
@@ -11,13 +11,13 @@
stdenv.mkDerivation rec {
pname = "conmon";
- version = "2.0.31";
+ version = "2.0.32";
src = fetchFromGitHub {
owner = "containers";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-/IQS5L9Gqhft1eefkcNAPcQn7nSqOxAp9ySKBSOjs7M=";
+ sha256 = "sha256-aj0RQVVJp2S8cIYT7fsbK1TLaK0auvdgEIgkZJktsdo=";
};
nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/compilers/gcc/9/default.nix b/pkgs/development/compilers/gcc/9/default.nix
index ebdc55ee3f8f..9d21ed667f6c 100644
--- a/pkgs/development/compilers/gcc/9/default.nix
+++ b/pkgs/development/compilers/gcc/9/default.nix
@@ -82,6 +82,7 @@ let majorVersion = "9";
++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
++ optional targetPlatform.isNetBSD ../libstdc++-netbsd-ctypes.patch
++ optional noSysDirs ../no-sys-dirs.patch
+ ++ optional (noSysDirs && hostPlatform.isRiscV) ../no-sys-dirs-riscv-gcc9.patch
/* ++ optional (hostPlatform != buildPlatform) (fetchpatch { # XXX: Refine when this should be applied
url = "https://git.busybox.net/buildroot/plain/package/gcc/${version}/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02";
sha256 = ""; # TODO: uncomment and check hash when available.
diff --git a/pkgs/development/compilers/gcc/no-sys-dirs-riscv-gcc9.patch b/pkgs/development/compilers/gcc/no-sys-dirs-riscv-gcc9.patch
new file mode 100644
index 000000000000..afe3f26360e4
--- /dev/null
+++ b/pkgs/development/compilers/gcc/no-sys-dirs-riscv-gcc9.patch
@@ -0,0 +1,17 @@
+diff --git a/gcc/config/riscv/riscv.h b/gcc/config/riscv/riscv.h
+index 701f5ea1544..8de333caf54 100644
+--- a/gcc/config/riscv/riscv.h
++++ b/gcc/config/riscv/riscv.h
+@@ -886,11 +886,7 @@ extern unsigned riscv_stack_boundary;
+ "%{mabi=lp64f:lp64f}" \
+ "%{mabi=lp64d:lp64d}" \
+
+-#define STARTFILE_PREFIX_SPEC \
+- "/lib" XLEN_SPEC "/" ABI_SPEC "/ " \
+- "/usr/lib" XLEN_SPEC "/" ABI_SPEC "/ " \
+- "/lib/ " \
+- "/usr/lib/ "
++#define STARTFILE_PREFIX_SPEC ""
+
+ /* ISA constants needed for code generation. */
+ #define OPCODE_LW 0x2003
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix/ql-to-nix.lisp b/pkgs/development/lisp-modules/quicklisp-to-nix/ql-to-nix.lisp
index 3824a04826f1..4a82b6cafa6f 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix/ql-to-nix.lisp
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix/ql-to-nix.lisp
@@ -44,7 +44,7 @@
(wrap :ql-dist short-description)
(defun escape-filename (s)
- (format
+ (format
nil "~a~{~a~}"
(if (scan "^[a-zA-Z_]" s) "" "_")
(loop
@@ -260,9 +260,10 @@ This function stores results for memoization purposes in files within
(defun print-usage-and-quit ()
"Does what it says on the tin."
(format *error-output* "Usage:
- ~A [--help] [--cacheSystemInfoDir ]
+ ~A [--help] [--cacheSystemInfoDir ] [--cacheFaslDir ]
Arguments:
--cacheSystemInfoDir Store computed system info in the given directory
+ --cacheFaslDir Store intermediate fast load files in the given directory
--help Print usage and exit
Path to directory with quicklisp-to-nix-systems.txt
" (uiop:argv0))
diff --git a/pkgs/development/node-packages/default.nix b/pkgs/development/node-packages/default.nix
index 2e7c6fc38cc3..7f40453a6f74 100644
--- a/pkgs/development/node-packages/default.nix
+++ b/pkgs/development/node-packages/default.nix
@@ -314,7 +314,7 @@ let
src = fetchurl {
url = "https://registry.npmjs.org/prisma/-/prisma-${version}.tgz";
- sha512 = "sha512-pzgc95msPLcCHqOli7Hnabu/GRfSGSUWl5s2P6N13T/rgMB+NNeKbxCmzQiZT2yLOeLEPivV6YrW1oeQIwJxcg==";
+ sha512 = "sha512-xLmVyO/L6C4ZdHzHqiJVq3ZfDWSym29x75JcwJx746ps61UcNEg4ozSwN9ud7UjXLntdXe1xDLNOUO1lc7LN5g==";
};
postInstall = with pkgs; ''
wrapProgram "$out/bin/prisma" \
diff --git a/pkgs/development/python-modules/APScheduler/default.nix b/pkgs/development/python-modules/APScheduler/default.nix
index e0ebf564163f..52d4ecdc3b71 100644
--- a/pkgs/development/python-modules/APScheduler/default.nix
+++ b/pkgs/development/python-modules/APScheduler/default.nix
@@ -2,55 +2,51 @@
, stdenv
, buildPythonPackage
, fetchPypi
-, setuptools-scm
-, pytestCheckHook
+, gevent
, pytest-asyncio
, pytest-tornado
-, sqlalchemy
+, pytestCheckHook
+, pythonOlder
+, pytz
+, setuptools
+, setuptools-scm
+, six
, tornado
, twisted
-, mock
-, gevent
-, six
-, pytz
, tzlocal
-, funcsigs
-, setuptools
-, pythonOlder
}:
buildPythonPackage rec {
- pname = "APScheduler";
+ pname = "apscheduler";
version = "3.8.1";
+ format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
- inherit pname version;
- sha256 = "5cf344ebcfbdaa48ae178c029c055cec7bc7a4a47c21e315e4d1f08bd35f2355";
+ pname = "APScheduler";
+ inherit version;
+ hash = "sha256-XPNE68+9qkiuF4wCnAVc7HvHpKR8IeMV5NHwi9NfI1U=";
};
buildInputs = [
setuptools-scm
];
+ propagatedBuildInputs = [
+ pytz
+ setuptools
+ six
+ tzlocal
+ ];
+
checkInputs = [
+ gevent
pytest-asyncio
pytest-tornado
pytestCheckHook
- sqlalchemy
tornado
twisted
- mock
- gevent
- ];
-
- propagatedBuildInputs = [
- six
- pytz
- tzlocal
- funcsigs
- setuptools
];
postPatch = ''
@@ -60,15 +56,21 @@ buildPythonPackage rec {
disabledTests = [
"test_broken_pool"
+ # gevent tests have issue on newer Python releases
+ "test_add_live_job"
+ "test_add_pending_job"
+ "test_shutdown"
] ++ lib.optionals stdenv.isDarwin [
"test_submit_job"
"test_max_instances"
];
- pythonImportsCheck = [ "apscheduler" ];
+ pythonImportsCheck = [
+ "apscheduler"
+ ];
meta = with lib; {
- description = "A Python library that lets you schedule your Python code to be executed";
+ description = "Library that lets you schedule your Python code to be executed";
homepage = "https://github.com/agronholm/apscheduler";
license = licenses.mit;
maintainers = with maintainers; [ ];
diff --git a/pkgs/development/python-modules/emv/default.nix b/pkgs/development/python-modules/emv/default.nix
index d688e1e22e66..62dcc44ca593 100644
--- a/pkgs/development/python-modules/emv/default.nix
+++ b/pkgs/development/python-modules/emv/default.nix
@@ -39,7 +39,8 @@ buildPythonPackage rec {
--replace '"enum-compat==0.0.3",' "" \
--replace '"argparse==1.4.0",' "" \
--replace "click==7.1.2" "click" \
- --replace "pyscard==2.0.0" "pyscard"
+ --replace "pyscard==2.0.0" "pyscard" \
+ --replace "terminaltables==3.1.0" "terminaltables"
'';
pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/enrich/default.nix b/pkgs/development/python-modules/enrich/default.nix
index 2b81577af22d..fbd22a42b555 100644
--- a/pkgs/development/python-modules/enrich/default.nix
+++ b/pkgs/development/python-modules/enrich/default.nix
@@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "enrich";
- version = "1.2.6";
+ version = "1.2.7";
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-Dpn/V9h/e13vDKeZF+iPuTUaoNUuIo7ji/982FgxX+Q=";
+ sha256 = "0a2ab0d2931dff8947012602d1234d2a3ee002d9a355b5d70be6bf5466008893";
};
buildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/hahomematic/default.nix b/pkgs/development/python-modules/hahomematic/default.nix
index fc2fb2bcd5cc..058a8f4d9875 100644
--- a/pkgs/development/python-modules/hahomematic/default.nix
+++ b/pkgs/development/python-modules/hahomematic/default.nix
@@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "hahomematic";
- version = "0.18.0";
+ version = "0.19.0";
format = "setuptools";
disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "danielperna84";
repo = pname;
rev = version;
- sha256 = "sha256-SkEI5uWKtszSBZblDBvbEmJh0OdvqDcwY6PG3JK4djY=";
+ sha256 = "sha256-i3pNbIYISvZ681KLnxP9ZpITnkX7p0rBWjs1KidlFrM=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/json-schema-for-humans/default.nix b/pkgs/development/python-modules/json-schema-for-humans/default.nix
index f9452a25b7ab..aa70a35bd079 100644
--- a/pkgs/development/python-modules/json-schema-for-humans/default.nix
+++ b/pkgs/development/python-modules/json-schema-for-humans/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage rec {
owner = "coveooss";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-gaholnLO5oIQaXgliuvlU2MfpjiCMgAPplOPgvMYim8=";
+ hash = "sha256-gaholnLO5oIQaXgliuvlU2MfpjiCMgAPplOPgvMYim8=";
};
nativeBuildInputs = [
@@ -54,6 +54,12 @@ buildPythonPackage rec {
pytestCheckHook
];
+ postPatch = ''
+ # https://github.com/coveooss/json-schema-for-humans/issues/127
+ substituteInPlace pyproject.toml \
+ --replace 'PyYAML = "^5.4.1"' 'PyYAML = "*"'
+ '';
+
disabledTests = [
# Tests require network access
"test_references_url"
diff --git a/pkgs/development/python-modules/keyring/default.nix b/pkgs/development/python-modules/keyring/default.nix
index 68043f268ba5..71e9be548e5b 100644
--- a/pkgs/development/python-modules/keyring/default.nix
+++ b/pkgs/development/python-modules/keyring/default.nix
@@ -13,12 +13,12 @@
buildPythonPackage rec {
pname = "keyring";
- version = "23.4.0";
- disabled = pythonOlder "3.6";
+ version = "23.5.0";
+ disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-iPIGAkKV48b7FrsKYPtLt+wRhWKdxacp8SqnwjbQE4c=";
+ hash = "sha256-kBJQjhQagL0cC2d41cYQ3Z+MRk11rGd0JIUAUD+XL7k=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pylaunches/default.nix b/pkgs/development/python-modules/pylaunches/default.nix
index d6ad5480ddd3..552d30c70f35 100644
--- a/pkgs/development/python-modules/pylaunches/default.nix
+++ b/pkgs/development/python-modules/pylaunches/default.nix
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "pylaunches";
- version = "1.2.0";
+ version = "1.2.1";
format = "setuptools";
disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "ludeeus";
repo = pname;
rev = version;
- sha256 = "0mczxkwczyh9kva4xzpmnawy0hjha1fdrwj6igip9w5z1q48zs49";
+ sha256 = "sha256-WwtNgKP5YM9i7au02taOfJuKQy6DDmmBrE34EPvJYmA=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/quandl/default.nix b/pkgs/development/python-modules/quandl/default.nix
index 7941bb537183..e819cd24e99d 100644
--- a/pkgs/development/python-modules/quandl/default.nix
+++ b/pkgs/development/python-modules/quandl/default.nix
@@ -1,16 +1,30 @@
-{ lib, fetchPypi, buildPythonPackage, isPy3k, pythonOlder
-# runtime dependencies
-, pandas, numpy, requests, inflection, python-dateutil, six, more-itertools, importlib-metadata
-# test suite dependencies
-, nose, unittest2, flake8, httpretty, mock, jsondate, parameterized, faker, factory_boy
-# additional runtime dependencies are required on Python 2.x
-, pyopenssl, ndg-httpsclient, pyasn1
+{ lib
+, buildPythonPackage
+, factory_boy
+, faker
+, fetchPypi
+, httpretty
+, importlib-metadata
+, inflection
+, jsondate
+, mock
+, more-itertools
+, numpy
+, pandas
+, parameterized
+, pytestCheckHook
+, python-dateutil
+, pythonOlder
+, requests
+, six
}:
buildPythonPackage rec {
pname = "quandl";
version = "3.7.0";
- disabled = !isPy3k;
+ format = "setuptools";
+
+ disabled = pythonOlder "3.6";
src = fetchPypi {
inherit version;
@@ -18,18 +32,6 @@ buildPythonPackage rec {
sha256 = "6e0b82fbc7861610b3577c5397277c4220e065eee0fed4e46cd6b6021655b64c";
};
- checkInputs = [
- nose
- unittest2
- flake8
- httpretty
- mock
- jsondate
- parameterized
- faker
- factory_boy
- ];
-
propagatedBuildInputs = [
pandas
numpy
@@ -38,15 +40,23 @@ buildPythonPackage rec {
python-dateutil
six
more-itertools
- ] ++ lib.optionals (!isPy3k) [
- pyopenssl
- ndg-httpsclient
- pyasn1
] ++ lib.optionals (pythonOlder "3.8") [
importlib-metadata
];
- pythonImportsCheck = [ "quandl" ];
+ checkInputs = [
+ factory_boy
+ faker
+ httpretty
+ jsondate
+ mock
+ parameterized
+ pytestCheckHook
+ ];
+
+ pythonImportsCheck = [
+ "quandl"
+ ];
meta = with lib; {
description = "Quandl Python client library";
diff --git a/pkgs/development/python-modules/rpyc/default.nix b/pkgs/development/python-modules/rpyc/default.nix
index e56aed2aeb7c..61a2f1e75605 100644
--- a/pkgs/development/python-modules/rpyc/default.nix
+++ b/pkgs/development/python-modules/rpyc/default.nix
@@ -3,11 +3,15 @@
, fetchFromGitHub
, plumbum
, pytestCheckHook
+, pythonOlder
}:
buildPythonPackage rec {
pname = "rpyc";
version = "5.0.1";
+ format = "setuptools";
+
+ disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "tomerfiliba";
@@ -16,17 +20,27 @@ buildPythonPackage rec {
sha256 = "1g75k4valfjgab00xri4pf8c8bb2zxkhgkpyy44fjk7s5j66daa1";
};
- propagatedBuildInputs = [ plumbum ];
+ propagatedBuildInputs = [
+ plumbum
+ ];
- checkInputs = [ pytestCheckHook ];
+ checkInputs = [
+ pytestCheckHook
+ ];
- # Disable tests that requires network access
disabledTests = [
+ # Disable tests that requires network access
"test_api"
"test_pruning"
"test_rpyc"
+ # Test is outdated
+ # ssl.SSLError: [SSL: NO_CIPHERS_AVAILABLE] no ciphers available (_ssl.c:997)
+ "test_ssl_conenction"
+ ];
+
+ pythonImportsCheck = [
+ "rpyc"
];
- pythonImportsCheck = [ "rpyc" ];
meta = with lib; {
description = "Remote Python Call (RPyC), a transparent and symmetric RPC library";
diff --git a/pkgs/development/python-modules/sybil/default.nix b/pkgs/development/python-modules/sybil/default.nix
index d46fc14cdf67..7114f0aeba48 100644
--- a/pkgs/development/python-modules/sybil/default.nix
+++ b/pkgs/development/python-modules/sybil/default.nix
@@ -1,28 +1,40 @@
{ lib
, buildPythonApplication
, fetchPypi
-, pytest
-, nose
+, pytestCheckHook
+, pythonOlder
}:
buildPythonApplication rec {
pname = "sybil";
version = "2.0.1";
+ format = "setuptools";
+
+ disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "597d71e246690b9223c132f0ed7dcac470dcbe9ad022004a801e108a00dc3524";
};
- checkInputs = [ pytest nose ];
+ checkInputs = [
+ pytestCheckHook
+ ];
- checkPhase = ''
- py.test tests
- '';
+ disabledTests = [
+ # Will be fixed with 3.0.0, https://github.com/simplistix/sybil/pull/27
+ "test_future_imports"
+ "test_pytest"
+ ];
+
+ pythonImportsCheck = [
+ "sybil"
+ ];
meta = with lib; {
description = "Automated testing for the examples in your documentation";
homepage = "https://github.com/cjw296/sybil";
license = licenses.mit;
+ maintainers = with maintainers; [ ];
};
}
diff --git a/pkgs/development/tools/database/prisma-engines/default.nix b/pkgs/development/tools/database/prisma-engines/default.nix
index 77d5eb006b10..eee49d1c6fcc 100644
--- a/pkgs/development/tools/database/prisma-engines/default.nix
+++ b/pkgs/development/tools/database/prisma-engines/default.nix
@@ -10,19 +10,19 @@
rustPlatform.buildRustPackage rec {
pname = "prisma-engines";
- version = "3.7.0";
+ version = "3.8.0";
src = fetchFromGitHub {
owner = "prisma";
repo = "prisma-engines";
rev = version;
- sha256 = "sha256-00WAN4GFchZVsL1Vf1bPXF3/pmqygs3T8XrCMtGimfg=";
+ sha256 = "sha256-pP5gNWRucr2rJqBPBt4Y/akf7tABFWhmr3EWC3/kj+g=";
};
# Use system openssl.
OPENSSL_NO_VENDOR = 1;
- cargoSha256 = "sha256-w4n61gNEWdfiIMDQ82lFxnE4o4liS5z3tx3OZCcT1kI=";
+ cargoSha256 = "sha256-F105SOFWEhFVGMmPOEdBZwhNHCYkRh1HI7fESzL2uQw=";
nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
index 07e0063d6c5b..c9b70c83bfee 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
@@ -5,7 +5,7 @@
}:
let
# Poetry2nix version
- version = "1.24.1";
+ version = "1.26.0";
inherit (poetryLib) isCompatible readTOML moduleName;
@@ -122,10 +122,10 @@ lib.makeScope pkgs.newScope (self: {
# Example: { my-app = ./src; }
, editablePackageSources ? { }
, __isBootstrap ? false # Hack: Always add Poetry as a build input unless bootstrapping
+ , pyProject ? readTOML pyproject
}@attrs:
let
poetryPkg = poetry.override { inherit python; };
- pyProject = readTOML pyproject;
scripts = pyProject.tool.poetry.scripts or { };
hasScripts = scripts != { };
@@ -133,9 +133,11 @@ lib.makeScope pkgs.newScope (self: {
inherit python scripts;
};
- hasEditable = editablePackageSources != { };
+ editablePackageSources' = lib.filterAttrs (name: path: path != null) editablePackageSources;
+ hasEditable = editablePackageSources' != { };
editablePackage = self.mkPoetryEditablePackage {
- inherit pyProject python editablePackageSources;
+ inherit pyProject python;
+ editablePackageSources = editablePackageSources';
};
poetryLock = readTOML poetrylock;
@@ -190,7 +192,10 @@ lib.makeScope pkgs.newScope (self: {
(lib.reverseList compatible)
);
in
- lockPkgs;
+ lockPkgs // {
+ # Create a dummy null package for the current project in case any dependencies depend on the root project (issue #307)
+ ${pyProject.tool.poetry.name} = null;
+ };
overlays = builtins.map
getFunctorFn
(
@@ -264,14 +269,34 @@ lib.makeScope pkgs.newScope (self: {
, extraPackages ? ps: [ ]
}:
let
+ inherit (lib) elem hasAttr;
+
+ pyProject = readTOML pyproject;
+
+ # Automatically add dependencies with develop = true as editable packages, but only if path dependencies
+ getEditableDeps = set: lib.mapAttrs
+ (name: value: projectDir + "/${value.path}")
+ (lib.filterAttrs (name: dep: dep.develop or false && hasAttr "path" dep) set);
+
+ editablePackageSources' = (
+ (getEditableDeps (pyProject.tool.poetry."dependencies" or { }))
+ // (getEditableDeps (pyProject.tool.poetry."dev-dependencies" or { }))
+ // editablePackageSources
+ );
+
poetryPython = self.mkPoetryPackages {
- inherit pyproject poetrylock overrides python pwd preferWheels editablePackageSources;
+ inherit pyproject poetrylock overrides python pwd preferWheels pyProject;
+ editablePackageSources = editablePackageSources';
};
inherit (poetryPython) poetryPackages;
+ # Don't add editable sources to the environment since they will sometimes fail to build and are not useful in the development env
+ editableAttrs = lib.attrNames editablePackageSources';
+ envPkgs = builtins.filter (drv: ! lib.elem (drv.pname or drv.name or "") editableAttrs) poetryPackages;
+
in
- poetryPython.python.withPackages (ps: poetryPackages ++ (extraPackages ps));
+ poetryPython.python.withPackages (ps: envPkgs ++ (extraPackages ps));
/* Creates a Python application from pyproject.toml and poetry.lock
@@ -282,7 +307,10 @@ lib.makeScope pkgs.newScope (self: {
*/
mkPoetryApplication =
{ projectDir ? null
- , src ? self.cleanPythonSources { src = projectDir; }
+ , src ? (
+ # Assume that a project which is the result of a derivation is already adequately filtered
+ if lib.isDerivation projectDir then projectDir else self.cleanPythonSources { src = projectDir; }
+ )
, pyproject ? projectDir + "/pyproject.toml"
, poetrylock ? projectDir + "/poetry.lock"
, overrides ? self.defaultPoetryOverrides
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/fetch_from_legacy.py b/pkgs/development/tools/poetry2nix/poetry2nix/fetch_from_legacy.py
index d59c3a7763ac..8858b64ec3ee 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/fetch_from_legacy.py
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/fetch_from_legacy.py
@@ -63,30 +63,36 @@ context.verify_mode = ssl.CERT_NONE
req = urllib.request.Request(index_url)
if username and password:
import base64
- password_b64 = base64.b64encode(bytes(f"{username}:{password}", "utf-8")).decode("utf-8")
- req.add_header("Authorization", f"Basic {password_b64}")
-response = urllib.request.urlopen(
- req,
- context=context)
+
+ password_b64 = base64.b64encode(":".join((username, password)).encode()).decode(
+ "utf-8"
+ )
+ req.add_header("Authorization", "Basic {}".format(password_b64))
+response = urllib.request.urlopen(req, context=context)
index = response.read()
parser = Pep503()
parser.feed(str(index))
if package_filename not in parser.sources:
- print("The file %s has not be found in the index %s" % (
- package_filename, index_url))
+ print(
+ "The file %s has not be found in the index %s" % (package_filename, index_url)
+ )
exit(1)
package_file = open(package_filename, "wb")
# Sometimes the href is a relative path
-if urlparse(parser.sources[package_filename]).netloc == '':
+if urlparse(parser.sources[package_filename]).netloc == "":
parsed_url = urlparse(index_url)
- package_url = urlunparse((
- parsed_url.scheme,
- parsed_url.netloc,
- parser.sources[package_filename],
- None, None, None,
- ))
+ package_url = urlunparse(
+ (
+ parsed_url.scheme,
+ parsed_url.netloc,
+ parsed_url.path + "/" + parser.sources[package_filename],
+ None,
+ None,
+ None,
+ )
+ )
else:
package_url = parser.sources[package_filename]
@@ -106,10 +112,8 @@ print("Downloading %s" % real_package_url)
req = urllib.request.Request(real_package_url)
if username and password:
- req.add_unredirected_header("Authorization", f"Basic {password_b64}")
-response = urllib.request.urlopen(
- req,
- context=context)
+ req.add_unredirected_header("Authorization", "Basic {}".format(password_b64))
+response = urllib.request.urlopen(req, context=context)
with response as r:
shutil.copyfileobj(r, package_file)
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pyproject-without-special-deps.py b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pyproject-without-special-deps.py
index af9816cf831e..9f79f9afab56 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pyproject-without-special-deps.py
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pyproject-without-special-deps.py
@@ -22,7 +22,12 @@ def main(input, output, fields_to_remove):
if any_removed:
dep["version"] = "*"
- json.dump(data, output, separators=(",", ":"))
+ # Set ensure_ascii to False because TOML is valid UTF-8 so text that can't
+ # be represented in ASCII is perfectly legitimate
+ # HACK: Setting ensure_asscii to False breaks Python2 for some dependencies (like cachy==0.3.0)
+ json.dump(
+ data, output, separators=(",", ":"), ensure_ascii=sys.version_info.major < 3
+ )
if __name__ == "__main__":
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix b/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
index 6039e50d04eb..6e35069a817c 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
@@ -98,12 +98,26 @@ self: super:
'';
});
+ backports-functools-lru-cache = super.backports-functools-lru-cache.overridePythonAttrs (old: {
+ postPatch = ''
+ substituteInPlace setup.py --replace \
+ 'setuptools.setup()' \
+ 'setuptools.setup(version="${old.version}")'
+ '';
+ });
+
bcrypt = super.bcrypt.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libffi ];
}
);
+ bjoern = super.bjoern.overridePythonAttrs (
+ old: {
+ buildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.libev ];
+ }
+ );
+
black = super.black.overridePythonAttrs (
old: {
dontPreferSetupPy = true;
@@ -247,6 +261,36 @@ self: super:
buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools ];
});
+ dbus-python = super.dbus-python.overridePythonAttrs (old: {
+ outputs = [ "out" "dev" ];
+
+ postPatch = old.postPatch or "" + ''
+ substituteInPlace ./configure --replace /usr/bin/file ${pkgs.file}/bin/file
+ substituteInPlace ./dbus-python.pc.in --replace 'Cflags: -I''${includedir}' 'Cflags: -I''${includedir}/dbus-1.0'
+ '';
+
+ configureFlags = (old.configureFlags or [ ]) ++ [
+ "PYTHON_VERSION=${lib.versions.major self.python.version}"
+ ];
+
+ preConfigure = lib.concatStringsSep "\n" [
+ (old.preConfigure or "")
+ (if (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" && stdenv.isDarwin) then ''
+ MACOSX_DEPLOYMENT_TARGET=10.16
+ '' else "")
+ ];
+
+ preBuild = old.preBuild or "" + ''
+ make distclean
+ '';
+
+ nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkgs.pkg-config ];
+ buildInputs = old.buildInputs or [ ] ++ [ pkgs.dbus pkgs.dbus-glib ]
+ # My guess why it's sometimes trying to -lncurses.
+ # It seems not to retain the dependency anyway.
+ ++ lib.optional (! self.python ? modules) pkgs.ncurses;
+ });
+
dcli = super.dcli.overridePythonAttrs (old: {
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
});
@@ -373,6 +417,13 @@ self: super:
}
);
+ fastapi = super.fastapi.overridePythonAttrs (
+ old: {
+ # Note: requires full flit, not just flit-core
+ nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.flit ];
+ }
+ );
+
fastecdsa = super.fastecdsa.overridePythonAttrs (old: {
buildInputs = old.buildInputs ++ [ pkgs.gmp.dev ];
});
@@ -504,6 +555,13 @@ self: super:
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pyparsing ];
});
+ icecream = super.icecream.overridePythonAttrs (old: {
+ # # ERROR: Could not find a version that satisfies the requirement executing>=0.3.1 (from icecream) (from versions: none)
+ postPatch = ''
+ substituteInPlace setup.py --replace 'executing>=0.3.1' 'executing'
+ '';
+ });
+
imagecodecs = super.imagecodecs.overridePythonAttrs (
old: {
patchPhase = ''
@@ -569,9 +627,9 @@ self: super:
# disable the removal of pyproject.toml, required because of setuptools_scm
dontPreferSetupPy = true;
- postPatch = old.postPatch or "" + ''
+ postPatch = old.postPatch or "" + (lib.optionalString ((old.format or "") != "wheel") ''
substituteInPlace setup.py --replace 'setuptools.setup()' 'setuptools.setup(version="${old.version}")'
- '';
+ '');
}
);
@@ -867,13 +925,6 @@ self: super:
buildInputs = oa.buildInputs ++ [ self.pbr ];
});
- moto = super.moto.overridePythonAttrs (
- old: {
- buildInputs = (old.buildInputs or [ ]) ++
- [ self.sshpubkeys ];
- }
- );
-
mpi4py = super.mpi4py.overridePythonAttrs (
old:
let
@@ -988,8 +1039,18 @@ self: super:
);
opencv-python = super.opencv-python.overridePythonAttrs (
- old: rec {
- buildInputs = (old.buildInputs or [ ]) ++ [ self.scikit-build ];
+ old: {
+ nativeBuildInputs = [ pkgs.cmake ] ++ old.nativeBuildInputs;
+ buildInputs = [ self.scikit-build ] ++ (old.buildInputs or [ ]);
+ dontUseCmakeConfigure = true;
+ }
+ );
+
+ opencv-contrib-python = super.opencv-contrib-python.overridePythonAttrs (
+ old: {
+ nativeBuildInputs = [ pkgs.cmake ] ++ old.nativeBuildInputs;
+ buildInputs = [ self.scikit-build ] ++ (old.buildInputs or [ ]);
+ dontUseCmakeConfigure = true;
}
);
@@ -1007,6 +1068,13 @@ self: super:
}
);
+ pantalaimon = super.pantalaimon.overridePythonAttrs (old: {
+ nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkgs.installShellFiles ];
+ postInstall = old.postInstall or "" + ''
+ installManPage docs/man/*.[1-9]
+ '';
+ });
+
paramiko = super.paramiko.overridePythonAttrs (old: {
doCheck = false; # requires networking
});
@@ -1077,6 +1145,10 @@ self: super:
}
);
+ prettytable = super.prettytable.overridePythonAttrs (old: {
+ propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
+ });
+
psycopg2 = super.psycopg2.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ])
@@ -1277,7 +1349,11 @@ self: super:
}
);
- pytezos = super.pytezos.override (old: {
+ pytaglib = super.pytaglib.overridePythonAttrs (old: {
+ buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.taglib ];
+ });
+
+ pytezos = super.pytezos.overridePythonAttrs (old: {
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libsodium ];
});
@@ -1323,6 +1399,7 @@ self: super:
pkgs.qt5.qtsvg
pkgs.qt5.qtdeclarative
pkgs.qt5.qtwebchannel
+ pkgs.qt5.qt3d
# self.pyqt5-sip
self.sip
]
@@ -1472,6 +1549,12 @@ self: super:
}
);
+ python-olm = super.python-olm.overridePythonAttrs (
+ old: {
+ buildInputs = old.buildInputs or [ ] ++ [ pkgs.olm ];
+ }
+ );
+
python-snappy = super.python-snappy.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.snappy ];
@@ -1496,6 +1579,13 @@ self: super:
}
);
+ pyudev = super.pyudev.overridePythonAttrs (old: {
+ postPatch = ''
+ substituteInPlace src/pyudev/_ctypeslib/utils.py \
+ --replace "find_library(name)" "'${pkgs.lib.getLib pkgs.systemd}/lib/libudev.so'"
+ '';
+ });
+
pyusb = super.pyusb.overridePythonAttrs (
old: {
postPatch = ''
@@ -1559,6 +1649,12 @@ self: super:
}
);
+ requests-mock = super.requests-mock.overridePythonAttrs (
+ old: {
+ propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ super.pbr ];
+ }
+ );
+
requests-unixsocket = super.requests-unixsocket.overridePythonAttrs (
old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pbr ];
@@ -1616,6 +1712,18 @@ self: super:
} else old
);
+ scikit-image = super.scikit-image.overridePythonAttrs (
+ old: {
+ nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
+ self.cython
+ self.pythran
+ self.packaging
+ self.wheel
+ self.numpy
+ ];
+ }
+ );
+
scikit-learn = super.scikit-learn.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [
@@ -1673,7 +1781,7 @@ self: super:
tables = super.tables.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [ self.pywavelets ];
- HDF5_DIR = "${pkgs.hdf5}";
+ HDF5_DIR = lib.getDev pkgs.hdf5;
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
propagatedBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.hdf5 self.numpy self.numexpr ];
}
@@ -2126,6 +2234,10 @@ self: super:
buildInputs = (old.buildInputs or [ ]) ++ [ self.pbr ];
});
+ pysqlite = super.pysqlite.overridePythonAttrs (old: {
+ buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.sqlite ];
+ });
+
selinux = super.selinux.overridePythonAttrs (old: {
buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
});
@@ -2147,6 +2259,12 @@ self: super:
sourceRoot = ".";
});
+ wcwidth = super.wcwidth.overridePythonAttrs (old: {
+ propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++
+ lib.optional self.isPy27 (self.backports-functools-lru-cache or self.backports_functools_lru_cache)
+ ;
+ });
+
wtforms = super.wtforms.overridePythonAttrs (old: {
buildInputs = (old.buildInputs or [ ]) ++ [ self.Babel ];
});
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
index 1f6978b98a2e..56f894c2e752 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
@@ -84,7 +84,13 @@ let
)
else
(x: x.platform == "any")
- else (x: hasInfix "macosx" x.platform || x.platform == "any");
+ else
+ if stdenv.isDarwin
+ then
+ if stdenv.targetPlatform.isAarch64
+ then (x: x.platform == "any" || (hasInfix "macosx" x.platform && lib.lists.any (e: hasSuffix e x.platform) [ "arm64" "aarch64" ]))
+ else (x: x.platform == "any" || (hasInfix "macosx" x.platform && hasSuffix "x86_64" x.platform))
+ else (x: x.platform == "any");
filterWheel = x:
let
f = toWheelAttrs x.file;
@@ -93,7 +99,7 @@ let
filtered = builtins.filter filterWheel filesWithoutSources;
choose = files:
let
- osxMatches = [ "10_12" "10_11" "10_10" "10_9" "10_8" "10_7" "any" ];
+ osxMatches = [ "12_0" "11_0" "10_12" "10_11" "10_10" "10_9" "10_8" "10_7" "any" ];
linuxMatches = [ "manylinux1_" "manylinux2010_" "manylinux2014_" "any" ];
chooseLinux = x: lib.take 1 (findBestMatches linuxMatches x);
chooseOSX = x: lib.take 1 (findBestMatches osxMatches x);
diff --git a/pkgs/misc/vscode-extensions/default.nix b/pkgs/misc/vscode-extensions/default.nix
index 740b96c110a8..0f0327db7c1d 100644
--- a/pkgs/misc/vscode-extensions/default.nix
+++ b/pkgs/misc/vscode-extensions/default.nix
@@ -433,6 +433,20 @@ let
};
};
+ cweijan.vscode-database-client2 = buildVscodeMarketplaceExtension {
+ mktplcRef = {
+ name = "vscode-database-client2";
+ publisher = "cweijan";
+ version = "4.3.3";
+ sha256 = "06bj23y5rbpz0lw45p1sxssalgn19iqfqbijw2ym22grm0i9hcby";
+ };
+ meta = {
+ description = "Database Client For Visual Studio Code";
+ homepage = "https://marketplace.visualstudio.com/items?itemName=cweijan.vscode-mysql-client2";
+ license = lib.licenses.mit;
+ };
+ };
+
dbaeumer.vscode-eslint = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-eslint";
@@ -1216,8 +1230,8 @@ let
mktplcRef = {
name = "rainbow-csv";
publisher = "mechatroner";
- version = "1.7.1";
- sha256 = "0w5mijs4ll5qjkpyw7qpn1k40pq8spm0b3q72x150ydbcini5hxw";
+ version = "2.0.0";
+ sha256 = "0wjlp6lah9jb0646sbi6x305idfgydb6a51pgw4wdnni02gipbrs";
};
meta = {
license = lib.licenses.mit;
@@ -1470,8 +1484,8 @@ let
mktplcRef = {
name = "crates";
publisher = "serayuzgur";
- version = "0.5.9";
- sha256 = "0l26pyvw7n3bszf97yx6qps72acq112akg3q4jq5mvlibng1nwk0";
+ version = "0.5.10";
+ sha256 = "1dbhd6xbawbnf9p090lpmn8i5gg1f7y8xk2whc9zhg4432kdv3vd";
};
meta = {
license = lib.licenses.mit;
@@ -1709,6 +1723,21 @@ let
};
};
+ tuttieee.emacs-mcx = buildVscodeMarketplaceExtension {
+ mktplcRef = {
+ name = "emacs-mcx";
+ publisher = "tuttieee";
+ version = "0.37.1";
+ sha256 = "19969qb6ink70km4wawh4w238igdm6npwskyr3hx38qgf69nd748";
+ };
+ meta = {
+ changelog = "https://github.com/whitphx/vscode-emacs-mcx/blob/main/CHANGELOG.md";
+ description = "Awesome Emacs Keymap - VSCode emacs keybinding with multi cursor support";
+ homepage = "https://github.com/whitphx/vscode-emacs-mcx";
+ license = lib.licenses.mit;
+ };
+ };
+
tyriar.sort-lines = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "sort-lines";
@@ -1725,8 +1754,8 @@ let
mktplcRef = {
name = "errorlens";
publisher = "usernamehw";
- version = "3.4.0";
- sha256 = "1x9rkyhbp15dwp6dikzpk9lzjnh9cnxac89gzx533681zld906m8";
+ version = "3.4.1";
+ sha256 = "1mr8si7jglpjw8qzl4af1k7r68vz03fpal1dr8i0iy4ly26pz7bh";
};
meta = with lib; {
changelog = "https://marketplace.visualstudio.com/items/usernamehw.errorlens/changelog";
diff --git a/pkgs/os-specific/linux/bpftrace/default.nix b/pkgs/os-specific/linux/bpftrace/default.nix
index 9a197b4c78c8..abf8fb63bc35 100644
--- a/pkgs/os-specific/linux/bpftrace/default.nix
+++ b/pkgs/os-specific/linux/bpftrace/default.nix
@@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "bpftrace";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "iovisor";
repo = "bpftrace";
rev = "v${version}";
- sha256 = "sha256-rlaajNfpoiMtU/4aNAnbQ0VixPz9/302TZMarGzsb58=";
+ sha256 = "sha256-QDqHAEVM/XHCFMS0jMLdKJfDUOpkUqONOf8+Fbd5dCY=";
};
# libbpf 0.6.0 relies on typeof in bpf/btf.h to pick the right version of
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index e664024aff8a..bf36ad52169e 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
- version = "4.14.261";
+ version = "4.14.262";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
- sha256 = "08s7idxpsjb29ccj0gkrj87xhbdqj9nc417qc7gd2kmbjd6amymz";
+ sha256 = "05yl51r5n3q9l8pq6azx3bbl69l79lk8vkdivy3cvgzdh59pizac";
};
} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index dab9b5e2ab9e..5953b9ff22ce 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
- version = "4.19.224";
+ version = "4.19.225";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
- sha256 = "0c8h457n52qzpw4kgr16ndhsl35si99amc6fadb31fy32csgrk01";
+ sha256 = "15k7b04zx5ggfjagp8sfrylr9xgwgz3hb2bygdml7ka1jnbv76jb";
};
} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index 7690c1f6a953..1addff89c2a2 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,12 +1,12 @@
{ buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
buildLinux (args // rec {
- version = "4.4.298";
+ version = "4.4.299";
extraMeta.branch = "4.4";
extraMeta.broken = stdenv.isAarch64;
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
- sha256 = "1q56ch8p53in5rl5i7mvsyf0jimchrh48w3l416x3yi0n5cyvjc6";
+ sha256 = "019hmplv1zhghl840qky9awziba3gx7jm80khny44gjfbyzf7d4v";
};
} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 313568e799af..81f576616f7f 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,12 +1,12 @@
{ buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
buildLinux (args // rec {
- version = "4.9.296";
+ version = "4.9.297";
extraMeta.branch = "4.9";
extraMeta.broken = stdenv.isAarch64;
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
- sha256 = "1a5ws21dk5wp397zmd7msl4zbhzm2xxgbxd09wrdcwilpv4dnjzx";
+ sha256 = "17yqnr6p0prgcw8nikjmi49ll4s77ylaixcja5m15cq9x36shfz4";
};
} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix
index 0d31047cc951..d29c5b408de3 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.10.nix
@@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
- version = "5.10.90";
+ version = "5.10.91";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
- sha256 = "0997ijkmvf9iz4hn8m8naiagphhyvl4r6qx4q3gxk8qlq1j44pll";
+ sha256 = "1lcmhp6njj4ypwkq471mdjapbqvcn6jfqx7z422h8fn6q62gpkk2";
};
} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.15.nix b/pkgs/os-specific/linux/kernel/linux-5.15.nix
index a8d4c43a107e..1de3117f94e3 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.15.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.15.nix
@@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
- version = "5.15.13";
+ version = "5.15.14";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
- sha256 = "0shmrx33crnhi0wr5v6ly85pza1mmdcm8arkrdzf6plz5xm1n4qa";
+ sha256 = "0kbayz4k72hx9b0l9yz2mbgb2xpnpm13snms06r2absv3gkv9wid";
};
} // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index c24b9778c594..8147f55409df 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
- version = "5.4.170";
+ version = "5.4.171";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
- sha256 = "0b1qdmp2q0lpngfvvnwb248cnqn9akk2z4xawrfwziszrzh797xh";
+ sha256 = "0n29bd1kv4rk3ji05vkvxkrzyzq50dxk0zsnk7r5lj45gpnwig5g";
};
} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/tuigreet/default.nix b/pkgs/os-specific/linux/tuigreet/default.nix
index 5911305c0d8b..ede1dc38053f 100644
--- a/pkgs/os-specific/linux/tuigreet/default.nix
+++ b/pkgs/os-specific/linux/tuigreet/default.nix
@@ -5,22 +5,22 @@
rustPlatform.buildRustPackage rec {
pname = "tuigreet";
- version = "0.6.1";
+ version = "0.7.1";
src = fetchFromGitHub {
owner = "apognu";
repo = pname;
rev = version;
- sha256 = "sha256-Exw3HPNFh1yiUfDfaIDiz2PemnVLRmefD4ydgMiHQAc=";
+ sha256 = "sha256-Ecp79q/xN6KDAD346ANzunTM3xW+z5UaRy/lblOCLaE=";
};
- cargoSha256 = "sha256-/JNGyAEZlb4YilsoXtaXekXNVev6sdVxS4pEcPFh7Bg=";
+ cargoSha256 = "sha256-eam+85c2y+eNSOlfhO7oIhGqy0HPyi3FuqxHBDkZRVE=";
meta = with lib; {
description = "Graphical console greter for greetd";
homepage = "https://github.com/apognu/tuigreet";
license = licenses.gpl3Plus;
- maintainers = with maintainers; [ luc65r ];
+ maintainers = with maintainers; [ luc65r ivar ];
platforms = platforms.linux;
};
}
diff --git a/pkgs/os-specific/linux/tuxedo-keyboard/default.nix b/pkgs/os-specific/linux/tuxedo-keyboard/default.nix
index 563e1333b87f..f122aaf641db 100644
--- a/pkgs/os-specific/linux/tuxedo-keyboard/default.nix
+++ b/pkgs/os-specific/linux/tuxedo-keyboard/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "tuxedo-keyboard-${kernel.version}";
- version = "3.0.8";
+ version = "3.0.9";
src = fetchFromGitHub {
owner = "tuxedocomputers";
repo = "tuxedo-keyboard";
rev = "v${version}";
- sha256 = "1rv3ns4n61v18cpnp36zi47jpnqhj410yzi8b307ghiyriapbijv";
+ sha256 = "HGN2CKJ76FzgKkOsU5pLMsRl7hEGMcZ8Loa2YP0P558=";
};
buildInputs = [ linuxHeaders ];
@@ -24,7 +24,13 @@ stdenv.mkDerivation rec {
'';
meta = with lib; {
- description = "Full color keyboard driver for tuxedo computers laptops";
+ description = "Keyboard and hardware I/O driver for TUXEDO Computers laptops";
+ longDescription = ''
+ This driver provides support for Fn keys, brightness/color/mode for most TUXEDO
+ keyboards (except white backlight-only models).
+
+ Can be used with the "hardware.tuxedo-keyboard" NixOS module.
+ '';
homepage = "https://github.com/tuxedocomputers/tuxedo-keyboard/";
license = licenses.gpl3Plus;
platforms = platforms.linux;
diff --git a/pkgs/servers/althttpd/default.nix b/pkgs/servers/althttpd/default.nix
index 4f1a128dd388..34b6f6fb5b7b 100644
--- a/pkgs/servers/althttpd/default.nix
+++ b/pkgs/servers/althttpd/default.nix
@@ -1,15 +1,17 @@
-{ lib, stdenv, fetchfossil }:
+{ lib, stdenv, fetchfossil, openssl }:
stdenv.mkDerivation rec {
pname = "althttpd";
- version = "unstable-2021-06-09";
+ version = "unstable-2022-01-10";
src = fetchfossil {
url = "https://sqlite.org/althttpd/";
- rev = "0d3b5e232c57e188";
- sha256 = "sha256-vZwpjYYMdP/FgPTAQ9Kdh2RRMovpONqu2v73cCoYyxE=";
+ rev = "83196564d05f33c3";
+ sha256 = "sha256-z/XMVnDihcO56kJaXIJGUUdnz8mR5jlySrLZX1tkV5c=";
};
+ buildInputs = [ openssl ];
+
installPhase = ''
install -Dm755 -t $out/bin althttpd
'';
diff --git a/pkgs/servers/pleroma/0001-move-result-into-with-guard.patch b/pkgs/servers/pleroma/0001-move-result-into-with-guard.patch
deleted file mode 100644
index 07b224b1f0da..000000000000
--- a/pkgs/servers/pleroma/0001-move-result-into-with-guard.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 8af53101fbeb0d4855ffa2b33069e833abf2e825 Mon Sep 17 00:00:00 2001
-From: Finn Behrens
-Date: Tue, 7 Dec 2021 09:18:53 +0100
-Subject: [PATCH] move result into with guard
-
----
- lib/pleroma/web/activity_pub/publisher.ex | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/lib/pleroma/web/activity_pub/publisher.ex b/lib/pleroma/web/activity_pub/publisher.ex
-index 4f29a44..849b359 100644
---- a/lib/pleroma/web/activity_pub/publisher.ex
-+++ b/lib/pleroma/web/activity_pub/publisher.ex
-@@ -63,8 +63,7 @@ def publish_one(%{inbox: inbox, json: json, actor: %User{} = actor, id: id} = pa
- date: date
- })
-
-- with {:ok, %{status: code}} when code in 200..299 <-
-- result =
-+ with {:ok, %{status: code}} = result when code in 200..299 <-
- HTTP.post(
- inbox,
- json,
---
-2.34.0
-
diff --git a/pkgs/servers/pleroma/default.nix b/pkgs/servers/pleroma/default.nix
index 5419ad97633b..ec7de2ac57cd 100644
--- a/pkgs/servers/pleroma/default.nix
+++ b/pkgs/servers/pleroma/default.nix
@@ -7,18 +7,16 @@
beamPackages.mixRelease rec {
pname = "pleroma";
- version = "2.4.1";
+ version = "2.4.2";
src = fetchFromGitLab {
domain = "git.pleroma.social";
owner = "pleroma";
repo = "pleroma";
rev = "v${version}";
- sha256 = "sha256-XYZIf8/Vznl4FvVAOy5GVfTBTCwhfUol/3vWWIDwIxQ=";
+ sha256 = "sha256-RcqqNNNCR4cxETUCyjChkpq+cQ1QzNOHHzdqBLtOc6g=";
};
- patches = [ ./0001-move-result-into-with-guard.patch ];
-
mixNixDeps = import ./mix.nix {
inherit beamPackages lib;
overrides = (final: prev: {
@@ -120,13 +118,11 @@ beamPackages.mixRelease rec {
name = "crypt";
version = "0.4.3";
- src = fetchFromGitLab {
- domain = "git.pleroma.social";
- group = "pleroma";
- owner = "elixir-libraries";
+ src = fetchFromGitHub {
+ owner = "msantos";
repo = "crypt";
- rev = "cf2aa3f11632e8b0634810a15b3e612c7526f6a3";
- sha256 = "0fnzljxy9pwabh1nzx0vawn131d5pdfb0p98kvpkqs441jr0ii73";
+ rev = "f75cd55325e33cbea198fb41fe41871392f8fb76";
+ sha256 = "sha256-ZYhZTe7cTITkl8DZ4z2IOlxTX5gnbJImu/lVJ2ZjR1o=";
};
postInstall = "mv $out/lib/erlang/lib/crypt-${version}/priv/{source,crypt}.so";
@@ -208,7 +204,7 @@ beamPackages.mixRelease rec {
description = "ActivityPub microblogging server";
homepage = "https://git.pleroma.social/pleroma/pleroma";
license = licenses.agpl3;
- maintainers = with maintainers; [ petabyteboy ninjatrappeur yuka ];
+ maintainers = with maintainers; [ petabyteboy ninjatrappeur yuka kloenk ];
platforms = platforms.unix;
};
}
diff --git a/pkgs/servers/pleroma/mix.nix b/pkgs/servers/pleroma/mix.nix
index ccced19bf9fb..31ab20c29409 100644
--- a/pkgs/servers/pleroma/mix.nix
+++ b/pkgs/servers/pleroma/mix.nix
@@ -140,12 +140,12 @@ let
certifi = buildRebar3 rec {
name = "certifi";
- version = "2.6.1";
+ version = "2.8.0";
src = fetchHex {
pkg = "${name}";
version = "${version}";
- sha256 = "0zmvagzisnk7lj5pfipl19mjq9wn70i339hpbkfljf0vk6s9fk2j";
+ sha256 = "1slp20z2fgcq9p2bbdp1gj218kjqpx5jsa95sq40nq7qqv0yziva";
};
beamDeps = [];
@@ -686,12 +686,12 @@ let
hackney = buildRebar3 rec {
name = "hackney";
- version = "1.17.4";
+ version = "1.18.0";
src = fetchHex {
pkg = "${name}";
version = "${version}";
- sha256 = "05kbk3rpw2j3cb9pybikydxmi2nm5pidpx0jsm48av2mjr4zy5ny";
+ sha256 = "0pjwbf87nqj2ki3i076whrswh2cdhklj6cbaikdj1mq40xidmz4s";
};
beamDeps = [ certifi idna metrics mimerl parse_trans ssl_verify_fun unicode_util_compat ];
diff --git a/pkgs/servers/xmpp/prosody-filer/default.nix b/pkgs/servers/xmpp/prosody-filer/default.nix
new file mode 100644
index 000000000000..a6de3a104740
--- /dev/null
+++ b/pkgs/servers/xmpp/prosody-filer/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+ pname = "prosody-filer";
+ version = "unstable-2021-05-24";
+
+ vendorSha256 = "05spkks77x88kc31c1zdg1cbf9ijymjs7qzmhg4c6lql5p2h5fbd";
+
+ src = fetchFromGitHub {
+ owner = "ThomasLeister";
+ repo = "prosody-filer";
+ rev = "c65edd199b47dc505366c85b3702230fda797cd6";
+ sha256 = "0h6vp5flgy4wwmzhs6pf6qkk2j4ah8w919dwhfsq4wdpqs78kc0y";
+ };
+
+ doCheck = false;
+
+ meta = with lib; {
+ homepage = "https://github.com/ThomasLeister/prosody-filer";
+ maintainers = with maintainers; [ abbradar ];
+ license = licenses.mit;
+ platforms = platforms.linux;
+ description = "A simple file server for handling XMPP http_upload requests";
+ };
+}
diff --git a/pkgs/tools/misc/goreleaser/default.nix b/pkgs/tools/misc/goreleaser/default.nix
index fb8253919181..14fea30a45d2 100644
--- a/pkgs/tools/misc/goreleaser/default.nix
+++ b/pkgs/tools/misc/goreleaser/default.nix
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "goreleaser";
- version = "1.2.2";
+ version = "1.2.5";
src = fetchFromGitHub {
owner = "goreleaser";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-p+QLZ0G75Mk0Z9G+u+qcxTTWzPZnuM+inLO0Lkojs84=";
+ sha256 = "sha256-FIUp3l3CwtQeFvdXqY3HoaARBmlXqNfl7zUz3ND8ixI=";
};
- vendorSha256 = "sha256-mAJrUGgO0iprQnYOa3TMENNJbJcgM1eiV/AG+TYP0Mg=";
+ vendorSha256 = "sha256-f7EKdffnDUzzyueMM8pHfU3XdQNcIrFf9miVsVTIdM8=";
ldflags = [
"-s"
diff --git a/pkgs/tools/package-management/nixops/azure-mgmt-compute/default.nix b/pkgs/tools/package-management/nixops/azure-mgmt-compute/default.nix
deleted file mode 100644
index 462c9e615a13..000000000000
--- a/pkgs/tools/package-management/nixops/azure-mgmt-compute/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ 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
deleted file mode 100644
index fd47f8895fd4..000000000000
--- a/pkgs/tools/package-management/nixops/azure-mgmt-network/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ 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
deleted file mode 100644
index aa037b48b4f5..000000000000
--- a/pkgs/tools/package-management/nixops/azure-mgmt-nspkg/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ 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
deleted file mode 100644
index b60e3aee3402..000000000000
--- a/pkgs/tools/package-management/nixops/azure-mgmt-resource/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ 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
deleted file mode 100644
index 2e0523bb25cc..000000000000
--- a/pkgs/tools/package-management/nixops/azure-mgmt-storage/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ 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/azure-storage/default.nix b/pkgs/tools/package-management/nixops/azure-storage/default.nix
deleted file mode 100644
index c6f3d71e98ea..000000000000
--- a/pkgs/tools/package-management/nixops/azure-storage/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ pkgs
-, buildPythonPackage
-, fetchPypi
-, python
-, azure-common
-, futures
-, python-dateutil
-, requests
-, isPy3k
-}:
-
-buildPythonPackage rec {
- version = "0.20.3";
- pname = "azure-storage";
-
- src = fetchPypi {
- inherit pname version;
- extension = "zip";
- sha256 = "06bmw6k2000kln5jwk5r9bgcalqbyvqirmdh9gq4s6nb4fv3c0jb";
- };
-
- propagatedBuildInputs = [ azure-common python-dateutil requests ]
- ++ pkgs.lib.optionals (!isPy3k) [ futures ];
-
- postInstall = ''
- echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/__init__.py
- '';
-
- 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 5b4729e2abd7..2ec98b82c690 100644
--- a/pkgs/tools/package-management/nixops/default.nix
+++ b/pkgs/tools/package-management/nixops/default.nix
@@ -1,8 +1,15 @@
-{ lib, python2Packages, libxslt, docbook_xsl_ns, openssh, cacert, nixopsAzurePackages ? []
+{ lib, python2, poetry2nix, docbook_xsl_ns, openssh, cacert, nixopsAzurePackages ? []
, fetchurl, fetchpatch
}:
-python2Packages.buildPythonApplication rec {
+let
+ inherit (poetry2nix.mkPoetryPackages {
+ projectDir = ./python-env;
+ python = python2;
+ }) python;
+ pythonPackages = python.pkgs;
+
+in pythonPackages.buildPythonApplication rec {
pname = "nixops";
version = "1.7";
@@ -19,23 +26,22 @@ python2Packages.buildPythonApplication rec {
./optional-virtd.patch
];
- buildInputs = [ libxslt ];
+ buildInputs = [ pythonPackages.libxslt ];
- pythonPath = with python2Packages;
+ pythonPath = (with pythonPackages;
[ prettytable
boto
boto3
hetzner
- libcloud
+ apache-libcloud
adal
# Go back to sqlite once Python 2.7.13 is released
pysqlite
datadog
- digital-ocean
- typing
+ python-digitalocean
]
++ lib.optional (!libvirt.passthru.libvirt.meta.insecure or true) libvirt
- ++ nixopsAzurePackages;
+ ++ nixopsAzurePackages);
checkPhase =
# Ensure, that there are no (python) import errors
diff --git a/pkgs/tools/package-management/nixops/python-env/poetry.lock b/pkgs/tools/package-management/nixops/python-env/poetry.lock
new file mode 100644
index 000000000000..7cc195c95f57
--- /dev/null
+++ b/pkgs/tools/package-management/nixops/python-env/poetry.lock
@@ -0,0 +1,644 @@
+[[package]]
+name = "adal"
+version = "1.2.7"
+description = "Note: This library is already replaced by MSAL Python, available here: https://pypi.org/project/msal/ .ADAL Python remains available here as a legacy. The ADAL for Python library makes it easy for python application to authenticate to Azure Active Directory (AAD) in order to access AAD protected web resources."
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+cryptography = ">=1.1.0"
+PyJWT = ">=1.0.0,<3"
+python-dateutil = ">=2.1.0,<3"
+requests = ">=2.0.0,<3"
+
+[[package]]
+name = "apache-libcloud"
+version = "2.8.3"
+description = "A standard Python library that abstracts away differences among multiple cloud provider APIs. For more information and documentation, please see http://libcloud.apache.org"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4"
+
+[package.dependencies]
+"backports.ssl-match-hostname" = {version = "*", markers = "python_version < \"2.7.9\""}
+enum34 = {version = "*", markers = "python_version < \"3.4.0\""}
+requests = ">=2.5.0"
+typing = {version = "*", markers = "python_version < \"3.4.0\""}
+
+[[package]]
+name = "backports.functools-lru-cache"
+version = "1.6.4"
+description = "Backport of functools.lru_cache"
+category = "main"
+optional = false
+python-versions = ">=2.6"
+
+[package.extras]
+docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
+testing = ["pytest (>=4.6)", "pytest-black (>=0.3.7)", "pytest-mypy", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-checkdocs (>=2.4)"]
+
+[[package]]
+name = "backports.ssl-match-hostname"
+version = "3.7.0.1"
+description = "The ssl.match_hostname() function from Python 3.5"
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "boto"
+version = "2.49.0"
+description = "Amazon Web Services Library"
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "boto3"
+version = "1.17.112"
+description = "The AWS SDK for Python"
+category = "main"
+optional = false
+python-versions = ">= 2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
+
+[package.dependencies]
+botocore = ">=1.20.112,<1.21.0"
+jmespath = ">=0.7.1,<1.0.0"
+s3transfer = ">=0.4.0,<0.5.0"
+
+[[package]]
+name = "botocore"
+version = "1.20.112"
+description = "Low-level, data-driven core of boto 3."
+category = "main"
+optional = false
+python-versions = ">= 2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
+
+[package.dependencies]
+jmespath = ">=0.7.1,<1.0.0"
+python-dateutil = ">=2.1,<3.0.0"
+urllib3 = ">=1.25.4,<1.27"
+
+[package.extras]
+crt = ["awscrt (==0.11.24)"]
+
+[[package]]
+name = "certifi"
+version = "2021.10.8"
+description = "Python package for providing Mozilla's CA Bundle."
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "cffi"
+version = "1.15.0"
+description = "Foreign Function Interface for Python calling C code."
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+pycparser = "*"
+
+[[package]]
+name = "chardet"
+version = "4.0.0"
+description = "Universal encoding detector for Python 2 and 3"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+
+[[package]]
+name = "configparser"
+version = "4.0.2"
+description = "Updated configparser from Python 3.7 for Python 2.6+."
+category = "main"
+optional = false
+python-versions = ">=2.6"
+
+[package.extras]
+docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
+testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2)", "pytest-flake8", "pytest-black-multipy"]
+
+[[package]]
+name = "contextlib2"
+version = "0.6.0.post1"
+description = "Backports and enhancements for the contextlib module"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+
+[[package]]
+name = "cryptography"
+version = "3.3.2"
+description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
+category = "main"
+optional = false
+python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*"
+
+[package.dependencies]
+cffi = ">=1.12"
+enum34 = {version = "*", markers = "python_version < \"3\""}
+ipaddress = {version = "*", markers = "python_version < \"3\""}
+six = ">=1.4.1"
+
+[package.extras]
+docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx-rtd-theme"]
+docstest = ["doc8", "pyenchant (>=1.6.11)", "twine (>=1.12.0)", "sphinxcontrib-spelling (>=4.0.1)"]
+pep8test = ["black", "flake8", "flake8-import-order", "pep8-naming"]
+ssh = ["bcrypt (>=3.1.5)"]
+test = ["pytest (>=3.6.0,!=3.9.0,!=3.9.1,!=3.9.2)", "pretend", "iso8601", "pytz", "hypothesis (>=1.11.4,!=3.79.2)"]
+
+[[package]]
+name = "datadog"
+version = "0.42.0"
+description = "The Datadog Python library"
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+configparser = {version = "<5", markers = "python_version < \"3.0\""}
+requests = ">=2.6.0"
+typing = {version = "*", markers = "python_version < \"3.5\""}
+
+[[package]]
+name = "enum34"
+version = "1.1.10"
+description = "Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4"
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "futures"
+version = "3.3.0"
+description = "Backport of the concurrent.futures package from Python 3"
+category = "main"
+optional = false
+python-versions = ">=2.6, <3"
+
+[[package]]
+name = "hetzner"
+version = "0.8.3"
+description = "High level access to the Hetzner robot"
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "idna"
+version = "2.10"
+description = "Internationalized Domain Names in Applications (IDNA)"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+
+[[package]]
+name = "importlib-metadata"
+version = "2.1.2"
+description = "Read metadata from Python packages"
+category = "main"
+optional = false
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
+
+[package.dependencies]
+configparser = {version = ">=3.5", markers = "python_version < \"3\""}
+contextlib2 = {version = "*", markers = "python_version < \"3\""}
+pathlib2 = {version = "*", markers = "python_version < \"3\""}
+zipp = ">=0.5"
+
+[package.extras]
+docs = ["sphinx", "rst.linker"]
+testing = ["packaging", "pep517", "unittest2", "importlib-resources (>=1.3)"]
+
+[[package]]
+name = "ipaddress"
+version = "1.0.23"
+description = "IPv4/IPv6 manipulation library"
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "jmespath"
+version = "0.10.0"
+description = "JSON Matching Expressions"
+category = "main"
+optional = false
+python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
+
+[[package]]
+name = "jsonpickle"
+version = "2.0.0"
+description = "Python library for serializing any arbitrary object graph into JSON"
+category = "main"
+optional = false
+python-versions = ">=2.7"
+
+[package.dependencies]
+importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
+
+[package.extras]
+docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
+testing = ["coverage (<5)", "pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-black-multipy", "pytest-cov", "ecdsa", "feedparser", "numpy", "pandas", "pymongo", "sklearn", "sqlalchemy", "enum34", "jsonlib"]
+"testing.libs" = ["demjson", "simplejson", "ujson", "yajl"]
+
+[[package]]
+name = "pathlib2"
+version = "2.3.6"
+description = "Object-oriented filesystem paths"
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+scandir = {version = "*", markers = "python_version < \"3.5\""}
+six = "*"
+
+[[package]]
+name = "prettytable"
+version = "1.0.1"
+description = "A simple Python library for easily displaying tabular data in a visually appealing ASCII table format"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+
+[package.dependencies]
+wcwidth = "*"
+
+[package.extras]
+tests = ["pytest", "pytest-cov"]
+
+[[package]]
+name = "pycparser"
+version = "2.21"
+description = "C parser in Python"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+
+[[package]]
+name = "pyjwt"
+version = "1.7.1"
+description = "JSON Web Token implementation in Python"
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.extras]
+crypto = ["cryptography (>=1.4)"]
+flake8 = ["flake8", "flake8-import-order", "pep8-naming"]
+test = ["pytest (>=4.0.1,<5.0.0)", "pytest-cov (>=2.6.0,<3.0.0)", "pytest-runner (>=4.2,<5.0.0)"]
+
+[[package]]
+name = "pysqlite"
+version = "2.8.3"
+description = "DB-API 2.0 interface for SQLite 3.x"
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "python-dateutil"
+version = "2.8.2"
+description = "Extensions to the standard Python datetime module"
+category = "main"
+optional = false
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
+
+[package.dependencies]
+six = ">=1.5"
+
+[[package]]
+name = "python-digitalocean"
+version = "1.17.0"
+description = "digitalocean.com API to manage Droplets and Images"
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+jsonpickle = "*"
+requests = "*"
+
+[[package]]
+name = "requests"
+version = "2.27.1"
+description = "Python HTTP for Humans."
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
+
+[package.dependencies]
+certifi = ">=2017.4.17"
+chardet = {version = ">=3.0.2,<5", markers = "python_version < \"3\""}
+idna = {version = ">=2.5,<3", markers = "python_version < \"3\""}
+urllib3 = ">=1.21.1,<1.27"
+
+[package.extras]
+socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"]
+use_chardet_on_py3 = ["chardet (>=3.0.2,<5)"]
+
+[[package]]
+name = "s3transfer"
+version = "0.4.2"
+description = "An Amazon S3 Transfer Manager"
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+botocore = ">=1.12.36,<2.0a.0"
+futures = {version = ">=2.2.0,<4.0.0", markers = "python_version == \"2.7\""}
+
+[package.extras]
+crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"]
+
+[[package]]
+name = "scandir"
+version = "1.10.0"
+description = "scandir, a better directory iterator and faster os.walk()"
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "six"
+version = "1.16.0"
+description = "Python 2 and 3 compatibility utilities"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
+
+[[package]]
+name = "typing"
+version = "3.10.0.0"
+description = "Type Hints for Python"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <3.5"
+
+[[package]]
+name = "urllib3"
+version = "1.26.8"
+description = "HTTP library with thread-safe connection pooling, file post, and more."
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
+
+[package.extras]
+brotli = ["brotlipy (>=0.6.0)"]
+secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
+socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
+
+[[package]]
+name = "wcwidth"
+version = "0.2.5"
+description = "Measures the displayed width of unicode strings in a terminal"
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+"backports.functools-lru-cache" = {version = ">=1.2.1", markers = "python_version < \"3.2\""}
+
+[[package]]
+name = "zipp"
+version = "1.2.0"
+description = "Backport of pathlib-compatible object wrapper for zip files"
+category = "main"
+optional = false
+python-versions = ">=2.7"
+
+[package.dependencies]
+contextlib2 = {version = "*", markers = "python_version < \"3.4\""}
+
+[package.extras]
+docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
+testing = ["pathlib2", "unittest2", "jaraco.itertools", "func-timeout"]
+
+[metadata]
+lock-version = "1.1"
+python-versions = "^2.7"
+content-hash = "4d572971089aafa023518c48b1048ea91ffb2d35c9737d0f43bf1b0395ae2769"
+
+[metadata.files]
+adal = [
+ {file = "adal-1.2.7-py2.py3-none-any.whl", hash = "sha256:2a7451ed7441ddbc57703042204a3e30ef747478eea022c70f789fc7f084bc3d"},
+ {file = "adal-1.2.7.tar.gz", hash = "sha256:d74f45b81317454d96e982fd1c50e6fb5c99ac2223728aea8764433a39f566f1"},
+]
+apache-libcloud = [
+ {file = "apache-libcloud-2.8.3.tar.gz", hash = "sha256:70096690b24a7832cc5abdfda1954b49fddc1c09a348a1e6caa781ac867ed4c6"},
+ {file = "apache_libcloud-2.8.3-py2.py3-none-any.whl", hash = "sha256:a3414c1ecc9bb9643fd11af18018b23922f4a2585babf9a4450c3531994935f2"},
+]
+"backports.functools-lru-cache" = [
+ {file = "backports.functools_lru_cache-1.6.4-py2.py3-none-any.whl", hash = "sha256:dbead04b9daa817909ec64e8d2855fb78feafe0b901d4568758e3a60559d8978"},
+ {file = "backports.functools_lru_cache-1.6.4.tar.gz", hash = "sha256:d5ed2169378b67d3c545e5600d363a923b09c456dab1593914935a68ad478271"},
+]
+"backports.ssl-match-hostname" = [
+ {file = "backports.ssl_match_hostname-3.7.0.1.tar.gz", hash = "sha256:bb82e60f9fbf4c080eabd957c39f0641f0fc247d9a16e31e26d594d8f42b9fd2"},
+]
+boto = [
+ {file = "boto-2.49.0-py2.py3-none-any.whl", hash = "sha256:147758d41ae7240dc989f0039f27da8ca0d53734be0eb869ef16e3adcfa462e8"},
+ {file = "boto-2.49.0.tar.gz", hash = "sha256:ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a"},
+]
+boto3 = [
+ {file = "boto3-1.17.112-py2.py3-none-any.whl", hash = "sha256:8716465313c50ad9e5c2ac1767642ca0ddf7d1729c3d5c884d82880c1a15a310"},
+ {file = "boto3-1.17.112.tar.gz", hash = "sha256:08b6dacbe7ebe57ae8acfb7106b2728d946ae1e0c3da270caee1deb79ccbd8af"},
+]
+botocore = [
+ {file = "botocore-1.20.112-py2.py3-none-any.whl", hash = "sha256:6d51de0981a3ef19da9e6a3c73b5ab427e3c0c8b92200ebd38d087299683dd2b"},
+ {file = "botocore-1.20.112.tar.gz", hash = "sha256:d0b9b70b6eb5b65bb7162da2aaf04b6b086b15cc7ea322ddc3ef2f5e07944dcf"},
+]
+certifi = [
+ {file = "certifi-2021.10.8-py2.py3-none-any.whl", hash = "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"},
+ {file = "certifi-2021.10.8.tar.gz", hash = "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"},
+]
+cffi = [
+ {file = "cffi-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962"},
+ {file = "cffi-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0"},
+ {file = "cffi-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14"},
+ {file = "cffi-1.15.0-cp27-cp27m-win32.whl", hash = "sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474"},
+ {file = "cffi-1.15.0-cp27-cp27m-win_amd64.whl", hash = "sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6"},
+ {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27"},
+ {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023"},
+ {file = "cffi-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2"},
+ {file = "cffi-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e"},
+ {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7"},
+ {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3"},
+ {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c"},
+ {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962"},
+ {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382"},
+ {file = "cffi-1.15.0-cp310-cp310-win32.whl", hash = "sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55"},
+ {file = "cffi-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0"},
+ {file = "cffi-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e"},
+ {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39"},
+ {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc"},
+ {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032"},
+ {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8"},
+ {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605"},
+ {file = "cffi-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e"},
+ {file = "cffi-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc"},
+ {file = "cffi-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636"},
+ {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4"},
+ {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997"},
+ {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b"},
+ {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2"},
+ {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7"},
+ {file = "cffi-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66"},
+ {file = "cffi-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029"},
+ {file = "cffi-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880"},
+ {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20"},
+ {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024"},
+ {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e"},
+ {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728"},
+ {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6"},
+ {file = "cffi-1.15.0-cp38-cp38-win32.whl", hash = "sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c"},
+ {file = "cffi-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443"},
+ {file = "cffi-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a"},
+ {file = "cffi-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37"},
+ {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a"},
+ {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e"},
+ {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796"},
+ {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df"},
+ {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8"},
+ {file = "cffi-1.15.0-cp39-cp39-win32.whl", hash = "sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a"},
+ {file = "cffi-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139"},
+ {file = "cffi-1.15.0.tar.gz", hash = "sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954"},
+]
+chardet = [
+ {file = "chardet-4.0.0-py2.py3-none-any.whl", hash = "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5"},
+ {file = "chardet-4.0.0.tar.gz", hash = "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa"},
+]
+configparser = [
+ {file = "configparser-4.0.2-py2.py3-none-any.whl", hash = "sha256:254c1d9c79f60c45dfde850850883d5aaa7f19a23f13561243a050d5a7c3fe4c"},
+ {file = "configparser-4.0.2.tar.gz", hash = "sha256:c7d282687a5308319bf3d2e7706e575c635b0a470342641c93bea0ea3b5331df"},
+]
+contextlib2 = [
+ {file = "contextlib2-0.6.0.post1-py2.py3-none-any.whl", hash = "sha256:3355078a159fbb44ee60ea80abd0d87b80b78c248643b49aa6d94673b413609b"},
+ {file = "contextlib2-0.6.0.post1.tar.gz", hash = "sha256:01f490098c18b19d2bd5bb5dc445b2054d2fa97f09a4280ba2c5f3c394c8162e"},
+]
+cryptography = [
+ {file = "cryptography-3.3.2-cp27-cp27m-macosx_10_10_x86_64.whl", hash = "sha256:541dd758ad49b45920dda3b5b48c968f8b2533d8981bcdb43002798d8f7a89ed"},
+ {file = "cryptography-3.3.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:49570438e60f19243e7e0d504527dd5fe9b4b967b5a1ff21cc12b57602dd85d3"},
+ {file = "cryptography-3.3.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:a9a4ac9648d39ce71c2f63fe7dc6db144b9fa567ddfc48b9fde1b54483d26042"},
+ {file = "cryptography-3.3.2-cp27-cp27m-win32.whl", hash = "sha256:aa4969f24d536ae2268c902b2c3d62ab464b5a66bcb247630d208a79a8098e9b"},
+ {file = "cryptography-3.3.2-cp27-cp27m-win_amd64.whl", hash = "sha256:1bd0ccb0a1ed775cd7e2144fe46df9dc03eefd722bbcf587b3e0616ea4a81eff"},
+ {file = "cryptography-3.3.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:e18e6ab84dfb0ab997faf8cca25a86ff15dfea4027b986322026cc99e0a892da"},
+ {file = "cryptography-3.3.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:c7390f9b2119b2b43160abb34f63277a638504ef8df99f11cb52c1fda66a2e6f"},
+ {file = "cryptography-3.3.2-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:0d7b69674b738068fa6ffade5c962ecd14969690585aaca0a1b1fc9058938a72"},
+ {file = "cryptography-3.3.2-cp36-abi3-manylinux1_x86_64.whl", hash = "sha256:922f9602d67c15ade470c11d616f2b2364950602e370c76f0c94c94ae672742e"},
+ {file = "cryptography-3.3.2-cp36-abi3-manylinux2010_x86_64.whl", hash = "sha256:a0f0b96c572fc9f25c3f4ddbf4688b9b38c69836713fb255f4a2715d93cbaf44"},
+ {file = "cryptography-3.3.2-cp36-abi3-manylinux2014_aarch64.whl", hash = "sha256:a777c096a49d80f9d2979695b835b0f9c9edab73b59e4ceb51f19724dda887ed"},
+ {file = "cryptography-3.3.2-cp36-abi3-win32.whl", hash = "sha256:3c284fc1e504e88e51c428db9c9274f2da9f73fdf5d7e13a36b8ecb039af6e6c"},
+ {file = "cryptography-3.3.2-cp36-abi3-win_amd64.whl", hash = "sha256:7951a966613c4211b6612b0352f5bf29989955ee592c4a885d8c7d0f830d0433"},
+ {file = "cryptography-3.3.2.tar.gz", hash = "sha256:5a60d3780149e13b7a6ff7ad6526b38846354d11a15e21068e57073e29e19bed"},
+]
+datadog = [
+ {file = "datadog-0.42.0-py2.py3-none-any.whl", hash = "sha256:140b51f5db3f46d6f3ec022c05830c6b3e13e4f62c19c823e1227ac322b26667"},
+ {file = "datadog-0.42.0.tar.gz", hash = "sha256:7a6fac17a7d09f1883ab9a45ce4ff7a16aa1a5eb3cc4c6cddac7f8c53e7d1e9b"},
+]
+enum34 = [
+ {file = "enum34-1.1.10-py2-none-any.whl", hash = "sha256:a98a201d6de3f2ab3db284e70a33b0f896fbf35f8086594e8c9e74b909058d53"},
+ {file = "enum34-1.1.10-py3-none-any.whl", hash = "sha256:c3858660960c984d6ab0ebad691265180da2b43f07e061c0f8dca9ef3cffd328"},
+ {file = "enum34-1.1.10.tar.gz", hash = "sha256:cce6a7477ed816bd2542d03d53db9f0db935dd013b70f336a95c73979289f248"},
+]
+futures = [
+ {file = "futures-3.3.0-py2-none-any.whl", hash = "sha256:49b3f5b064b6e3afc3316421a3f25f66c137ae88f068abbf72830170033c5e16"},
+ {file = "futures-3.3.0.tar.gz", hash = "sha256:7e033af76a5e35f58e56da7a91e687706faf4e7bdfb2cbc3f2cca6b9bcda9794"},
+]
+hetzner = [
+ {file = "hetzner-0.8.3.tar.gz", hash = "sha256:9a43dbbeb4a1f3efc86c5fe1c1d7039aaa635dfdb829506ec3aa34382d3a7114"},
+]
+idna = [
+ {file = "idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"},
+ {file = "idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6"},
+]
+importlib-metadata = [
+ {file = "importlib_metadata-2.1.2-py2.py3-none-any.whl", hash = "sha256:cd6a92d78385dd145f5f233b3a6919acf5e8e43922aa9b9dbe78573e3540eb56"},
+ {file = "importlib_metadata-2.1.2.tar.gz", hash = "sha256:09db40742204610ef6826af16e49f0479d11d0d54687d0169ff7fddf8b3f557f"},
+]
+ipaddress = [
+ {file = "ipaddress-1.0.23-py2.py3-none-any.whl", hash = "sha256:6e0f4a39e66cb5bb9a137b00276a2eff74f93b71dcbdad6f10ff7df9d3557fcc"},
+ {file = "ipaddress-1.0.23.tar.gz", hash = "sha256:b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2"},
+]
+jmespath = [
+ {file = "jmespath-0.10.0-py2.py3-none-any.whl", hash = "sha256:cdf6525904cc597730141d61b36f2e4b8ecc257c420fa2f4549bac2c2d0cb72f"},
+ {file = "jmespath-0.10.0.tar.gz", hash = "sha256:b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9"},
+]
+jsonpickle = [
+ {file = "jsonpickle-2.0.0-py2.py3-none-any.whl", hash = "sha256:c1010994c1fbda87a48f8a56698605b598cb0fc6bb7e7927559fc1100e69aeac"},
+ {file = "jsonpickle-2.0.0.tar.gz", hash = "sha256:0be49cba80ea6f87a168aa8168d717d00c6ca07ba83df3cec32d3b30bfe6fb9a"},
+]
+pathlib2 = [
+ {file = "pathlib2-2.3.6-py2.py3-none-any.whl", hash = "sha256:3a130b266b3a36134dcc79c17b3c7ac9634f083825ca6ea9d8f557ee6195c9c8"},
+ {file = "pathlib2-2.3.6.tar.gz", hash = "sha256:7d8bcb5555003cdf4a8d2872c538faa3a0f5d20630cb360e518ca3b981795e5f"},
+]
+prettytable = [
+ {file = "prettytable-1.0.1-py2.py3-none-any.whl", hash = "sha256:e7e464e8f7ecfd9a74c67f8da35f2a7da3d827235ba0a4737bb6d4b19f4a04bb"},
+ {file = "prettytable-1.0.1.tar.gz", hash = "sha256:6bb7f539903cb031fecb855b615cbcac8cd245ebc6fa51c6e23ab3386db89771"},
+]
+pycparser = [
+ {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"},
+ {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"},
+]
+pyjwt = [
+ {file = "PyJWT-1.7.1-py2.py3-none-any.whl", hash = "sha256:5c6eca3c2940464d106b99ba83b00c6add741c9becaec087fb7ccdefea71350e"},
+ {file = "PyJWT-1.7.1.tar.gz", hash = "sha256:8d59a976fb773f3e6a39c85636357c4f0e242707394cadadd9814f5cbaa20e96"},
+]
+pysqlite = [
+ {file = "pysqlite-2.8.3.tar.gz", hash = "sha256:17d3335863e8cf8392eea71add33dab3f96d060666fe68ab7382469d307f4490"},
+]
+python-dateutil = [
+ {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"},
+ {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"},
+]
+python-digitalocean = [
+ {file = "python-digitalocean-1.17.0.tar.gz", hash = "sha256:107854fde1aafa21774e8053cf253b04173613c94531f75d5a039ad770562b24"},
+ {file = "python_digitalocean-1.17.0-py3-none-any.whl", hash = "sha256:0032168e022e85fca314eb3f8dfaabf82087f2ed40839eb28f1eeeeca5afb1fa"},
+]
+requests = [
+ {file = "requests-2.27.1-py2.py3-none-any.whl", hash = "sha256:f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d"},
+ {file = "requests-2.27.1.tar.gz", hash = "sha256:68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61"},
+]
+s3transfer = [
+ {file = "s3transfer-0.4.2-py2.py3-none-any.whl", hash = "sha256:9b3752887a2880690ce628bc263d6d13a3864083aeacff4890c1c9839a5eb0bc"},
+ {file = "s3transfer-0.4.2.tar.gz", hash = "sha256:cb022f4b16551edebbb31a377d3f09600dbada7363d8c5db7976e7f47732e1b2"},
+]
+scandir = [
+ {file = "scandir-1.10.0-cp27-cp27m-win32.whl", hash = "sha256:92c85ac42f41ffdc35b6da57ed991575bdbe69db895507af88b9f499b701c188"},
+ {file = "scandir-1.10.0-cp27-cp27m-win_amd64.whl", hash = "sha256:cb925555f43060a1745d0a321cca94bcea927c50114b623d73179189a4e100ac"},
+ {file = "scandir-1.10.0-cp34-cp34m-win32.whl", hash = "sha256:2c712840c2e2ee8dfaf36034080108d30060d759c7b73a01a52251cc8989f11f"},
+ {file = "scandir-1.10.0-cp34-cp34m-win_amd64.whl", hash = "sha256:2586c94e907d99617887daed6c1d102b5ca28f1085f90446554abf1faf73123e"},
+ {file = "scandir-1.10.0-cp35-cp35m-win32.whl", hash = "sha256:2b8e3888b11abb2217a32af0766bc06b65cc4a928d8727828ee68af5a967fa6f"},
+ {file = "scandir-1.10.0-cp35-cp35m-win_amd64.whl", hash = "sha256:8c5922863e44ffc00c5c693190648daa6d15e7c1207ed02d6f46a8dcc2869d32"},
+ {file = "scandir-1.10.0-cp36-cp36m-win32.whl", hash = "sha256:2ae41f43797ca0c11591c0c35f2f5875fa99f8797cb1a1fd440497ec0ae4b022"},
+ {file = "scandir-1.10.0-cp36-cp36m-win_amd64.whl", hash = "sha256:7d2d7a06a252764061a020407b997dd036f7bd6a175a5ba2b345f0a357f0b3f4"},
+ {file = "scandir-1.10.0-cp37-cp37m-win32.whl", hash = "sha256:67f15b6f83e6507fdc6fca22fedf6ef8b334b399ca27c6b568cbfaa82a364173"},
+ {file = "scandir-1.10.0-cp37-cp37m-win_amd64.whl", hash = "sha256:b24086f2375c4a094a6b51e78b4cf7ca16c721dcee2eddd7aa6494b42d6d519d"},
+ {file = "scandir-1.10.0.tar.gz", hash = "sha256:4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae"},
+]
+six = [
+ {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
+ {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
+]
+typing = [
+ {file = "typing-3.10.0.0-py2-none-any.whl", hash = "sha256:c7219ef20c5fbf413b4567092adfc46fa6203cb8454eda33c3fc1afe1398a308"},
+ {file = "typing-3.10.0.0-py3-none-any.whl", hash = "sha256:12fbdfbe7d6cca1a42e485229afcb0b0c8259258cfb919b8a5e2a5c953742f89"},
+ {file = "typing-3.10.0.0.tar.gz", hash = "sha256:13b4ad211f54ddbf93e5901a9967b1e07720c1d1b78d596ac6a439641aa1b130"},
+]
+urllib3 = [
+ {file = "urllib3-1.26.8-py2.py3-none-any.whl", hash = "sha256:000ca7f471a233c2251c6c7023ee85305721bfdf18621ebff4fd17a8653427ed"},
+ {file = "urllib3-1.26.8.tar.gz", hash = "sha256:0e7c33d9a63e7ddfcb86780aac87befc2fbddf46c58dbb487e0855f7ceec283c"},
+]
+wcwidth = [
+ {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"},
+ {file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"},
+]
+zipp = [
+ {file = "zipp-1.2.0-py2.py3-none-any.whl", hash = "sha256:e0d9e63797e483a30d27e09fffd308c59a700d365ec34e93cc100844168bf921"},
+ {file = "zipp-1.2.0.tar.gz", hash = "sha256:c70410551488251b0fee67b460fb9a536af8d6f9f008ad10ac51f615b6a521b1"},
+]
diff --git a/pkgs/tools/package-management/nixops/python-env/pyproject.toml b/pkgs/tools/package-management/nixops/python-env/pyproject.toml
new file mode 100644
index 000000000000..2c216e402259
--- /dev/null
+++ b/pkgs/tools/package-management/nixops/python-env/pyproject.toml
@@ -0,0 +1,24 @@
+[tool.poetry]
+name = "nixops-python-env"
+version = "0.1.0"
+description = ""
+authors = ["Your Name "]
+license = "MIT"
+
+[tool.poetry.dependencies]
+python = "^2.7"
+prettytable = "^1.0.1"
+boto = "^2.49.0"
+boto3 = "^1.17.97"
+hetzner = "^0.8.3"
+apache-libcloud = "^2.8.3"
+adal = "^1.2.7"
+pysqlite = "^2.8.3"
+datadog = "^0.42.0"
+python-digitalocean = "^1.17.0"
+
+[tool.poetry.dev-dependencies]
+
+[build-system]
+requires = ["poetry-core>=1.0.0"]
+build-backend = "poetry.core.masonry.api"
diff --git a/pkgs/tools/package-management/nixops/python-env/shell.nix b/pkgs/tools/package-management/nixops/python-env/shell.nix
new file mode 100644
index 000000000000..13fcab0e0faa
--- /dev/null
+++ b/pkgs/tools/package-management/nixops/python-env/shell.nix
@@ -0,0 +1,8 @@
+let
+ pkgs = import ../../../../../. { };
+in pkgs.mkShell {
+ packages = [
+ pkgs.python2
+ pkgs.poetry
+ ];
+}
diff --git a/pkgs/tools/security/faraday-agent-dispatcher/default.nix b/pkgs/tools/security/faraday-agent-dispatcher/default.nix
new file mode 100644
index 000000000000..aecdbf8dd250
--- /dev/null
+++ b/pkgs/tools/security/faraday-agent-dispatcher/default.nix
@@ -0,0 +1,69 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+ pname = "faraday-agent-dispatcher";
+ version = "2.1.3";
+ format = "setuptools";
+
+ src = fetchFromGitHub {
+ owner = "infobyte";
+ repo = "faraday_agent_dispatcher";
+ rev = version;
+ hash = "sha256-lqCW1/wRXfN7C9c6TPvninueOgrhzNdjRJ9fuueMyH0=";
+ };
+
+ nativeBuildInputs = with python3.pkgs; [
+ setuptools-scm
+ ];
+
+ propagatedBuildInputs = with python3.pkgs; [
+ aiohttp
+ click
+ faraday-agent-parameters-types
+ faraday-plugins
+ itsdangerous
+ python-gvm
+ python-owasp-zap-v2-4
+ pyyaml
+ requests
+ syslog-rfc5424-formatter
+ websockets
+ ];
+
+ checkInputs = with python3.pkgs; [
+ pytest-asyncio
+ pytestCheckHook
+ ];
+
+ postPatch = ''
+ substituteInPlace setup.py \
+ --replace '"pytest-runner",' ""
+ '';
+
+ preCheck = ''
+ export HOME=$(mktemp -d);
+ '';
+
+ disabledTests = [
+ "test_execute_agent"
+ ];
+
+ disabledTestPaths = [
+ # Tests require a running Docker instance
+ "tests/plugins-docker/test_executors.py"
+ ];
+
+ pythonImportsCheck = [
+ "faraday_agent_dispatcher"
+ ];
+
+ meta = with lib; {
+ description = "Tool to send result from tools to the Faraday Platform";
+ homepage = "https://github.com/infobyte/faraday_agent_dispatcher";
+ license = with licenses; [ gpl3Only ];
+ maintainers = with maintainers; [ fab ];
+ };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ae8402c82ee1..26c671526460 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5346,6 +5346,8 @@ with pkgs;
fabric-installer = callPackage ../tools/games/minecraft/fabric-installer { };
+ faraday-agent-dispatcher = callPackage ../tools/security/faraday-agent-dispatcher { };
+
faraday-cli = callPackage ../tools/security/faraday-cli { };
fastlane = callPackage ../tools/admin/fastlane { };
@@ -20962,6 +20964,8 @@ with pkgs;
withExtraLibs = [];
};
+ prosody-filer = callPackage ../servers/xmpp/prosody-filer { };
+
biboumi = callPackage ../servers/xmpp/biboumi { };
elasticmq-server-bin = callPackage ../servers/elasticmq-server-bin {