From d68f731ba246add4c4e456d829eb19136e65290e Mon Sep 17 00:00:00 2001 From: Alexandre Iooss Date: Fri, 13 Aug 2021 15:46:35 +0200 Subject: [PATCH 01/48] nixos/libreddit: systemd unit hardening --- nixos/modules/services/misc/libreddit.nix | 25 +++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/nixos/modules/services/misc/libreddit.nix b/nixos/modules/services/misc/libreddit.nix index 77b34a85620..bed6e9775c1 100644 --- a/nixos/modules/services/misc/libreddit.nix +++ b/nixos/modules/services/misc/libreddit.nix @@ -56,6 +56,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"; }; }; From f04ef2a25b292144ba7856c96b2a96fee99639dc Mon Sep 17 00:00:00 2001 From: Alexandre Iooss Date: Fri, 13 Aug 2021 15:47:24 +0200 Subject: [PATCH 02/48] nixos/libreddit: do not test an error The current test needs Reddit access, which we do not have in testing environment. This commit tests the settings page of libreddit which does not require network access. It also test if the service can run on port 80 with the CAP_NET_BIND_SERVICE capability. --- nixos/tests/libreddit.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/nixos/tests/libreddit.nix b/nixos/tests/libreddit.nix index f7ef701d086..01f6aeffb36 100644 --- a/nixos/tests/libreddit.nix +++ b/nixos/tests/libreddit.nix @@ -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") ''; }) From 29bcdaade355680132add66fc676ca86e2aaf88d Mon Sep 17 00:00:00 2001 From: Alexandre Iooss Date: Wed, 25 Aug 2021 18:15:02 +0200 Subject: [PATCH 03/48] nixos/libreddit: remove redirect option --- nixos/modules/services/misc/libreddit.nix | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/nixos/modules/services/misc/libreddit.nix b/nixos/modules/services/misc/libreddit.nix index bed6e9775c1..e21a8844784 100644 --- a/nixos/modules/services/misc/libreddit.nix +++ b/nixos/modules/services/misc/libreddit.nix @@ -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; From 0828004641db1dc111f7d14004a7101626980e30 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 23 May 2022 12:08:56 +0000 Subject: [PATCH 04/48] openrazer-daemon,linuxPackages.openrazer,python3.pkgs.openrazer: 3.1.0 -> 3.3.0 Fixes the kernel module build with Linux 5.18. --- pkgs/development/python-modules/openrazer/common.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/openrazer/common.nix b/pkgs/development/python-modules/openrazer/common.nix index 5db17a83e8f..df45918d74f 100644 --- a/pkgs/development/python-modules/openrazer/common.nix +++ b/pkgs/development/python-modules/openrazer/common.nix @@ -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/"; From 2cdd54c279b563fac6b658b35c214ab1936d7109 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 23 May 2022 12:11:18 +0000 Subject: [PATCH 05/48] linuxPackages.openrazer: enable parallel building Tested at -j48. --- pkgs/os-specific/linux/openrazer/driver.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/os-specific/linux/openrazer/driver.nix b/pkgs/os-specific/linux/openrazer/driver.nix index 2de63580ac3..f98fe5cfc74 100644 --- a/pkgs/os-specific/linux/openrazer/driver.nix +++ b/pkgs/os-specific/linux/openrazer/driver.nix @@ -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"; From 1a16b5113edd1391847f22331a92e9ab1324aa50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 26 May 2022 17:13:57 +0000 Subject: [PATCH 06/48] python3Packages.bite-parser: init at 0.1.1 --- .../python-modules/bite-parser/default.nix | 48 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 50 insertions(+) create mode 100644 pkgs/development/python-modules/bite-parser/default.nix diff --git a/pkgs/development/python-modules/bite-parser/default.nix b/pkgs/development/python-modules/bite-parser/default.nix new file mode 100644 index 00000000000..25d753f1ac7 --- /dev/null +++ b/pkgs/development/python-modules/bite-parser/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2fe618420d6..f899cc5d1b5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1253,6 +1253,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 { }; From e28607802d925d57fb8fb2fd0cf0917dabb0840d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 26 May 2022 17:53:13 +0000 Subject: [PATCH 07/48] python3Packages.more-properties: init at 1.1.1 --- .../more-properties/default.nix | 46 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 48 insertions(+) create mode 100644 pkgs/development/python-modules/more-properties/default.nix diff --git a/pkgs/development/python-modules/more-properties/default.nix b/pkgs/development/python-modules/more-properties/default.nix new file mode 100644 index 00000000000..e48dc9dbf04 --- /dev/null +++ b/pkgs/development/python-modules/more-properties/default.nix @@ -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"; + licenses = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f899cc5d1b5..64d838f7767 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5426,6 +5426,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 { }; From 2c942c0eaf570cdf946c4568b2ed45b29007c2e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 26 May 2022 17:37:14 +0000 Subject: [PATCH 08/48] python3Packages.dataclasses-serialization: init at 1.3.1 --- .../dataclasses-serialization/default.nix | 66 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 68 insertions(+) create mode 100644 pkgs/development/python-modules/dataclasses-serialization/default.nix diff --git a/pkgs/development/python-modules/dataclasses-serialization/default.nix b/pkgs/development/python-modules/dataclasses-serialization/default.nix new file mode 100644 index 00000000000..72ef9877d18 --- /dev/null +++ b/pkgs/development/python-modules/dataclasses-serialization/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 64d838f7767..386f2e4baae 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2087,6 +2087,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 { }; From 746256345f12f2278632217fa9ec13d6de8dd9b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 26 May 2022 18:26:27 +0000 Subject: [PATCH 09/48] python3Packages.docformatter: init at 1.4 --- .../python-modules/docformatter/default.nix | 38 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 40 insertions(+) create mode 100644 pkgs/development/python-modules/docformatter/default.nix diff --git a/pkgs/development/python-modules/docformatter/default.nix b/pkgs/development/python-modules/docformatter/default.nix new file mode 100644 index 00000000000..7c659c4173f --- /dev/null +++ b/pkgs/development/python-modules/docformatter/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 386f2e4baae..788c296bac6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2478,6 +2478,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 { }; From d88f9f6a3be6833c0bf0925c6521f02ee64a7d20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 26 May 2022 18:20:54 +0000 Subject: [PATCH 10/48] python3Packages.more-properties: init at 1.1.1 --- .../more-properties/default.nix | 2 +- .../python-modules/xsdata/default.nix | 80 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 3 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/python-modules/xsdata/default.nix diff --git a/pkgs/development/python-modules/more-properties/default.nix b/pkgs/development/python-modules/more-properties/default.nix index e48dc9dbf04..e878c8e7225 100644 --- a/pkgs/development/python-modules/more-properties/default.nix +++ b/pkgs/development/python-modules/more-properties/default.nix @@ -40,7 +40,7 @@ buildPythonPackage rec { meta = { description = "A collection of property variants"; homepage = "https://github.com/madman-bob/python-more-properties"; - licenses = lib.licenses.mit; + license = lib.licenses.mit; maintainers = with lib.maintainers; [ dotlambda ]; }; } diff --git a/pkgs/development/python-modules/xsdata/default.nix b/pkgs/development/python-modules/xsdata/default.nix new file mode 100644 index 00000000000..280cead6d2e --- /dev/null +++ b/pkgs/development/python-modules/xsdata/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 788c296bac6..8a2e0f338fc 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11241,6 +11241,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 { }; From 8395d7a4d390dad584ebc3f31c14c67f71e9c591 Mon Sep 17 00:00:00 2001 From: Thibault Gagnaux Date: Tue, 24 May 2022 13:06:19 +0200 Subject: [PATCH 11/48] libreoffice: add update-script for darwin --- .../office/libreoffice/darwin.nix | 51 ------------- .../office/libreoffice/darwin/darwin.nix | 73 +++++++++++++++++++ .../office/libreoffice/darwin/update-test.nix | 41 +++++++++++ .../libreoffice/darwin/update-utils.nix | 45 ++++++++++++ pkgs/top-level/all-packages.nix | 2 +- 5 files changed, 160 insertions(+), 52 deletions(-) delete mode 100644 pkgs/applications/office/libreoffice/darwin.nix create mode 100644 pkgs/applications/office/libreoffice/darwin/darwin.nix create mode 100644 pkgs/applications/office/libreoffice/darwin/update-test.nix create mode 100644 pkgs/applications/office/libreoffice/darwin/update-utils.nix diff --git a/pkgs/applications/office/libreoffice/darwin.nix b/pkgs/applications/office/libreoffice/darwin.nix deleted file mode 100644 index 765cbcd4302..00000000000 --- a/pkgs/applications/office/libreoffice/darwin.nix +++ /dev/null @@ -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" ]; - }; -} diff --git a/pkgs/applications/office/libreoffice/darwin/darwin.nix b/pkgs/applications/office/libreoffice/darwin/darwin.nix new file mode 100644 index 00000000000..7b2f89cf0a5 --- /dev/null +++ b/pkgs/applications/office/libreoffice/darwin/darwin.nix @@ -0,0 +1,73 @@ +{ stdenv +, lib +, fetchurl +, undmg +, writeScript +}: + +let + appName = "LibreOffice.app"; + version = "7.2.5"; + baseUrl = "https://download.documentfoundation.org/libreoffice/stable"; + dist = { + aarch64-darwin = rec { + arch = "aarch64"; + archSuffix = arch; + url = "${baseUrl}/${version}/mac/${arch}/LibreOffice_${version}_MacOS_${archSuffix}.dmg"; + sha256 = "bdbcb9a98211f866ca089d440aebcd1d313aa99e8ab4104aae4e65ea3cee74ca"; + }; + + x86_64-darwin = rec { + arch = "x86_64"; + archSuffix = "x86-64"; + url = "${baseUrl}/${version}/mac/${arch}/LibreOffice_${version}_MacOS_${archSuffix}.dmg"; + sha256 = "0b7ef18ed08341ac6c15339fe9a161ad17f6b469009d987cfc7d50c628d12a4e"; + }; + }; +in +stdenv.mkDerivation rec { + inherit version; + pname = "libreoffice"; + src = fetchurl { + inherit (dist."${stdenv.hostPlatform.system}") url 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 + ''; + + passthru.updateScript = + let + inherit (import ./update-utils.nix { inherit lib; }) getLatestStableVersion getSha256 nullHash; + newVersion = getLatestStableVersion; + in + writeScript "update-libreoffice.sh" + '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p common-updater-scripts + set -o errexit + set -o nounset + set -o pipefail + update-source-version libreoffice ${newVersion} ${getSha256 dist."aarch64-darwin".url version newVersion} --system=aarch64-darwin + update-source-version libreoffice 0 ${nullHash} --system=x86_64-darwin + update-source-version libreoffice ${newVersion} ${getSha256 dist."x86_64-darwin".url version newVersion} --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 = [ "aarch64-darwin" "x86_64-darwin" ]; + }; +} diff --git a/pkgs/applications/office/libreoffice/darwin/update-test.nix b/pkgs/applications/office/libreoffice/darwin/update-test.nix new file mode 100644 index 00000000000..eeffec39830 --- /dev/null +++ b/pkgs/applications/office/libreoffice/darwin/update-test.nix @@ -0,0 +1,41 @@ +{ pkgs ? import {}, nixt }: +let + inherit (import ./update-utils.nix { inherit (pkgs) lib; }) + extractLatestVersionFromHtml + extractSha256FromHtml; +in +nixt.mkSuite "LibreOffice Updater" +{ + "should extract latest stable version from html" = let + latestVersionHtmlMock = + '' + + + + Index of /libreoffice/stable + + + +

Index of /libreoffice/stable

+ + + + + + +
 NameLast modifiedSizeMetadata

 Parent Directory  -  
 7.2.7/10-Mar-2022 11:12 -  
 7.3.3/12-May-2022 10:06 -  
 7.2.6/05-May-2022 07:57 -  

+
Apache Server at download.documentfoundation.org Port 80
+
MirrorBrain powered by Apache
+ + ''; + + actual = extractLatestVersionFromHtml latestVersionHtmlMock; + + in "7.3.3" == actual; + + "should extract sha256 from html" = let + sha256Html = "50ed3deb8d9c987516e2687ebb865bca15486c69da79f1b6d74381e43f2ec863 LibreOffice_7.3.3_MacOS_aarch64.dmg\n"; + actual = extractSha256FromHtml sha256Html; + in "50ed3deb8d9c987516e2687ebb865bca15486c69da79f1b6d74381e43f2ec863" == actual; +} diff --git a/pkgs/applications/office/libreoffice/darwin/update-utils.nix b/pkgs/applications/office/libreoffice/darwin/update-utils.nix new file mode 100644 index 00000000000..fb4a7b0e7b2 --- /dev/null +++ b/pkgs/applications/office/libreoffice/darwin/update-utils.nix @@ -0,0 +1,45 @@ +{ 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"; + +# nullHash :: String + nullHash = "0000000000000000000000000000000000000000000000000000000000000000"; +in +{ + inherit extractLatestVersionFromHtml getHtml getLatestStableVersion + extractSha256FromHtml getSha256 getSha256Url nullHash; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9d16d3298d1..194229f944c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -27773,7 +27773,7 @@ with pkgs; }; libreoffice = if stdenv.isDarwin - then callPackage ../applications/office/libreoffice/darwin.nix {} + then callPackage ../applications/office/libreoffice/darwin/darwin.nix {} else hiPrio libreoffice-still; libreoffice-unwrapped = (hiPrio libreoffice-still).libreoffice; From 9f80b6d8fe87eccd39e7018512de6998c2765551 Mon Sep 17 00:00:00 2001 From: Thibault Gagnaux Date: Wed, 25 May 2022 16:10:10 +0200 Subject: [PATCH 12/48] libreoffice: refactor and document version reset workaround --- .../office/libreoffice/darwin/darwin.nix | 30 +++++---- .../office/libreoffice/darwin/update-test.nix | 66 ++++++++++--------- .../libreoffice/darwin/update-utils.nix | 43 +++++++----- 3 files changed, 81 insertions(+), 58 deletions(-) diff --git a/pkgs/applications/office/libreoffice/darwin/darwin.nix b/pkgs/applications/office/libreoffice/darwin/darwin.nix index 7b2f89cf0a5..9ac615486ab 100644 --- a/pkgs/applications/office/libreoffice/darwin/darwin.nix +++ b/pkgs/applications/office/libreoffice/darwin/darwin.nix @@ -48,20 +48,28 @@ stdenv.mkDerivation rec { passthru.updateScript = let - inherit (import ./update-utils.nix { inherit lib; }) getLatestStableVersion getSha256 nullHash; + inherit (import ./update-utils.nix { inherit lib; }) + getLatestStableVersion + getSha256 + nullHash; newVersion = getLatestStableVersion; + newAarch64Sha256 = getSha256 dist."aarch64-darwin".url version newVersion; + newX86_64Sha256 = getSha256 dist."x86_64-darwin".url version newVersion; in writeScript "update-libreoffice.sh" - '' - #!/usr/bin/env nix-shell - #!nix-shell -i bash -p common-updater-scripts - set -o errexit - set -o nounset - set -o pipefail - update-source-version libreoffice ${newVersion} ${getSha256 dist."aarch64-darwin".url version newVersion} --system=aarch64-darwin - update-source-version libreoffice 0 ${nullHash} --system=x86_64-darwin - update-source-version libreoffice ${newVersion} ${getSha256 dist."x86_64-darwin".url version newVersion} --system=x86_64-darwin - ''; + '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p common-updater-scripts + set -o errexit + set -o nounset + set -o pipefail + + # reset version first so that both platforms are always updated and in sync + update-source-version libreoffice 0 ${nullHash} --system=aarch64-darwin + update-source-version libreoffice ${newVersion} ${newAarch64Sha256} --system=aarch64-darwin + update-source-version libreoffice 0 ${nullHash} --system=x86_64-darwin + update-source-version libreoffice ${newVersion} ${newX86_64Sha256} --system=x86_64-darwin + ''; meta = with lib; { description = "Comprehensive, professional-quality productivity suite, a variant of openoffice.org"; diff --git a/pkgs/applications/office/libreoffice/darwin/update-test.nix b/pkgs/applications/office/libreoffice/darwin/update-test.nix index eeffec39830..d77992263f3 100644 --- a/pkgs/applications/office/libreoffice/darwin/update-test.nix +++ b/pkgs/applications/office/libreoffice/darwin/update-test.nix @@ -1,4 +1,6 @@ -{ pkgs ? import {}, nixt }: +# run the tests with nixt -v + +{ pkgs ? import { }, nixt }: let inherit (import ./update-utils.nix { inherit (pkgs) lib; }) extractLatestVersionFromHtml @@ -6,36 +8,40 @@ let in nixt.mkSuite "LibreOffice Updater" { - "should extract latest stable version from html" = let - latestVersionHtmlMock = - '' - - - - Index of /libreoffice/stable - - - -

Index of /libreoffice/stable

- - - - - - -
 NameLast modifiedSizeMetadata

 Parent Directory  -  
 7.2.7/10-Mar-2022 11:12 -  
 7.3.3/12-May-2022 10:06 -  
 7.2.6/05-May-2022 07:57 -  

-
Apache Server at download.documentfoundation.org Port 80
-
MirrorBrain powered by Apache
- - ''; + "should extract latest stable version from html" = + let + latestVersionHtmlMock = + '' + + + + Index of /libreoffice/stable + + + +

Index of /libreoffice/stable

+ + + + + + +
 NameLast modifiedSizeMetadata

 Parent Directory  -  
 7.2.7/10-Mar-2022 11:12 -  
 7.3.3/12-May-2022 10:06 -  
 7.2.6/05-May-2022 07:57 -  

+
Apache Server at download.documentfoundation.org Port 80
+
MirrorBrain powered by Apache
+ + ''; - actual = extractLatestVersionFromHtml latestVersionHtmlMock; + actual = extractLatestVersionFromHtml latestVersionHtmlMock; - in "7.3.3" == actual; + in + "7.3.3" == actual; - "should extract sha256 from html" = let - sha256Html = "50ed3deb8d9c987516e2687ebb865bca15486c69da79f1b6d74381e43f2ec863 LibreOffice_7.3.3_MacOS_aarch64.dmg\n"; - actual = extractSha256FromHtml sha256Html; - in "50ed3deb8d9c987516e2687ebb865bca15486c69da79f1b6d74381e43f2ec863" == actual; + "should extract sha256 from html" = + let + sha256Html = "50ed3deb8d9c987516e2687ebb865bca15486c69da79f1b6d74381e43f2ec863 LibreOffice_7.3.3_MacOS_aarch64.dmg\n"; + actual = extractSha256FromHtml sha256Html; + in + "50ed3deb8d9c987516e2687ebb865bca15486c69da79f1b6d74381e43f2ec863" == actual; } diff --git a/pkgs/applications/office/libreoffice/darwin/update-utils.nix b/pkgs/applications/office/libreoffice/darwin/update-utils.nix index fb4a7b0e7b2..71d8417e674 100644 --- a/pkgs/applications/office/libreoffice/darwin/update-utils.nix +++ b/pkgs/applications/office/libreoffice/darwin/update-utils.nix @@ -1,45 +1,54 @@ { lib }: let -# extractLatestVersionFromHtml :: String -> String + # 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); + 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); + if stableVersions == [ ] + then abort "Failed to extract versions from html." + else lib.last (builtins.sort builtins.lessThan stableVersions); -# getHtml :: String -> String + # getHtml :: String -> String getHtml = url: builtins.readFile (builtins.fetchurl url); -# getLatestStableVersion :: String + # getLatestStableVersion :: String getLatestStableVersion = - extractLatestVersionFromHtml (getHtml "https://download.documentfoundation.org/libreoffice/stable/"); + extractLatestVersionFromHtml + (getHtml "https://download.documentfoundation.org/libreoffice/stable/"); -# extractSha256FromHtml :: String -> String + # 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; + if sha256 == [ ] + then abort "Failed to extract sha256 from html." + else builtins.head sha256; -# getSha256 :: String -> String + # getSha256 :: String -> String getSha256 = dmgUrl: oldVersion: newVersion: extractSha256FromHtml (getHtml (getSha256Url dmgUrl oldVersion newVersion)); -# getSha256Url :: String -> String -> String -> String + # getSha256Url :: String -> String -> String -> String getSha256Url = dmgUrl: oldVersion: newVersion: (builtins.replaceStrings [ oldVersion ] [ newVersion ] dmgUrl) + ".sha256"; -# nullHash :: String + # nullHash :: String nullHash = "0000000000000000000000000000000000000000000000000000000000000000"; in { - inherit extractLatestVersionFromHtml getHtml getLatestStableVersion - extractSha256FromHtml getSha256 getSha256Url nullHash; + inherit + extractLatestVersionFromHtml + getHtml + getLatestStableVersion + extractSha256FromHtml + getSha256 + getSha256Url + nullHash; } From ed52a4493459ee51f9e8d0bf31b707b5a8598693 Mon Sep 17 00:00:00 2001 From: Thibault Gagnaux Date: Wed, 25 May 2022 17:47:56 +0200 Subject: [PATCH 13/48] libreoffice: general darwin improvements - throw error if platform is not supported - fix wrong pre/postInstallPhase hook -> pre/postInstall - switch to stdenvNoCC because we don't build anything - run all phases by default - wrap binary using `open -na $out/Applications/${appName} --args "$@"` --- .../office/libreoffice/darwin/darwin.nix | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/office/libreoffice/darwin/darwin.nix b/pkgs/applications/office/libreoffice/darwin/darwin.nix index 9ac615486ab..73602d3e317 100644 --- a/pkgs/applications/office/libreoffice/darwin/darwin.nix +++ b/pkgs/applications/office/libreoffice/darwin/darwin.nix @@ -1,4 +1,4 @@ -{ stdenv +{ stdenvNoCC , lib , fetchurl , undmg @@ -7,6 +7,7 @@ let appName = "LibreOffice.app"; + scriptName = "soffice"; version = "7.2.5"; baseUrl = "https://download.documentfoundation.org/libreoffice/stable"; dist = { @@ -25,25 +26,27 @@ let }; }; in -stdenv.mkDerivation rec { +stdenvNoCC.mkDerivation { inherit version; pname = "libreoffice"; src = fetchurl { - inherit (dist."${stdenv.hostPlatform.system}") url sha256; + inherit (dist.${stdenvNoCC.hostPlatform.system} or + (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}")) url sha256; }; nativeBuildInputs = [ undmg ]; sourceRoot = "${appName}"; - dontPatch = true; - dontConfigure = true; - dontBuild = true; installPhase = '' - runHook preInstallPhase + runHook preInstall mkdir -p $out/{Applications/${appName},bin} cp -R . $out/Applications/${appName} - ln -s $out/Applications/${appName}/Contents/MacOS/soffice $out/bin - runHook postInstallPhase + cat > $out/bin/${scriptName} << EOF + #!${stdenvNoCC.shell} + open -na $out/Applications/${appName} --args "$@" + EOF + chmod +x $out/bin/${scriptName} + runHook postInstall ''; passthru.updateScript = @@ -63,7 +66,7 @@ stdenv.mkDerivation rec { set -o errexit set -o nounset set -o pipefail - + # reset version first so that both platforms are always updated and in sync update-source-version libreoffice 0 ${nullHash} --system=aarch64-darwin update-source-version libreoffice ${newVersion} ${newAarch64Sha256} --system=aarch64-darwin From ccfd4255bb77f3769345e6e1799eb2f00168e05a Mon Sep 17 00:00:00 2001 From: Thibault Gagnaux Date: Wed, 25 May 2022 20:11:06 +0200 Subject: [PATCH 14/48] libreoffice: 7.2.5 -> 7.3.3 --- pkgs/applications/office/libreoffice/darwin/darwin.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/office/libreoffice/darwin/darwin.nix b/pkgs/applications/office/libreoffice/darwin/darwin.nix index 73602d3e317..73eaf081c3a 100644 --- a/pkgs/applications/office/libreoffice/darwin/darwin.nix +++ b/pkgs/applications/office/libreoffice/darwin/darwin.nix @@ -8,21 +8,21 @@ let appName = "LibreOffice.app"; scriptName = "soffice"; - version = "7.2.5"; + version = "7.3.3"; baseUrl = "https://download.documentfoundation.org/libreoffice/stable"; dist = { aarch64-darwin = rec { arch = "aarch64"; archSuffix = arch; url = "${baseUrl}/${version}/mac/${arch}/LibreOffice_${version}_MacOS_${archSuffix}.dmg"; - sha256 = "bdbcb9a98211f866ca089d440aebcd1d313aa99e8ab4104aae4e65ea3cee74ca"; + sha256 = "50ed3deb8d9c987516e2687ebb865bca15486c69da79f1b6d74381e43f2ec863"; }; x86_64-darwin = rec { arch = "x86_64"; archSuffix = "x86-64"; url = "${baseUrl}/${version}/mac/${arch}/LibreOffice_${version}_MacOS_${archSuffix}.dmg"; - sha256 = "0b7ef18ed08341ac6c15339fe9a161ad17f6b469009d987cfc7d50c628d12a4e"; + sha256 = "fb2f9bb90eee34a22af3a2bf2854ef5b76098302b3c41d13d4f543f0d72b994f"; }; }; in From d679ccc970b7847a3bf216a1456c99ec5a52f774 Mon Sep 17 00:00:00 2001 From: tricktron Date: Wed, 25 May 2022 21:21:25 +0200 Subject: [PATCH 15/48] libreoffice: apply suggestions from code review Co-authored-by: Sandro --- pkgs/applications/office/libreoffice/darwin/darwin.nix | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/office/libreoffice/darwin/darwin.nix b/pkgs/applications/office/libreoffice/darwin/darwin.nix index 73eaf081c3a..1bb1b0fc558 100644 --- a/pkgs/applications/office/libreoffice/darwin/darwin.nix +++ b/pkgs/applications/office/libreoffice/darwin/darwin.nix @@ -9,19 +9,18 @@ let appName = "LibreOffice.app"; scriptName = "soffice"; version = "7.3.3"; - baseUrl = "https://download.documentfoundation.org/libreoffice/stable"; dist = { aarch64-darwin = rec { arch = "aarch64"; archSuffix = arch; - url = "${baseUrl}/${version}/mac/${arch}/LibreOffice_${version}_MacOS_${archSuffix}.dmg"; + 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 = "${baseUrl}/${version}/mac/${arch}/LibreOffice_${version}_MacOS_${archSuffix}.dmg"; + url = "https://download.documentfoundation.org/libreoffice/stable/${version}/mac/${arch}/LibreOffice_${version}_MacOS_${archSuffix}.dmg"; sha256 = "fb2f9bb90eee34a22af3a2bf2854ef5b76098302b3c41d13d4f543f0d72b994f"; }; }; @@ -63,9 +62,7 @@ stdenvNoCC.mkDerivation { '' #!/usr/bin/env nix-shell #!nix-shell -i bash -p common-updater-scripts - set -o errexit - set -o nounset - set -o pipefail + set -eou pipefail # reset version first so that both platforms are always updated and in sync update-source-version libreoffice 0 ${nullHash} --system=aarch64-darwin From 2fb0615a66d2d7bd4745aeec995645e7cb01411b Mon Sep 17 00:00:00 2001 From: Thibault Gagnaux Date: Wed, 25 May 2022 21:35:11 +0200 Subject: [PATCH 16/48] libreoffice: add integration test and use `lib.fakeSha256` --- pkgs/applications/office/libreoffice/darwin/darwin.nix | 7 +++---- .../applications/office/libreoffice/darwin/update-test.nix | 5 ++++- .../office/libreoffice/darwin/update-utils.nix | 5 +---- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/office/libreoffice/darwin/darwin.nix b/pkgs/applications/office/libreoffice/darwin/darwin.nix index 1bb1b0fc558..2228d6bbfe6 100644 --- a/pkgs/applications/office/libreoffice/darwin/darwin.nix +++ b/pkgs/applications/office/libreoffice/darwin/darwin.nix @@ -52,8 +52,7 @@ stdenvNoCC.mkDerivation { let inherit (import ./update-utils.nix { inherit lib; }) getLatestStableVersion - getSha256 - nullHash; + getSha256; newVersion = getLatestStableVersion; newAarch64Sha256 = getSha256 dist."aarch64-darwin".url version newVersion; newX86_64Sha256 = getSha256 dist."x86_64-darwin".url version newVersion; @@ -65,9 +64,9 @@ stdenvNoCC.mkDerivation { set -eou pipefail # reset version first so that both platforms are always updated and in sync - update-source-version libreoffice 0 ${nullHash} --system=aarch64-darwin + update-source-version libreoffice 0 ${lib.fakeSha256} --system=aarch64-darwin update-source-version libreoffice ${newVersion} ${newAarch64Sha256} --system=aarch64-darwin - update-source-version libreoffice 0 ${nullHash} --system=x86_64-darwin + update-source-version libreoffice 0 ${lib.fakeSha256} --system=x86_64-darwin update-source-version libreoffice ${newVersion} ${newX86_64Sha256} --system=x86_64-darwin ''; diff --git a/pkgs/applications/office/libreoffice/darwin/update-test.nix b/pkgs/applications/office/libreoffice/darwin/update-test.nix index d77992263f3..994a923c556 100644 --- a/pkgs/applications/office/libreoffice/darwin/update-test.nix +++ b/pkgs/applications/office/libreoffice/darwin/update-test.nix @@ -4,7 +4,8 @@ let inherit (import ./update-utils.nix { inherit (pkgs) lib; }) extractLatestVersionFromHtml - extractSha256FromHtml; + extractSha256FromHtml + getLatestStableVersion; in nixt.mkSuite "LibreOffice Updater" { @@ -38,6 +39,8 @@ nixt.mkSuite "LibreOffice Updater" 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"; diff --git a/pkgs/applications/office/libreoffice/darwin/update-utils.nix b/pkgs/applications/office/libreoffice/darwin/update-utils.nix index 71d8417e674..766e858e33e 100644 --- a/pkgs/applications/office/libreoffice/darwin/update-utils.nix +++ b/pkgs/applications/office/libreoffice/darwin/update-utils.nix @@ -39,8 +39,6 @@ let getSha256Url = dmgUrl: oldVersion: newVersion: (builtins.replaceStrings [ oldVersion ] [ newVersion ] dmgUrl) + ".sha256"; - # nullHash :: String - nullHash = "0000000000000000000000000000000000000000000000000000000000000000"; in { inherit @@ -49,6 +47,5 @@ in getLatestStableVersion extractSha256FromHtml getSha256 - getSha256Url - nullHash; + getSha256Url; } From d4dd3f5f7e2f1df1e57f933504f942404e8eca9c Mon Sep 17 00:00:00 2001 From: Thibault Gagnaux Date: Fri, 27 May 2022 10:46:00 +0200 Subject: [PATCH 17/48] libreoffice: move darwin to separate libreoffice-darwin package The linux and darwin derivations are completely different. Therefore, it makes more sense to treat them as two separate, independent derivations. --- .../office/libreoffice/darwin/{darwin.nix => default.nix} | 0 pkgs/top-level/all-packages.nix | 5 ++--- 2 files changed, 2 insertions(+), 3 deletions(-) rename pkgs/applications/office/libreoffice/darwin/{darwin.nix => default.nix} (100%) diff --git a/pkgs/applications/office/libreoffice/darwin/darwin.nix b/pkgs/applications/office/libreoffice/darwin/default.nix similarity index 100% rename from pkgs/applications/office/libreoffice/darwin/darwin.nix rename to pkgs/applications/office/libreoffice/darwin/default.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 194229f944c..efd142af7e7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -27772,9 +27772,8 @@ with pkgs; boost = boost175; }; - libreoffice = if stdenv.isDarwin - then callPackage ../applications/office/libreoffice/darwin/darwin.nix {} - else hiPrio libreoffice-still; + libreoffice-darwin = callPackage ../applications/office/libreoffice/darwin {}; + libreoffice = hiPrio libreoffice-still; libreoffice-unwrapped = (hiPrio libreoffice-still).libreoffice; libreoffice-args = { From b9a5485aa5ebe0547de52f04603831d74f00e1f8 Mon Sep 17 00:00:00 2001 From: Thibault Gagnaux Date: Fri, 27 May 2022 14:37:33 +0200 Subject: [PATCH 18/48] Revert "libreoffice: move darwin to separate libreoffice-darwin package" Introducing a new name for each complex darwin derivation does not scale. This reverts commit b207ef980751b2dfe2f222fbd7dbc854f9bd90bf. --- .../office/libreoffice/darwin/{default.nix => darwin.nix} | 0 pkgs/top-level/all-packages.nix | 5 +++-- 2 files changed, 3 insertions(+), 2 deletions(-) rename pkgs/applications/office/libreoffice/darwin/{default.nix => darwin.nix} (100%) diff --git a/pkgs/applications/office/libreoffice/darwin/default.nix b/pkgs/applications/office/libreoffice/darwin/darwin.nix similarity index 100% rename from pkgs/applications/office/libreoffice/darwin/default.nix rename to pkgs/applications/office/libreoffice/darwin/darwin.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index efd142af7e7..194229f944c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -27772,8 +27772,9 @@ with pkgs; boost = boost175; }; - libreoffice-darwin = callPackage ../applications/office/libreoffice/darwin {}; - libreoffice = hiPrio libreoffice-still; + libreoffice = if stdenv.isDarwin + then callPackage ../applications/office/libreoffice/darwin/darwin.nix {} + else hiPrio libreoffice-still; libreoffice-unwrapped = (hiPrio libreoffice-still).libreoffice; libreoffice-args = { From 8315cf274bf02124dbdea8106d6cd7ccefbd9484 Mon Sep 17 00:00:00 2001 From: Thibault Gagnaux Date: Fri, 27 May 2022 15:48:59 +0200 Subject: [PATCH 19/48] libreoffice: add darwin to meta platforms and extract to common.nix As a result, the darwin derivations will show up on https://search.nixos.org/packages. --- .../office/libreoffice/common.nix | 10 +++++++++ .../darwin/{darwin.nix => default.nix} | 21 ++++++++----------- .../office/libreoffice/default.nix | 8 +------ pkgs/top-level/all-packages.nix | 2 +- 4 files changed, 21 insertions(+), 20 deletions(-) create mode 100644 pkgs/applications/office/libreoffice/common.nix rename pkgs/applications/office/libreoffice/darwin/{darwin.nix => default.nix} (84%) diff --git a/pkgs/applications/office/libreoffice/common.nix b/pkgs/applications/office/libreoffice/common.nix new file mode 100644 index 00000000000..b1c547feb36 --- /dev/null +++ b/pkgs/applications/office/libreoffice/common.nix @@ -0,0 +1,10 @@ +{ lib }: +{ + meta = with lib; { + description = "Comprehensive, professional-quality productivity suite, a variant of openoffice.org"; + homepage = "https://libreoffice.org/"; + license = licenses.lgpl3; + maintainers = with maintainers; [ raskin tricktron ]; + platforms = platforms.linux ++ [ "x86_64-darwin" "aarch64-darwin" ]; + }; +} diff --git a/pkgs/applications/office/libreoffice/darwin/darwin.nix b/pkgs/applications/office/libreoffice/darwin/default.nix similarity index 84% rename from pkgs/applications/office/libreoffice/darwin/darwin.nix rename to pkgs/applications/office/libreoffice/darwin/default.nix index 2228d6bbfe6..47b702cc29d 100644 --- a/pkgs/applications/office/libreoffice/darwin/darwin.nix +++ b/pkgs/applications/office/libreoffice/darwin/default.nix @@ -3,12 +3,15 @@ , fetchurl , undmg , writeScript +, callPackage }: let appName = "LibreOffice.app"; scriptName = "soffice"; version = "7.3.3"; + common = import ../common.nix { inherit lib; }; + dist = { aarch64-darwin = rec { arch = "aarch64"; @@ -27,6 +30,7 @@ let in stdenvNoCC.mkDerivation { inherit version; + inherit (import ../common.nix { inherit lib; }) meta; pname = "libreoffice"; src = fetchurl { inherit (dist.${stdenvNoCC.hostPlatform.system} or @@ -56,6 +60,7 @@ stdenvNoCC.mkDerivation { newVersion = getLatestStableVersion; newAarch64Sha256 = getSha256 dist."aarch64-darwin".url version newVersion; newX86_64Sha256 = getSha256 dist."x86_64-darwin".url version newVersion; + currentFile = builtins.toString ./default.nix; in writeScript "update-libreoffice.sh" '' @@ -64,17 +69,9 @@ stdenvNoCC.mkDerivation { set -eou pipefail # reset version first so that both platforms are always updated and in sync - update-source-version libreoffice 0 ${lib.fakeSha256} --system=aarch64-darwin - update-source-version libreoffice ${newVersion} ${newAarch64Sha256} --system=aarch64-darwin - update-source-version libreoffice 0 ${lib.fakeSha256} --system=x86_64-darwin - update-source-version libreoffice ${newVersion} ${newX86_64Sha256} --system=x86_64-darwin + update-source-version libreoffice 0 ${lib.fakeSha256} --file ${currentFile} --system=aarch64-darwin + update-source-version libreoffice ${newVersion} ${newAarch64Sha256} --file ${currentFile} --system=aarch64-darwin + update-source-version libreoffice 0 ${lib.fakeSha256} --file ${currentFile} --system=x86_64-darwin + update-source-version libreoffice ${newVersion} ${newX86_64Sha256} --file ${currentFile} --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 = [ "aarch64-darwin" "x86_64-darwin" ]; - }; } diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index 74a4c156b83..2e781936c7a 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -581,11 +581,5 @@ in requiredSystemFeatures = [ "big-parallel" ]; - meta = with lib; { - description = "Comprehensive, professional-quality productivity suite, a variant of openoffice.org"; - homepage = "https://libreoffice.org/"; - license = licenses.lgpl3; - maintainers = with maintainers; [ raskin ]; - platforms = platforms.linux; - }; + inherit (import ../common.nix { inherit lib; }) meta; }).overrideAttrs ((importVariant "override.nix") (args // { inherit kdeIntegration; })) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 194229f944c..43e9efa515b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -27773,7 +27773,7 @@ with pkgs; }; libreoffice = if stdenv.isDarwin - then callPackage ../applications/office/libreoffice/darwin/darwin.nix {} + then callPackage ../applications/office/libreoffice/darwin { } else hiPrio libreoffice-still; libreoffice-unwrapped = (hiPrio libreoffice-still).libreoffice; From 56ce01eca397ece27f5073f7eee3e637e90b4d2a Mon Sep 17 00:00:00 2001 From: Thibault Gagnaux Date: Fri, 27 May 2022 16:55:53 +0200 Subject: [PATCH 20/48] libreoffice: pass explicit file to update-source-version function and fix import typo --- pkgs/applications/office/libreoffice/darwin/default.nix | 8 ++++---- pkgs/applications/office/libreoffice/default.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/office/libreoffice/darwin/default.nix b/pkgs/applications/office/libreoffice/darwin/default.nix index 47b702cc29d..d1a47d46791 100644 --- a/pkgs/applications/office/libreoffice/darwin/default.nix +++ b/pkgs/applications/office/libreoffice/darwin/default.nix @@ -69,9 +69,9 @@ stdenvNoCC.mkDerivation { set -eou pipefail # reset version first so that both platforms are always updated and in sync - update-source-version libreoffice 0 ${lib.fakeSha256} --file ${currentFile} --system=aarch64-darwin - update-source-version libreoffice ${newVersion} ${newAarch64Sha256} --file ${currentFile} --system=aarch64-darwin - update-source-version libreoffice 0 ${lib.fakeSha256} --file ${currentFile} --system=x86_64-darwin - update-source-version libreoffice ${newVersion} ${newX86_64Sha256} --file ${currentFile} --system=x86_64-darwin + update-source-version libreoffice 0 ${lib.fakeSha256} --file=${currentFile} --system=aarch64-darwin + update-source-version libreoffice ${newVersion} ${newAarch64Sha256} --file=${currentFile} --system=aarch64-darwin + update-source-version libreoffice 0 ${lib.fakeSha256} --file=${currentFile} --system=x86_64-darwin + update-source-version libreoffice ${newVersion} ${newX86_64Sha256} --file=${currentFile} --system=x86_64-darwin ''; } diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index 2e781936c7a..978c2da26a7 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -581,5 +581,5 @@ in requiredSystemFeatures = [ "big-parallel" ]; - inherit (import ../common.nix { inherit lib; }) meta; + inherit (import ./common.nix { inherit lib; }) meta; }).overrideAttrs ((importVariant "override.nix") (args // { inherit kdeIntegration; })) From 39478cbeffb2a9044112a070db46652d5efbffaf Mon Sep 17 00:00:00 2001 From: Elias Probst Date: Mon, 4 Oct 2021 22:14:25 +0200 Subject: [PATCH 21/48] leocad: 21.03 -> 21.06 Also update the ldraw-based library to the latest snapshot available from archive.org (20210705153544). --- pkgs/applications/graphics/leocad/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/graphics/leocad/default.nix b/pkgs/applications/graphics/leocad/default.nix index 9c16e23ebb5..bb0a9564fe9 100644 --- a/pkgs/applications/graphics/leocad/default.nix +++ b/pkgs/applications/graphics/leocad/default.nix @@ -14,20 +14,20 @@ 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 ]; From fe949d64ef417ec254fea7d2ae022b1f78f4ad1e Mon Sep 17 00:00:00 2001 From: Thibault Gagnaux Date: Sat, 28 May 2022 17:40:04 +0200 Subject: [PATCH 22/48] libreoffice: rename libreoffice -> libreoffice-bin --- pkgs/applications/office/libreoffice/common.nix | 10 ---------- .../office/libreoffice/darwin/default.nix | 17 +++++++++++------ .../applications/office/libreoffice/default.nix | 8 +++++++- pkgs/top-level/all-packages.nix | 7 ++++--- 4 files changed, 22 insertions(+), 20 deletions(-) delete mode 100644 pkgs/applications/office/libreoffice/common.nix diff --git a/pkgs/applications/office/libreoffice/common.nix b/pkgs/applications/office/libreoffice/common.nix deleted file mode 100644 index b1c547feb36..00000000000 --- a/pkgs/applications/office/libreoffice/common.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ lib }: -{ - meta = with lib; { - description = "Comprehensive, professional-quality productivity suite, a variant of openoffice.org"; - homepage = "https://libreoffice.org/"; - license = licenses.lgpl3; - maintainers = with maintainers; [ raskin tricktron ]; - platforms = platforms.linux ++ [ "x86_64-darwin" "aarch64-darwin" ]; - }; -} diff --git a/pkgs/applications/office/libreoffice/darwin/default.nix b/pkgs/applications/office/libreoffice/darwin/default.nix index d1a47d46791..5fdf2544ef4 100644 --- a/pkgs/applications/office/libreoffice/darwin/default.nix +++ b/pkgs/applications/office/libreoffice/darwin/default.nix @@ -10,7 +10,6 @@ let appName = "LibreOffice.app"; scriptName = "soffice"; version = "7.3.3"; - common = import ../common.nix { inherit lib; }; dist = { aarch64-darwin = rec { @@ -30,7 +29,6 @@ let in stdenvNoCC.mkDerivation { inherit version; - inherit (import ../common.nix { inherit lib; }) meta; pname = "libreoffice"; src = fetchurl { inherit (dist.${stdenvNoCC.hostPlatform.system} or @@ -69,9 +67,16 @@ stdenvNoCC.mkDerivation { set -eou pipefail # reset version first so that both platforms are always updated and in sync - update-source-version libreoffice 0 ${lib.fakeSha256} --file=${currentFile} --system=aarch64-darwin - update-source-version libreoffice ${newVersion} ${newAarch64Sha256} --file=${currentFile} --system=aarch64-darwin - update-source-version libreoffice 0 ${lib.fakeSha256} --file=${currentFile} --system=x86_64-darwin - update-source-version libreoffice ${newVersion} ${newX86_64Sha256} --file=${currentFile} --system=x86_64-darwin + update-source-version libreoffice-bin 0 ${lib.fakeSha256} --file=${currentFile} --system=aarch64-darwin + update-source-version libreoffice-bin ${newVersion} ${newAarch64Sha256} --file=${currentFile} --system=aarch64-darwin + update-source-version libreoffice-bin 0 ${lib.fakeSha256} --file=${currentFile} --system=x86_64-darwin + update-source-version libreoffice-bin ${newVersion} ${newX86_64Sha256} --file=${currentFile} --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" ]; + }; } diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index 978c2da26a7..74a4c156b83 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -581,5 +581,11 @@ in requiredSystemFeatures = [ "big-parallel" ]; - inherit (import ./common.nix { inherit lib; }) meta; + meta = with lib; { + description = "Comprehensive, professional-quality productivity suite, a variant of openoffice.org"; + homepage = "https://libreoffice.org/"; + license = licenses.lgpl3; + maintainers = with maintainers; [ raskin ]; + platforms = platforms.linux; + }; }).overrideAttrs ((importVariant "override.nix") (args // { inherit kdeIntegration; })) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 43e9efa515b..2eac3b4d6ee 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -27772,9 +27772,10 @@ with pkgs; boost = boost175; }; - libreoffice = if stdenv.isDarwin - then callPackage ../applications/office/libreoffice/darwin { } - else hiPrio libreoffice-still; + libreoffice-bin = callPackage ../applications/office/libreoffice/darwin { }; + + libreoffice = hiPrio libreoffice-still; + libreoffice-unwrapped = (hiPrio libreoffice-still).libreoffice; libreoffice-args = { From 4c23cbcc15034e043ab522815af020254c2472da Mon Sep 17 00:00:00 2001 From: Thibault Gagnaux Date: Mon, 30 May 2022 17:20:00 +0200 Subject: [PATCH 23/48] libreoffice: add impure functions comment --- pkgs/applications/office/libreoffice/darwin/update-utils.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/office/libreoffice/darwin/update-utils.nix b/pkgs/applications/office/libreoffice/darwin/update-utils.nix index 766e858e33e..ed8b24ac87d 100644 --- a/pkgs/applications/office/libreoffice/darwin/update-utils.nix +++ b/pkgs/applications/office/libreoffice/darwin/update-utils.nix @@ -1,3 +1,4 @@ +# Impure functions, for passthru.updateScript only { lib }: let # extractLatestVersionFromHtml :: String -> String From 5b314280b05938086854ca178e023ca44bdb52b5 Mon Sep 17 00:00:00 2001 From: piegames Date: Mon, 30 May 2022 22:58:16 +0200 Subject: [PATCH 24/48] magic-wormhole-rs: Add alias `wormhole-rs` --- pkgs/top-level/aliases.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 129a0648413..19e7bc7cf35 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1422,6 +1422,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 From bd1d3d243a48bb58d21dcd4a244b986b32b3a662 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 31 May 2022 01:00:23 +0000 Subject: [PATCH 25/48] imagemagick: 7.1.0-35 -> 7.1.0-36 --- pkgs/applications/graphics/ImageMagick/7.0.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix index e15b8240476..c7385a3452f 100644 --- a/pkgs/applications/graphics/ImageMagick/7.0.nix +++ b/pkgs/applications/graphics/ImageMagick/7.0.nix @@ -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 From 09350ff7d4243e81fcab99cdd5f2c696075de42e Mon Sep 17 00:00:00 2001 From: Klemens Nanni Date: Tue, 31 May 2022 06:31:05 +0200 Subject: [PATCH 26/48] nixos/atop: Convert log format to fix service start Raw logs are stored in a versioned binary format and must be update with atopconvert(1) upon atop version updates. Failure to do so results in atop.service startup failure as I found out the hard way after the "atop: 2.6.0 -> 2.7.1"[0] bump: ``` May 31 01:49:25 sh[2269709]: existing file /var/log/atop/atop_20220531 has incompatible header May 31 01:49:25 sh[2269709]: (created by version 2.6 - current version 2.7) May 31 01:49:25 systemd[1]: atop.service: Main process exited, code=exited, status=7/NOTRUNNING ``` Convert logs in `ExecStartPre` and replace them iff updated. This is to avoid changing original modification times upon every service start and thus work against atop's log rotation (see existing `ExecStartPre`). 0: https://github.com/NixOS/nixpkgs/pull/175180#issuecomment-1141546487 --- nixos/modules/programs/atop.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/nixos/modules/programs/atop.nix b/nixos/modules/programs/atop.nix index ad75ab27666..a31078a891a 100644 --- a/nixos/modules/programs/atop.nix +++ b/nixos/modules/programs/atop.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 ]; From 84065e32ba502d521d8a750b05f68bf37198350b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 31 May 2022 11:42:32 +0200 Subject: [PATCH 27/48] python310Packages.sunpy: 3.1.6 -> 4.0.0 --- .../python-modules/sunpy/default.nix | 99 ++++++++++++------- 1 file changed, 64 insertions(+), 35 deletions(-) diff --git a/pkgs/development/python-modules/sunpy/default.nix b/pkgs/development/python-modules/sunpy/default.nix index 8f1653d91ab..78c5665d102 100644 --- a/pkgs/development/python-modules/sunpy/default.nix +++ b/pkgs/development/python-modules/sunpy/default.nix @@ -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" ]; From 9075eec2a76c7d4d963a023f1b715bbc681d22c9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 31 May 2022 10:34:23 +0000 Subject: [PATCH 28/48] mkgmap: 4902 -> 4904 --- pkgs/applications/misc/mkgmap/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/mkgmap/default.nix b/pkgs/applications/misc/mkgmap/default.nix index 89a64457fd5..29bd197a9d6 100644 --- a/pkgs/applications/misc/mkgmap/default.nix +++ b/pkgs/applications/misc/mkgmap/default.nix @@ -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 = [ From 156532fdc0ff066af6b0ad442bdda2649077bd90 Mon Sep 17 00:00:00 2001 From: Nikolay Korotkiy Date: Sun, 22 May 2022 02:00:38 +0300 Subject: [PATCH 29/48] Move geospatial servers into its own folder --- .../{ => geospatial}/mapcache/default.nix | 0 .../{ => geospatial}/mapserver/default.nix | 0 .../{ => geospatial}/martin/default.nix | 0 .../{ => geospatial}/mbtileserver/default.nix | 0 .../pg_featureserv/default.nix | 0 .../{ => geospatial}/pg_tileserv/default.nix | 0 .../servers/{ => geospatial}/t-rex/default.nix | 0 .../{ => geospatial}/tegola/default.nix | 0 .../{ => geospatial}/tile38/default.nix | 0 pkgs/top-level/all-packages.nix | 18 +++++++++--------- 10 files changed, 9 insertions(+), 9 deletions(-) rename pkgs/servers/{ => geospatial}/mapcache/default.nix (100%) rename pkgs/servers/{ => geospatial}/mapserver/default.nix (100%) rename pkgs/servers/{ => geospatial}/martin/default.nix (100%) rename pkgs/servers/{ => geospatial}/mbtileserver/default.nix (100%) rename pkgs/servers/{ => geospatial}/pg_featureserv/default.nix (100%) rename pkgs/servers/{ => geospatial}/pg_tileserv/default.nix (100%) rename pkgs/servers/{ => geospatial}/t-rex/default.nix (100%) rename pkgs/servers/{ => geospatial}/tegola/default.nix (100%) rename pkgs/servers/{ => geospatial}/tile38/default.nix (100%) diff --git a/pkgs/servers/mapcache/default.nix b/pkgs/servers/geospatial/mapcache/default.nix similarity index 100% rename from pkgs/servers/mapcache/default.nix rename to pkgs/servers/geospatial/mapcache/default.nix diff --git a/pkgs/servers/mapserver/default.nix b/pkgs/servers/geospatial/mapserver/default.nix similarity index 100% rename from pkgs/servers/mapserver/default.nix rename to pkgs/servers/geospatial/mapserver/default.nix diff --git a/pkgs/servers/martin/default.nix b/pkgs/servers/geospatial/martin/default.nix similarity index 100% rename from pkgs/servers/martin/default.nix rename to pkgs/servers/geospatial/martin/default.nix diff --git a/pkgs/servers/mbtileserver/default.nix b/pkgs/servers/geospatial/mbtileserver/default.nix similarity index 100% rename from pkgs/servers/mbtileserver/default.nix rename to pkgs/servers/geospatial/mbtileserver/default.nix diff --git a/pkgs/servers/pg_featureserv/default.nix b/pkgs/servers/geospatial/pg_featureserv/default.nix similarity index 100% rename from pkgs/servers/pg_featureserv/default.nix rename to pkgs/servers/geospatial/pg_featureserv/default.nix diff --git a/pkgs/servers/pg_tileserv/default.nix b/pkgs/servers/geospatial/pg_tileserv/default.nix similarity index 100% rename from pkgs/servers/pg_tileserv/default.nix rename to pkgs/servers/geospatial/pg_tileserv/default.nix diff --git a/pkgs/servers/t-rex/default.nix b/pkgs/servers/geospatial/t-rex/default.nix similarity index 100% rename from pkgs/servers/t-rex/default.nix rename to pkgs/servers/geospatial/t-rex/default.nix diff --git a/pkgs/servers/tegola/default.nix b/pkgs/servers/geospatial/tegola/default.nix similarity index 100% rename from pkgs/servers/tegola/default.nix rename to pkgs/servers/geospatial/tegola/default.nix diff --git a/pkgs/servers/tile38/default.nix b/pkgs/servers/geospatial/tile38/default.nix similarity index 100% rename from pkgs/servers/tile38/default.nix rename to pkgs/servers/geospatial/tile38/default.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b2b8f14efb1..6eceb41f904 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7671,11 +7671,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; }; @@ -10893,7 +10893,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 { }; @@ -11509,7 +11509,7 @@ with pkgs; td = callPackage ../tools/misc/td { }; - tegola = callPackage ../servers/tegola {}; + tegola = callPackage ../servers/geospatial/tegola {}; tftp-hpa = callPackage ../tools/networking/tftp-hpa {}; @@ -13086,7 +13086,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; }; @@ -21959,7 +21959,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 {}; @@ -22201,9 +22201,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 { }; From a3859b796fea622e4173fa18500842e70b74f2af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 31 May 2022 01:31:24 +0000 Subject: [PATCH 30/48] python310Packages.pyfuse3: cythonize before building --- .../python-modules/pyfuse3/default.nix | 44 +++++++++++++++---- 1 file changed, 36 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/pyfuse3/default.nix b/pkgs/development/python-modules/pyfuse3/default.nix index cb10f07f22a..bdb420313ba 100644 --- a/pkgs/development/python-modules/pyfuse3/default.nix +++ b/pkgs/development/python-modules/pyfuse3/default.nix @@ -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"; + + src = fetchFromGitHub { + owner = "libfuse"; + repo = "pyfuse3"; + rev = "release-${version}"; + hash = "sha256-JGbp2bSI/Rvyys1xMd2o34KlqqBsV6B9LhuuNopayYA="; }; - disabled = pythonAtLeast "3.10"; - - 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 ]; }; } From 43337d4f93da9348d744112fa351e110986e3113 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 31 May 2022 01:26:14 +0000 Subject: [PATCH 31/48] borgbackup: need either pyfuse3 or llfuse The former is preferred according to https://borgbackup.readthedocs.io/en/1.2.0/installation.html#dependencies but only works on Linux since it depends on libfuse3. --- pkgs/tools/backup/borgbackup/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/tools/backup/borgbackup/default.nix b/pkgs/tools/backup/borgbackup/default.nix index 8202786dde8..85fac81795a 100644 --- a/pkgs/tools/backup/borgbackup/default.nix +++ b/pkgs/tools/backup/borgbackup/default.nix @@ -44,11 +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 = '' From 9b46fd9ba06c2ef388361b000724359799d03c9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 31 May 2022 02:07:54 +0000 Subject: [PATCH 32/48] borgbackup: cython is only required at build-time --- pkgs/tools/backup/borgbackup/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/backup/borgbackup/default.nix b/pkgs/tools/backup/borgbackup/default.nix index 85fac81795a..bd04efc92da 100644 --- a/pkgs/tools/backup/borgbackup/default.nix +++ b/pkgs/tools/backup/borgbackup/default.nix @@ -27,6 +27,7 @@ python3.pkgs.buildPythonApplication rec { ''; nativeBuildInputs = with python3.pkgs; [ + cython setuptools-scm # For building documentation: sphinx @@ -43,7 +44,6 @@ python3.pkgs.buildPythonApplication rec { ]; propagatedBuildInputs = with python3.pkgs; [ - cython msgpack packaging (if stdenv.isLinux then pyfuse3 else llfuse) From 05135c973d03f1bbc645ced9da2804a7d99afe76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20T=C3=B6tterman?= Date: Tue, 31 May 2022 16:29:09 +0300 Subject: [PATCH 33/48] cloudflared: isn't broken after all Flaky tests resulted in broken status. Rebuilt fine. --- pkgs/applications/networking/cloudflared/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/applications/networking/cloudflared/default.nix b/pkgs/applications/networking/cloudflared/default.nix index ba8fa08386e..4990d008c27 100644 --- a/pkgs/applications/networking/cloudflared/default.nix +++ b/pkgs/applications/networking/cloudflared/default.nix @@ -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; From 1910aeba407b22330cf2b4f6651cbd8ebe23261e Mon Sep 17 00:00:00 2001 From: Elias Probst Date: Wed, 6 Oct 2021 00:17:17 +0200 Subject: [PATCH 34/48] leocad: enable povray support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To make povray work, the configurability of its path needs to be disabled, as otherwise the povray binary's absolute path would be stored in the leocad profile, breaking it as soon as povray is updated with a changed store path. A patch disables the configurability and makes leocad call a hardcoded path pointing to the povray binary provided through propagatedBuildInputs Co-authored-by: Nikolay Korotkiy Co-authored-by: Sandro Jäckel --- pkgs/applications/graphics/leocad/default.nix | 11 +++ .../applications/graphics/leocad/povray.patch | 72 +++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 pkgs/applications/graphics/leocad/povray.patch diff --git a/pkgs/applications/graphics/leocad/default.nix b/pkgs/applications/graphics/leocad/default.nix index bb0a9564fe9..bb37dc5ef02 100644 --- a/pkgs/applications/graphics/leocad/default.nix +++ b/pkgs/applications/graphics/leocad/default.nix @@ -2,8 +2,10 @@ , mkDerivation , fetchFromGitHub , fetchurl +, povray , qmake , qttools +, substituteAll , zlib }: @@ -34,6 +36,15 @@ mkDerivation rec { buildInputs = [ zlib ]; + propagatedBuildInputs = [ povray ]; + + patches = [ + (substituteAll { + src = ./povray.patch; + inherit povray; + }) + ]; + qmakeFlags = [ "INSTALL_PREFIX=${placeholder "out"}" "DISABLE_UPDATE_CHECK=1" diff --git a/pkgs/applications/graphics/leocad/povray.patch b/pkgs/applications/graphics/leocad/povray.patch new file mode 100644 index 00000000000..b1281a55b34 --- /dev/null +++ b/pkgs/applications/graphics/leocad/povray.patch @@ -0,0 +1,72 @@ +From 6e7dd2c763e2cc79db4cd7173921a4e72ce9b95e Mon Sep 17 00:00:00 2001 +From: Elias Probst +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 +--- + 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 + From f0e0734f6132276a9fa8ccaef97b5e2cec8b30bb Mon Sep 17 00:00:00 2001 From: Nikola Knezevic Date: Tue, 31 May 2022 20:22:03 +0200 Subject: [PATCH 35/48] Fix: make pyarrow buildable on darwin This change disables several tests that fail on darwin due to requiring localhost networking. In addition, it bumps up the number of open file descriptors to allow test_pandas.py/TestConvertMisc tests to pass. --- pkgs/development/python-modules/pyarrow/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/pyarrow/default.nix b/pkgs/development/python-modules/pyarrow/default.nix index 476a6856436..85d89424c83 100644 --- a/pkgs/development/python-modules/pyarrow/default.nix +++ b/pkgs/development/python-modules/pyarrow/default.nix @@ -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; From eebbc1525af5b7261a11a714e55497d1a8f66a54 Mon Sep 17 00:00:00 2001 From: Pavel Borzenkov Date: Fri, 29 Apr 2022 11:43:10 +0200 Subject: [PATCH 36/48] vimPlugins.nvim-config-local: init at 2022-03-26 --- pkgs/applications/editors/vim/plugins/generated.nix | 12 ++++++++++++ .../editors/vim/plugins/vim-plugin-names | 1 + 2 files changed, 13 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 5cd8c614c78..bfddab75fee 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -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"; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 1ce563d9d09..ec35088f4d7 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -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/,, From d43373cdd60488e93f78dc8a8e2160995c02cdcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Tue, 31 May 2022 21:39:04 +0200 Subject: [PATCH 37/48] dnscontrol: 3.16.1 -> 3.16.2 --- pkgs/applications/networking/dnscontrol/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/dnscontrol/default.nix b/pkgs/applications/networking/dnscontrol/default.nix index 7df7cf1e876..da2104b649a 100644 --- a/pkgs/applications/networking/dnscontrol/default.nix +++ b/pkgs/applications/networking/dnscontrol/default.nix @@ -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 = [ "." ]; From d7ccd36aa0a38c9c6d8d30e3afd5fae7505e2cdd Mon Sep 17 00:00:00 2001 From: Thibault Gagnaux Date: Tue, 31 May 2022 10:03:40 +0200 Subject: [PATCH 38/48] libreoffice: run the update-script's side-effect at runtime instead of eval time --- .../office/libreoffice/darwin/default.nix | 22 +++++++++---------- .../libreoffice/darwin/update-utils.nix | 1 - .../office/libreoffice/darwin/update.nix | 18 +++++++++++++++ 3 files changed, 28 insertions(+), 13 deletions(-) create mode 100644 pkgs/applications/office/libreoffice/darwin/update.nix diff --git a/pkgs/applications/office/libreoffice/darwin/default.nix b/pkgs/applications/office/libreoffice/darwin/default.nix index 5fdf2544ef4..ddfaf584021 100644 --- a/pkgs/applications/office/libreoffice/darwin/default.nix +++ b/pkgs/applications/office/libreoffice/darwin/default.nix @@ -52,26 +52,24 @@ stdenvNoCC.mkDerivation { passthru.updateScript = let - inherit (import ./update-utils.nix { inherit lib; }) - getLatestStableVersion - getSha256; - newVersion = getLatestStableVersion; - newAarch64Sha256 = getSha256 dist."aarch64-darwin".url version newVersion; - newX86_64Sha256 = getSha256 dist."x86_64-darwin".url version newVersion; - currentFile = builtins.toString ./default.nix; + 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 -p common-updater-scripts + #!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=${currentFile} --system=aarch64-darwin - update-source-version libreoffice-bin ${newVersion} ${newAarch64Sha256} --file=${currentFile} --system=aarch64-darwin - update-source-version libreoffice-bin 0 ${lib.fakeSha256} --file=${currentFile} --system=x86_64-darwin - update-source-version libreoffice-bin ${newVersion} ${newX86_64Sha256} --file=${currentFile} --system=x86_64-darwin + 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/"; diff --git a/pkgs/applications/office/libreoffice/darwin/update-utils.nix b/pkgs/applications/office/libreoffice/darwin/update-utils.nix index ed8b24ac87d..766e858e33e 100644 --- a/pkgs/applications/office/libreoffice/darwin/update-utils.nix +++ b/pkgs/applications/office/libreoffice/darwin/update-utils.nix @@ -1,4 +1,3 @@ -# Impure functions, for passthru.updateScript only { lib }: let # extractLatestVersionFromHtml :: String -> String diff --git a/pkgs/applications/office/libreoffice/darwin/update.nix b/pkgs/applications/office/libreoffice/darwin/update.nix new file mode 100644 index 00000000000..b74cca802fc --- /dev/null +++ b/pkgs/applications/office/libreoffice/darwin/update.nix @@ -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; +} From aed49b42fac2a6b466650f7f115cdf16b483d44e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 31 May 2022 20:31:48 +0000 Subject: [PATCH 39/48] python310Packages.google-re2: 0.2.20220401 -> 0.2.20220601 --- pkgs/development/python-modules/google-re2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-re2/default.nix b/pkgs/development/python-modules/google-re2/default.nix index defe92b39ba..113bfeb514d 100644 --- a/pkgs/development/python-modules/google-re2/default.nix +++ b/pkgs/development/python-modules/google-re2/default.nix @@ -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 = [ From 9e807c4adea504cb9cddfea115e781943c0b7f1a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 31 May 2022 20:40:35 +0000 Subject: [PATCH 40/48] python310Packages.gpsoauth: 1.0.0 -> 1.0.1 --- pkgs/development/python-modules/gpsoauth/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/gpsoauth/default.nix b/pkgs/development/python-modules/gpsoauth/default.nix index bf76347c9d0..509cdefd3d4 100644 --- a/pkgs/development/python-modules/gpsoauth/default.nix +++ b/pkgs/development/python-modules/gpsoauth/default.nix @@ -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 ]; From 0f44989a6c7cf2465ab911b22b4966a4be933d22 Mon Sep 17 00:00:00 2001 From: "P. R. d. O" Date: Tue, 31 May 2022 14:44:47 -0600 Subject: [PATCH 41/48] nixui: remove --- pkgs/development/tools/node-webkit/nw12.nix | 59 ---------- .../package-management/nixui/default.nix | 44 ------- .../package-management/nixui/generate.sh | 4 - pkgs/tools/package-management/nixui/nixui.nix | 17 --- .../nixui/node-packages.nix | 108 ------------------ pkgs/tools/package-management/nixui/pkg.json | 3 - pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 7 -- 8 files changed, 1 insertion(+), 242 deletions(-) delete mode 100644 pkgs/development/tools/node-webkit/nw12.nix delete mode 100644 pkgs/tools/package-management/nixui/default.nix delete mode 100755 pkgs/tools/package-management/nixui/generate.sh delete mode 100644 pkgs/tools/package-management/nixui/nixui.nix delete mode 100644 pkgs/tools/package-management/nixui/node-packages.nix delete mode 100644 pkgs/tools/package-management/nixui/pkg.json diff --git a/pkgs/development/tools/node-webkit/nw12.nix b/pkgs/development/tools/node-webkit/nw12.nix deleted file mode 100644 index da85be92671..00000000000 --- a/pkgs/development/tools/node-webkit/nw12.nix +++ /dev/null @@ -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; - }; -} diff --git a/pkgs/tools/package-management/nixui/default.nix b/pkgs/tools/package-management/nixui/default.nix deleted file mode 100644 index c5aef5c1754..00000000000 --- a/pkgs/tools/package-management/nixui/default.nix +++ /dev/null @@ -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; - }; -} diff --git a/pkgs/tools/package-management/nixui/generate.sh b/pkgs/tools/package-management/nixui/generate.sh deleted file mode 100755 index fcb610c9d3b..00000000000 --- a/pkgs/tools/package-management/nixui/generate.sh +++ /dev/null @@ -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 diff --git a/pkgs/tools/package-management/nixui/nixui.nix b/pkgs/tools/package-management/nixui/nixui.nix deleted file mode 100644 index e6ff9b78d38..00000000000 --- a/pkgs/tools/package-management/nixui/nixui.nix +++ /dev/null @@ -1,17 +0,0 @@ -# This file has been generated by node2nix 1.9.0. Do not edit! - -{pkgs ? import { - 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; -} diff --git a/pkgs/tools/package-management/nixui/node-packages.nix b/pkgs/tools/package-management/nixui/node-packages.nix deleted file mode 100644 index 89362dbec09..00000000000 --- a/pkgs/tools/package-management/nixui/node-packages.nix +++ /dev/null @@ -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; - }; -} diff --git a/pkgs/tools/package-management/nixui/pkg.json b/pkgs/tools/package-management/nixui/pkg.json deleted file mode 100644 index 39aceb5b0e1..00000000000 --- a/pkgs/tools/package-management/nixui/pkg.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - { "nixui": "git+https://github.com/matejc/nixui.git#0.2.1" } -] diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index c5b6cc7492d..6278957813c 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -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 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6d60c4b41d8..9b8bed119a5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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; }; @@ -34308,8 +34303,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 { }; From f1f2f78340eeb738054dcd955e83065dcdc4d591 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 31 May 2022 21:06:12 +0000 Subject: [PATCH 42/48] python310Packages.llfuse: 1.4.1 -> 1.4.2 --- pkgs/development/python-modules/llfuse/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/llfuse/default.nix b/pkgs/development/python-modules/llfuse/default.nix index cbf7e84c720..497e1e279eb 100644 --- a/pkgs/development/python-modules/llfuse/default.nix +++ b/pkgs/development/python-modules/llfuse/default.nix @@ -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 ]; From cfce5cc04cc8843cd22e15630c64792d2be8c42a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 31 May 2022 21:12:25 +0000 Subject: [PATCH 43/48] python310Packages.gspread: 5.3.2 -> 5.4.0 --- pkgs/development/python-modules/gspread/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/gspread/default.nix b/pkgs/development/python-modules/gspread/default.nix index 32a27cf5441..894af68a553 100644 --- a/pkgs/development/python-modules/gspread/default.nix +++ b/pkgs/development/python-modules/gspread/default.nix @@ -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 ]; From 4c6448bbe63fb0298c5536d7205b3d5605e11c96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Schr=C3=B6ter?= Date: Mon, 30 May 2022 21:15:45 +0200 Subject: [PATCH 44/48] portfolio: 0.57.2 -> 0.58.3 --- pkgs/applications/office/portfolio/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/office/portfolio/default.nix b/pkgs/applications/office/portfolio/default.nix index 653e72a163e..835f96d2158 100644 --- a/pkgs/applications/office/portfolio/default.nix +++ b/pkgs/applications/office/portfolio/default.nix @@ -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 = [ From 0835ac53cfc7387ef8de43bafc36ede6f61461a9 Mon Sep 17 00:00:00 2001 From: Babbaj Date: Tue, 31 May 2022 17:53:46 -0400 Subject: [PATCH 45/48] linuxPackages.kvmfr: fix for linux 5.18 --- pkgs/os-specific/linux/kvmfr/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/kvmfr/default.nix b/pkgs/os-specific/linux/kvmfr/default.nix index 4bb20a9b62a..24fedbf59d7 100644 --- a/pkgs/os-specific/linux/kvmfr/default.nix +++ b/pkgs/os-specific/linux/kvmfr/default.nix @@ -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"; }; } From a0af6bfe42880013b4fdedeb87a86495c036484a Mon Sep 17 00:00:00 2001 From: Skyler Grey Date: Tue, 31 May 2022 23:40:16 +0100 Subject: [PATCH 46/48] glpaper: unstable-2020-10-11 -> unstable-2022-05-15 --- pkgs/development/tools/glpaper/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/glpaper/default.nix b/pkgs/development/tools/glpaper/default.nix index f6465d53cae..52ed9492105 100644 --- a/pkgs/development/tools/glpaper/default.nix +++ b/pkgs/development/tools/glpaper/default.nix @@ -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 ]; From fedeef0ff65b1e18ade8c5f44f7995367c3a0100 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 1 Jun 2022 00:47:42 +0200 Subject: [PATCH 47/48] python310Packages.types-setuptools: 57.4.15 -> 57.4.17 --- pkgs/development/python-modules/types-setuptools/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/types-setuptools/default.nix b/pkgs/development/python-modules/types-setuptools/default.nix index 1ece4f74f81..1114b06157a 100644 --- a/pkgs/development/python-modules/types-setuptools/default.nix +++ b/pkgs/development/python-modules/types-setuptools/default.nix @@ -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 From aff15c41fc902d06410897d968fe61c6f83211f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 26 May 2022 19:21:06 +0000 Subject: [PATCH 48/48] dmarc-metrics-exporter: rename from prometheus-dmarc-exporter Also stop using poetry2nix. --- .../monitoring/prometheus/exporters/dmarc.nix | 2 +- .../prometheus/dmarc-exporter/default.nix | 62 --- .../dmarc-exporter/poetry-git-overlay.nix | 14 - .../prometheus/dmarc-exporter/poetry.lock | 503 ------------------ .../prometheus/dmarc-exporter/pyproject.toml | 14 - .../prometheus/dmarc-exporter/update | 5 - .../dmarc-metrics-exporter/default.nix | 69 +++ pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 3 +- 9 files changed, 73 insertions(+), 600 deletions(-) delete mode 100644 pkgs/servers/monitoring/prometheus/dmarc-exporter/default.nix delete mode 100644 pkgs/servers/monitoring/prometheus/dmarc-exporter/poetry-git-overlay.nix delete mode 100644 pkgs/servers/monitoring/prometheus/dmarc-exporter/poetry.lock delete mode 100644 pkgs/servers/monitoring/prometheus/dmarc-exporter/pyproject.toml delete mode 100755 pkgs/servers/monitoring/prometheus/dmarc-exporter/update create mode 100644 pkgs/servers/monitoring/prometheus/dmarc-metrics-exporter/default.nix diff --git a/nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix b/nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix index 330610a15d9..25950e1ece9 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/dmarc.nix @@ -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"} ''}"; diff --git a/pkgs/servers/monitoring/prometheus/dmarc-exporter/default.nix b/pkgs/servers/monitoring/prometheus/dmarc-exporter/default.nix deleted file mode 100644 index e083df90b41..00000000000 --- a/pkgs/servers/monitoring/prometheus/dmarc-exporter/default.nix +++ /dev/null @@ -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; -} diff --git a/pkgs/servers/monitoring/prometheus/dmarc-exporter/poetry-git-overlay.nix b/pkgs/servers/monitoring/prometheus/dmarc-exporter/poetry-git-overlay.nix deleted file mode 100644 index cb8d7170a19..00000000000 --- a/pkgs/servers/monitoring/prometheus/dmarc-exporter/poetry-git-overlay.nix +++ /dev/null @@ -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"; - }; - } - ); - -} diff --git a/pkgs/servers/monitoring/prometheus/dmarc-exporter/poetry.lock b/pkgs/servers/monitoring/prometheus/dmarc-exporter/poetry.lock deleted file mode 100644 index 80b99127b0c..00000000000 --- a/pkgs/servers/monitoring/prometheus/dmarc-exporter/poetry.lock +++ /dev/null @@ -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"}, -] diff --git a/pkgs/servers/monitoring/prometheus/dmarc-exporter/pyproject.toml b/pkgs/servers/monitoring/prometheus/dmarc-exporter/pyproject.toml deleted file mode 100644 index f3b95e154ee..00000000000 --- a/pkgs/servers/monitoring/prometheus/dmarc-exporter/pyproject.toml +++ /dev/null @@ -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" diff --git a/pkgs/servers/monitoring/prometheus/dmarc-exporter/update b/pkgs/servers/monitoring/prometheus/dmarc-exporter/update deleted file mode 100755 index 77cfe9ff86d..00000000000 --- a/pkgs/servers/monitoring/prometheus/dmarc-exporter/update +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env nix-shell -#! nix-shell -i bash -p poetry poetry2nix.cli -set -eu -poetry lock -poetry2nix lock diff --git a/pkgs/servers/monitoring/prometheus/dmarc-metrics-exporter/default.nix b/pkgs/servers/monitoring/prometheus/dmarc-metrics-exporter/default.nix new file mode 100644 index 00000000000..ca5ce804e17 --- /dev/null +++ b/pkgs/servers/monitoring/prometheus/dmarc-metrics-exporter/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 51f51534635..d89e59acc1c 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1094,6 +1094,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 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 187b6fedb47..73c649505e7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21681,6 +21681,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; @@ -22402,7 +22404,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 { };