Merge staging-next into staging

main
github-actions[bot] 2 years ago committed by GitHub
commit 1af612e855
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 18
      nixos/modules/programs/atop.nix
  2. 44
      nixos/modules/services/misc/libreddit.nix
  3. 2
      nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix
  4. 14
      nixos/tests/libreddit.nix
  5. 12
      pkgs/applications/editors/vim/plugins/generated.nix
  6. 1
      pkgs/applications/editors/vim/plugins/vim-plugin-names
  7. 4
      pkgs/applications/graphics/ImageMagick/7.0.nix
  8. 17
      pkgs/applications/graphics/leocad/default.nix
  9. 72
      pkgs/applications/graphics/leocad/povray.patch
  10. 4
      pkgs/applications/misc/mkgmap/default.nix
  11. 1
      pkgs/applications/networking/cloudflared/default.nix
  12. 6
      pkgs/applications/networking/dnscontrol/default.nix
  13. 51
      pkgs/applications/office/libreoffice/darwin.nix
  14. 80
      pkgs/applications/office/libreoffice/darwin/default.nix
  15. 50
      pkgs/applications/office/libreoffice/darwin/update-test.nix
  16. 51
      pkgs/applications/office/libreoffice/darwin/update-utils.nix
  17. 18
      pkgs/applications/office/libreoffice/darwin/update.nix
  18. 4
      pkgs/applications/office/portfolio/default.nix
  19. 48
      pkgs/development/python-modules/bite-parser/default.nix
  20. 66
      pkgs/development/python-modules/dataclasses-serialization/default.nix
  21. 38
      pkgs/development/python-modules/docformatter/default.nix
  22. 4
      pkgs/development/python-modules/google-re2/default.nix
  23. 4
      pkgs/development/python-modules/gpsoauth/default.nix
  24. 4
      pkgs/development/python-modules/gspread/default.nix
  25. 4
      pkgs/development/python-modules/llfuse/default.nix
  26. 46
      pkgs/development/python-modules/more-properties/default.nix
  27. 4
      pkgs/development/python-modules/openrazer/common.nix
  28. 8
      pkgs/development/python-modules/pyarrow/default.nix
  29. 44
      pkgs/development/python-modules/pyfuse3/default.nix
  30. 99
      pkgs/development/python-modules/sunpy/default.nix
  31. 4
      pkgs/development/python-modules/types-setuptools/default.nix
  32. 80
      pkgs/development/python-modules/xsdata/default.nix
  33. 6
      pkgs/development/tools/glpaper/default.nix
  34. 59
      pkgs/development/tools/node-webkit/nw12.nix
  35. 8
      pkgs/os-specific/linux/kvmfr/default.nix
  36. 2
      pkgs/os-specific/linux/openrazer/driver.nix
  37. 0
      pkgs/servers/geospatial/mapcache/default.nix
  38. 0
      pkgs/servers/geospatial/mapserver/default.nix
  39. 0
      pkgs/servers/geospatial/martin/default.nix
  40. 0
      pkgs/servers/geospatial/mbtileserver/default.nix
  41. 0
      pkgs/servers/geospatial/pg_featureserv/default.nix
  42. 0
      pkgs/servers/geospatial/pg_tileserv/default.nix
  43. 0
      pkgs/servers/geospatial/t-rex/default.nix
  44. 0
      pkgs/servers/geospatial/tegola/default.nix
  45. 0
      pkgs/servers/geospatial/tile38/default.nix
  46. 62
      pkgs/servers/monitoring/prometheus/dmarc-exporter/default.nix
  47. 14
      pkgs/servers/monitoring/prometheus/dmarc-exporter/poetry-git-overlay.nix
  48. 503
      pkgs/servers/monitoring/prometheus/dmarc-exporter/poetry.lock
  49. 14
      pkgs/servers/monitoring/prometheus/dmarc-exporter/pyproject.toml
  50. 5
      pkgs/servers/monitoring/prometheus/dmarc-exporter/update
  51. 69
      pkgs/servers/monitoring/prometheus/dmarc-metrics-exporter/default.nix
  52. 6
      pkgs/tools/backup/borgbackup/default.nix
  53. 44
      pkgs/tools/package-management/nixui/default.nix
  54. 4
      pkgs/tools/package-management/nixui/generate.sh
  55. 17
      pkgs/tools/package-management/nixui/nixui.nix
  56. 108
      pkgs/tools/package-management/nixui/node-packages.nix
  57. 3
      pkgs/tools/package-management/nixui/pkg.json
  58. 3
      pkgs/top-level/aliases.nix
  59. 35
      pkgs/top-level/all-packages.nix
  60. 10
      pkgs/top-level/python-packages.nix

@ -136,6 +136,24 @@ in
packages = [ atop (lib.mkIf cfg.netatop.enable cfg.netatop.package) ];
services =
mkService cfg.atopService.enable "atop" [ atop ]
// lib.mkIf cfg.atopService.enable {
# always convert logs to newer version first
# XXX might trigger TimeoutStart but restarting atop.service will
# convert remainings logs and start eventually
atop.serviceConfig.ExecStartPre = pkgs.writeShellScript "atop-update-log-format" ''
set -e -u
for logfile in "$LOGPATH"/atop_*
do
${atop}/bin/atopconvert "$logfile" "$logfile".new
# only replace old file if version was upgraded to avoid
# false positives for atop-rotate.service
if ! ${pkgs.diffutils}/bin/cmp -s "$logfile" "$logfile".new
then
${pkgs.coreutils}/bin/mv -v -f "$logfile".new "$logfile"
fi
done
'';
}
// mkService cfg.atopacctService.enable "atopacct" [ atop ]
// mkService cfg.netatop.enable "netatop" [ cfg.netatop.package ]
// mkService cfg.atopgpu.enable "atopgpu" [ atop ];

@ -2,14 +2,13 @@
with lib;
let
cfg = config.services.libreddit;
args = concatStringsSep " " ([
"--port ${toString cfg.port}"
"--address ${cfg.address}"
] ++ optional cfg.redirect "--redirect-https");
let
cfg = config.services.libreddit;
args = concatStringsSep " " ([
"--port ${toString cfg.port}"
"--address ${cfg.address}"
]);
in
{
options = {
@ -30,12 +29,6 @@ in
description = "The port to listen on";
};
redirect = mkOption {
type = types.bool;
default = false;
description = "Enable the redirecting to HTTPS";
};
openFirewall = mkOption {
type = types.bool;
default = false;
@ -56,6 +49,31 @@ in
AmbientCapabilities = lib.mkIf (cfg.port < 1024) [ "CAP_NET_BIND_SERVICE" ];
Restart = "on-failure";
RestartSec = "2s";
# Hardening
CapabilityBoundingSet = if (cfg.port < 1024) then [ "CAP_NET_BIND_SERVICE" ] else [ "" ];
DeviceAllow = [ "" ];
LockPersonality = true;
MemoryDenyWriteExecute = true;
PrivateDevices = true;
# A private user cannot have process capabilities on the host's user
# namespace and thus CAP_NET_BIND_SERVICE has no effect.
PrivateUsers = (cfg.port >= 1024);
ProcSubset = "pid";
ProtectClock = true;
ProtectControlGroups = true;
ProtectHome = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectProc = "invisible";
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
SystemCallArchitectures = "native";
SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ];
UMask = "0077";
};
};

@ -108,7 +108,7 @@ in {
-i ${pkgs.writeText "dmarc-exporter.json.template" json} \
-o ''${STATE_DIRECTORY}/dmarc-exporter.json
exec ${pkgs.prometheus-dmarc-exporter}/bin/prometheus-dmarc-exporter \
exec ${pkgs.dmarc-metrics-exporter}/bin/dmarc-metrics-exporter \
--configuration /var/lib/prometheus-dmarc-exporter/dmarc-exporter.json \
${optionalString cfg.debug "--debug"}
''}";

@ -6,14 +6,16 @@ with lib;
name = "libreddit";
meta.maintainers = with maintainers; [ fab ];
nodes.machine =
{ pkgs, ... }:
{ services.libreddit.enable = true; };
nodes.machine = {
services.libreddit.enable = true;
# Test CAP_NET_BIND_SERVICE
services.libreddit.port = 80;
};
testScript = ''
machine.wait_for_unit("libreddit.service")
machine.wait_for_open_port("8080")
# The service wants to get data from https://www.reddit.com
machine.succeed("curl http://localhost:8080/")
machine.wait_for_open_port("80")
# Query a page that does not require Internet access
machine.succeed("curl --fail http://localhost:80/settings")
'';
})

@ -4786,6 +4786,18 @@ final: prev:
meta.homepage = "https://github.com/roxma/nvim-completion-manager/";
};
nvim-config-local = buildVimPluginFrom2Nix {
pname = "nvim-config-local";
version = "2022-03-26";
src = fetchFromGitHub {
owner = "klen";
repo = "nvim-config-local";
rev = "af59d6344e555917209f7304709bbff7cea9b5cc";
sha256 = "1wg6g4rqpj12sjj0g1qxqgcpkzr7x82lk90lf6qczim97r3lj9hy";
};
meta.homepage = "https://github.com/klen/nvim-config-local/";
};
nvim-cursorline = buildVimPluginFrom2Nix {
pname = "nvim-cursorline";
version = "2022-04-15";

@ -403,6 +403,7 @@ https://github.com/norcalli/nvim-colorizer.lua/,,
https://github.com/terrortylor/nvim-comment/,,
https://github.com/hrsh7th/nvim-compe/,,
https://github.com/roxma/nvim-completion-manager/,,
https://github.com/klen/nvim-config-local/,,
https://github.com/yamatsum/nvim-cursorline/,,
https://github.com/mfussenegger/nvim-dap/,,
https://github.com/rcarriga/nvim-dap-ui/,,

@ -45,13 +45,13 @@ in
stdenv.mkDerivation rec {
pname = "imagemagick";
version = "7.1.0-35";
version = "7.1.0-36";
src = fetchFromGitHub {
owner = "ImageMagick";
repo = "ImageMagick";
rev = version;
hash = "sha256-KLS7gKUVeOAA89Kfrk07JzSXEF6TH6AgfheECbWi0lE=";
hash = "sha256-fl83O3vVHp12+Vj3WT0NOWe5a6ufmtFlxVlbUhIzfB0=";
};
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big

@ -2,8 +2,10 @@
, mkDerivation
, fetchFromGitHub
, fetchurl
, povray
, qmake
, qttools
, substituteAll
, zlib
}:
@ -14,26 +16,35 @@ set the variable LEOCAD_LIB=/path/to/libs/ or use option -l /path/to/libs/
let
parts = fetchurl {
url = "https://web.archive.org/web/20190715142541/https://www.ldraw.org/library/updates/complete.zip";
url = "https://web.archive.org/web/20210705153544/https://www.ldraw.org/library/updates/complete.zip";
sha256 = "sha256-PW3XCbFwRaNkx4EgCnl2rXH7QgmpNgjTi17kZ5bladA=";
};
in
mkDerivation rec {
pname = "leocad";
version = "21.03";
version = "21.06";
src = fetchFromGitHub {
owner = "leozide";
repo = "leocad";
rev = "v${version}";
sha256 = "sha256-69Ocfk5dBXwcRqAZWEP9Xg41o/tAQo76dIOk9oYhCUE=";
sha256 = "1ifbxngkbmg6d8vv08amxbnfvlyjdwzykrjp98lbwvgb0b843ygq";
};
nativeBuildInputs = [ qmake qttools ];
buildInputs = [ zlib ];
propagatedBuildInputs = [ povray ];
patches = [
(substituteAll {
src = ./povray.patch;
inherit povray;
})
];
qmakeFlags = [
"INSTALL_PREFIX=${placeholder "out"}"
"DISABLE_UPDATE_CHECK=1"

@ -0,0 +1,72 @@
From 6e7dd2c763e2cc79db4cd7173921a4e72ce9b95e Mon Sep 17 00:00:00 2001
From: Elias Probst <mail@eliasprobst.eu>
Date: Tue, 5 Oct 2021 02:55:18 +0200
Subject: [PATCH] Don't use configurable POV-ray path.
Once the POV-ray path is configurable, it'll be written to the LeoCAD
profile, which will break upon the next update of POV-ray which will
have a different Nix store path.
Signed-off-by: Elias Probst <mail@eliasprobst.eu>
---
common/lc_application.cpp | 1 -
common/lc_profile.cpp | 2 +-
qt/lc_qpreferencesdialog.cpp | 3 ++-
qt/lc_renderdialog.cpp | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/common/lc_application.cpp b/common/lc_application.cpp
index cbdec82e..21974510 100644
--- a/common/lc_application.cpp
+++ b/common/lc_application.cpp
@@ -1267,7 +1267,6 @@ void lcApplication::ShowPreferencesDialog()
lcSetProfileString(LC_PROFILE_DEFAULT_AUTHOR_NAME, Options.DefaultAuthor);
lcSetProfileString(LC_PROFILE_PARTS_LIBRARY, Options.LibraryPath);
lcSetProfileString(LC_PROFILE_MINIFIG_SETTINGS, Options.MinifigSettingsPath);
- lcSetProfileString(LC_PROFILE_POVRAY_PATH, Options.POVRayPath);
lcSetProfileString(LC_PROFILE_POVRAY_LGEO_PATH, Options.LGEOPath);
lcSetProfileString(LC_PROFILE_LANGUAGE, Options.Language);
lcSetProfileInt(LC_PROFILE_CHECK_UPDATES, Options.CheckForUpdates);
diff --git a/common/lc_profile.cpp b/common/lc_profile.cpp
index 1975b586..911c4fb0 100644
--- a/common/lc_profile.cpp
+++ b/common/lc_profile.cpp
@@ -132,7 +132,7 @@ static lcProfileEntry gProfileEntries[LC_NUM_PROFILE_KEYS] =
lcProfileEntry("HTML", "ImageWidth", 640), // LC_PROFILE_HTML_IMAGE_WIDTH
lcProfileEntry("HTML", "ImageHeight", 480), // LC_PROFILE_HTML_IMAGE_HEIGHT
- lcProfileEntry("POVRay", "Path", "/usr/bin/povray"), // LC_PROFILE_POVRAY_PATH
+ lcProfileEntry("POVRay", "Path", "@povray@/bin/povray"), // LC_PROFILE_POVRAY_PATH
lcProfileEntry("POVRay", "LGEOPath", ""), // LC_PROFILE_POVRAY_LGEO_PATH
lcProfileEntry("POVRay", "Width", 1280), // LC_PROFILE_POVRAY_WIDTH
lcProfileEntry("POVRay", "Height", 720), // LC_PROFILE_POVRAY_HEIGHT
diff --git a/qt/lc_qpreferencesdialog.cpp b/qt/lc_qpreferencesdialog.cpp
index 89f86aad..c239763f 100644
--- a/qt/lc_qpreferencesdialog.cpp
+++ b/qt/lc_qpreferencesdialog.cpp
@@ -55,7 +55,8 @@ lcQPreferencesDialog::lcQPreferencesDialog(QWidget* Parent, lcPreferencesDialogO
ui->partsLibrary->setText(mOptions->LibraryPath);
ui->ColorConfigEdit->setText(mOptions->ColorConfigPath);
ui->MinifigSettingsEdit->setText(mOptions->MinifigSettingsPath);
- ui->povrayExecutable->setText(mOptions->POVRayPath);
+ ui->povrayExecutable->hide();
+ ui->povrayExecutableBrowse->hide();
ui->lgeoPath->setText(mOptions->LGEOPath);
ui->authorName->setText(mOptions->DefaultAuthor);
ui->mouseSensitivity->setValue(mOptions->Preferences.mMouseSensitivity);
diff --git a/qt/lc_renderdialog.cpp b/qt/lc_renderdialog.cpp
index bd8a9102..96794738 100644
--- a/qt/lc_renderdialog.cpp
+++ b/qt/lc_renderdialog.cpp
@@ -184,7 +184,7 @@ void lcRenderDialog::on_RenderButton_clicked()
#endif
#ifdef Q_OS_LINUX
- POVRayPath = lcGetProfileString(LC_PROFILE_POVRAY_PATH);
+ POVRayPath = QDir::cleanPath(QLatin1String("@povray@/bin/povray"));
Arguments.append("+FN");
Arguments.append("-D");
#endif
--
2.33.0

@ -15,12 +15,12 @@ let
in
stdenv.mkDerivation rec {
pname = "mkgmap";
version = "4902";
version = "4904";
src = fetchsvn {
url = "https://svn.mkgmap.org.uk/mkgmap/mkgmap/trunk";
rev = version;
sha256 = "sha256-djqa6loaFUYfAhgmF6Lm+4M4Xgzyiw1bXqK4XWqT/tY=";
sha256 = "sha256-43gJkpk19Ef3vUbRNt3VDstxCLJl6smsAjtcrovGjEE=";
};
patches = [

@ -29,7 +29,6 @@ buildGoModule rec {
doCheck = !stdenv.isDarwin;
meta = with lib; {
broken = (stdenv.isLinux && stdenv.isAarch64);
description = "CloudFlare Tunnel daemon (and DNS-over-HTTPS client)";
homepage = "https://www.cloudflare.com/products/tunnel";
license = licenses.asl20;

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "dnscontrol";
version = "3.16.1";
version = "3.16.2";
src = fetchFromGitHub {
owner = "StackExchange";
repo = pname;
rev = "v${version}";
sha256 = "sha256-WnUOHUGIALHd0Ne+WzturRxomznpgVjVLBM1wvVAA4M=";
sha256 = "sha256-lzE35PT0QLlZ2jftXpDDvr4S3zD1DOpZVXrGGnzvpc8=";
};
vendorSha256 = "sha256-fjmKBRkXZQkN6fofy+H7DS76H+J0x6tRgv0fV/2rCwY=";
vendorSha256 = "sha256-M+Kzw2ZmKV527rPUJ1codtXWN0/5tmph7GMBTze4C7c=";
subPackages = [ "." ];

@ -1,51 +0,0 @@
{ stdenv
, lib
, fetchurl
, undmg
}:
let
appName = "LibreOffice.app";
version = "7.2.5";
dist = {
aarch64-darwin = {
arch = "aarch64";
sha256 = "bdbcb9a98211f866ca089d440aebcd1d313aa99e8ab4104aae4e65ea3cee74ca";
};
x86_64-darwin = {
arch = "x86_64";
sha256 = "0b7ef18ed08341ac6c15339fe9a161ad17f6b469009d987cfc7d50c628d12a4e";
};
}."${stdenv.hostPlatform.system}";
in
stdenv.mkDerivation {
inherit version;
pname = "libreoffice";
src = fetchurl {
url = "https://download.documentfoundation.org/libreoffice/stable/${version}/mac/${dist.arch}/LibreOffice_${version}_MacOS_${dist.arch}.dmg";
inherit (dist) sha256;
};
nativeBuildInputs = [ undmg ];
sourceRoot = "${appName}";
dontPatch = true;
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstallPhase
mkdir -p $out/{Applications/${appName},bin}
cp -R . $out/Applications/${appName}
ln -s $out/Applications/${appName}/Contents/MacOS/soffice $out/bin
runHook postInstallPhase
'';
meta = with lib; {
description = "Comprehensive, professional-quality productivity suite, a variant of openoffice.org";
homepage = "https://libreoffice.org/";
license = licenses.lgpl3;
maintainers = with maintainers; [ tricktron ];
platforms = [ "aarch64-darwin" "x86_64-darwin" ];
};
}

@ -0,0 +1,80 @@
{ stdenvNoCC
, lib
, fetchurl
, undmg
, writeScript
, callPackage
}:
let
appName = "LibreOffice.app";
scriptName = "soffice";
version = "7.3.3";
dist = {
aarch64-darwin = rec {
arch = "aarch64";
archSuffix = arch;
url = "https://download.documentfoundation.org/libreoffice/stable/${version}/mac/${arch}/LibreOffice_${version}_MacOS_${archSuffix}.dmg";
sha256 = "50ed3deb8d9c987516e2687ebb865bca15486c69da79f1b6d74381e43f2ec863";
};
x86_64-darwin = rec {
arch = "x86_64";
archSuffix = "x86-64";
url = "https://download.documentfoundation.org/libreoffice/stable/${version}/mac/${arch}/LibreOffice_${version}_MacOS_${archSuffix}.dmg";
sha256 = "fb2f9bb90eee34a22af3a2bf2854ef5b76098302b3c41d13d4f543f0d72b994f";
};
};
in
stdenvNoCC.mkDerivation {
inherit version;
pname = "libreoffice";
src = fetchurl {
inherit (dist.${stdenvNoCC.hostPlatform.system} or
(throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}")) url sha256;
};
nativeBuildInputs = [ undmg ];
sourceRoot = "${appName}";
installPhase = ''
runHook preInstall
mkdir -p $out/{Applications/${appName},bin}
cp -R . $out/Applications/${appName}
cat > $out/bin/${scriptName} << EOF
#!${stdenvNoCC.shell}
open -na $out/Applications/${appName} --args "$@"
EOF
chmod +x $out/bin/${scriptName}
runHook postInstall
'';
passthru.updateScript =
let
defaultNixFile = builtins.toString ./default.nix;
updateNix = builtins.toString ./update.nix;
aarch64Url = dist."aarch64-darwin".url;
x86_64Url = dist."x86_64-darwin".url;
in
writeScript "update-libreoffice.sh"
''
#!/usr/bin/env nix-shell
#!nix-shell -i bash --argstr aarch64Url ${aarch64Url} --argstr x86_64Url ${x86_64Url} --argstr version ${version} ${updateNix}
set -eou pipefail
# reset version first so that both platforms are always updated and in sync
update-source-version libreoffice-bin 0 ${lib.fakeSha256} --file=${defaultNixFile} --system=aarch64-darwin
update-source-version libreoffice-bin $newVersion $newAarch64Sha256 --file=${defaultNixFile} --system=aarch64-darwin
update-source-version libreoffice-bin 0 ${lib.fakeSha256} --file=${defaultNixFile} --system=x86_64-darwin
update-source-version libreoffice-bin $newVersion $newX86_64Sha256 --file=${defaultNixFile} --system=x86_64-darwin
'';
meta = with lib; {
description = "Comprehensive, professional-quality productivity suite, a variant of openoffice.org";
homepage = "https://libreoffice.org/";
license = licenses.lgpl3;
maintainers = with maintainers; [ tricktron ];
platforms = [ "x86_64-darwin" "aarch64-darwin" ];
};
}

@ -0,0 +1,50 @@
# run the tests with nixt <absolutePath to parent dir> -v
{ pkgs ? import <nixpkgs> { }, nixt }:
let
inherit (import ./update-utils.nix { inherit (pkgs) lib; })
extractLatestVersionFromHtml
extractSha256FromHtml
getLatestStableVersion;
in
nixt.mkSuite "LibreOffice Updater"
{
"should extract latest stable version from html" =
let
latestVersionHtmlMock =
''
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Index of /libreoffice/stable</title>
<link rel="stylesheet" href="/mirrorbrain.css" type="text/css" />
</head>
<body>
<h1>Index of /libreoffice/stable</h1>
<table><tr><th>&nbsp;</th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th>Metadata</th></tr><tr><th colspan="5"><hr /></th></tr>
<tr><td valign="top">&nbsp;</td><td><a href="/libreoffice/">Parent Directory</a></td><td>&nbsp;</td><td align="right"> - </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="7.2.7/">7.2.7/</a></td><td align="right">10-Mar-2022 11:12 </td><td align="right"> - </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="7.3.3/">7.3.3/</a></td><td align="right">12-May-2022 10:06 </td><td align="right"> - </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="7.2.6/">7.2.6/</a></td><td align="right">05-May-2022 07:57 </td><td align="right"> - </td><td>&nbsp;</td></tr>
<tr><th colspan="5"><hr /></th></tr>
</table>
<address>Apache Server at <a href="mailto:hostmaster@documentfoundation.org">download.documentfoundation.org</a> Port 80</address>
<br/><address><a href="http://mirrorbrain.org/">MirrorBrain</a> powered by <a href="http://httpd.apache.org/">Apache</a></address>
</body></html>
'';
actual = extractLatestVersionFromHtml latestVersionHtmlMock;
in
"7.3.3" == actual;
"should extract latest stable version from website" = (builtins.compareVersions getLatestStableVersion "7.3.3") >= 0;
"should extract sha256 from html" =
let
sha256Html = "50ed3deb8d9c987516e2687ebb865bca15486c69da79f1b6d74381e43f2ec863 LibreOffice_7.3.3_MacOS_aarch64.dmg\n";
actual = extractSha256FromHtml sha256Html;
in
"50ed3deb8d9c987516e2687ebb865bca15486c69da79f1b6d74381e43f2ec863" == actual;
}

@ -0,0 +1,51 @@
{ lib }:
let
# extractLatestVersionFromHtml :: String -> String
extractLatestVersionFromHtml = htmlString:
let
majorMinorPatchGroup = "([0-9]+\\.[0-9]+\\.[0-9]+)";
splittedVersions = builtins.split "href=\"${majorMinorPatchGroup}" htmlString;
stableVersions = builtins.concatLists
(builtins.filter (e: builtins.isList e)
splittedVersions);
in
if stableVersions == [ ]
then abort "Failed to extract versions from html."
else lib.last (builtins.sort builtins.lessThan stableVersions);
# getHtml :: String -> String
getHtml = url:
builtins.readFile (builtins.fetchurl url);
# getLatestStableVersion :: String
getLatestStableVersion =
extractLatestVersionFromHtml
(getHtml "https://download.documentfoundation.org/libreoffice/stable/");
# extractSha256FromHtml :: String -> String
extractSha256FromHtml = htmlString:
let
sha256 = (builtins.match ".*([0-9a-fA-F]{64}).*" htmlString);
in
if sha256 == [ ]
then abort "Failed to extract sha256 from html."
else builtins.head sha256;
# getSha256 :: String -> String
getSha256 = dmgUrl: oldVersion: newVersion:
extractSha256FromHtml (getHtml (getSha256Url dmgUrl oldVersion newVersion));
# getSha256Url :: String -> String -> String -> String
getSha256Url = dmgUrl: oldVersion: newVersion:
(builtins.replaceStrings [ oldVersion ] [ newVersion ] dmgUrl) + ".sha256";
in
{
inherit
extractLatestVersionFromHtml
getHtml
getLatestStableVersion
extractSha256FromHtml
getSha256
getSha256Url;
}

@ -0,0 +1,18 @@
# Impure functions, for passthru.updateScript runtime only
{ aarch64Url
, x86_64Url
, version
, pkgs ? import ../../../../../default.nix { }
,
}:
let
inherit (import ./update-utils.nix { inherit (pkgs) lib; })
getLatestStableVersion
getSha256;
in
pkgs.mkShell rec {
buildInputs = [ pkgs.common-updater-scripts ];
newVersion = getLatestStableVersion;
newAarch64Sha256 = getSha256 aarch64Url version newVersion;
newX86_64Sha256 = getSha256 x86_64Url version newVersion;
}

@ -25,11 +25,11 @@ let
in
stdenv.mkDerivation rec {
pname = "PortfolioPerformance";
version = "0.57.2";
version = "0.58.3";
src = fetchurl {
url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
sha256 = "sha256-ftLKlNzr46iL/V+P3J1wtoUByGHHl7wrh4xctU4JYkM=";
sha256 = "sha256-hm7iIYv4egd79G+LfetFSFLQRnfechJIY3k5Dys63vY=";
};
nativeBuildInputs = [

@ -0,0 +1,48 @@
{ lib
, buildPythonPackage
, pythonOlder
, fetchPypi
, poetry-core
, pytest-asyncio
, pytestCheckHook
, typing-extensions
}:
buildPythonPackage rec {
pname = "bite-parser";
version = "0.1.1";
disabled = pythonOlder "3.7";
format = "pyproject";
src = fetchPypi {
inherit pname version;
sha256 = "8021100bfbd6cc6056605361e763a3591efdea38014b3d8aa76c74c74de4ead4";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'python = "^3.7,<=3.10"' 'python = "^3.7,<3.11"' \
--replace poetry.masonry.api poetry.core.masonry.api
'';
nativeBuildInputs = [
poetry-core
];
checkInputs = [
pytest-asyncio
pytestCheckHook
typing-extensions
];
pythonImportsCheck = [ "bite" ];
meta = {
description = "Asynchronous parser taking incremental bites out of your byte input stream";
homepage = "https://github.com/jgosmann/bite-parser";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}

@ -0,0 +1,66 @@
{ lib
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, more-properties
, typing-inspect
, toolz
, toposort
, bson
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "dataclasses-serialization";
version = "1.3.1";
# upstream requires >= 3.6 but only 3.7 includes dataclasses
disabled = pythonOlder "3.7";
format = "setuptools";
src = fetchFromGitHub {
owner = "madman-bob";
repo = "python-dataclasses-serialization";
rev = version;
hash = "sha256-jLMR2D01KgzHHRP0zduMBJt8xgBmIquWLCjZYLo2/AA=";
};
postPatch = ''
mv pypi_upload/setup.py .
substituteInPlace setup.py \
--replace "project_root = Path(__file__).parents[1]" "project_root = Path(__file__).parents[0]"
# dataclasses is included in Python 3.7
substituteInPlace requirements.txt \
--replace dataclasses ""
# https://github.com/madman-bob/python-dataclasses-serialization/issues/16
sed -i '/(\(Dict\|List\)/d' tests/test_json.py tests/test_bson.py
'';
propagatedBuildInputs = [
more-properties
typing-inspect
toolz
toposort
];
checkInputs = [
bson
pytestCheckHook
];
pythonImportsCheck = [
"dataclasses_serialization.bson"
"dataclasses_serialization.json"
"dataclasses_serialization.serializer_base"
];
meta = {
description = "Serialize/deserialize Python dataclasses to various other data formats";
homepage = "https://github.com/madman-bob/python-dataclasses-serialization";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}

@ -0,0 +1,38 @@
{ lib
, buildPythonPackage
, pythonOlder
, fetchPypi
, untokenize
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "docformatter";
version = "1.4";
disabled = pythonOlder "3.6";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "064e6d81f04ac96bc0d176cbaae953a0332482b22d3ad70d47c8a7f2732eef6f";
};
propagatedBuildInputs = [
untokenize
];
checkInputs = [
pytestCheckHook
];
pythonImportsCheck = [ "docformatter" ];
meta = {
description = "Formats docstrings to follow PEP 257";
homepage = "https://github.com/myint/docformatter";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}

@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "google-re2";
version = "0.2.20220401";
version = "0.2.20220601";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-v3G+MvFV8gq9LJqj/zrtlTjRm0ZNxTh0UdQSPiwFHY4=";
hash = "sha256-zBCYPcqgsyYKTNHAfHrcH6aWfbz6zJwajxHkwRjHeQU=";
};
propagatedBuildInputs = [

@ -7,14 +7,14 @@
}:
buildPythonPackage rec {
version = "1.0.0";
version = "1.0.1";
pname = "gpsoauth";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
sha256 = "1c4d6a980625b8ab6f6f1cf3e30d9b10a6c61ababb2b60bfe4870649e9c82be0";
sha256 = "sha256-wxLyvrNwT3QQHGLCxaIFdRG7OJpECMpynE+lgAGtFk0=";
};
propagatedBuildInputs = [ pycryptodomex requests ];

@ -7,12 +7,12 @@
}:
buildPythonPackage rec {
version = "5.3.2";
version = "5.4.0";
pname = "gspread";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-MZdm2Q2wUFYpP37grSs1UDoaQGg6dYl6KSI5jNIBYoM=";
sha256 = "sha256-thcrYvqJnj5BmdLQ6hAItkMFVUugjT06lukSOCT97Eg=";
};
propagatedBuildInputs = [ requests google-auth google-auth-oauthlib ];

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "llfuse";
version = "1.4.1";
version = "1.4.2";
disabled = pythonOlder "3.5";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "python-llfuse";
repo = "python-llfuse";
rev = "release-${version}";
sha256 = "1dcpdg6cpkmdbyg66fgrylj7dp9zqzg5bf23y6m6673ykgxlv480";
hash = "sha256-TnZnv439fLvg0WM96yx0dPSSz8Mrae6GDC9LiLFrgQ8=";
};
nativeBuildInputs = [ cython pkg-config ];

@ -0,0 +1,46 @@
{ lib
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "more-properties";
version = "1.1.1";
# upstream requires >= 3.6 but only 3.7 includes dataclasses
disabled = pythonOlder "3.7";
format = "setuptools";
src = fetchFromGitHub {
owner = "madman-bob";
repo = "python-more-properties";
rev = version;
hash = "sha256-dKG97rw5IG19m7u3ZDBM2yGScL5cFaKBvGZxPVJaUTE=";
};
postPatch = ''
mv pypi_upload/setup.py .
substituteInPlace setup.py \
--replace "project_root = Path(__file__).parents[1]" "project_root = Path(__file__).parents[0]"
# dataclasses is included in Python 3.7
substituteInPlace requirements.txt \
--replace dataclasses ""
'';
checkInputs = [
pytestCheckHook
];
pythonImportsCheck = [ "more_properties" ];
meta = {
description = "A collection of property variants";
homepage = "https://github.com/madman-bob/python-more-properties";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}

@ -1,12 +1,12 @@
{ lib
, fetchFromGitHub
}: rec {
version = "3.1.0";
version = "3.3.0";
src = fetchFromGitHub {
owner = "openrazer";
repo = "openrazer";
rev = "v${version}";
sha256 = "133szhi0xsfbnjw47xbvyidflxd8fp7pv78vk5wf9s5ch3hpnvxs";
sha256 = "1lw2cpj2xzwcsn5igrqj3f6m2v5n6zp1xa9vv3j9f9r2fbb48jcl";
};
meta = with lib; {
homepage = "https://openrazer.github.io/";

@ -83,12 +83,19 @@ buildPythonPackage rec {
] ++ lib.optionals stdenv.isDarwin [
# Requires loopback networking
"--deselect=pyarrow/tests/test_ipc.py::test_socket_"
"--deselect=pyarrow/tests/test_flight.py::test_never_sends_data"
"--deselect=pyarrow/tests/test_flight.py::test_large_descriptor"
"--deselect=pyarrow/tests/test_flight.py::test_large_metadata_client"
"--deselect=pyarrow/tests/test_flight.py::test_none_action_side_effect"
];
dontUseSetuptoolsCheck = true;
preCheck = ''
shopt -s extglob
rm -r pyarrow/!(tests)
'' + lib.optionalString stdenv.isDarwin ''
# OSError: [Errno 24] Too many open files
ulimit -n 1024
'';
pythonImportsCheck = [ "pyarrow" ] ++ map (module: "pyarrow.${module}") ([
@ -104,7 +111,6 @@ buildPythonPackage rec {
] ++ lib.optionals (!stdenv.isDarwin) [ "plasma" ]);
meta = with lib; {
broken = stdenv.isDarwin;
description = "A cross-language development platform for in-memory data";
homepage = "https://arrow.apache.org/";
license = licenses.asl20;

@ -1,22 +1,45 @@
{ stdenv, lib, buildPythonPackage, fetchPypi, pkg-config, fuse3, trio, pytestCheckHook, pytest-trio, which, pythonAtLeast }:
{ lib
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, cython
, pkg-config
, fuse3
, trio
, python
, pytestCheckHook
, pytest-trio
, which
}:
buildPythonPackage rec {
pname = "pyfuse3";
version = "3.2.1";
src = fetchPypi {
inherit pname version;
sha256 = "22d146dac59a8429115e9a93317975ea54b35e0278044a94d3fac5b4ad5f7e33";
};
disabled = pythonOlder "3.5";
format = "setuptools";
disabled = pythonAtLeast "3.10";
src = fetchFromGitHub {
owner = "libfuse";
repo = "pyfuse3";
rev = "release-${version}";
hash = "sha256-JGbp2bSI/Rvyys1xMd2o34KlqqBsV6B9LhuuNopayYA=";
};
nativeBuildInputs = [ pkg-config ];
nativeBuildInputs = [
cython
pkg-config
];
buildInputs = [ fuse3 ];
propagatedBuildInputs = [ trio ];
preBuild = ''
${python.pythonForBuild.interpreter} setup.py build_cython
'';
checkInputs = [
pytestCheckHook
pytest-trio
@ -27,10 +50,15 @@ buildPythonPackage rec {
# Checks if a /usr/bin directory exists, can't work on NixOS
disabledTests = [ "test_listdir" ];
pythonImportsCheck = [
"pyfuse3"
"pyfuse3_asyncio"
];
meta = with lib; {
description = "Python 3 bindings for libfuse 3 with async I/O support";
homepage = "https://github.com/libfuse/pyfuse3";
license = licenses.lgpl2Plus;
maintainers = with maintainers; [ nyanloutre ];
maintainers = with maintainers; [ nyanloutre dotlambda ];
};
}

@ -1,44 +1,44 @@
{ lib
, stdenv
, buildPythonPackage
, fetchPypi
, pythonOlder
, asdf
, astropy
, setuptools-scm
, astropy-helpers
, astropy-extension-helpers
, astropy-helpers
, beautifulsoup4
, buildPythonPackage
, drms
, fetchPypi
, glymur
, h5netcdf
, hypothesis
, lxml
, matplotlib
, numpy
, pandas
, parfive
, pytestCheckHook
, pytest-astropy
, pytestCheckHook
, pytest-mock
, python-dateutil
, pythonOlder
, scikitimage
, scipy
, setuptools-scm
, sqlalchemy
, towncrier
, tqdm
, zeep
}:
buildPythonPackage rec {
pname = "sunpy";
version = "3.1.6";
version = "4.0.0";
format = "setuptools";
disabled = pythonOlder "3.6";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-mI5W4EDzTk3GryTQbnmvP+ks3VJDzw4drew9wD9+tIE=";
hash = "sha256-01eGYls8eE2e3vzDYXz5D1xQs7pxpmHt89aBKCvVdLg=";
};
nativeBuildInputs = [
@ -47,32 +47,59 @@ buildPythonPackage rec {
];
propagatedBuildInputs = [
asdf
astropy
astropy-helpers
beautifulsoup4
drms
glymur
h5netcdf
matplotlib
numpy
pandas
parfive
python-dateutil
scikitimage
scipy
sqlalchemy
towncrier
tqdm
zeep
];
passthru.optional-dependencies = {
asdf = [
asdf
# asdf-astropy
];
database = [
sqlalchemy
];
image = [
scikitimage
scipy
];
net = [
beautifulsoup4
drms
python-dateutil
tqdm
zeep
];
jpeg2000 = [
glymur
lxml
];
timeseries = [
# cdflib
h5netcdf
# h5py
matplotlib
pandas
];
};
checkInputs = [
hypothesis
pytest-astropy
pytest-mock
pytestCheckHook
];
] ++ passthru.optional-dependencies.asdf
++ passthru.optional-dependencies.database
++ passthru.optional-dependencies.image
++ passthru.optional-dependencies.net
++ passthru.optional-dependencies.timeseries;
postPatch = ''
substituteInPlace setup.cfg \
--replace " --dist no" ""
'';
# darwin has write permission issues
doCheck = stdenv.isLinux;
@ -86,18 +113,16 @@ buildPythonPackage rec {
"test_sunpy_warnings_logging"
"test_main_nonexisting_module"
"test_main_stdlib_module"
"test_find_dependencies"
];
disabledTestPaths = [
"sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/helioprojective-1.0.0.yaml"
"sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/heliocentric-1.0.0.yaml"
"sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/heliographic_carrington-*.yaml"
"sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/geocentricearthequatorial-1.0.0.yaml"
"sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/geocentricsolarecliptic-1.0.0.yaml"
"sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/heliocentricearthecliptic-1.0.0.yaml"
"sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/heliocentricinertial-1.0.0.yaml"
"sunpy/io/special/asdf/schemas/sunpy.org/sunpy/map/generic_map-1.0.0.yaml"
# requires mpl-animators package
# Tests are very slow
"sunpy/net/tests/test_fido.py"
# asdf.extensions plugin issue
"sunpy/io/special/asdf/resources/schemas/"
"sunpy/io/special/asdf/resources/manifests/sunpy-1.0.0.yaml"
# Requires mpl-animators package
"sunpy/map/tests/test_compositemap.py"
"sunpy/map/tests/test_mapbase.py"
"sunpy/map/tests/test_mapsequence.py"
@ -109,8 +134,12 @@ buildPythonPackage rec {
"sunpy/visualization/animator/tests/test_mapsequenceanimator.py"
"sunpy/visualization/animator/tests/test_wcs.py"
"sunpy/visualization/colormaps/tests/test_cm.py"
# requires cdflib package
# Requires cdflib package
"sunpy/timeseries/tests/test_timeseries_factory.py"
# Requires jplephem
"sunpy/image/tests/test_transform.py"
"sunpy/io/special/asdf/tests/test_coordinate_frames.py"
"sunpy/io/special/asdf/tests/test_genericmap.py"
# distutils is deprecated
"sunpy/io/setup_package.py"
];

@ -5,12 +5,12 @@
buildPythonPackage rec {
pname = "types-setuptools";
version = "57.4.15";
version = "57.4.17";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-ZQUozoA1hgKdfxU/Mq7S26prsoiLIzM0r4DXumPtPIc=";
sha256 = "sha256-nVVvyvaAihzq1KqkHlwHph8BUqh1gR4SOXOOuk4LexY=";
};
# Module doesn't have tests

@ -0,0 +1,80 @@
{ lib
, buildPythonPackage
, pythonOlder
, fetchPypi
, click
, click-default-group
, docformatter
, jinja2
, toposort
, lxml
, requests
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "xsdata";
version = "22.5";
disabled = pythonOlder "3.6";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "701dcda5a4a07df3a642f8fb6f73f0e2e18224d359bcb7f4212b3c29d7af72c2";
};
postPatch = ''
substituteInPlace setup.cfg \
--replace "--benchmark-skip" ""
'';
passthru.optional-dependencies = {
cli = [
click
click-default-group
docformatter
jinja2
toposort
];
lxml = [
lxml
];
soap = [
requests
];
};
checkInputs = [
pytestCheckHook
] ++ passthru.optional-dependencies.cli
++ passthru.optional-dependencies.lxml
++ passthru.optional-dependencies.soap;
disabledTestPaths = [
"tests/integration/benchmarks"
];
pythonImportsCheck = [
"xsdata.formats.dataclass.context"
"xsdata.formats.dataclass.models.elements"
"xsdata.formats.dataclass.models.generics"
"xsdata.formats.dataclass.parsers"
"xsdata.formats.dataclass.parsers.handlers"
"xsdata.formats.dataclass.parsers.nodes"
"xsdata.formats.dataclass.serializers"
"xsdata.formats.dataclass.serializers.config"
"xsdata.formats.dataclass.serializers.mixins"
"xsdata.formats.dataclass.serializers.writers"
"xsdata.models.config"
"xsdata.utils.text"
];
meta = {
description = "Python XML Binding";
homepage = "https://github.com/tefra/xsdata";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}

@ -3,14 +3,14 @@
stdenv.mkDerivation rec {
pname = "glpaper";
version = "unstable-2020-10-11";
version = "unstable-2022-05-15";
src = fetchFromSourcehut {
owner = "~scoopta";
repo = pname;
vc = "hg";
rev = "9e7ec7cd270af330039c395345c7d23c04682267";
sha256 = "sha256-yBHRg6eg+PK/ixuM0MBty3RJY9qcemr3Dt+8SAitqnk=";
rev = "f89e60b7941fb60f1069ed51af9c5bb4917aab35";
sha256 = "sha256-E7FKjt3NL0aAEibfaq+YS2IVvpjNjInA+Rs8SU63/3M=";
};
nativeBuildInputs = [ meson ninja pkg-config ];

@ -1,59 +0,0 @@
{ stdenv, lib, fetchurl, buildEnv, makeWrapper
, xorg, alsa-lib, dbus, glib, gtk2, atk, pango, freetype, fontconfig
, gdk-pixbuf, cairo, nss, nspr, gconf, expat, systemd, libcap
, libnotify}:
let
bits = if stdenv.hostPlatform.system == "x86_64-linux" then "x64"
else "ia32";
nwEnv = buildEnv {
name = "nwjs-env";
paths = [
xorg.libX11 xorg.libXrender glib gtk2 atk pango cairo gdk-pixbuf
freetype fontconfig xorg.libXcomposite alsa-lib xorg.libXdamage
xorg.libXext xorg.libXfixes nss nspr gconf expat dbus
xorg.libXtst xorg.libXi xorg.libXcursor xorg.libXrandr libcap
libnotify
];
extraOutputsToInstall = [ "lib" "out" ];
};
in stdenv.mkDerivation rec {
pname = "nwjs";
version = "0.12.3";
src = fetchurl {
url = "https://dl.nwjs.io/v${version}/nwjs-v${version}-linux-${bits}.tar.gz";
sha256 = if bits == "x64" then
"1i5ipn5x188cx54pbbmjj1bz89vvcfx5z1c7pqy2xzglkyb2xsyg" else
"117gx6yjbcya64yg2vybcfyp591sid209pg8a33k9afbsmgz684c";
};
installPhase = ''
mkdir -p $out/share/nwjs
cp -R * $out/share/nwjs
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/nwjs/nw
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/nwjs/nwjc
ln -s ${lib.getLib systemd}/lib/libudev.so $out/share/nwjs/libudev.so.0
patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:${lib.makeLibraryPath [ stdenv.cc.cc ]}:$out/share/nwjs" $out/share/nwjs/nw
patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/nwjs" $out/share/nwjs/nwjc
mkdir -p $out/bin
ln -s $out/share/nwjs/nw $out/bin
ln -s $out/share/nwjs/nwjc $out/bin
'';
nativeBuildInputs = [ makeWrapper ];
meta = with lib; {
description = "An app runtime based on Chromium and node.js";
homepage = "https://nwjs.io/";
platforms = ["i686-linux" "x86_64-linux"];
maintainers = [ maintainers.offline ];
license = licenses.bsd3;
};
}

@ -14,6 +14,12 @@ stdenv.mkDerivation rec {
url = "https://github.com/gnif/LookingGlass/commit/a9b5302a517e19d7a2da114acf71ef1e69cfb497.patch";
sha256 = "017nxlk2f7kyjp6llwa74dbczdb1jk8v791qld81dxhzkm9dyqqx";
stripLen = 1;
})
++ lib.optional (kernel.kernelAtLeast "5.18") (fetchpatch {
name = "kvmfr-5.18.patch";
url = "https://github.com/gnif/LookingGlass/commit/c7029f95042fe902843cb6acbfc75889e93dc210.patch";
sha256 = "sha256-6DpL17XWj8BKpiBdKdCPC51MWKLIo6PixQ9UaygT2Zg=";
stripLen = 1;
});
makeFlags = [
@ -35,6 +41,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl2Plus;
maintainers = with maintainers; [ j-brn ];
platforms = [ "x86_64-linux" ];
broken = kernel.kernelOlder "5.3" && kernel.kernelAtLeast "5.18";
broken = kernel.kernelOlder "5.3";
};
}

@ -41,6 +41,8 @@ stdenv.mkDerivation (common // {
runHook postInstall
'';
enableParallelBuilding = true;
meta = common.meta // {
description = "An entirely open source Linux driver that allows you to manage your Razer peripherals on GNU/Linux";
broken = kernel.kernelOlder "4.19";

@ -1,62 +0,0 @@
{ poetry2nix, pkgs, lib }:
let
inherit (poetry2nix.mkPoetryPackages {
projectDir = ./.;
overrides = [
poetry2nix.defaultPoetryOverrides
(import ./poetry-git-overlay.nix { inherit pkgs; })
(self: super: {
dmarc-metrics-exporter = super.dmarc-metrics-exporter.overridePythonAttrs ({ nativeBuildInputs ? [ ], meta ? {}, ... }: {
nativeBuildInputs = nativeBuildInputs ++ [ self.poetry ];
meta = with lib; meta // {
license = licenses.mit;
homepage = "https://github.com/jgosmann/dmarc-metrics-exporter/";
description = " Export Prometheus metrics from DMARC reports";
maintainers = with maintainers; [ ma27 ];
};
});
more-properties = super.more-properties.overridePythonAttrs (old: {
src = pkgs.fetchFromGitHub {
owner = "madman-bob";
repo = "python-more-properties";
rev = old.version;
sha256 = "sha256-dKG97rw5IG19m7u3ZDBM2yGScL5cFaKBvGZxPVJaUTE=";
};
postPatch = ''
sed -i -e '/dataclasses/d' requirements.txt
cp ./pypi_upload/setup.py setup.py
substituteInPlace setup.py \
--replace "parents[1]" "parents[0]"
'';
});
dataclasses-serialization = super.dataclasses-serialization.overridePythonAttrs (old: {
src = pkgs.fetchFromGitHub {
owner = "madman-bob";
repo = "python-dataclasses-serialization";
rev = old.version;
sha256 = "sha256-jLMR2D01KgzHHRP0zduMBJt8xgBmIquWLCjZYLo2/AA=";
};
postPatch = ''
sed -i -e '/dataclasses/d' requirements.txt
cp ./pypi_upload/setup.py setup.py
substituteInPlace setup.py \
--replace "parents[1]" "parents[0]"
'';
});
dataclasses = null;
bite-parser = super.bite-parser.overridePythonAttrs (old: {
nativeBuildInputs = old.nativeBuildInputs ++ [ self.poetry ];
});
})
];
}) python;
env = python.withPackages (p: [ p.dmarc-metrics-exporter ]);
in
(pkgs.writeShellScriptBin "prometheus-dmarc-exporter" ''
export PYTHONPATH="${env}/lib/${env.libPrefix}/site-packages''${PYTHONPATH:+:}''${PYTHONPATH}"
exec ${env}/bin/python3 -m dmarc_metrics_exporter "$@"
'') // {
inherit (python.pkgs.dmarc-metrics-exporter) meta;
}

@ -1,14 +0,0 @@
{ pkgs }:
self: super: {
dmarc-metrics-exporter = super.dmarc-metrics-exporter.overridePythonAttrs (
_: {
src = pkgs.fetchgit {
url = "https://github.com/jgosmann/dmarc-metrics-exporter.git";
rev = "3f1a0161d7ed51b9de48c056dcbc545b6375e872";
sha256 = "18sndv32ig0xq7s42hvkdxbb9qxvycmnrawm3x22cp7zfidgfkh2";
};
}
);
}

@ -1,503 +0,0 @@
[[package]]
name = "asgiref"
version = "3.5.0"
description = "ASGI specs, helper code, and adapters"
category = "main"
optional = false
python-versions = ">=3.7"
[package.dependencies]
typing-extensions = {version = "*", markers = "python_version < \"3.8\""}
[package.extras]
tests = ["pytest", "pytest-asyncio", "mypy (>=0.800)"]
[[package]]
name = "bite-parser"
version = "0.1.1"
description = "Asynchronous parser taking incremental bites out of your byte input stream."
category = "main"
optional = false
python-versions = ">=3.7,<=3.10"
[[package]]
name = "click"
version = "8.0.4"
description = "Composable command line interface toolkit"
category = "main"
optional = false
python-versions = ">=3.6"
[package.dependencies]
colorama = {version = "*", markers = "platform_system == \"Windows\""}
importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
[[package]]
name = "colorama"
version = "0.4.4"
description = "Cross-platform colored terminal text."
category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
[[package]]
name = "dataclasses"
version = "0.6"
description = "A backport of the dataclasses module for Python 3.6"
category = "main"
optional = false
python-versions = "*"
[[package]]
name = "dataclasses-serialization"
version = "1.3.1"
description = "Serialize/deserialize Python dataclasses to various other data formats"
category = "main"
optional = false
python-versions = ">=3.6"
[package.dependencies]
dataclasses = "*"
more-properties = ">=1.1.0"
toolz = "*"
toposort = "*"
typing-inspect = "*"
[[package]]
name = "dmarc-metrics-exporter"
version = "0.5.1"
description = "Export Prometheus metrics from DMARC reports."
category = "main"
optional = false
python-versions = "^3.7,<3.10"
develop = false
[package.dependencies]
bite-parser = "^0.1.1"
dataclasses-serialization = "^1.3.1"
prometheus_client = "^0.11.0"
typing-extensions = "^4.0.1"
uvicorn = {version = "^0.15.0", extras = ["standard"]}
xsdata = "^21.9"
[package.source]
type = "git"
url = "https://github.com/jgosmann/dmarc-metrics-exporter.git"
reference = "v0.5.1"
resolved_reference = "3f1a0161d7ed51b9de48c056dcbc545b6375e872"
[[package]]
name = "h11"
version = "0.13.0"
description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
category = "main"
optional = false
python-versions = ">=3.6"
[package.dependencies]
typing-extensions = {version = "*", markers = "python_version < \"3.8\""}
[[package]]
name = "httptools"
version = "0.2.0"
description = "A collection of framework independent HTTP protocol utils."
category = "main"
optional = false
python-versions = "*"
[package.extras]
test = ["Cython (==0.29.22)"]
[[package]]
name = "importlib-metadata"
version = "4.11.1"
description = "Read metadata from Python packages"
category = "main"
optional = false
python-versions = ">=3.7"
[package.dependencies]
typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""}
zipp = ">=0.5"
[package.extras]
docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
perf = ["ipython"]
testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "packaging", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)", "importlib-resources (>=1.3)"]
[[package]]
name = "more-properties"
version = "1.1.1"
description = "A collection of property variants"
category = "main"
optional = false
python-versions = ">=3.6"
[package.dependencies]
dataclasses = "*"
[[package]]
name = "mypy-extensions"
version = "0.4.3"
description = "Experimental type system extensions for programs checked with the mypy typechecker."
category = "main"
optional = false
python-versions = "*"
[[package]]
name = "prometheus-client"
version = "0.11.0"
description = "Python client for the Prometheus monitoring system."
category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[package.extras]
twisted = ["twisted"]
[[package]]
name = "python-dotenv"
version = "0.19.2"
description = "Read key-value pairs from a .env file and set them as environment variables"
category = "main"
optional = false
python-versions = ">=3.5"
[package.extras]
cli = ["click (>=5.0)"]
[[package]]
name = "pyyaml"
version = "6.0"
description = "YAML parser and emitter for Python"
category = "main"
optional = false
python-versions = ">=3.6"
[[package]]
name = "toolz"
version = "0.11.2"
description = "List processing tools and functional utilities"
category = "main"
optional = false
python-versions = ">=3.5"
[[package]]
name = "toposort"
version = "1.7"
description = "\"Implements a topological sort algorithm.\""
category = "main"
optional = false
python-versions = "*"
[[package]]
name = "typing-extensions"
version = "4.1.1"
description = "Backported and Experimental Type Hints for Python 3.6+"
category = "main"
optional = false
python-versions = ">=3.6"
[[package]]
name = "typing-inspect"
version = "0.7.1"
description = "Runtime inspection utilities for typing module."
category = "main"
optional = false
python-versions = "*"
[package.dependencies]
mypy-extensions = ">=0.3.0"
typing-extensions = ">=3.7.4"
[[package]]
name = "uvicorn"
version = "0.15.0"
description = "The lightning-fast ASGI server."
category = "main"
optional = false
python-versions = "*"
[package.dependencies]
asgiref = ">=3.4.0"
click = ">=7.0"
colorama = {version = ">=0.4", optional = true, markers = "sys_platform == \"win32\" and extra == \"standard\""}
h11 = ">=0.8"
httptools = {version = ">=0.2.0,<0.3.0", optional = true, markers = "extra == \"standard\""}
python-dotenv = {version = ">=0.13", optional = true, markers = "extra == \"standard\""}
PyYAML = {version = ">=5.1", optional = true, markers = "extra == \"standard\""}
typing-extensions = {version = "*", markers = "python_version < \"3.8\""}
uvloop = {version = ">=0.14.0,<0.15.0 || >0.15.0,<0.15.1 || >0.15.1", optional = true, markers = "sys_platform != \"win32\" and sys_platform != \"cygwin\" and platform_python_implementation != \"PyPy\" and extra == \"standard\""}
watchgod = {version = ">=0.6", optional = true, markers = "extra == \"standard\""}
websockets = {version = ">=9.1", optional = true, markers = "extra == \"standard\""}
[package.extras]
standard = ["websockets (>=9.1)", "httptools (>=0.2.0,<0.3.0)", "watchgod (>=0.6)", "python-dotenv (>=0.13)", "PyYAML (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "colorama (>=0.4)"]
[[package]]
name = "uvloop"
version = "0.16.0"
description = "Fast implementation of asyncio event loop on top of libuv"
category = "main"
optional = false
python-versions = ">=3.7"
[package.extras]
dev = ["Cython (>=0.29.24,<0.30.0)", "pytest (>=3.6.0)", "Sphinx (>=4.1.2,<4.2.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "aiohttp", "flake8 (>=3.9.2,<3.10.0)", "psutil", "pycodestyle (>=2.7.0,<2.8.0)", "pyOpenSSL (>=19.0.0,<19.1.0)", "mypy (>=0.800)"]
docs = ["Sphinx (>=4.1.2,<4.2.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)"]
test = ["aiohttp", "flake8 (>=3.9.2,<3.10.0)", "psutil", "pycodestyle (>=2.7.0,<2.8.0)", "pyOpenSSL (>=19.0.0,<19.1.0)", "mypy (>=0.800)"]
[[package]]
name = "watchgod"
version = "0.7"
description = "Simple, modern file watching and code reload in python."
category = "main"
optional = false
python-versions = ">=3.5"
[[package]]
name = "websockets"
version = "10.2"
description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)"
category = "main"
optional = false
python-versions = ">=3.7"
[[package]]
name = "xsdata"
version = "21.12"
description = "Python XML Binding"
category = "main"
optional = false
python-versions = ">=3.6"
[package.dependencies]
importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
[package.extras]
cli = ["click (>=5.0)", "click-default-group (>=1.2)", "docformatter", "jinja2 (>=2.10)", "toposort (>=1.5)"]
docs = ["furo", "sphinx", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinx-copybutton", "sphinx-inline-tabs"]
lxml = ["lxml (>=4.4.1)"]
soap = ["requests"]
test = ["codecov", "pre-commit", "pytest", "pytest-benchmark", "pytest-cov", "tox"]
[[package]]
name = "zipp"
version = "3.7.0"
description = "Backport of pathlib-compatible object wrapper for zip files"
category = "main"
optional = false
python-versions = ">=3.7"
[package.extras]
docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"]
[metadata]
lock-version = "1.1"
python-versions = "^3.7,<3.10"
content-hash = "60bf34673c42fc90f369a810cb542b1b03c8e52cd019e7a9e86650de19544d01"
[metadata.files]
asgiref = [
{file = "asgiref-3.5.0-py3-none-any.whl", hash = "sha256:88d59c13d634dcffe0510be048210188edd79aeccb6a6c9028cdad6f31d730a9"},
{file = "asgiref-3.5.0.tar.gz", hash = "sha256:2f8abc20f7248433085eda803936d98992f1343ddb022065779f37c5da0181d0"},
]
bite-parser = [
{file = "bite-parser-0.1.1.tar.gz", hash = "sha256:8021100bfbd6cc6056605361e763a3591efdea38014b3d8aa76c74c74de4ead4"},
{file = "bite_parser-0.1.1-py3-none-any.whl", hash = "sha256:96803e7d63112e81544c9747fbd50cca61097dcf5973ae6cc710f3a96646600a"},
]
click = [
{file = "click-8.0.4-py3-none-any.whl", hash = "sha256:6a7a62563bbfabfda3a38f3023a1db4a35978c0abd76f6c9605ecd6554d6d9b1"},
{file = "click-8.0.4.tar.gz", hash = "sha256:8458d7b1287c5fb128c90e23381cf99dcde74beaf6c7ff6384ce84d6fe090adb"},
]
colorama = [
{file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"},
{file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"},
]
dataclasses = [
{file = "dataclasses-0.6-py3-none-any.whl", hash = "sha256:454a69d788c7fda44efd71e259be79577822f5e3f53f029a22d08004e951dc9f"},
{file = "dataclasses-0.6.tar.gz", hash = "sha256:6988bd2b895eef432d562370bb707d540f32f7360ab13da45340101bc2307d84"},
]
dataclasses-serialization = [
{file = "dataclasses_serialization-1.3.1-py3-none-any.whl", hash = "sha256:34294b1a68944c8d8ac00d2a53aecb8499301401aec6d024ba829ac3931e3b2a"},
{file = "dataclasses_serialization-1.3.1.tar.gz", hash = "sha256:7f9cf6b11e0650ab89691b1a0050dcce3aef4d389dd4540a53316c4151485921"},
]
dmarc-metrics-exporter = []
h11 = [
{file = "h11-0.13.0-py3-none-any.whl", hash = "sha256:8ddd78563b633ca55346c8cd41ec0af27d3c79931828beffb46ce70a379e7442"},
{file = "h11-0.13.0.tar.gz", hash = "sha256:70813c1135087a248a4d38cc0e1a0181ffab2188141a93eaf567940c3957ff06"},
]
httptools = [
{file = "httptools-0.2.0-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:79dbc21f3612a78b28384e989b21872e2e3cf3968532601544696e4ed0007ce5"},
{file = "httptools-0.2.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:78d03dd39b09c99ec917d50189e6743adbfd18c15d5944392d2eabda688bf149"},
{file = "httptools-0.2.0-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:a23166e5ae2775709cf4f7ad4c2048755ebfb272767d244e1a96d55ac775cca7"},
{file = "httptools-0.2.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:3ab1f390d8867f74b3b5ee2a7ecc9b8d7f53750bd45714bf1cb72a953d7dfa77"},
{file = "httptools-0.2.0-cp36-cp36m-win_amd64.whl", hash = "sha256:a7594f9a010cdf1e16a58b3bf26c9da39bbf663e3b8d46d39176999d71816658"},
{file = "httptools-0.2.0-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:01b392a166adcc8bc2f526a939a8aabf89fe079243e1543fd0e7dc1b58d737cb"},
{file = "httptools-0.2.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:80ffa04fe8c8dfacf6e4cef8277347d35b0442c581f5814f3b0cf41b65c43c6e"},
{file = "httptools-0.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d5682eeb10cca0606c4a8286a3391d4c3c5a36f0c448e71b8bd05be4e1694bfb"},
{file = "httptools-0.2.0-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:a289c27ccae399a70eacf32df9a44059ca2ba4ac444604b00a19a6c1f0809943"},
{file = "httptools-0.2.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:813871f961edea6cb2fe312f2d9b27d12a51ba92545380126f80d0de1917ea15"},
{file = "httptools-0.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:cc9be041e428c10f8b6ab358c6b393648f9457094e1dcc11b4906026d43cd380"},
{file = "httptools-0.2.0-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:b08d00d889a118f68f37f3c43e359aab24ee29eb2e3fe96d64c6a2ba8b9d6557"},
{file = "httptools-0.2.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:fd3b8905e21431ad306eeaf56644a68fdd621bf8f3097eff54d0f6bdf7262065"},
{file = "httptools-0.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:200fc1cdf733a9ff554c0bb97a4047785cfaad9875307d6087001db3eb2b417f"},
{file = "httptools-0.2.0.tar.gz", hash = "sha256:94505026be56652d7a530ab03d89474dc6021019d6b8682281977163b3471ea0"},
]
importlib-metadata = [
{file = "importlib_metadata-4.11.1-py3-none-any.whl", hash = "sha256:e0bc84ff355328a4adfc5240c4f211e0ab386f80aa640d1b11f0618a1d282094"},
{file = "importlib_metadata-4.11.1.tar.gz", hash = "sha256:175f4ee440a0317f6e8d81b7f8d4869f93316170a65ad2b007d2929186c8052c"},
]
more-properties = [
{file = "more_properties-1.1.1-py3-none-any.whl", hash = "sha256:0992c49041cb2600e5ff4d8414bdf5761551f5404d00a4e553ced4f14d34b0bb"},
{file = "more_properties-1.1.1.tar.gz", hash = "sha256:47b136857d89c72b53def0fade2f2e0a23a95071c3eb87d5a77cfc91554f106c"},
]
mypy-extensions = [
{file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"},
{file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"},
]
prometheus-client = [
{file = "prometheus_client-0.11.0-py2.py3-none-any.whl", hash = "sha256:b014bc76815eb1399da8ce5fc84b7717a3e63652b0c0f8804092c9363acab1b2"},
{file = "prometheus_client-0.11.0.tar.gz", hash = "sha256:3a8baade6cb80bcfe43297e33e7623f3118d660d41387593758e2fb1ea173a86"},
]
python-dotenv = [
{file = "python-dotenv-0.19.2.tar.gz", hash = "sha256:a5de49a31e953b45ff2d2fd434bbc2670e8db5273606c1e737cc6b93eff3655f"},
{file = "python_dotenv-0.19.2-py2.py3-none-any.whl", hash = "sha256:32b2bdc1873fd3a3c346da1c6db83d0053c3c62f28f1f38516070c4c8971b1d3"},
]
pyyaml = [
{file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"},
{file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"},
{file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"},
{file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"},
{file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"},
{file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"},
{file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"},
{file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"},
{file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"},
{file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"},
{file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"},
{file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"},
{file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"},
{file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"},
{file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"},
{file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"},
{file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"},
{file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"},
{file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"},
{file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"},
{file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"},
{file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"},
{file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"},
{file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"},
{file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"},
{file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"},
{file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"},
{file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"},
{file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"},
{file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"},
{file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"},
{file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"},
{file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"},
]
toolz = [
{file = "toolz-0.11.2-py3-none-any.whl", hash = "sha256:a5700ce83414c64514d82d60bcda8aabfde092d1c1a8663f9200c07fdcc6da8f"},
{file = "toolz-0.11.2.tar.gz", hash = "sha256:6b312d5e15138552f1bda8a4e66c30e236c831b612b2bf0005f8a1df10a4bc33"},
]
toposort = [
{file = "toposort-1.7-py2.py3-none-any.whl", hash = "sha256:8ed8e109e96ae30bf66da2d2155e4eb9989d9c5c743c837e37d9774a4eddd804"},
{file = "toposort-1.7.tar.gz", hash = "sha256:ddc2182c42912a440511bd7ff5d3e6a1cabc3accbc674a3258c8c41cbfbb2125"},
]
typing-extensions = [
{file = "typing_extensions-4.1.1-py3-none-any.whl", hash = "sha256:21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2"},
{file = "typing_extensions-4.1.1.tar.gz", hash = "sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42"},
]
typing-inspect = [
{file = "typing_inspect-0.7.1-py2-none-any.whl", hash = "sha256:b1f56c0783ef0f25fb064a01be6e5407e54cf4a4bf4f3ba3fe51e0bd6dcea9e5"},
{file = "typing_inspect-0.7.1-py3-none-any.whl", hash = "sha256:3cd7d4563e997719a710a3bfe7ffb544c6b72069b6812a02e9b414a8fa3aaa6b"},
{file = "typing_inspect-0.7.1.tar.gz", hash = "sha256:047d4097d9b17f46531bf6f014356111a1b6fb821a24fe7ac909853ca2a782aa"},
]
uvicorn = [
{file = "uvicorn-0.15.0-py3-none-any.whl", hash = "sha256:17f898c64c71a2640514d4089da2689e5db1ce5d4086c2d53699bf99513421c1"},
{file = "uvicorn-0.15.0.tar.gz", hash = "sha256:d9a3c0dd1ca86728d3e235182683b4cf94cd53a867c288eaeca80ee781b2caff"},
]
uvloop = [
{file = "uvloop-0.16.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6224f1401025b748ffecb7a6e2652b17768f30b1a6a3f7b44660e5b5b690b12d"},
{file = "uvloop-0.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:30ba9dcbd0965f5c812b7c2112a1ddf60cf904c1c160f398e7eed3a6b82dcd9c"},
{file = "uvloop-0.16.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:bd53f7f5db562f37cd64a3af5012df8cac2c464c97e732ed556800129505bd64"},
{file = "uvloop-0.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:772206116b9b57cd625c8a88f2413df2fcfd0b496eb188b82a43bed7af2c2ec9"},
{file = "uvloop-0.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b572256409f194521a9895aef274cea88731d14732343da3ecdb175228881638"},
{file = "uvloop-0.16.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:04ff57aa137230d8cc968f03481176041ae789308b4d5079118331ab01112450"},
{file = "uvloop-0.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a19828c4f15687675ea912cc28bbcb48e9bb907c801873bd1519b96b04fb805"},
{file = "uvloop-0.16.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e814ac2c6f9daf4c36eb8e85266859f42174a4ff0d71b99405ed559257750382"},
{file = "uvloop-0.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bd8f42ea1ea8f4e84d265769089964ddda95eb2bb38b5cbe26712b0616c3edee"},
{file = "uvloop-0.16.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:647e481940379eebd314c00440314c81ea547aa636056f554d491e40503c8464"},
{file = "uvloop-0.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e0d26fa5875d43ddbb0d9d79a447d2ace4180d9e3239788208527c4784f7cab"},
{file = "uvloop-0.16.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6ccd57ae8db17d677e9e06192e9c9ec4bd2066b77790f9aa7dede2cc4008ee8f"},
{file = "uvloop-0.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:089b4834fd299d82d83a25e3335372f12117a7d38525217c2258e9b9f4578897"},
{file = "uvloop-0.16.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98d117332cc9e5ea8dfdc2b28b0a23f60370d02e1395f88f40d1effd2cb86c4f"},
{file = "uvloop-0.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e5f2e2ff51aefe6c19ee98af12b4ae61f5be456cd24396953244a30880ad861"},
{file = "uvloop-0.16.0.tar.gz", hash = "sha256:f74bc20c7b67d1c27c72601c78cf95be99d5c2cdd4514502b4f3eb0933ff1228"},
]
watchgod = [
{file = "watchgod-0.7-py3-none-any.whl", hash = "sha256:d6c1ea21df37847ac0537ca0d6c2f4cdf513562e95f77bb93abbcf05573407b7"},
{file = "watchgod-0.7.tar.gz", hash = "sha256:48140d62b0ebe9dd9cf8381337f06351e1f2e70b2203fa9c6eff4e572ca84f29"},
]
websockets = [
{file = "websockets-10.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5396710f86a306cf52f87fd8ea594a0e894ba0cc5a36059eaca3a477dc332aa"},
{file = "websockets-10.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b22bdc795e62e71118b63e14a08bacfa4f262fd2877de7e5b950f5ac16b0348f"},
{file = "websockets-10.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5b04270b5613f245ec84bb2c6a482a9d009aefad37c0575f6cda8499125d5d5c"},
{file = "websockets-10.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5c335dc0e7dc271ef36df3f439868b3c790775f345338c2f61a562f1074187b"},
{file = "websockets-10.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6a009eb551c46fd79737791c0c833fc0e5b56bcd1c3057498b262d660b92e9cd"},
{file = "websockets-10.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a10c0c1ee02164246f90053273a42d72a3b2452a7e7486fdae781138cf7fbe2d"},
{file = "websockets-10.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7b38a5c9112e3dbbe45540f7b60c5204f49b3cb501b40950d6ab34cd202ab1d0"},
{file = "websockets-10.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:2aa9b91347ecd0412683f28aabe27f6bad502d89bd363b76e0a3508b1596402e"},
{file = "websockets-10.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b7fe45ae43ac814beb8ca09d6995b56800676f2cfa8e23f42839dc69bba34a42"},
{file = "websockets-10.2-cp310-cp310-win32.whl", hash = "sha256:cef40a1b183dcf39d23b392e9dd1d9b07ab9c46aadf294fff1350fb79146e72b"},
{file = "websockets-10.2-cp310-cp310-win_amd64.whl", hash = "sha256:c21a67ab9a94bd53e10bba21912556027fea944648a09e6508415ad14e37c325"},
{file = "websockets-10.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:cb316b87cbe3c0791c2ad92a5a36bf6adc87c457654335810b25048c1daa6fd5"},
{file = "websockets-10.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f14bd10e170abc01682a9f8b28b16e6f20acf6175945ef38db6ffe31b0c72c3f"},
{file = "websockets-10.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fa35c5d1830d0fb7b810324e9eeab9aa92e8f273f11fdbdc0741dcded6d72b9f"},
{file = "websockets-10.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:71a4491cfe7a9f18ee57d41163cb6a8a3fa591e0f0564ca8b0ed86b2a30cced4"},
{file = "websockets-10.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:6193bbc1ee63aadeb9a4d81de0e19477401d150d506aee772d8380943f118186"},
{file = "websockets-10.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:8beac786a388bb99a66c3be4ab0fb38273c0e3bc17f612a4e0a47c4fc8b9c045"},
{file = "websockets-10.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c67d9cacb3f6537ca21e9b224d4fd08481538e43bcac08b3d93181b0816def39"},
{file = "websockets-10.2-cp37-cp37m-win32.whl", hash = "sha256:a03a25d95cc7400bd4d61a63460b5d85a7761c12075ee2f51de1ffe73aa593d3"},
{file = "websockets-10.2-cp37-cp37m-win_amd64.whl", hash = "sha256:f8296b8408ec6853b26771599990721a26403e62b9de7e50ac0a056772ac0b5e"},
{file = "websockets-10.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:7bb9d8a6beca478c7e9bdde0159bd810cc1006ad6a7cb460533bae39da692ca2"},
{file = "websockets-10.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:05f6e9757017270e7a92a2975e2ae88a9a582ffc4629086fd6039aa80e99cd86"},
{file = "websockets-10.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1c9031e90ebfc486e9cdad532b94004ade3aa39a31d3c46c105bb0b579cd2490"},
{file = "websockets-10.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82bc33db6d8309dc27a3bee11f7da2288ad925fcbabc2a4bb78f7e9c56249baf"},
{file = "websockets-10.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:24b879ba7db12bb525d4e58089fcbe6a3df3ce4666523183654170e86d372cbe"},
{file = "websockets-10.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cf931c33db9c87c53d009856045dd524e4a378445693382a920fa1e0eb77c36c"},
{file = "websockets-10.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:669e54228a4d9457abafed27cbf0e2b9f401445c4dfefc12bf8e4db9751703b8"},
{file = "websockets-10.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:bffc65442dd35c473ca9790a3fa3ba06396102a950794f536783f4b8060af8dd"},
{file = "websockets-10.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d4d110a84b63c5cfdd22485acc97b8b919aefeecd6300c0c9d551e055b9a88ea"},
{file = "websockets-10.2-cp38-cp38-win32.whl", hash = "sha256:117383d0a17a0dda349f7a8790763dde75c1508ff8e4d6e8328b898b7df48397"},
{file = "websockets-10.2-cp38-cp38-win_amd64.whl", hash = "sha256:0b66421f9f13d4df60cd48ab977ed2c2b6c9147ae1a33caf5a9f46294422fda1"},
{file = "websockets-10.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ac081aa0307f263d63c5ff0727935c736c8dad51ddf2dc9f5d0c4759842aefaa"},
{file = "websockets-10.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b4059e2ccbe6587b6dc9a01db5fc49ead9a884faa4076eea96c5ec62cb32f42a"},
{file = "websockets-10.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9ca2ca05a4c29179f06cf6727b45dba5d228da62623ec9df4184413d8aae6cb9"},
{file = "websockets-10.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97950c7c844ec6f8d292440953ae18b99e3a6a09885e09d20d5e7ecd9b914cf8"},
{file = "websockets-10.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:98f57b3120f8331cd7440dbe0e776474f5e3632fdaa474af1f6b754955a47d71"},
{file = "websockets-10.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a72b92f96e5e540d5dda99ee3346e199ade8df63152fa3c737260da1730c411f"},
{file = "websockets-10.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:038afef2a05893578d10dadbdbb5f112bd115c46347e1efe99f6a356ff062138"},
{file = "websockets-10.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f09f46b1ff6d09b01c7816c50bd1903cf7d02ebbdb63726132717c2fcda835d5"},
{file = "websockets-10.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2349fa81b6b959484bb2bda556ccb9eb70ba68987646a0f8a537a1a18319fb03"},
{file = "websockets-10.2-cp39-cp39-win32.whl", hash = "sha256:bef03a51f9657fb03d8da6ccd233fe96e04101a852f0ffd35f5b725b28221ff3"},
{file = "websockets-10.2-cp39-cp39-win_amd64.whl", hash = "sha256:1c1f3b18c8162e3b09761d0c6a0305fd642934202541cc511ef972cb9463261e"},
{file = "websockets-10.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5a38a0175ae82e4a8c4bac29fc01b9ee26d7d5a614e5ee11e7813c68a7d938ce"},
{file = "websockets-10.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6e56606842bb24e16e36ae7eb308d866b4249cf0be8f63b212f287eeb76b124"},
{file = "websockets-10.2-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0f73cb2526d6da268e86977b2c4b58f2195994e53070fe567d5487c6436047e6"},
{file = "websockets-10.2-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0cd02f36d37e503aca88ab23cc0a1a0e92a263d37acf6331521eb38040dcf77b"},
{file = "websockets-10.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:56d48eebe9e39ce0d68701bce3b21df923aa05dcc00f9fd8300de1df31a7c07c"},
{file = "websockets-10.2.tar.gz", hash = "sha256:8351c3c86b08156337b0e4ece0e3c5ec3e01fcd14e8950996832a23c99416098"},
]
xsdata = [
{file = "xsdata-21.12-py3-none-any.whl", hash = "sha256:857ef5d1c1fdee09f7f1a0a0e8f2771c0469dcc60b28f9b2a7b2a0d2aba3a58f"},
{file = "xsdata-21.12.tar.gz", hash = "sha256:baba44a2909fc928f783b0cdde4e1a96d5c632414588b9934aa8adf5f60002e8"},
]
zipp = [
{file = "zipp-3.7.0-py3-none-any.whl", hash = "sha256:b47250dd24f92b7dd6a0a8fc5244da14608f3ca90a5efcd37a3b1642fac9a375"},
{file = "zipp-3.7.0.tar.gz", hash = "sha256:9f50f446828eb9d45b267433fd3e9da8d801f614129124863f9c51ebceafb87d"},
]

@ -1,14 +0,0 @@
[tool.poetry]
name = "dmarc-metrics-exporter-env"
version = "0.5.1"
description = ""
authors = []
[tool.poetry.dependencies]
python = "^3.7,<3.10"
dmarc-metrics-exporter = {git="https://github.com/jgosmann/dmarc-metrics-exporter.git", tag = "v0.5.1"}
bite-parser = "0.1.1"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

@ -1,5 +0,0 @@
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p poetry poetry2nix.cli
set -eu
poetry lock
poetry2nix lock

@ -0,0 +1,69 @@
{ lib
, python3
, fetchpatch
}:
python3.pkgs.buildPythonApplication rec {
pname = "dmarc-metrics-exporter";
version = "0.5.1";
disabled = python3.pythonOlder "3.7";
format = "pyproject";
src = python3.pkgs.fetchPypi {
inherit pname version;
sha256 = "22ec361f9a4c86abefbfab541f588597e21bf4fbedf2911f230e560b2ec3503a";
};
patches = [
# https://github.com/jgosmann/dmarc-metrics-exporter/pull/23
(fetchpatch {
url = "https://github.com/jgosmann/dmarc-metrics-exporter/commit/3fe401f5dfb9e0304601a2a89ac987ff853b7cba.patch";
hash = "sha256-MjVLlFQMp2r3AhBMu1lEmRm0Y2H9FdvCfPgAK5kvwWE=";
})
];
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'python = "^3.7,<3.10"' 'python = "^3.7,<3.11"' \
--replace poetry.masonry.api poetry.core.masonry.api \
--replace '"^' '">='
'';
nativeBuildInputs = with python3.pkgs; [
poetry-core
];
propagatedBuildInputs = with python3.pkgs; [
bite-parser
dataclasses-serialization
prometheus-client
typing-extensions
uvicorn
xsdata
];
checkInputs = with python3.pkgs; [
aiohttp
pytest-asyncio
pytestCheckHook
requests
];
disabledTestPaths = [
# require networking
"dmarc_metrics_exporter/tests/test_e2e.py"
"dmarc_metrics_exporter/tests/test_imap_client.py"
"dmarc_metrics_exporter/tests/test_imap_queue.py"
];
pythonImportsCheck = [ "dmarc_metrics_exporter" ];
meta = {
description = "Export Prometheus metrics from DMARC reports";
homepage = "https://github.com/jgosmann/dmarc-metrics-exporter";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ma27 ];
};
}

@ -27,6 +27,7 @@ python3.pkgs.buildPythonApplication rec {
'';
nativeBuildInputs = with python3.pkgs; [
cython
setuptools-scm
# For building documentation:
sphinx
@ -43,12 +44,9 @@ python3.pkgs.buildPythonApplication rec {
];
propagatedBuildInputs = with python3.pkgs; [
cython
llfuse
msgpack
packaging
] ++ lib.optionals (!stdenv.isDarwin) [
pyfuse3
(if stdenv.isLinux then pyfuse3 else llfuse)
];
preConfigure = ''

@ -1,44 +0,0 @@
{ lib, stdenv, pkgs, fetchFromGitHub, nix, node_webkit, makeDesktopItem
, writeScript }:
let
nixui = (import ./nixui.nix {
inherit pkgs;
inherit (stdenv.hostPlatform) system;
})."nixui-git+https://github.com/matejc/nixui.git#0.2.1";
script = writeScript "nixui" ''
#! ${stdenv.shell}
export PATH="${nix}/bin:\$PATH"
${node_webkit}/bin/nw ${nixui}/lib/node_modules/nixui/
'';
desktop = makeDesktopItem {
name = "nixui";
exec = script;
icon = "${nixui}/lib/node_modules/nixui/img/128.png";
desktopName = "NixUI";
genericName = "NixUI";
};
in
stdenv.mkDerivation rec {
pname = "nixui";
version = "0.2.1";
src = fetchFromGitHub {
owner = "matejc";
repo = "nixui";
rev = version;
sha256 = "sha256-KisdzZIB4wYkJojGyG9SCsR+9d6EGuDX6mro/yiJw6s=";
};
installPhase = ''
mkdir -p $out/bin
ln -s ${script} $out/bin/nixui
mkdir -p $out/share/applications
ln -s ${desktop}/share/applications/* $out/share/applications/
'';
meta = {
description = "NodeWebkit user interface for Nix";
homepage = "https://github.com/matejc/nixui";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.matejc ];
platforms = lib.platforms.unix;
};
}

@ -1,4 +0,0 @@
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p nodePackages.node2nix
exec node2nix --nodejs-10 -i pkg.json -c nixui.nix -e ../../../development/node-packages/node-env.nix --no-copy-node-env

@ -1,17 +0,0 @@
# This file has been generated by node2nix 1.9.0. Do not edit!
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-10_x"}:
let
nodeEnv = import ../../../development/node-packages/node-env.nix {
inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript;
inherit pkgs nodejs;
libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
};
in
import ./node-packages.nix {
inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
inherit nodeEnv;
}

@ -1,108 +0,0 @@
# This file has been generated by node2nix 1.9.0. Do not edit!
{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
let
sources = {
"async-0.2.10" = {
name = "async";
packageName = "async";
version = "0.2.10";
src = fetchurl {
url = "https://registry.npmjs.org/async/-/async-0.2.10.tgz";
sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
};
};
"binary-search-tree-0.2.4" = {
name = "binary-search-tree";
packageName = "binary-search-tree";
version = "0.2.4";
src = fetchurl {
url = "https://registry.npmjs.org/binary-search-tree/-/binary-search-tree-0.2.4.tgz";
sha1 = "14fe106366a59ca8efb68c0ae30c36aaff0cd510";
};
};
"isnumber-1.0.0" = {
name = "isnumber";
packageName = "isnumber";
version = "1.0.0";
src = fetchurl {
url = "https://registry.npmjs.org/isnumber/-/isnumber-1.0.0.tgz";
sha1 = "0e3f9759b581d99dd85086f0ec2a74909cfadd01";
};
};
"mkdirp-0.3.5" = {
name = "mkdirp";
packageName = "mkdirp";
version = "0.3.5";
src = fetchurl {
url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
};
};
"nedb-1.0.2" = {
name = "nedb";
packageName = "nedb";
version = "1.0.2";
src = fetchurl {
url = "https://registry.npmjs.org/nedb/-/nedb-1.0.2.tgz";
sha1 = "309f10ba29f2002f74a92fb870b8a53ba2131593";
};
};
"underscore-1.12.0" = {
name = "underscore";
packageName = "underscore";
version = "1.12.0";
src = fetchurl {
url = "https://registry.npmjs.org/underscore/-/underscore-1.12.0.tgz";
sha512 = "21rQzss/XPMjolTiIezSu3JAjgagXKROtNrYFEOWK109qY1Uv2tVjPTZ1ci2HgvQDA16gHYSthQIJfB+XId/rQ==";
};
};
"underscore-1.4.4" = {
name = "underscore";
packageName = "underscore";
version = "1.4.4";
src = fetchurl {
url = "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
sha1 = "61a6a32010622afa07963bf325203cf12239d604";
};
};
};
in
{
"nixui-git+https://github.com/matejc/nixui.git#0.2.1" = nodeEnv.buildNodePackage {
name = "nixui";
packageName = "nixui";
version = "0.2.1";
src = fetchgit {
url = "https://github.com/matejc/nixui.git";
rev = "845a5f4a33f1d0c509c727c130d0792a5b450a38";
sha256 = "2a2b1dcd9201e306242688c6c86f520ac47ef5de841ae0d7ea6ae8ff2889c3ab";
};
dependencies = [
sources."async-0.2.10"
(sources."binary-search-tree-0.2.4" // {
dependencies = [
sources."underscore-1.4.4"
];
})
sources."isnumber-1.0.0"
sources."mkdirp-0.3.5"
(sources."nedb-1.0.2" // {
dependencies = [
sources."underscore-1.4.4"
];
})
sources."underscore-1.12.0"
];
buildInputs = globalBuildInputs;
meta = {
description = "nix-env frontend written with Polymer";
homepage = "https://github.com/matejc/nixui";
license = "Apache-2.0";
};
production = true;
bypassCache = true;
reconstructLock = true;
};
}

@ -1,3 +0,0 @@
[
{ "nixui": "git+https://github.com/matejc/nixui.git#0.2.1" }
]

@ -909,6 +909,7 @@ mapAliases ({
nix_2_6 = nixVersions.nix_2_6;
nixopsUnstable = nixops_unstable; # Added 2022-03-03
nixosTest = testers.nixosTest; # Added 2022-05-05
nixui = throw "nixui has been removed from nixpkgs, due to the project being unmaintained"; # Added 2022-05-23
nmap-unfree = nmap; # Added 2021-04-06
nmap-graphical = throw "nmap graphical support has been removed due to its python2 dependency"; # Added 2022-04-26
nmap_graphical = throw "nmap graphical support has been removed due to its python2 dependency"; # Modified 2022-04-26
@ -1098,6 +1099,7 @@ mapAliases ({
proglodyte-wasm = throw "proglodyte-wasm has been removed from nixpkgs, because it is unmaintained since 5 years with zero github stars"; # Added 2021-06-30
proj_5 = throw "Proj-5 has been removed from nixpkgs, use proj instead"; # Added 2021-04-12
prometheus-cups-exporter = throw "outdated and broken by design; removed by developer"; # Added 2021-03-16
prometheus-dmarc-exporter = dmarc-metrics-exporter; # added 2022-05-31
prometheus-mesos-exporter = throw "prometheus-mesos-exporter is deprecated and archived by upstream"; # Added 2022-04-05
proxytunnel = throw "proxytunnel has been removed from nixpkgs, because it has not been update upstream since it was added to nixpkgs in 2008 and has therefore bitrotted."; # added 2021-12-15
pulseaudio-hsphfpd = throw "pulseaudio-hsphfpd upstream has been abandoned"; # Added 2022-03-23
@ -1427,6 +1429,7 @@ mapAliases ({
winpdb = throw "winpdb has been removed: abandoned by upstream"; # Added 2022-04-22
winusb = throw "'winusb' has been renamed to/replaced by 'woeusb'"; # Converted to throw 2022-02-22
wireguard = throw "'wireguard' has been renamed to/replaced by 'wireguard-tools'"; # Converted to throw 2022-02-22
wormhole-rs = magic-wormhole-rs; # Added 2022-05-30. preserve, reason: Arch package name, main binary name
wmii_hg = wmii;
wxmupen64plus = throw "wxmupen64plus was removed because the upstream disappeared"; # Added 2022-01-31

@ -7673,11 +7673,11 @@ with pkgs;
mani = callPackage ../development/tools/mani { };
mapcache = callPackage ../servers/mapcache { };
mapcache = callPackage ../servers/geospatial/mapcache { };
mapserver = callPackage ../servers/mapserver { };
mapserver = callPackage ../servers/geospatial/mapserver { };
martin = callPackage ../servers/martin {
martin = callPackage ../servers/geospatial/martin {
inherit (darwin.apple_sdk.frameworks) Security;
};
@ -10895,7 +10895,7 @@ with pkgs;
tidy-viewer = callPackage ../tools/text/tidy-viewer { };
tile38 = callPackage ../servers/tile38 { };
tile38 = callPackage ../servers/geospatial/tile38 { };
tiled = libsForQt5.callPackage ../applications/editors/tiled { };
@ -11511,7 +11511,7 @@ with pkgs;
td = callPackage ../tools/misc/td { };
tegola = callPackage ../servers/tegola {};
tegola = callPackage ../servers/geospatial/tegola {};
tftp-hpa = callPackage ../tools/networking/tftp-hpa {};
@ -13088,7 +13088,7 @@ with pkgs;
remarkable2-toolchain = callPackage ../development/tools/misc/remarkable/remarkable2-toolchain { };
t-rex = callPackage ../servers/t-rex {
t-rex = callPackage ../servers/geospatial/t-rex {
inherit (darwin.apple_sdk.frameworks) Security;
};
@ -15935,11 +15935,6 @@ with pkgs;
sdk = true;
};
# only kept for nixui, see https://github.com/matejc/nixui/issues/27
nwjs_0_12 = callPackage ../development/tools/node-webkit/nw12.nix {
gconf = gnome2.GConf;
};
nrfutil = callPackage ../development/tools/misc/nrfutil { };
obelisk = callPackage ../development/tools/ocaml/obelisk { menhir = ocamlPackages.menhir; };
@ -21714,6 +21709,8 @@ with pkgs;
dkimproxy = callPackage ../servers/mail/dkimproxy { };
dmarc-metrics-exporter = callPackage ../servers/monitoring/prometheus/dmarc-metrics-exporter { };
do-agent = callPackage ../servers/monitoring/do-agent { };
dodgy = with python3Packages; toPythonApplication dodgy;
@ -21964,7 +21961,7 @@ with pkgs;
mattermost-desktop = callPackage ../applications/networking/instant-messengers/mattermost-desktop { };
mbtileserver = callPackage ../servers/mbtileserver { };
mbtileserver = callPackage ../servers/geospatial/mbtileserver { };
memcached = callPackage ../servers/memcached {};
@ -22206,9 +22203,9 @@ with pkgs;
tomcat-native = callPackage ../servers/http/tomcat/tomcat-native.nix { };
pg_featureserv = callPackage ../servers/pg_featureserv { };
pg_featureserv = callPackage ../servers/geospatial/pg_featureserv { };
pg_tileserv = callPackage ../servers/pg_tileserv { };
pg_tileserv = callPackage ../servers/geospatial/pg_tileserv { };
pies = callPackage ../servers/pies { };
@ -22440,7 +22437,6 @@ with pkgs;
prometheus-blackbox-exporter = callPackage ../servers/monitoring/prometheus/blackbox-exporter.nix { };
prometheus-collectd-exporter = callPackage ../servers/monitoring/prometheus/collectd-exporter.nix { };
prometheus-consul-exporter = callPackage ../servers/monitoring/prometheus/consul-exporter.nix { };
prometheus-dmarc-exporter = callPackage ../servers/monitoring/prometheus/dmarc-exporter { };
prometheus-dnsmasq-exporter = callPackage ../servers/monitoring/prometheus/dnsmasq-exporter.nix { };
prometheus-dovecot-exporter = callPackage ../servers/monitoring/prometheus/dovecot-exporter.nix { };
prometheus-domain-exporter = callPackage ../servers/monitoring/prometheus/domain-exporter.nix { };
@ -27807,9 +27803,10 @@ with pkgs;
boost = boost175;
};
libreoffice = if stdenv.isDarwin
then callPackage ../applications/office/libreoffice/darwin.nix {}
else hiPrio libreoffice-still;
libreoffice-bin = callPackage ../applications/office/libreoffice/darwin { };
libreoffice = hiPrio libreoffice-still;
libreoffice-unwrapped = (hiPrio libreoffice-still).libreoffice;
libreoffice-args = {
@ -34308,8 +34305,6 @@ with pkgs;
nixos-install-tools = callPackage ../tools/nix/nixos-install-tools { };
nixui = callPackage ../tools/package-management/nixui { node_webkit = nwjs_0_12; };
nixdoc = callPackage ../tools/nix/nixdoc {};
dnadd = callPackage ../tools/nix/dnadd { };

@ -1257,6 +1257,8 @@ in {
bitcoinrpc = callPackage ../development/python-modules/bitcoinrpc { };
bite-parser = callPackage ../development/python-modules/bite-parser { };
bitlist = callPackage ../development/python-modules/bitlist { };
bitmath = callPackage ../development/python-modules/bitmath { };
@ -2087,6 +2089,8 @@ in {
dataclasses-json = callPackage ../development/python-modules/dataclasses-json { };
dataclasses-serialization = callPackage ../development/python-modules/dataclasses-serialization { };
datadiff = callPackage ../development/python-modules/datadiff { };
datadog = callPackage ../development/python-modules/datadog { };
@ -2486,6 +2490,8 @@ in {
doc8 = callPackage ../development/python-modules/doc8 { };
docformatter = callPackage ../development/python-modules/docformatter { };
docker = callPackage ../development/python-modules/docker { };
dockerfile-parse = callPackage ../development/python-modules/dockerfile-parse { };
@ -5452,6 +5458,8 @@ in {
more-itertools = callPackage ../development/python-modules/more-itertools { };
more-properties = callPackage ../development/python-modules/more-properties { };
moretools = callPackage ../development/python-modules/moretools { };
morphys = callPackage ../development/python-modules/morphys { };
@ -11267,6 +11275,8 @@ in {
xpybutil = callPackage ../development/python-modules/xpybutil { };
xsdata = callPackage ../development/python-modules/xsdata { };
xstatic-bootbox = callPackage ../development/python-modules/xstatic-bootbox { };
xstatic-bootstrap = callPackage ../development/python-modules/xstatic-bootstrap { };

Loading…
Cancel
Save