From 12755ecdd522b502048c5b915cae1241778feabf Mon Sep 17 00:00:00 2001 From: ryneeverett Date: Thu, 10 Sep 2020 15:30:01 +0000 Subject: [PATCH 001/128] nixos/docker: load more required kernel modules This builds on #76487. br_netfilter ------------ When I first added veth it was suggested I add bridge as well. Without veth I get the following error message when starting the daemon with security.lockKernelModules=true: > Running modprobe bridge br_netfilter failed with message: modprobe: ERROR: could not insert 'br_netfilter': Operation not permitted Therefore if we're going to add bridge we may as well add br_netfilter as well. xt_nat ------ Without xt_nat, docker cannot do dnat with iptables, failing with: > iptables v1.8.4 (legacy): unknown option \"--to-destination\"\nTry `iptables -h' or 'iptables --help' for more information.\n (exit status 2)) --- nixos/modules/virtualisation/docker.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/virtualisation/docker.nix b/nixos/modules/virtualisation/docker.nix index 29f133786d8d..9db408b53c6e 100644 --- a/nixos/modules/virtualisation/docker.nix +++ b/nixos/modules/virtualisation/docker.nix @@ -149,7 +149,7 @@ in ###### implementation config = mkIf cfg.enable (mkMerge [{ - boot.kernelModules = [ "bridge" "veth" ]; + boot.kernelModules = [ "bridge" "veth" "br_netfilter" "xt_nat" ]; boot.kernel.sysctl = { "net.ipv4.conf.all.forwarding" = mkOverride 98 true; "net.ipv4.conf.default.forwarding" = mkOverride 98 true; From c5ec1baa8f23c91640c1e2c40170e66ef5597ee2 Mon Sep 17 00:00:00 2001 From: Kylie McClain Date: Tue, 15 Mar 2022 03:30:26 -0400 Subject: [PATCH 002/128] nasin-nanpa: init at 2.5.1 --- pkgs/data/fonts/nasin-nanpa/default.nix | 42 +++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 44 insertions(+) create mode 100644 pkgs/data/fonts/nasin-nanpa/default.nix diff --git a/pkgs/data/fonts/nasin-nanpa/default.nix b/pkgs/data/fonts/nasin-nanpa/default.nix new file mode 100644 index 000000000000..cd05c667a248 --- /dev/null +++ b/pkgs/data/fonts/nasin-nanpa/default.nix @@ -0,0 +1,42 @@ +{ lib, stdenvNoCC, fetchurl }: + +stdenvNoCC.mkDerivation rec { + pname = "nasin-nanpa"; + version = "2.5.1"; + + srcs = [ + (fetchurl { + name = "nasin-nanpa.otf"; + url = "https://github.com/ETBCOR/nasin-nanpa/releases/download/n${version}/nasin-nanpa-${version}.otf"; + hash = "sha256-++uOrqFzQ6CB/OPEmBivpjMfAtFk3PSsCNpFBjOtGEg="; + }) + (fetchurl { + name = "nasin-nanpa-lasina-kin.otf"; + url = "https://github.com/ETBCOR/nasin-nanpa/releases/download/n${version}/nasin-nanpa-${version}-lasina-kin.otf"; + hash = "sha256-4WIX74y2O4NaKi/JQrgTbOxlKDQKJ/F9wkQuoOdWuTI="; + }) + ]; + + dontUnpack = true; + + installPhase = '' + mkdir -p $out/share/fonts/opentype + for src in $srcs; do + file=$(stripHash $src) + cp $src $out/share/fonts/opentype/$file + done + ''; + + meta = with lib; { + homepage = "https://github.com/ETBCOR/nasin-nanpa"; + description = "UCSUR OpenType monospaced font for the Toki Pona writing system, Sitelen Pona"; + longDescription = '' + ni li nasin pi sitelen pona. + sitelen ale pi nasin ni li sama mute weka. + sitelen pi nasin ni li lon nasin UCSUR kin. + ''; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ somasis ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d08b09c37e3d..f8dd90cdc0db 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -26516,6 +26516,8 @@ with pkgs; nanum-gothic-coding = callPackage ../data/fonts/nanum-gothic-coding { }; + nasin-nanpa = callPackage ../data/fonts/nasin-nanpa {}; + national-park-typeface = callPackage ../data/fonts/national-park { }; netease-music-tui = callPackage ../applications/audio/netease-music-tui { From 75fae935dc081f86bd0fff64d2b54fc7138117bb Mon Sep 17 00:00:00 2001 From: quasigod-io Date: Wed, 2 Nov 2022 23:05:06 -0400 Subject: [PATCH 003/128] protonup-qt: init at 2.7.4 --- .../applications/misc/protonup-qt/default.nix | 33 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/applications/misc/protonup-qt/default.nix diff --git a/pkgs/applications/misc/protonup-qt/default.nix b/pkgs/applications/misc/protonup-qt/default.nix new file mode 100644 index 000000000000..50cb5c9cd003 --- /dev/null +++ b/pkgs/applications/misc/protonup-qt/default.nix @@ -0,0 +1,33 @@ +{ appimageTools, fetchurl, lib }: +let + pname = "protonup-qt"; + version = "2.7.4"; + src = fetchurl { + url = "https://github.com/DavidoTek/ProtonUp-Qt/releases/download/v${version}/ProtonUp-Qt-${version}-x86_64.AppImage"; + sha256 = "yKc+KOQfqciqULnChVLf6y9npoSYM6Fmu7mYGEKmpkA="; + }; + appimageContents = appimageTools.extractType2 { inherit pname version src; }; +in +appimageTools.wrapType2 rec { + inherit pname version src; + + extraInstallCommands = '' + mv $out/bin/{${pname}-${version},${pname}} + mkdir -p $out/share/{applications,pixmaps} + cp ${appimageContents}/net.davidotek.pupgui2.desktop $out/share/applications/${pname}.desktop + cp ${appimageContents}/net.davidotek.pupgui2.png $out/share/pixmaps/${pname}.png + substituteInPlace $out/share/applications/${pname}.desktop \ + --replace 'Exec=net.davidotek.pupgui2' 'Exec=${pname}' \ + --replace 'Icon=net.davidotek.pupgui2' 'Icon=${pname}' + ''; + + meta = with lib; { + homepage = "https://davidotek.github.io/protonup-qt/"; + description = "Install and manage Proton-GE and Luxtorpeda for Steam and Wine-GE for Lutris with this graphical user interface."; + license = licenses.gpl3; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + mainProgram = "protonup-qt"; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ quasigod-io ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cda60e5f2dbc..6e40b3d8a098 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -29189,6 +29189,8 @@ with pkgs; pixinsight = libsForQt5.callPackage ../applications/graphics/pixinsight { }; + protonup-qt = python3Packages.callPackage ../applications/misc/protonup-qt { }; + pmbootstrap = python3Packages.callPackage ../tools/misc/pmbootstrap { }; shepherd = nodePackages."@nerdwallet/shepherd"; From 4add2dd5c64f1c65284b3aa1c57f9508a6d85f0e Mon Sep 17 00:00:00 2001 From: Kylie McClain Date: Sun, 6 Nov 2022 18:36:14 -0500 Subject: [PATCH 004/128] hunspell-dict-tok: init at 20220829 --- .../libraries/hunspell/dictionaries.nix | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/hunspell/dictionaries.nix b/pkgs/development/libraries/hunspell/dictionaries.nix index 3eee425d4be8..09d68fa0199d 100644 --- a/pkgs/development/libraries/hunspell/dictionaries.nix +++ b/pkgs/development/libraries/hunspell/dictionaries.nix @@ -1,6 +1,6 @@ /* hunspell dictionaries */ -{ lib, stdenv, fetchurl, fetchFromGitHub, unzip, coreutils, bash, which, zip, ispell, perl, hunspell }: +{ lib, stdenv, fetchurl, fetchzip, fetchFromGitHub, unzip, coreutils, bash, which, zip, ispell, perl, hunspell }: let @@ -878,4 +878,28 @@ rec { shortDescription = "Norwegian Nynorsk (Norway)"; license = with lib.licenses; [ gpl2Only ]; }; + + /* TOKI PONA */ + + tok = mkDict rec { + pname = "hunspell-dict-tok"; + version = "20220829"; + dictFileName = "tok"; + readmeFile = "README.en.adoc"; + + src = fetchzip { + url = "https://github.com/somasis/hunspell-tok/releases/download/${version}/hunspell-tok-${version}.tar.gz"; + sha256 = "sha256-RiAODKXPUeIcf8IFcU6Tacehq5S8GYuPTuxEiN2CXD0="; + }; + + dontBuild = true; + + meta = with lib; { + description = "Hunspell dictionary for Toki Pona"; + homepage = "https://github.com/somasis/hunspell-tok"; + license = with lib.licenses; [ cc0 publicDomain cc-by-sa-30 cc-by-sa-40 ]; + maintainers = with maintainers; [ somasis ]; + platforms = platforms.all; + }; + }; } From fc2812a1f8a2b74ce0ab9a36912e9298b2027bfe Mon Sep 17 00:00:00 2001 From: Jiajie Chen Date: Tue, 1 Nov 2022 10:45:33 +0800 Subject: [PATCH 005/128] nest: init at 3.3 --- .../science/biology/nest/default.nix | 70 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++ pkgs/top-level/python-packages.nix | 2 + 3 files changed, 76 insertions(+) create mode 100644 pkgs/applications/science/biology/nest/default.nix diff --git a/pkgs/applications/science/biology/nest/default.nix b/pkgs/applications/science/biology/nest/default.nix new file mode 100644 index 000000000000..01874763901b --- /dev/null +++ b/pkgs/applications/science/biology/nest/default.nix @@ -0,0 +1,70 @@ +{ lib +, stdenv +, fetchFromGitHub +, testers +, cmake +, gsl +, libtool +, mpi +, nest +, pkg-config +, python3 +, readline +, autoPatchelfHook +, withPython ? false +, withMpi ? false +}: + +stdenv.mkDerivation rec { + pname = "nest"; + version = "3.3"; + + src = fetchFromGitHub { + owner = "nest"; + repo = "nest-simulator"; + rev = "v${version}"; + sha256 = "sha256-wmn5LOOHlSuyPdV6O6v7j10dxdcvqpym6MfveZdL+dU="; + }; + + postPatch = '' + patchShebangs cmake/CheckFiles/check_return_val.sh + # fix PyNEST installation path + # it expects CMAKE_INSTALL_LIBDIR to be relative + substituteInPlace cmake/ProcessOptions.cmake \ + --replace "\''${CMAKE_INSTALL_LIBDIR}/python" "lib/python" + ''; + + nativeBuildInputs = [ + cmake + pkg-config + autoPatchelfHook + ]; + + buildInputs = [ + gsl + readline + libtool # libltdl + ] ++ lib.optionals withPython [ + python3 + python3.pkgs.cython + ] ++ lib.optional withMpi mpi; + + cmakeFlags = [ + "-Dwith-python=${if withPython then "ON" else "OFF"}" + "-Dwith-mpi=${if withMpi then "ON" else "OFF"}" + "-Dwith-openmp=${if stdenv.isDarwin then "OFF" else "ON"}" + ]; + + passthru.tests.version = testers.testVersion { + package = nest; + command = "nest --version"; + }; + + meta = with lib; { + description = "NEST is a command line tool for simulating neural networks"; + homepage = "https://www.nest-simulator.org/"; + license = licenses.gpl2; + maintainers = with maintainers; [ jiegec ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 70d0aa64c71c..e7f64ad78579 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -35278,6 +35278,10 @@ with pkgs; n3 = callPackage ../applications/science/biology/N3 { }; + nest = callPackage ../applications/science/biology/nest { }; + + nest-mpi = callPackage ../applications/science/biology/nest { withMpi = true; }; + neuron = callPackage ../applications/science/biology/neuron { python = null; }; neuron-mpi = neuron.override {useMpi = true; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index af0c07084a9f..5c79953c8a5d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6069,6 +6069,8 @@ self: super: with self; { nessclient = callPackage ../development/python-modules/nessclient { }; + nest = toPythonModule(pkgs.nest-mpi.override { withPython = true; python3 = python; }); + nest-asyncio = callPackage ../development/python-modules/nest-asyncio { }; nested-lookup = callPackage ../development/python-modules/nested-lookup { }; From 18d6f13520878b2b7f2fdc9b57b21b2ad925c38a Mon Sep 17 00:00:00 2001 From: Jiajie Chen Date: Tue, 1 Nov 2022 14:54:42 +0800 Subject: [PATCH 006/128] python3Packages.brian2: init at 2.5.1 --- .../python-modules/brian2/default.nix | 53 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 55 insertions(+) create mode 100644 pkgs/development/python-modules/brian2/default.nix diff --git a/pkgs/development/python-modules/brian2/default.nix b/pkgs/development/python-modules/brian2/default.nix new file mode 100644 index 000000000000..52149b883060 --- /dev/null +++ b/pkgs/development/python-modules/brian2/default.nix @@ -0,0 +1,53 @@ +{ lib +, buildPythonPackage +, fetchPypi +, cython +, jinja2 +, numpy +, pyparsing +, setuptools +, sympy +, pytest +, pytest-xdist +, python +}: + +buildPythonPackage rec { + pname = "brian2"; + version = "2.5.1"; + + src = fetchPypi { + pname = "Brian2"; + inherit version; + sha256 = "sha256-x1EcS7PFCsjPYsq3Lt87SJRW4J5DE/OfdFs3NuyHiLw="; + }; + + propagatedBuildInputs = [ + cython + jinja2 + numpy + pyparsing + setuptools + sympy + ]; + + checkInputs = [ + pytest + pytest-xdist + ]; + + checkPhase = '' + runHook preCheck + # Cython cache lies in home directory + export HOME=$(mktemp -d) + cd $HOME && ${python.interpreter} -c "import brian2;assert brian2.test()" + runHook postCheck + ''; + + meta = with lib; { + description = "A clock-driven simulator for spiking neural networks"; + homepage = "https://briansimulator.org/"; + license = licenses.cecill21; + maintainers = with maintainers; [ jiegec ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index af0c07084a9f..ad4f457442c0 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1372,6 +1372,8 @@ self: super: with self; { brelpy = callPackage ../development/python-modules/brelpy { }; + brian2 = callPackage ../development/python-modules/brian2 { }; + broadlink = callPackage ../development/python-modules/broadlink { }; brother = callPackage ../development/python-modules/brother { }; From 5bf53688d62ab6e8d080f6c395077b01a0804425 Mon Sep 17 00:00:00 2001 From: Nikita Uvarov Date: Tue, 27 Dec 2022 10:05:01 +0000 Subject: [PATCH 007/128] =?UTF-8?q?webex:=2042.10.0.24000=20=E2=86=92=2042?= =?UTF-8?q?.12.0.24485?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../networking/instant-messengers/webex/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/webex/default.nix b/pkgs/applications/networking/instant-messengers/webex/default.nix index f28cc3c25f6e..1c2c3eb9fec7 100644 --- a/pkgs/applications/networking/instant-messengers/webex/default.nix +++ b/pkgs/applications/networking/instant-messengers/webex/default.nix @@ -55,11 +55,11 @@ stdenv.mkDerivation rec { pname = "webex"; - version = "42.10.0.24000"; + version = "42.12.0.24485"; src = fetchurl { - url = "https://binaries.webex.com/WebexDesktop-Ubuntu-Gold/20221019145240/Webex_ubuntu.7z"; - sha256 = "03b77a3fcce76f04cf684bcdecb3bcce97c5a8b6cc36b40967cc14fa9a46c102"; + url = "https://binaries.webex.com/WebexDesktop-Ubuntu-Gold/20221206141837/Webex_ubuntu.7z"; + sha256 = "4c09c13b760abbdcc8bc1a74d137f8bc23386da4425cbefd8ea75bd0a877fdbf"; }; buildInputs = [ From 68e2afd480150e2b10eeac2eab6f420ea4e7ca33 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 30 Jan 2023 13:29:21 +0000 Subject: [PATCH 008/128] python310Packages.selenium: 4.7.0 -> 4.8.0 --- pkgs/development/python-modules/selenium/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/selenium/default.nix b/pkgs/development/python-modules/selenium/default.nix index 76c3956ec86b..598bbc41deee 100644 --- a/pkgs/development/python-modules/selenium/default.nix +++ b/pkgs/development/python-modules/selenium/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "selenium"; - version = "4.7.0"; + version = "4.8.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -23,7 +23,7 @@ buildPythonPackage rec { repo = "selenium"; # check if there is a newer tag with or without -python suffix rev = "refs/tags/selenium-${version}"; - hash = "sha256-7inmi8dHi6So+8AbLq85Go/GEaiV1XK/7+wt9UkTdo8="; + hash = "sha256-YTi6SNtTWuEPlQ3PTeis9osvtnWmZ7SRQbne9fefdco="; }; postPatch = '' From 62928668a8562dfc910ce5d5b21cdaff8366ad06 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Thu, 29 Dec 2022 20:17:54 +0100 Subject: [PATCH 009/128] nixos/no-x-libs: add vim-full --- nixos/modules/config/no-x-libs.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix index 1d0bc73cac2a..e506a500a712 100644 --- a/nixos/modules/config/no-x-libs.nix +++ b/nixos/modules/config/no-x-libs.nix @@ -65,6 +65,7 @@ with lib; stoken = super.stoken.override { withGTK3 = false; }; # translateManpages -> perlPackages.po4a -> texlive-combined-basic -> texlive-core-big -> libX11 util-linux = super.util-linux.override { translateManpages = false; }; + vim-full = super.vim-full.override { guiSupport = false; }; zbar = super.zbar.override { enableVideo = false; withXorg = false; }; })); }; From 5a1ba628417ce5f6151bea3f37351d8e68383252 Mon Sep 17 00:00:00 2001 From: ppom Date: Thu, 9 Feb 2023 00:56:08 +0100 Subject: [PATCH 010/128] onlyoffice: allow ExecStartPre additions --- nixos/modules/services/web-apps/onlyoffice.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/web-apps/onlyoffice.nix b/nixos/modules/services/web-apps/onlyoffice.nix index 79ed3e43dd18..0c04b19c4965 100644 --- a/nixos/modules/services/web-apps/onlyoffice.nix +++ b/nixos/modules/services/web-apps/onlyoffice.nix @@ -267,7 +267,7 @@ in wantedBy = [ "multi-user.target" ]; serviceConfig = { ExecStart = "${cfg.package.fhs}/bin/onlyoffice-wrapper DocService/docservice /run/onlyoffice/config"; - ExecStartPre = onlyoffice-prestart; + ExecStartPre = [ onlyoffice-prestart ]; Group = "onlyoffice"; Restart = "always"; RuntimeDirectory = "onlyoffice"; From 2d30754df3e98a72f1080fa0e5a2f590fa28cd9a Mon Sep 17 00:00:00 2001 From: Zhong Jianxin Date: Thu, 9 Feb 2023 15:39:37 +0800 Subject: [PATCH 011/128] kubernetes-helmPlugins.helm-diff: 3.5.0 -> 3.6.0 --- .../networking/cluster/helm/plugins/helm-diff.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix index 64fa0f35e543..c08e12a4de8e 100644 --- a/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix +++ b/pkgs/applications/networking/cluster/helm/plugins/helm-diff.nix @@ -2,16 +2,18 @@ buildGoModule rec { pname = "helm-diff"; - version = "3.5.0"; + version = "3.6.0"; src = fetchFromGitHub { owner = "databus23"; repo = pname; rev = "v${version}"; - sha256 = "sha256-evFdMM2AilKQPdSCUzKo6RuC4OC4zfjj+JzFvtkSrdk="; + sha256 = "sha256-JeQP2KXoLxkyRZVFcd6Rrz5xyJd+F3plzznAVP3Um8g="; }; - vendorSha256 = "sha256-9i4ryBpaK7mMbsOpIaaZWBRjewD1MtTpf4zJ0yU0KMg="; + vendorSha256 = "sha256-d5NSqCJrk9QhV5gVOKUG/uJxuvt8X8hiQd8yJEoXPL0="; + + ldflags = [ "-s" "-w" "-X github.com/databus23/helm-diff/v3/cmd.Version=${version}" ]; # NOTE: Remove the install and upgrade hooks. postPatch = '' From 95b0856179ba4ac8ef21a5d82b34f6b97c17dd43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sat, 11 Feb 2023 12:32:52 -0800 Subject: [PATCH 012/128] python310Packages.playwright: set meta.platforms --- pkgs/development/python-modules/playwright/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/playwright/default.nix b/pkgs/development/python-modules/playwright/default.nix index e57655c2227c..741b655df868 100644 --- a/pkgs/development/python-modules/playwright/default.nix +++ b/pkgs/development/python-modules/playwright/default.nix @@ -223,5 +223,6 @@ buildPythonPackage rec { homepage = "https://github.com/microsoft/playwright-python"; license = licenses.asl20; maintainers = with maintainers; [ techknowlogick yrd SuperSandro2000 ]; + platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; }; } From c976bd78844756f1fec76e5573319077c6bcf70a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 12 Feb 2023 06:45:43 +0000 Subject: [PATCH 013/128] python310Packages.oslo-serialization: 5.0.0 -> 5.1.0 --- .../development/python-modules/oslo-serialization/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/oslo-serialization/default.nix b/pkgs/development/python-modules/oslo-serialization/default.nix index a94c79e9baf6..bb2cfbea90ad 100644 --- a/pkgs/development/python-modules/oslo-serialization/default.nix +++ b/pkgs/development/python-modules/oslo-serialization/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "oslo-serialization"; - version = "5.0.0"; + version = "5.1.0"; src = fetchPypi { pname = "oslo.serialization"; inherit version; - sha256 = "sha256-KEUyjQ9H3Ioj/tKoIlPpCs/wqnMdvSTzec+OUObMZro="; + sha256 = "sha256-pIR98yaBwahL0TotunpuydW0SITeYyUhGS9tx1DOCYQ="; }; postPatch = '' From 2dd58d648775b7efb1b5d09ca47fa61a1250a92c Mon Sep 17 00:00:00 2001 From: Daniel Hancock Date: Sun, 12 Feb 2023 17:35:02 +0800 Subject: [PATCH 014/128] =?UTF-8?q?flatpak:=201.14.1=20=E2=86=92=201.14.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/libraries/flatpak/default.nix | 4 ++-- .../development/libraries/flatpak/unset-env-vars.patch | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/flatpak/default.nix b/pkgs/development/libraries/flatpak/default.nix index 14e6abd90065..7fd08bc599a6 100644 --- a/pkgs/development/libraries/flatpak/default.nix +++ b/pkgs/development/libraries/flatpak/default.nix @@ -54,14 +54,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "flatpak"; - version = "1.14.1"; + version = "1.14.2"; # TODO: split out lib once we figure out what to do with triggerdir outputs = [ "out" "dev" "man" "doc" "devdoc" "installedTests" ]; src = fetchurl { url = "https://github.com/flatpak/flatpak/releases/download/${finalAttrs.version}/flatpak-${finalAttrs.version}.tar.xz"; - sha256 = "sha256-CjyCM0MBjMWJhrbIJUVgnIzb8Pul8B2IMHvRSstd058="; # Taken from https://github.com/flatpak/flatpak/releases/ + sha256 = "sha256-yAcR6s9CqZB49jlqplVV3Wv3PuxjF3a3np17cmK293Q="; # Taken from https://github.com/flatpak/flatpak/releases/ }; patches = [ diff --git a/pkgs/development/libraries/flatpak/unset-env-vars.patch b/pkgs/development/libraries/flatpak/unset-env-vars.patch index 6b8017684d45..ffefdd6ed621 100644 --- a/pkgs/development/libraries/flatpak/unset-env-vars.patch +++ b/pkgs/development/libraries/flatpak/unset-env-vars.patch @@ -1,11 +1,11 @@ diff --git a/common/flatpak-run.c b/common/flatpak-run.c -index 146c4f87..bcdad2bc 100644 +index d35b4652..b4bb4a44 100644 --- a/common/flatpak-run.c +++ b/common/flatpak-run.c -@@ -1710,6 +1710,7 @@ static const ExportData default_exports[] = { - {"GST_PTP_HELPER", NULL}, - {"GST_PTP_HELPER_1_0", NULL}, - {"GST_INSTALL_PLUGINS_HELPER", NULL}, +@@ -1899,6 +1899,7 @@ static const ExportData default_exports[] = { + {"KRB5CCNAME", NULL}, + {"XKB_CONFIG_ROOT", NULL}, + {"GIO_EXTRA_MODULES", NULL}, + {"GDK_PIXBUF_MODULE_FILE", NULL}, }; From d004105003d6336b0b0afcecf2210e866c029245 Mon Sep 17 00:00:00 2001 From: pennae Date: Sat, 11 Feb 2023 19:42:53 +0100 Subject: [PATCH 015/128] nixos-render-docs: print exception trees by __cause__ __context__ is always set to the prior exception, even when not using the raise from form. __cause__ is only set during raise from. use __cause__ so we can override a leaf exception (eg KeyError to something more meaningful). --- .../nix/nixos-render-docs/src/nixos_render_docs/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/__init__.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/__init__.py index 67d7bce0047d..56b68ba27a53 100644 --- a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/__init__.py +++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/__init__.py @@ -29,9 +29,9 @@ def pretty_print_exc(e: BaseException, *, _desc_text: str = "error") -> None: print(textwrap.indent(extra_info, "\t"), file=sys.stderr, end="") else: print(e) - if e.__context__ is not None: + if e.__cause__ is not None: print("", file=sys.stderr) - pretty_print_exc(e.__context__, _desc_text="caused by") + pretty_print_exc(e.__cause__, _desc_text="caused by") def main() -> None: parser = argparse.ArgumentParser(description='render nixos manual bits') From ad2b150af78f260f9b1caee0f4d3d877af78c121 Mon Sep 17 00:00:00 2001 From: pennae Date: Sat, 11 Feb 2023 20:04:26 +0100 Subject: [PATCH 016/128] nixos-render-docs: use Mapping for options converter this way we can pass in frozendicts from other converters. --- .../nix/nixos-render-docs/src/nixos_render_docs/options.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py index 95091d3cdd28..b0db410c4818 100644 --- a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py +++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py @@ -29,7 +29,7 @@ class BaseConverter(Converter): _options: dict[str, RenderedOption] - def __init__(self, manpage_urls: dict[str, str], + def __init__(self, manpage_urls: Mapping[str, str], revision: str, markdown_by_default: bool): super().__init__(manpage_urls) From d30da4d9cd20f18b08d51fc28b20b4bbd2aa2a64 Mon Sep 17 00:00:00 2001 From: pennae Date: Sat, 11 Feb 2023 19:48:15 +0100 Subject: [PATCH 017/128] nixos-render-docs: add support for is different from all other blocks we care about in that it requires textual content to be wrapped in . add support for this to the generic docbook renderer, which will just assume that a part is the whole document start to finish. we do make provision for the manual renderer to close a partintro tag early though. --- .../src/nixos_render_docs/docbook.py | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/docbook.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/docbook.py index b3728645f75f..28ab53720936 100644 --- a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/docbook.py +++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/docbook.py @@ -28,6 +28,9 @@ class Deflist: class Heading(NamedTuple): container_tag: str level: int + # special handling for titles: whether partinfo was already closed from elsewhere + # or still needs closing. + partintro_closed: bool = False class DocBookRenderer(Renderer): __output__ = "docbook" @@ -251,7 +254,17 @@ class DocBookRenderer(Renderer): return result + f'<{tag}{attrs_str}>\n' def heading_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict, env: MutableMapping[str, Any]) -> str: - return '' + heading = self._headings[-1] + result = '' + if heading.container_tag == 'part': + # generate the same ids as were previously assigned manually. if this collides we + # rely on outside schema validation to catch it! + maybe_id = "" + assert tokens[i - 2].type == 'heading_open' + if id := cast(str, tokens[i - 2].attrs.get('id', "")): + maybe_id = " xml:id=" + quoteattr(id + "-intro") + result += f"" + return result def example_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict, env: MutableMapping[str, Any]) -> str: if id := token.attrs.get('id'): @@ -266,8 +279,10 @@ class DocBookRenderer(Renderer): result = [] while len(self._headings): if level is None or self._headings[-1].level >= level: - result.append(f"") - self._headings.pop() + heading = self._headings.pop() + if heading.container_tag == 'part' and not heading.partintro_closed: + result.append("") + result.append(f"") else: break return "\n".join(result) From 9977f997400309871a82fcb4b6255b3bdd8dbc41 Mon Sep 17 00:00:00 2001 From: pennae Date: Sun, 12 Feb 2023 08:55:26 +0100 Subject: [PATCH 018/128] nixos/manual: inline man-configuration.xml man-configuration.xml is the only manpage we build using docbook at this time, and man-pages.xml includes just this one file. inline man-configuration.nix into man-pages.xml so we can refer to a single file to grab the manpage sources later rather than using find-by-suffix. --- nixos/doc/manual/man-configuration.xml | 31 -------------------------- nixos/doc/manual/man-pages.xml | 30 ++++++++++++++++++++++++- 2 files changed, 29 insertions(+), 32 deletions(-) delete mode 100644 nixos/doc/manual/man-configuration.xml diff --git a/nixos/doc/manual/man-configuration.xml b/nixos/doc/manual/man-configuration.xml deleted file mode 100644 index ddb1408fdcf5..000000000000 --- a/nixos/doc/manual/man-configuration.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - configuration.nix - 5 - NixOS - - - - configuration.nix - NixOS system configuration specification - - - Description - - The file /etc/nixos/configuration.nix contains the - declarative specification of your NixOS system configuration. The command - nixos-rebuild takes this file and realises the system - configuration specified therein. - - - - Options - - You can use the following options in configuration.nix. - - - - diff --git a/nixos/doc/manual/man-pages.xml b/nixos/doc/manual/man-pages.xml index 0186221bddce..52183f1f9ee0 100644 --- a/nixos/doc/manual/man-pages.xml +++ b/nixos/doc/manual/man-pages.xml @@ -14,5 +14,33 @@ 2007-2022Eelco Dolstra and the Nixpkgs/NixOS contributors - + + + configuration.nix + 5 + NixOS + + + + configuration.nix + NixOS system configuration specification + + + Description + + The file /etc/nixos/configuration.nix contains the + declarative specification of your NixOS system configuration. The command + nixos-rebuild takes this file and realises the system + configuration specified therein. + + + + Options + + You can use the following options in configuration.nix. + + + + From ef413e3eac947507ae1dc62dc365d225c30f4bbf Mon Sep 17 00:00:00 2001 From: pennae Date: Sun, 12 Feb 2023 09:04:07 +0100 Subject: [PATCH 019/128] nixos/manual: split manpages-combined from manual-combined once we generate the entire manual-combined.xml with a single nixos-render-docs invocation we will no longer need any options xml files. likewise we do not need the test options xml in the manpage build. splitting manpages-combined from manual-combined also allows these two to run in parallel, slightly improving build times. --- nixos/doc/manual/default.nix | 94 +++++++++++++++++++++--------------- 1 file changed, 55 insertions(+), 39 deletions(-) diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index e0bcec1ea6b5..30f1f51b3878 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -148,6 +148,43 @@ let "--stringparam chunk.toc ${toc}" ]; + linterFunctions = '' + # outputs the context of an xmllint error output + # LEN lines around the failing line are printed + function context { + # length of context + local LEN=6 + # lines to print before error line + local BEFORE=4 + + # xmllint output lines are: + # file.xml:1234: there was an error on line 1234 + while IFS=':' read -r file line rest; do + echo + if [[ -n "$rest" ]]; then + echo "$file:$line:$rest" + local FROM=$(($line>$BEFORE ? $line - $BEFORE : 1)) + # number lines & filter context + nl --body-numbering=a "$file" | sed -n "$FROM,+$LEN p" + else + if [[ -n "$line" ]]; then + echo "$file:$line" + else + echo "$file" + fi + fi + done + } + + function lintrng { + xmllint --debug --noout --nonet \ + --relaxng ${docbook5}/xml/rng/docbook/docbook.rng \ + "$1" \ + 2>&1 | context 1>&2 + # ^ redirect assumes xmllint doesn’t print to stdout + } + ''; + manual-combined = runCommand "nixos-manual-combined" { inherit sources; nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ]; @@ -157,50 +194,29 @@ let ${copySources} xmllint --xinclude --output ./manual-combined.xml ./manual.xml - xmllint --xinclude --noxincludenode \ - --output ./man-pages-combined.xml ./man-pages.xml - # outputs the context of an xmllint error output - # LEN lines around the failing line are printed - function context { - # length of context - local LEN=6 - # lines to print before error line - local BEFORE=4 - - # xmllint output lines are: - # file.xml:1234: there was an error on line 1234 - while IFS=':' read -r file line rest; do - echo - if [[ -n "$rest" ]]; then - echo "$file:$line:$rest" - local FROM=$(($line>$BEFORE ? $line - $BEFORE : 1)) - # number lines & filter context - nl --body-numbering=a "$file" | sed -n "$FROM,+$LEN p" - else - if [[ -n "$line" ]]; then - echo "$file:$line" - else - echo "$file" - fi - fi - done - } - - function lintrng { - xmllint --debug --noout --nonet \ - --relaxng ${docbook5}/xml/rng/docbook/docbook.rng \ - "$1" \ - 2>&1 | context 1>&2 - # ^ redirect assumes xmllint doesn’t print to stdout - } + ${linterFunctions} mkdir $out cp manual-combined.xml $out/ - cp man-pages-combined.xml $out/ lintrng $out/manual-combined.xml - lintrng $out/man-pages-combined.xml + ''; + + manpages-combined = runCommand "nixos-manpages-combined.xml" + { nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ]; + meta.description = "The NixOS manpages as plain docbook XML"; + } + '' + mkdir generated + cp -prd ${./man-pages.xml} man-pages.xml + ln -s ${optionsDoc.optionsDocBook} generated/options-db.xml + + xmllint --xinclude --noxincludenode --output $out ./man-pages.xml + + ${linterFunctions} + + lintrng $out ''; in rec { @@ -300,7 +316,7 @@ in rec { --param man.endnotes.are.numbered 0 \ --param man.break.after.slash 1 \ ${docbook_xsl_ns}/xml/xsl/docbook/manpages/docbook.xsl \ - ${manual-combined}/man-pages-combined.xml + ${manpages-combined} '' else '' mkdir -p $out/share/man/man5 From 8b7f0e559ad9419815d0a4c8d231e2bf464c0ad2 Mon Sep 17 00:00:00 2001 From: pennae Date: Sun, 12 Feb 2023 09:40:07 +0100 Subject: [PATCH 020/128] nixos/manual: clean up default.nix a bit - inline copySources into single user - remove `inherit sources` where it's not necessary - inline generatedSources. this will go away completely soon so we may as well. - inline modulesDoc into manual-combined. this too will go away soon. - inline sources into manual-combined. this too will go away soon. --- nixos/doc/manual/default.nix | 92 +++++++++++++----------------------- nixos/release.nix | 1 - 2 files changed, 33 insertions(+), 60 deletions(-) diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index 30f1f51b3878..3da6e88c70b7 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -68,56 +68,6 @@ let optionIdPrefix = "test-opt-"; }; - sources = runCommand "manual-sources" { - inputs = lib.sourceFilesBySuffices ./. [ ".xml" ".md" ]; - nativeBuildInputs = [ pkgs.nixos-render-docs ]; - } '' - mkdir $out - cd $out - cp -r --no-preserve=all $inputs/* . - - declare -a convert_args - while read -r mf; do - if [[ "$mf" = *.chapter.md ]]; then - convert_args+=("--chapter") - else - convert_args+=("--section") - fi - - convert_args+=("from_md/''${mf%.md}.xml" "$mf") - done < <(find . -type f -name '*.md') - - nixos-render-docs manual docbook-fragment \ - --manpage-urls ${manpageUrls} \ - "''${convert_args[@]}" - ''; - - modulesDoc = runCommand "modules.xml" { - nativeBuildInputs = [ pkgs.nixos-render-docs ]; - } '' - nixos-render-docs manual docbook-section \ - --manpage-urls ${manpageUrls} \ - "$out" \ - --section \ - --section-id modules \ - --chapters ${lib.concatMapStrings (p: "${p.value} ") config.meta.doc} - ''; - - generatedSources = runCommand "generated-docbook" {} '' - mkdir $out - ln -s ${modulesDoc} $out/modules.xml - ln -s ${optionsDoc.optionsDocBook} $out/options-db.xml - ln -s ${testOptionsDoc.optionsDocBook} $out/test-options-db.xml - printf "%s" "${version}" > $out/version - ''; - - copySources = - '' - cp -prd $sources/* . # */ - ln -s ${generatedSources} ./generated - chmod -R u+w . - ''; - toc = builtins.toFile "toc.xml" '' @@ -186,12 +136,40 @@ let ''; manual-combined = runCommand "nixos-manual-combined" - { inherit sources; - nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ]; + { inputs = lib.sourceFilesBySuffices ./. [ ".xml" ".md" ]; + nativeBuildInputs = [ pkgs.nixos-render-docs pkgs.libxml2.bin pkgs.libxslt.bin ]; meta.description = "The NixOS manual as plain docbook XML"; } '' - ${copySources} + cp -r --no-preserve=all $inputs/* . + + declare -a convert_args + while read -r mf; do + if [[ "$mf" = *.chapter.md ]]; then + convert_args+=("--chapter") + else + convert_args+=("--section") + fi + + convert_args+=("from_md/''${mf%.md}.xml" "$mf") + done < <(find . -type f -name '*.md') + + nixos-render-docs manual docbook-fragment \ + --manpage-urls ${manpageUrls} \ + "''${convert_args[@]}" + + mkdir ./generated + ln -s ${optionsDoc.optionsDocBook} ./generated/options-db.xml + ln -s ${testOptionsDoc.optionsDocBook} ./generated/test-options-db.xml + printf "%s" "${version}" > ./generated/version + chmod -R u+w . + + nixos-render-docs manual docbook-section \ + --manpage-urls ${manpageUrls} \ + ./generated/modules.xml \ + --section \ + --section-id modules \ + --chapters ${lib.concatMapStrings (p: "${p.value} ") config.meta.doc} xmllint --xinclude --output ./manual-combined.xml ./manual.xml @@ -220,14 +198,11 @@ let ''; in rec { - inherit generatedSources; - inherit (optionsDoc) optionsJSON optionsNix optionsDocBook optionsUsedDocbook; # Generate the NixOS manual. manualHTML = runCommand "nixos-manual-html" - { inherit sources; - nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ]; + { nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ]; meta.description = "The NixOS manual in HTML format"; allowedReferences = ["out"]; } @@ -264,8 +239,7 @@ in rec { manualHTMLIndex = "${manualHTML}/share/doc/nixos/index.html"; manualEpub = runCommand "nixos-manual-epub" - { inherit sources; - nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin buildPackages.zip ]; + { nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin buildPackages.zip ]; } '' # Generate the epub manual. diff --git a/nixos/release.nix b/nixos/release.nix index 946379bcd661..78a74af41242 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -144,7 +144,6 @@ in rec { manual = manualHTML; # TODO(@oxij): remove eventually manualEpub = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manualEpub)); manpages = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manpages); - manualGeneratedSources = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.generatedSources); options = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.optionsJSON)).x86_64-linux; From 1229e735ac51dbe79724f7648655a2089c9c67b9 Mon Sep 17 00:00:00 2001 From: pennae Date: Sat, 11 Feb 2023 08:48:06 +0100 Subject: [PATCH 021/128] nixos-render-docs: add structural includes, use for manual this adds support for structural includes to nixos-render-docs. structural includes provide a way to denote the (sub)structure of the nixos manual in the markdown source files, very similar to how we used literal docbook blocks before, and are processed by nixos-render-docs without involvement of xml tooling. this will ultimately allow us to emit the nixos manual in other formats as well, e.g. html, without going through docbook at all. alternatives to this source layout were also considered: a parallel structure using e.g. toml files that describe the document tree and links to each part is possible, but much more complicated to implement than the solution chosen here and makes it harder to follow which files have what substructure. it also makes it much harder to include a substructure in the middle of a file. much the same goes for command-line arguments to the converter, only that command-lined arguments are even harder to specify correctly and cannot be reasonably pulled together from many places without involving another layer of tooling. cli arguments would also mean that the manual structure would be fixed in default.nix, which is also not ideal. --- .../administration/containers.chapter.md | 8 +- nixos/doc/manual/administration/running.md | 14 + nixos/doc/manual/administration/running.xml | 21 -- .../administration/troubleshooting.chapter.md | 12 +- .../configuration/config-syntax.chapter.md | 8 +- .../doc/manual/configuration/configuration.md | 27 ++ .../manual/configuration/configuration.xml | 31 -- .../declarative-packages.section.md | 6 +- .../configuration/file-systems.chapter.md | 6 +- .../configuration/networking.chapter.md | 18 +- .../configuration/package-mgmt.chapter.md | 6 +- .../manual/configuration/profiles.chapter.md | 24 +- nixos/doc/manual/default.nix | 45 +-- nixos/doc/manual/development/development.md | 14 + nixos/doc/manual/development/development.xml | 20 -- .../manual/development/nixos-tests.chapter.md | 10 +- ...-happens-during-a-system-switch.chapter.md | 6 +- .../writing-documentation.chapter.md | 2 +- .../development/writing-modules.chapter.md | 20 +- .../writing-nixos-tests.section.md | 6 +- nixos/doc/manual/installation/installation.md | 11 + .../doc/manual/installation/installation.xml | 18 - .../manual/installation/installing.chapter.md | 14 +- nixos/doc/manual/manual.md | 53 +++ nixos/doc/manual/manual.xml | 23 -- nixos/doc/manual/nixos-options.md | 7 + nixos/doc/manual/preface.md | 11 + nixos/doc/manual/preface.xml | 42 --- .../doc/manual/release-notes/release-notes.md | 25 ++ .../manual/release-notes/release-notes.xml | 30 -- .../src/nixos_render_docs/manual.py | 315 ++++++++++-------- .../src/nixos_render_docs/options.py | 5 +- 32 files changed, 427 insertions(+), 431 deletions(-) create mode 100644 nixos/doc/manual/administration/running.md delete mode 100644 nixos/doc/manual/administration/running.xml create mode 100644 nixos/doc/manual/configuration/configuration.md delete mode 100644 nixos/doc/manual/configuration/configuration.xml create mode 100644 nixos/doc/manual/development/development.md delete mode 100644 nixos/doc/manual/development/development.xml create mode 100644 nixos/doc/manual/installation/installation.md delete mode 100644 nixos/doc/manual/installation/installation.xml create mode 100644 nixos/doc/manual/manual.md delete mode 100644 nixos/doc/manual/manual.xml create mode 100644 nixos/doc/manual/nixos-options.md create mode 100644 nixos/doc/manual/preface.md delete mode 100644 nixos/doc/manual/preface.xml create mode 100644 nixos/doc/manual/release-notes/release-notes.md delete mode 100644 nixos/doc/manual/release-notes/release-notes.xml diff --git a/nixos/doc/manual/administration/containers.chapter.md b/nixos/doc/manual/administration/containers.chapter.md index ea51f91f698f..50493b562b54 100644 --- a/nixos/doc/manual/administration/containers.chapter.md +++ b/nixos/doc/manual/administration/containers.chapter.md @@ -21,8 +21,8 @@ which is often not what you want. By contrast, in the imperative approach, containers are configured and updated independently from the host system. -```{=docbook} - - - +```{=include=} sections +imperative-containers.section.md +declarative-containers.section.md +container-networking.section.md ``` diff --git a/nixos/doc/manual/administration/running.md b/nixos/doc/manual/administration/running.md new file mode 100644 index 000000000000..48e8c7c6668b --- /dev/null +++ b/nixos/doc/manual/administration/running.md @@ -0,0 +1,14 @@ +# Administration {#ch-running} + +This chapter describes various aspects of managing a running NixOS system, such as how to use the {command}`systemd` service manager. + +```{=include=} chapters +service-mgmt.chapter.md +rebooting.chapter.md +user-sessions.chapter.md +control-groups.chapter.md +logging.chapter.md +cleaning-store.chapter.md +containers.chapter.md +troubleshooting.chapter.md +``` diff --git a/nixos/doc/manual/administration/running.xml b/nixos/doc/manual/administration/running.xml deleted file mode 100644 index d9fcc1aee263..000000000000 --- a/nixos/doc/manual/administration/running.xml +++ /dev/null @@ -1,21 +0,0 @@ - - Administration - - - This chapter describes various aspects of managing a running NixOS system, - such as how to use the systemd service manager. - - - - - - - - - - - diff --git a/nixos/doc/manual/administration/troubleshooting.chapter.md b/nixos/doc/manual/administration/troubleshooting.chapter.md index 548456eaf6d6..1253607f8efc 100644 --- a/nixos/doc/manual/administration/troubleshooting.chapter.md +++ b/nixos/doc/manual/administration/troubleshooting.chapter.md @@ -3,10 +3,10 @@ This chapter describes solutions to common problems you might encounter when you manage your NixOS system. -```{=docbook} - - - - - +```{=include=} sections +boot-problems.section.md +maintenance-mode.section.md +rollback.section.md +store-corruption.section.md +network-problems.section.md ``` diff --git a/nixos/doc/manual/configuration/config-syntax.chapter.md b/nixos/doc/manual/configuration/config-syntax.chapter.md index 9f8d45d58899..9e606b2b82af 100644 --- a/nixos/doc/manual/configuration/config-syntax.chapter.md +++ b/nixos/doc/manual/configuration/config-syntax.chapter.md @@ -11,8 +11,8 @@ manual](https://nixos.org/nix/manual/#chap-writing-nix-expressions), but here we give a short overview of the most important constructs useful in NixOS configuration files. -```{=docbook} - - - +```{=include=} sections +config-file.section.md +abstractions.section.md +modularity.section.md ``` diff --git a/nixos/doc/manual/configuration/configuration.md b/nixos/doc/manual/configuration/configuration.md new file mode 100644 index 000000000000..4c966f3325b9 --- /dev/null +++ b/nixos/doc/manual/configuration/configuration.md @@ -0,0 +1,27 @@ +# Configuration {#ch-configuration} + +This chapter describes how to configure various aspects of a NixOS machine through the configuration file {file}`/etc/nixos/configuration.nix`. As described in [](#sec-changing-config), changes to this file only take effect after you run {command}`nixos-rebuild`. + +```{=include=} chapters +config-syntax.chapter.md +package-mgmt.chapter.md +user-mgmt.chapter.md +file-systems.chapter.md +x-windows.chapter.md +wayland.chapter.md +gpu-accel.chapter.md +xfce.chapter.md +networking.chapter.md +linux-kernel.chapter.md +subversion.chapter.md +``` + +```{=include=} chapters +@MODULE_CHAPTERS@ +``` + +```{=include=} chapters +profiles.chapter.md +kubernetes.chapter.md +``` + diff --git a/nixos/doc/manual/configuration/configuration.xml b/nixos/doc/manual/configuration/configuration.xml deleted file mode 100644 index b04316cfa48e..000000000000 --- a/nixos/doc/manual/configuration/configuration.xml +++ /dev/null @@ -1,31 +0,0 @@ - - Configuration - - - This chapter describes how to configure various aspects of a NixOS machine - through the configuration file - /etc/nixos/configuration.nix. As described in - , changes to this file only take - effect after you run nixos-rebuild. - - - - - - - - - - - - - - - - - - diff --git a/nixos/doc/manual/configuration/declarative-packages.section.md b/nixos/doc/manual/configuration/declarative-packages.section.md index 337cdf8472e4..02eaa56192e4 100644 --- a/nixos/doc/manual/configuration/declarative-packages.section.md +++ b/nixos/doc/manual/configuration/declarative-packages.section.md @@ -40,7 +40,7 @@ configuration use `pkgs` prefix (variable). To "uninstall" a package, simply remove it from [](#opt-environment.systemPackages) and run `nixos-rebuild switch`. -```{=docbook} - - +```{=include=} sections +customizing-packages.section.md +adding-custom-packages.section.md ``` diff --git a/nixos/doc/manual/configuration/file-systems.chapter.md b/nixos/doc/manual/configuration/file-systems.chapter.md index 901e2e4f181b..aca978be064d 100644 --- a/nixos/doc/manual/configuration/file-systems.chapter.md +++ b/nixos/doc/manual/configuration/file-systems.chapter.md @@ -36,7 +36,7 @@ dropping you to the emergency shell. You can make a mount asynchronous and non-critical by adding `options = [ "nofail" ];`. ::: -```{=docbook} - - +```{=include=} sections +luks-file-systems.section.md +sshfs-file-systems.section.md ``` diff --git a/nixos/doc/manual/configuration/networking.chapter.md b/nixos/doc/manual/configuration/networking.chapter.md index 529dc0610bda..abbd9766f173 100644 --- a/nixos/doc/manual/configuration/networking.chapter.md +++ b/nixos/doc/manual/configuration/networking.chapter.md @@ -3,14 +3,14 @@ This section describes how to configure networking components on your NixOS machine. -```{=docbook} - - - - - - - - +```{=include=} sections +network-manager.section.md +ssh.section.md +ipv4-config.section.md +ipv6-config.section.md +firewall.section.md +wireless.section.md +ad-hoc-network-config.section.md +renaming-interfaces.section.md ``` diff --git a/nixos/doc/manual/configuration/package-mgmt.chapter.md b/nixos/doc/manual/configuration/package-mgmt.chapter.md index a6c414be59a9..1148bbe84740 100644 --- a/nixos/doc/manual/configuration/package-mgmt.chapter.md +++ b/nixos/doc/manual/configuration/package-mgmt.chapter.md @@ -12,7 +12,7 @@ NixOS has two distinct styles of package management: `nix-env` command. This style allows mixing packages from different Nixpkgs versions. It's the only choice for non-root users. -```{=docbook} - - +```{=include=} sections +declarative-packages.section.md +ad-hoc-packages.section.md ``` diff --git a/nixos/doc/manual/configuration/profiles.chapter.md b/nixos/doc/manual/configuration/profiles.chapter.md index 2c3dea27c181..9f1f48f742ac 100644 --- a/nixos/doc/manual/configuration/profiles.chapter.md +++ b/nixos/doc/manual/configuration/profiles.chapter.md @@ -19,16 +19,16 @@ install media, many are actually intended to be used in real installs. What follows is a brief explanation on the purpose and use-case for each profile. Detailing each option configured by each one is out of scope. -```{=docbook} - - - - - - - - - - - +```{=include=} sections +profiles/all-hardware.section.md +profiles/base.section.md +profiles/clone-config.section.md +profiles/demo.section.md +profiles/docker-container.section.md +profiles/graphical.section.md +profiles/hardened.section.md +profiles/headless.section.md +profiles/installation-device.section.md +profiles/minimal.section.md +profiles/qemu-guest.section.md ``` diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index 3da6e88c70b7..8c71e5108799 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -143,35 +143,26 @@ let '' cp -r --no-preserve=all $inputs/* . - declare -a convert_args - while read -r mf; do - if [[ "$mf" = *.chapter.md ]]; then - convert_args+=("--chapter") - else - convert_args+=("--section") - fi + substituteInPlace ./manual.md \ + --replace '@NIXOS_VERSION@' "${version}" + substituteInPlace ./configuration/configuration.md \ + --replace \ + '@MODULE_CHAPTERS@' \ + ${lib.escapeShellArg (lib.concatMapStringsSep "\n" (p: "${p.value}") config.meta.doc)} + substituteInPlace ./nixos-options.md \ + --replace \ + '@NIXOS_OPTIONS_JSON@' \ + ${optionsDoc.optionsJSON}/share/doc/nixos/options.json + substituteInPlace ./development/writing-nixos-tests.section.md \ + --replace \ + '@NIXOS_TEST_OPTIONS_JSON@' \ + ${testOptionsDoc.optionsJSON}/share/doc/nixos/options.json - convert_args+=("from_md/''${mf%.md}.xml" "$mf") - done < <(find . -type f -name '*.md') - - nixos-render-docs manual docbook-fragment \ + nixos-render-docs manual docbook \ --manpage-urls ${manpageUrls} \ - "''${convert_args[@]}" - - mkdir ./generated - ln -s ${optionsDoc.optionsDocBook} ./generated/options-db.xml - ln -s ${testOptionsDoc.optionsDocBook} ./generated/test-options-db.xml - printf "%s" "${version}" > ./generated/version - chmod -R u+w . - - nixos-render-docs manual docbook-section \ - --manpage-urls ${manpageUrls} \ - ./generated/modules.xml \ - --section \ - --section-id modules \ - --chapters ${lib.concatMapStrings (p: "${p.value} ") config.meta.doc} - - xmllint --xinclude --output ./manual-combined.xml ./manual.xml + --revision ${lib.escapeShellArg revision} \ + ./manual.md \ + ./manual-combined.xml ${linterFunctions} diff --git a/nixos/doc/manual/development/development.md b/nixos/doc/manual/development/development.md new file mode 100644 index 000000000000..6a0dd091b129 --- /dev/null +++ b/nixos/doc/manual/development/development.md @@ -0,0 +1,14 @@ +# Development {#ch-development} + +This chapter describes how you can modify and extend NixOS. + +```{=include=} chapters +sources.chapter.md +writing-modules.chapter.md +building-parts.chapter.md +bootspec.chapter.md +what-happens-during-a-system-switch.chapter.md +writing-documentation.chapter.md +nixos-tests.chapter.md +testing-installer.chapter.md +``` diff --git a/nixos/doc/manual/development/development.xml b/nixos/doc/manual/development/development.xml deleted file mode 100644 index 949468c9021d..000000000000 --- a/nixos/doc/manual/development/development.xml +++ /dev/null @@ -1,20 +0,0 @@ - - Development - - - This chapter describes how you can modify and extend NixOS. - - - - - - - - - - - diff --git a/nixos/doc/manual/development/nixos-tests.chapter.md b/nixos/doc/manual/development/nixos-tests.chapter.md index 2a4fdddeaa66..ec0e4b9f076a 100644 --- a/nixos/doc/manual/development/nixos-tests.chapter.md +++ b/nixos/doc/manual/development/nixos-tests.chapter.md @@ -5,9 +5,9 @@ NixOS tests are kept in the directory `nixos/tests`, and are executed (using Nix) by a testing framework that automatically starts one or more virtual machines containing the NixOS system(s) required for the test. -```{=docbook} - - - - +```{=include=} sections +writing-nixos-tests.section.md +running-nixos-tests.section.md +running-nixos-tests-interactively.section.md +linking-nixos-tests-to-packages.section.md ``` diff --git a/nixos/doc/manual/development/what-happens-during-a-system-switch.chapter.md b/nixos/doc/manual/development/what-happens-during-a-system-switch.chapter.md index aad82831a3c2..9cbec729803a 100644 --- a/nixos/doc/manual/development/what-happens-during-a-system-switch.chapter.md +++ b/nixos/doc/manual/development/what-happens-during-a-system-switch.chapter.md @@ -47,7 +47,7 @@ Most of these actions are either self-explaining but some of them have to do with our units or the activation script. For this reason, these topics are explained in the next sections. -```{=docbook} - - +```{=include=} sections +unit-handling.section.md +activation-script.section.md ``` diff --git a/nixos/doc/manual/development/writing-documentation.chapter.md b/nixos/doc/manual/development/writing-documentation.chapter.md index 4986c9f0a81b..8d504dfb0b0a 100644 --- a/nixos/doc/manual/development/writing-documentation.chapter.md +++ b/nixos/doc/manual/development/writing-documentation.chapter.md @@ -83,7 +83,7 @@ Keep the following guidelines in mind when you create and add a topic: ## Adding a Topic to the Book {#sec-writing-docs-adding-a-topic} -Open the parent XML file and add an `xi:include` element to the list of +Open the parent CommonMark file and add a line to the list of chapters with the file name of the topic that you created. If you created a `section`, you add the file to the `chapter` file. If you created a `chapter`, you add the file to the `part` file. diff --git a/nixos/doc/manual/development/writing-modules.chapter.md b/nixos/doc/manual/development/writing-modules.chapter.md index a0ec4a5df96e..ae657458d768 100644 --- a/nixos/doc/manual/development/writing-modules.chapter.md +++ b/nixos/doc/manual/development/writing-modules.chapter.md @@ -189,14 +189,14 @@ in { ``` ::: -```{=docbook} - - - - - - - - - +```{=include=} sections +option-declarations.section.md +option-types.section.md +option-def.section.md +assertions.section.md +meta-attributes.section.md +importing-modules.section.md +replace-modules.section.md +freeform-modules.section.md +settings-options.section.md ``` diff --git a/nixos/doc/manual/development/writing-nixos-tests.section.md b/nixos/doc/manual/development/writing-nixos-tests.section.md index d80e314e6251..3de46fda3df6 100644 --- a/nixos/doc/manual/development/writing-nixos-tests.section.md +++ b/nixos/doc/manual/development/writing-nixos-tests.section.md @@ -470,6 +470,8 @@ In that case, `numpy` is chosen from the generic `python3Packages`. The following options can be used when writing tests. -```{=docbook} - +```{=include=} options +id-prefix: test-opt- +list-id: test-options-list +source: @NIXOS_TEST_OPTIONS_JSON@ ``` diff --git a/nixos/doc/manual/installation/installation.md b/nixos/doc/manual/installation/installation.md new file mode 100644 index 000000000000..140594256609 --- /dev/null +++ b/nixos/doc/manual/installation/installation.md @@ -0,0 +1,11 @@ +# Installation {#ch-installation} + +This section describes how to obtain, install, and configure NixOS for first-time use. + +```{=include=} chapters +obtaining.chapter.md +installing.chapter.md +changing-config.chapter.md +upgrading.chapter.md +building-nixos.chapter.md +``` diff --git a/nixos/doc/manual/installation/installation.xml b/nixos/doc/manual/installation/installation.xml deleted file mode 100644 index ba07d71d0ca3..000000000000 --- a/nixos/doc/manual/installation/installation.xml +++ /dev/null @@ -1,18 +0,0 @@ - - Installation - - - This section describes how to obtain, install, and configure NixOS for - first-time use. - - - - - - - - diff --git a/nixos/doc/manual/installation/installing.chapter.md b/nixos/doc/manual/installation/installing.chapter.md index e1908017a7e4..cf783c2d22b6 100644 --- a/nixos/doc/manual/installation/installing.chapter.md +++ b/nixos/doc/manual/installation/installing.chapter.md @@ -602,11 +602,11 @@ With a partitioned disk. ## Additional installation notes {#sec-installation-additional-notes} -```{=docbook} - - - - - - +```{=include=} sections +installing-usb.section.md +installing-pxe.section.md +installing-kexec.section.md +installing-virtualbox-guest.section.md +installing-from-other-distro.section.md +installing-behind-a-proxy.section.md ``` diff --git a/nixos/doc/manual/manual.md b/nixos/doc/manual/manual.md new file mode 100644 index 000000000000..1972eaeda872 --- /dev/null +++ b/nixos/doc/manual/manual.md @@ -0,0 +1,53 @@ +# NixOS Manual {#book-nixos-manual} +## Version @NIXOS_VERSION@ + + + +```{=include=} preface +preface.md +``` + +```{=include=} parts +installation/installation.md +configuration/configuration.md +administration/running.md +development/development.md +``` + +```{=include=} chapters +contributing-to-this-manual.chapter.md +``` + +```{=include=} appendix +nixos-options.md +release-notes/release-notes.md +``` diff --git a/nixos/doc/manual/manual.xml b/nixos/doc/manual/manual.xml deleted file mode 100644 index 4440f8e04baa..000000000000 --- a/nixos/doc/manual/manual.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - NixOS Manual - Version - - - - - - - - - - Configuration Options - - - - diff --git a/nixos/doc/manual/nixos-options.md b/nixos/doc/manual/nixos-options.md new file mode 100644 index 000000000000..33b487c95a2e --- /dev/null +++ b/nixos/doc/manual/nixos-options.md @@ -0,0 +1,7 @@ +# Configuration Options {#ch-options} + +```{=include=} options +id-prefix: opt- +list-id: configuration-variable-list +source: @NIXOS_OPTIONS_JSON@ +``` diff --git a/nixos/doc/manual/preface.md b/nixos/doc/manual/preface.md new file mode 100644 index 000000000000..d5e6364780a7 --- /dev/null +++ b/nixos/doc/manual/preface.md @@ -0,0 +1,11 @@ +# Preface {#preface} + +This manual describes how to install, use and extend NixOS, a Linux distribution based on the purely functional package management system [Nix](https://nixos.org/nix), that is composed using modules and packages defined in the [Nixpkgs](https://nixos.org/nixpkgs) project. + +Additional information regarding the Nix package manager and the Nixpkgs project can be found in respectively the [Nix manual](https://nixos.org/nix/manual) and the [Nixpkgs manual](https://nixos.org/nixpkgs/manual). + +If you encounter problems, please report them on the [`Discourse`](https://discourse.nixos.org), the [Matrix room](https://matrix.to/#nix:nixos.org), or on the [`#nixos` channel on Libera.Chat](irc://irc.libera.chat/#nixos). Alternatively, consider [contributing to this manual](#chap-contributing). Bugs should be reported in [NixOS’ GitHub issue tracker](https://github.com/NixOS/nixpkgs/issues). + +::: {.note} +Commands prefixed with `#` have to be run as root, either requiring to login as root user or temporarily switching to it using `sudo` for example. +::: diff --git a/nixos/doc/manual/preface.xml b/nixos/doc/manual/preface.xml deleted file mode 100644 index c0d530c3d1b5..000000000000 --- a/nixos/doc/manual/preface.xml +++ /dev/null @@ -1,42 +0,0 @@ - - Preface - - This manual describes how to install, use and extend NixOS, a Linux - distribution based on the purely functional package management system - Nix, that is composed - using modules and packages defined in the - Nixpkgs project. - - - Additional information regarding the Nix package manager and the Nixpkgs - project can be found in respectively the - Nix manual and the - Nixpkgs manual. - - - If you encounter problems, please report them on the - Discourse, - the Matrix room, - or on the - #nixos channel on Libera.Chat. - Alternatively, consider - contributing to this manual. Bugs should be - reported in - NixOS’ - GitHub issue tracker. - - - - Commands prefixed with # have to be run as root, either - requiring to login as root user or temporarily switching to it using - sudo for example. - - - diff --git a/nixos/doc/manual/release-notes/release-notes.md b/nixos/doc/manual/release-notes/release-notes.md new file mode 100644 index 000000000000..ac61de3793e8 --- /dev/null +++ b/nixos/doc/manual/release-notes/release-notes.md @@ -0,0 +1,25 @@ +# Release Notes {#ch-release-notes} + +This section lists the release notes for each stable version of NixOS and current unstable revision. + +```{=include=} sections +rl-2305.section.md +rl-2211.section.md +rl-2205.section.md +rl-2111.section.md +rl-2105.section.md +rl-2009.section.md +rl-2003.section.md +rl-1909.section.md +rl-1903.section.md +rl-1809.section.md +rl-1803.section.md +rl-1709.section.md +rl-1703.section.md +rl-1609.section.md +rl-1603.section.md +rl-1509.section.md +rl-1412.section.md +rl-1404.section.md +rl-1310.section.md +``` diff --git a/nixos/doc/manual/release-notes/release-notes.xml b/nixos/doc/manual/release-notes/release-notes.xml deleted file mode 100644 index bb5cc677afb8..000000000000 --- a/nixos/doc/manual/release-notes/release-notes.xml +++ /dev/null @@ -1,30 +0,0 @@ - - Release Notes - - This section lists the release notes for each stable version of NixOS and - current unstable revision. - - - - - - - - - - - - - - - - - - - - - diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py index ab61d699d7f5..efc8b02e8d6b 100644 --- a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py +++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py @@ -2,68 +2,107 @@ import argparse import json from abc import abstractmethod -from collections.abc import MutableMapping, Sequence +from collections.abc import Mapping, MutableMapping, Sequence from pathlib import Path from typing import Any, cast, NamedTuple, Optional, Union from xml.sax.saxutils import escape, quoteattr + +import markdown_it from markdown_it.token import Token from markdown_it.utils import OptionsDict -from .docbook import DocBookRenderer +from . import options +from .docbook import DocBookRenderer, Heading from .md import Converter -class RenderedSection: - id: Optional[str] - chapters: list[str] - - def __init__(self, id: Optional[str]) -> None: - self.id = id - self.chapters = [] - -class BaseConverter(Converter): - _sections: list[RenderedSection] - - def __init__(self, manpage_urls: dict[str, str]): - super().__init__(manpage_urls) - self._sections = [] - - def add_section(self, id: Optional[str], chapters: list[Path]) -> None: - self._sections.append(RenderedSection(id)) - for chpath in chapters: - try: - with open(chpath, 'r') as f: - self._md.renderer._title_seen = False # type: ignore[attr-defined] - self._sections[-1].chapters.append(self._render(f.read())) - except Exception as e: - raise RuntimeError(f"failed to render manual chapter {chpath}") from e - - @abstractmethod - def finalize(self) -> str: raise NotImplementedError() - class ManualDocBookRenderer(DocBookRenderer): - # needed to check correctness of chapters. - # we may want to use front matter instead of this kind of heuristic. - _title_seen = False + _toplevel_tag: str + + def __init__(self, toplevel_tag: str, manpage_urls: Mapping[str, str], + parser: Optional[markdown_it.MarkdownIt] = None): + super().__init__(manpage_urls, parser) + self._toplevel_tag = toplevel_tag + self.rules |= { + 'included_sections': lambda *args: self._included_thing("section", *args), + 'included_chapters': lambda *args: self._included_thing("chapter", *args), + 'included_preface': lambda *args: self._included_thing("preface", *args), + 'included_parts': lambda *args: self._included_thing("part", *args), + 'included_appendix': lambda *args: self._included_thing("appendix", *args), + 'included_options': self.included_options, + } + + def render(self, tokens: Sequence[Token], options: OptionsDict, + env: MutableMapping[str, Any]) -> str: + wanted = { 'h1': 'title' } + wanted |= { 'h2': 'subtitle' } if self._toplevel_tag == 'book' else {} + for (i, (tag, kind)) in enumerate(wanted.items()): + if len(tokens) < 3 * (i + 1): + raise RuntimeError(f"missing {kind} ({tag}) heading") + token = tokens[3 * i] + if token.type != 'heading_open' or token.tag != tag: + assert token.map + raise RuntimeError(f"expected {kind} ({tag}) heading in line {token.map[0] + 1}", token) + for t in tokens[3 * len(wanted):]: + if t.type != 'heading_open' or (info := wanted.get(t.tag)) is None: + continue + assert t.map + raise RuntimeError( + f"only one {info[0]} heading ({t.markup} [text...]) allowed per " + f"{self._toplevel_tag}, but found a second in lines [{t.map[0] + 1}..{t.map[1]}]. " + "please remove all such headings except the first or demote the subsequent headings.", + t) + + # books get special handling because they have *two* title tags. doing this with + # generic code is more complicated than it's worth. the checks above have verified + # that both titles actually exist. + if self._toplevel_tag == 'book': + assert tokens[1].children + assert tokens[4].children + if (maybe_id := cast(str, tokens[0].attrs.get('id', ""))): + maybe_id = "xml:id=" + quoteattr(maybe_id) + return (f'' + f' {self.renderInline(tokens[1].children, options, env)}' + f' {self.renderInline(tokens[4].children, options, env)}' + f' {super().render(tokens[6:], options, env)}' + f'') + + return super().render(tokens, options, env) def _heading_tag(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict, env: MutableMapping[str, Any]) -> tuple[str, dict[str, str]]: (tag, attrs) = super()._heading_tag(token, tokens, i, options, env) - if self._title_seen: - if token.tag == 'h1': - assert token.map is not None - raise RuntimeError( - "only one title heading (# [text...]) allowed per manual chapter " - f"but found a second in lines [{token.map[0]}..{token.map[1]}]. " - "please remove all such headings except the first, split your " - "chapters, or demote the subsequent headings to (##) or lower.", - token) + # render() has already verified that we don't have supernumerary headings and since the + # book tag is handled specially we can leave the check this simple + if token.tag != 'h1': return (tag, attrs) - self._title_seen = True - return ("chapter", attrs | { + return (self._toplevel_tag, attrs | { 'xmlns': "http://docbook.org/ns/docbook", 'xmlns:xlink': "http://www.w3.org/1999/xlink", }) + def _included_thing(self, tag: str, token: Token, tokens: Sequence[Token], i: int, + options: OptionsDict, env: MutableMapping[str, Any]) -> str: + result = [] + # close existing partintro. the generic render doesn't really need this because + # it doesn't have a concept of structure in the way the manual does. + if self._headings and self._headings[-1] == Heading('part', 1): + result.append("") + self._headings[-1] = self._headings[-1]._replace(partintro_closed=True) + # must nest properly for structural includes. this requires saving at least + # the headings stack, but creating new renderers is cheap and much easier. + r = ManualDocBookRenderer(tag, self._manpage_urls, None) + for (included, path) in token.meta['included']: + try: + result.append(r.render(included, options, env)) + except Exception as e: + raise RuntimeError(f"rendering {path}") from e + return "".join(result) + def included_options(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict, + env: MutableMapping[str, Any]) -> str: + return cast(str, token.meta['rendered-options']) + # TODO minimize docbook diffs with existing conversions. remove soon. def paragraph_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict, env: MutableMapping[str, Any]) -> str: @@ -76,127 +115,113 @@ class ManualDocBookRenderer(DocBookRenderer): return f"\n{escape(token.content)}" def fence(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict, env: MutableMapping[str, Any]) -> str: - # HACK for temporarily being able to replace md-to-db.sh. pandoc used this syntax to - # allow md files to inject arbitrary docbook, and manual chapters use it. - if token.info == '{=docbook}': - return token.content info = f" language={quoteattr(token.info)}" if token.info != "" else "" return f"\n{escape(token.content)}" -class DocBookSectionConverter(BaseConverter): - __renderer__ = ManualDocBookRenderer +class DocBookConverter(Converter): + def __renderer__(self, manpage_urls: Mapping[str, str], + parser: Optional[markdown_it.MarkdownIt]) -> ManualDocBookRenderer: + return ManualDocBookRenderer('book', manpage_urls, parser) - def finalize(self) -> str: - result = [] + _base_paths: list[Path] + _revision: str - for section in self._sections: - id = "id=" + quoteattr(section.id) if section.id is not None else "" - result.append(f'
') - result += section.chapters - result.append(f'
') + def __init__(self, manpage_urls: Mapping[str, str], revision: str): + super().__init__(manpage_urls) + self._revision = revision - return "\n".join(result) - -class ManualFragmentDocBookRenderer(ManualDocBookRenderer): - _tag: str = "chapter" - - def _heading_tag(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict, - env: MutableMapping[str, Any]) -> tuple[str, dict[str, str]]: - (tag, attrs) = super()._heading_tag(token, tokens, i, options, env) - if token.tag == 'h1': - return (self._tag, attrs | { 'xmlns:xi': "http://www.w3.org/2001/XInclude" }) - return (tag, attrs) - -class DocBookFragmentConverter(Converter): - __renderer__ = ManualFragmentDocBookRenderer - - def convert(self, file: Path, tag: str) -> str: - assert isinstance(self._md.renderer, ManualFragmentDocBookRenderer) + def convert(self, file: Path) -> str: + self._base_paths = [ file ] try: with open(file, 'r') as f: - self._md.renderer._title_seen = False - self._md.renderer._tag = tag return self._render(f.read()) except Exception as e: - raise RuntimeError(f"failed to render manual {tag} {file}") from e + raise RuntimeError(f"failed to render manual {file}") from e + + def _parse(self, src: str, env: Optional[MutableMapping[str, Any]] = None) -> list[Token]: + tokens = super()._parse(src, env) + for token in tokens: + if token.type != "fence" or not token.info.startswith("{=include=} "): + continue + typ = token.info[12:].strip() + if typ == 'options': + token.type = 'included_options' + self._parse_options(token) + elif typ in [ 'sections', 'chapters', 'preface', 'parts', 'appendix' ]: + token.type = 'included_' + typ + self._parse_included_blocks(token, env) + else: + raise RuntimeError(f"unsupported structural include type '{typ}'") + return tokens + + def _parse_included_blocks(self, token: Token, env: Optional[MutableMapping[str, Any]]) -> None: + assert token.map + included = token.meta['included'] = [] + for (lnum, line) in enumerate(token.content.splitlines(), token.map[0] + 2): + line = line.strip() + path = self._base_paths[-1].parent / line + if path in self._base_paths: + raise RuntimeError(f"circular include found in line {lnum}") + try: + self._base_paths.append(path) + with open(path, 'r') as f: + tokens = self._parse(f.read(), env) + included.append((tokens, path)) + self._base_paths.pop() + except Exception as e: + raise RuntimeError(f"processing included file {path} from line {lnum}") from e + + def _parse_options(self, token: Token) -> None: + assert token.map + + items = {} + for (lnum, line) in enumerate(token.content.splitlines(), token.map[0] + 2): + if len(args := line.split(":", 1)) != 2: + raise RuntimeError(f"options directive with no argument in line {lnum}") + (k, v) = (args[0].strip(), args[1].strip()) + if k in items: + raise RuntimeError(f"duplicate options directive {k} in line {lnum}") + items[k] = v + try: + id_prefix = items.pop('id-prefix') + varlist_id = items.pop('list-id') + source = items.pop('source') + except KeyError as e: + raise RuntimeError(f"options directive {e} missing in block at line {token.map[0] + 1}") + if items.keys(): + raise RuntimeError( + f"unsupported options directives in block at line {token.map[0] + 1}", + " ".join(items.keys())) + + try: + conv = options.DocBookConverter( + self._manpage_urls, self._revision, False, 'fragment', varlist_id, id_prefix) + with open(self._base_paths[-1].parent / source, 'r') as f: + conv.add_options(json.load(f)) + token.meta['rendered-options'] = conv.finalize(fragment=True) + except Exception as e: + raise RuntimeError(f"processing options block in line {token.map[0] + 1}") from e -class Section: - id: Optional[str] = None - chapters: list[str] - - def __init__(self) -> None: - self.chapters = [] - -class SectionAction(argparse.Action): - def __call__(self, parser: argparse.ArgumentParser, ns: argparse.Namespace, - values: Union[str, Sequence[Any], None], opt_str: Optional[str] = None) -> None: - sections = getattr(ns, self.dest) - if sections is None: sections = [] - sections.append(Section()) - setattr(ns, self.dest, sections) - -class SectionIDAction(argparse.Action): - def __call__(self, parser: argparse.ArgumentParser, ns: argparse.Namespace, - values: Union[str, Sequence[Any], None], opt_str: Optional[str] = None) -> None: - sections = getattr(ns, self.dest) - if sections is None: raise argparse.ArgumentError(self, "no active section") - sections[-1].id = cast(str, values) - -class ChaptersAction(argparse.Action): - def __call__(self, parser: argparse.ArgumentParser, ns: argparse.Namespace, - values: Union[str, Sequence[Any], None], opt_str: Optional[str] = None) -> None: - sections = getattr(ns, self.dest) - if sections is None: raise argparse.ArgumentError(self, "no active section") - sections[-1].chapters.extend(map(Path, cast(Sequence[str], values))) - -class SingleFileAction(argparse.Action): - def __call__(self, parser: argparse.ArgumentParser, ns: argparse.Namespace, - values: Union[str, Sequence[Any], None], opt_str: Optional[str] = None) -> None: - assert isinstance(values, Sequence) - chapters = getattr(ns, self.dest) or [] - chapters.append((Path(values[0]), Path(values[1]))) - setattr(ns, self.dest, chapters) - -def _build_cli_db_section(p: argparse.ArgumentParser) -> None: +def _build_cli_db(p: argparse.ArgumentParser) -> None: p.add_argument('--manpage-urls', required=True) - p.add_argument("outfile") - p.add_argument("--section", dest="contents", action=SectionAction, nargs=0) - p.add_argument("--section-id", dest="contents", action=SectionIDAction) - p.add_argument("--chapters", dest="contents", action=ChaptersAction, nargs='+') + p.add_argument('--revision', required=True) + p.add_argument('infile', type=Path) + p.add_argument('outfile', type=Path) -def _build_cli_db_fragment(p: argparse.ArgumentParser) -> None: - p.add_argument('--manpage-urls', required=True) - p.add_argument("--chapter", action=SingleFileAction, required=True, nargs=2) - p.add_argument("--section", action=SingleFileAction, required=True, nargs=2) - -def _run_cli_db_section(args: argparse.Namespace) -> None: +def _run_cli_db(args: argparse.Namespace) -> None: with open(args.manpage_urls, 'r') as manpage_urls: - md = DocBookSectionConverter(json.load(manpage_urls)) - for section in args.contents: - md.add_section(section.id, section.chapters) - with open(args.outfile, 'w') as f: - f.write(md.finalize()) - -def _run_cli_db_fragment(args: argparse.Namespace) -> None: - with open(args.manpage_urls, 'r') as manpage_urls: - md = DocBookFragmentConverter(json.load(manpage_urls)) - for kind in [ 'chapter', 'section' ]: - for (target, file) in getattr(args, kind): - converted = md.convert(file, kind) - target.parent.mkdir(parents=True, exist_ok=True) - target.write_text(converted) + md = DocBookConverter(json.load(manpage_urls), args.revision) + converted = md.convert(args.infile) + args.outfile.write_text(converted) def build_cli(p: argparse.ArgumentParser) -> None: formats = p.add_subparsers(dest='format', required=True) - _build_cli_db_section(formats.add_parser('docbook-section')) - _build_cli_db_fragment(formats.add_parser('docbook-fragment')) + _build_cli_db(formats.add_parser('docbook')) def run_cli(args: argparse.Namespace) -> None: - if args.format == 'docbook-section': - _run_cli_db_section(args) - elif args.format == 'docbook-fragment': - _run_cli_db_fragment(args) + if args.format == 'docbook': + _run_cli_db(args) else: raise RuntimeError('format not hooked up', args) diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py index b0db410c4818..3cba36140bb4 100644 --- a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py +++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py @@ -231,10 +231,11 @@ class DocBookConverter(BaseConverter): def _decl_def_footer(self) -> list[str]: return [ "" ] - def finalize(self) -> str: + def finalize(self, *, fragment: bool = False) -> str: result = [] - result.append('') + if not fragment: + result.append('') if self._document_type == 'appendix': result += [ ' Date: Sun, 12 Feb 2023 11:47:33 +0100 Subject: [PATCH 022/128] nixos/manual: remove holdovers from docbook times these files provided mainly or exclusively xml-related tooling and support for editing the manual. since docbook is now an implementation detail (except for still being allowed in option docs, for now) these tools are no longer necessary, useful, or even functional. xmlformat.conf is still used by the nixpkgs documentation, so we have to keep it. there's no reason it can't go live with the nixpkgs docs though. --- doc/doc-support/default.nix | 2 +- {nixos/doc => doc/doc-support}/xmlformat.conf | 0 nixos/doc/manual/.gitignore | 2 - nixos/doc/manual/Makefile | 30 ----- nixos/doc/manual/shell.nix | 8 -- nixos/doc/varlistentry-fixer.rb | 124 ------------------ 6 files changed, 1 insertion(+), 165 deletions(-) rename {nixos/doc => doc/doc-support}/xmlformat.conf (100%) delete mode 100644 nixos/doc/manual/.gitignore delete mode 100644 nixos/doc/manual/Makefile delete mode 100644 nixos/doc/manual/shell.nix delete mode 100755 nixos/doc/varlistentry-fixer.rb diff --git a/doc/doc-support/default.nix b/doc/doc-support/default.nix index e9cb96e37fdd..bea3e12a70b3 100644 --- a/doc/doc-support/default.nix +++ b/doc/doc-support/default.nix @@ -75,7 +75,7 @@ in pkgs.runCommand "doc-support" {} ln -s ${epub-xsl} ./epub.xsl ln -s ${xhtml-xsl} ./xhtml.xsl - ln -s ${../../nixos/doc/xmlformat.conf} ./xmlformat.conf + ln -s ${./xmlformat.conf} ./xmlformat.conf ln -s ${pkgs.documentation-highlighter} ./highlightjs echo -n "${version}" > ./version diff --git a/nixos/doc/xmlformat.conf b/doc/doc-support/xmlformat.conf similarity index 100% rename from nixos/doc/xmlformat.conf rename to doc/doc-support/xmlformat.conf diff --git a/nixos/doc/manual/.gitignore b/nixos/doc/manual/.gitignore deleted file mode 100644 index 879282624217..000000000000 --- a/nixos/doc/manual/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -generated -manual-combined.xml diff --git a/nixos/doc/manual/Makefile b/nixos/doc/manual/Makefile deleted file mode 100644 index b2b6481b20c7..000000000000 --- a/nixos/doc/manual/Makefile +++ /dev/null @@ -1,30 +0,0 @@ -.PHONY: all -all: manual-combined.xml - -.PHONY: debug -debug: generated manual-combined.xml - -manual-combined.xml: generated *.xml **/*.xml - rm -f ./manual-combined.xml - nix-shell --pure -Q --packages xmloscopy \ - --run "xmloscopy --docbook5 ./manual.xml ./manual-combined.xml" - -.PHONY: format -format: - nix-shell --pure -Q --packages xmlformat \ - --run "find ../../ -iname '*.xml' -type f -print0 | xargs -0 -I{} -n1 \ - xmlformat --config-file '../xmlformat.conf' -i {}" - -.PHONY: fix-misc-xml -fix-misc-xml: - find . -iname '*.xml' -type f \ - -exec ../varlistentry-fixer.rb {} ';' - -.PHONY: clean -clean: - rm -f manual-combined.xml generated - -generated: - nix-build ../../release.nix \ - --attr manualGeneratedSources.x86_64-linux \ - --out-link ./generated diff --git a/nixos/doc/manual/shell.nix b/nixos/doc/manual/shell.nix deleted file mode 100644 index e5ec9b8f97f7..000000000000 --- a/nixos/doc/manual/shell.nix +++ /dev/null @@ -1,8 +0,0 @@ -let - pkgs = import ../../.. { }; -in -pkgs.mkShell { - name = "nixos-manual"; - - packages = with pkgs; [ xmlformat jing xmloscopy ruby ]; -} diff --git a/nixos/doc/varlistentry-fixer.rb b/nixos/doc/varlistentry-fixer.rb deleted file mode 100755 index 02168016b554..000000000000 --- a/nixos/doc/varlistentry-fixer.rb +++ /dev/null @@ -1,124 +0,0 @@ -#!/usr/bin/env ruby - -# This script is written intended as a living, evolving tooling -# to fix oopsies within the docbook documentation. -# -# This is *not* a formatter. It, instead, handles some known cases -# where something bad happened, and fixing it manually is tedious. -# -# Read the code to see the different cases it handles. -# -# ALWAYS `make format` after fixing with this! -# ALWAYS read the changes, this tool isn't yet proven to be always right. - -require "rexml/document" -include REXML - -if ARGV.length < 1 then - $stderr.puts "Needs a filename." - exit 1 -end - -filename = ARGV.shift -doc = Document.new(File.open(filename)) - -$touched = false - -# Fixing varnames having a sibling element without spacing. -# This is to fix an initial `xmlformat` issue where `term` -# would mangle as spaces. -# -# -# types.separatedStringsep <---- -# -# ... -# -# Generates: types.separatedStringsep -# ^^^^ -# -# -# -# makeWrapperexecutablewrapperfileargs <---- -# -# -# Generates: makeWrapperexecutablewrapperfileargs -# ^^^^ ^^^^ ^^ ^^ -# -# -# namevalue <----- -# -# -# Generates: --optionnamevalue -# ^^ ^^ -doc.elements.each("//varlistentry/term") do |term| - ["varname", "function", "option", "replaceable"].each do |prev_name| - term.elements.each(prev_name) do |el| - if el.next_element and - el.next_element.name == "replaceable" and - el.next_sibling_node.class == Element - then - $touched = true - term.insert_after(el, Text.new(" ")) - end - end - end -end - - - -# -# nixos-option -# -# path <------ -# -# -# Generates: -Ipath -# ^^ -doc.elements.each("//cmdsynopsis/arg") do |term| - ["option", "replaceable"].each do |prev_name| - term.elements.each(prev_name) do |el| - if el.next_element and - el.next_element.name == "replaceable" and - el.next_sibling_node.class == Element - then - $touched = true - term.insert_after(el, Text.new(" ")) - end - end - end -end - -# -# -# -# -# -# -# -# -# -# -# name <---- -# -# -# Generates: [{--profile-name | -p }name] -# ^^^^ -doc.elements.each("//cmdsynopsis/arg") do |term| - ["group"].each do |prev_name| - term.elements.each(prev_name) do |el| - if el.next_element and - el.next_element.name == "replaceable" and - el.next_sibling_node.class == Element - then - $touched = true - term.insert_after(el, Text.new(" ")) - end - end - end -end - - -if $touched then - doc.context[:attribute_quote] = :quote - doc.write(output: File.open(filename, "w")) -end From 771e70507bb0df402049fc39955da0985e7e8c49 Mon Sep 17 00:00:00 2001 From: Ryan Horiguchi Date: Sun, 12 Feb 2023 19:09:53 +0100 Subject: [PATCH 023/128] prowlarr: 1.1.3.2521 -> 1.2.0.2583 --- pkgs/servers/prowlarr/default.nix | 10 +++++----- pkgs/servers/prowlarr/update.sh | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/servers/prowlarr/default.nix b/pkgs/servers/prowlarr/default.nix index 31b342d833bc..12df9c02d071 100644 --- a/pkgs/servers/prowlarr/default.nix +++ b/pkgs/servers/prowlarr/default.nix @@ -16,17 +16,17 @@ let }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); hash = { - x64-linux_hash = "sha256-hKvme3saa3/GT0l6OlFjYI0RPClo5rWtVYFN/YuJSaw="; - arm64-linux_hash = "sha256-f7YIJRk1AhlfepmsQqlDFMA97QnbAAzrUtPFfbuV+QY="; - x64-osx_hash = "sha256-7nU12Y7f+fwjziUm6O+xO78IZf8EOfgmz+JibAP/xk8="; + x64-linux_hash = "sha256-Xx2z5aiIKRNbBxBMXCTfm1VacQOLyruC6sXB/+C7knk="; + arm64-linux_hash = "sha256-r6WuQhydSRZmsH1hp51gGcQ/7ZruxbEMrbrFps2nmcw="; + x64-osx_hash = "sha256-F8bE4lXcqyBVZhgYcQKPrza9cphCuC5j7968jL6qgxM="; }."${arch}-${os}_hash"; in stdenv.mkDerivation rec { pname = "prowlarr"; - version = "1.1.3.2521"; + version = "1.2.0.2583"; src = fetchurl { - url = "https://github.com/Prowlarr/Prowlarr/releases/download/v${version}/Prowlarr.master.${version}.${os}-core-${arch}.tar.gz"; + url = "https://github.com/Prowlarr/Prowlarr/releases/download/v${version}/Prowlarr.develop.${version}.${os}-core-${arch}.tar.gz"; sha256 = hash; }; diff --git a/pkgs/servers/prowlarr/update.sh b/pkgs/servers/prowlarr/update.sh index 2d21f724408d..d61edda5a0a3 100755 --- a/pkgs/servers/prowlarr/update.sh +++ b/pkgs/servers/prowlarr/update.sh @@ -13,7 +13,7 @@ updateHash() hashKey="${arch}-${os}_hash" - url="https://github.com/Prowlarr/Prowlarr/releases/download/v$version/Prowlarr.master.$version.$os-core-$arch.tar.gz" + url="https://github.com/Prowlarr/Prowlarr/releases/download/v$version/Prowlarr.develop.$version.$os-core-$arch.tar.gz" hash=$(nix-prefetch-url --type sha256 $url) sriHash="$(nix hash to-sri --type sha256 $hash)" From 49a06c00057ca9db11f0f5ab524db88f836481bf Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 13 Feb 2023 10:26:48 +0100 Subject: [PATCH 024/128] python310Packages.check-manifest: add changelog to meta --- pkgs/development/python-modules/check-manifest/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/check-manifest/default.nix b/pkgs/development/python-modules/check-manifest/default.nix index 8a3e328313f9..c06a75f3c67f 100644 --- a/pkgs/development/python-modules/check-manifest/default.nix +++ b/pkgs/development/python-modules/check-manifest/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "check-manifest"; - version = "0.48"; + version = "0.49"; format = "setuptools"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-O1dfHa3nvrMHjvS/M6lFGYNEV8coHbxyaxXFRmtVxlc="; + hash = "sha256-ZKZARFVCzyJpGWV8e3jQLZwcpbHCXX5m4OH/MlBg9BY="; }; patches = [ @@ -57,6 +57,7 @@ buildPythonPackage rec { meta = with lib; { description = "Check MANIFEST.in in a Python source package for completeness"; homepage = "https://github.com/mgedmin/check-manifest"; + changelog = "https://github.com/mgedmin/check-manifest/blob/${version}/CHANGES.rst"; license = licenses.mit; maintainers = with maintainers; [ lewo ]; }; From 67a00c202463acfef373b9a22d4e65a7174290ab Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 13 Feb 2023 10:30:55 +0100 Subject: [PATCH 025/128] python310Packages.check-manifest: 0.48 -> 0.49 Changelog: https://github.com/mgedmin/check-manifest/blob/0.49/CHANGES.rst --- .../python-modules/check-manifest/default.nix | 23 +++++++------------ 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/pkgs/development/python-modules/check-manifest/default.nix b/pkgs/development/python-modules/check-manifest/default.nix index c06a75f3c67f..832cac1f7872 100644 --- a/pkgs/development/python-modules/check-manifest/default.nix +++ b/pkgs/development/python-modules/check-manifest/default.nix @@ -3,12 +3,10 @@ , build , buildPythonPackage , fetchPypi -, fetchpatch , git -, mock , pep517 , pytestCheckHook -, toml +, tomli , pythonOlder }: @@ -17,34 +15,29 @@ buildPythonPackage rec { version = "0.49"; format = "setuptools"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; hash = "sha256-ZKZARFVCzyJpGWV8e3jQLZwcpbHCXX5m4OH/MlBg9BY="; }; - patches = [ - # Fix git submodule tests using file: protocol - (fetchpatch { - url = "https://github.com/mgedmin/check-manifest/pull/159.patch"; - hash = "sha256-CDtuIoHgP4THLt+xF32C/OrjakwPOEVTKUh5JuQB5wM="; - }) - ]; - propagatedBuildInputs = [ build pep517 - toml + ] ++ lib.optionals (pythonOlder "3.11") [ + tomli ]; nativeCheckInputs = [ - breezy git - mock pytestCheckHook ]; + checkInputs = [ + breezy + ]; + disabledTests = [ # Test wants to setup a venv "test_build_sdist_pep517_isolated" From b1ff1e165821a6842f05cd358a8379ea60bd867b Mon Sep 17 00:00:00 2001 From: nikstur Date: Tue, 14 Feb 2023 19:39:08 +0100 Subject: [PATCH 026/128] nixos/systemd-repart: enable running after initrd --- nixos/modules/system/boot/systemd/repart.nix | 80 +++++++++++++------- nixos/tests/systemd-repart.nix | 34 ++++++++- 2 files changed, 81 insertions(+), 33 deletions(-) diff --git a/nixos/modules/system/boot/systemd/repart.nix b/nixos/modules/system/boot/systemd/repart.nix index 33f1b247c5ed..8f3a70023770 100644 --- a/nixos/modules/system/boot/systemd/repart.nix +++ b/nixos/modules/system/boot/systemd/repart.nix @@ -1,7 +1,8 @@ { config, pkgs, lib, ... }: let - cfg = config.boot.initrd.systemd.repart; + cfg = config.systemd.repart; + initrdCfg = config.boot.initrd.systemd.repart; writeDefinition = name: partitionConfig: pkgs.writeText "${name}.conf" @@ -24,45 +25,59 @@ let ''; in { - options.boot.initrd.systemd.repart = { - enable = lib.mkEnableOption (lib.mdDoc "systemd-repart") // { + options = { + boot.initrd.systemd.repart.enable = lib.mkEnableOption (lib.mdDoc "systemd-repart") // { description = lib.mdDoc '' - Grow and add partitions to a partition table a boot time in the initrd. + Grow and add partitions to a partition table at boot time in the initrd. systemd-repart only works with GPT partition tables. + + To run systemd-repart after the initrd, see + `options.systemd.repart.enable`. ''; }; - partitions = lib.mkOption { - type = with lib.types; attrsOf (attrsOf (oneOf [ str int bool ])); - default = { }; - example = { - "10-root" = { - Type = "root"; + systemd.repart = { + enable = lib.mkEnableOption (lib.mdDoc "systemd-repart") // { + description = lib.mdDoc '' + Grow and add partitions to a partition table. + systemd-repart only works with GPT partition tables. + + To run systemd-repart while in the initrd, see + `options.boot.initrd.systemd.repart.enable`. + ''; + }; + + partitions = lib.mkOption { + type = with lib.types; attrsOf (attrsOf (oneOf [ str int bool ])); + default = { }; + example = { + "10-root" = { + Type = "root"; + }; + "20-home" = { + Type = "home"; + SizeMinBytes = "512M"; + SizeMaxBytes = "2G"; + }; }; - "20-home" = { - Type = "home"; - SizeMinBytes = "512M"; - SizeMaxBytes = "2G"; - }; + description = lib.mdDoc '' + Specify partitions as a set of the names of the definition files as the + key and the partition configuration as its value. The partition + configuration can use all upstream options. See + for all available options. + ''; }; - description = lib.mdDoc '' - Specify partitions as a set of the names of the definition files as the - key and the partition configuration as its value. The partition - configuration can use all upstream options. See - for all available options. - ''; }; }; - config = lib.mkIf cfg.enable { - # Link the definitions into /etc so that they are included in the - # /nix/store of the sysroot. This also allows the user to run the - # systemd-repart binary after activation manually while automatically - # picking up the definition files. + config = lib.mkIf (cfg.enable || initrdCfg.enable) { + # Always link the definitions into /etc so that they are also included in + # the /nix/store of the sysroot during early userspace (i.e. while in the + # initrd). environment.etc."repart.d".source = definitionsDirectory; - boot.initrd.systemd = { + boot.initrd.systemd = lib.mkIf initrdCfg.enable { additionalUpstreamUnits = [ "systemd-repart.service" ]; @@ -73,7 +88,7 @@ in # Override defaults in upstream unit. services.systemd-repart = { - # Unset the coniditions as they cannot be met before activation because + # Unset the conditions as they cannot be met before activation because # the definition files are not stored in the expected locations. unitConfig.ConditionDirectoryNotEmpty = [ " " # required to unset the previous value. @@ -97,5 +112,12 @@ in after = [ "sysroot.mount" ]; }; }; + + systemd = lib.mkIf cfg.enable { + additionalUpstreamSystemUnits = [ + "systemd-repart.service" + ]; + }; }; + } diff --git a/nixos/tests/systemd-repart.nix b/nixos/tests/systemd-repart.nix index 92cc1fb04edc..36de5d988fdb 100644 --- a/nixos/tests/systemd-repart.nix +++ b/nixos/tests/systemd-repart.nix @@ -52,9 +52,6 @@ let }; }; - boot.initrd.systemd.enable = true; - boot.initrd.systemd.repart.enable = true; - # systemd-repart operates on disks with a partition table. The qemu module, # however, creates separate filesystem images without a partition table, so # we have to create a disk image manually. @@ -88,7 +85,10 @@ in nodes.machine = { config, pkgs, ... }: { imports = [ common ]; - boot.initrd.systemd.repart.partitions = { + boot.initrd.systemd.enable = true; + + boot.initrd.systemd.repart.enable = true; + systemd.repart.partitions = { "10-root" = { Type = "linux-generic"; }; @@ -105,4 +105,30 @@ in assert "Growing existing partition 1." in systemd_repart_logs ''; }; + + after-initrd = makeTest { + name = "systemd-repart-after-initrd"; + meta.maintainers = with maintainers; [ nikstur ]; + + nodes.machine = { config, pkgs, ... }: { + imports = [ common ]; + + systemd.repart.enable = true; + systemd.repart.partitions = { + "10-root" = { + Type = "linux-generic"; + }; + }; + }; + + testScript = { nodes, ... }: '' + ${useDiskImage nodes.machine} + + machine.start() + machine.wait_for_unit("multi-user.target") + + systemd_repart_logs = machine.succeed("journalctl --unit systemd-repart.service") + assert "Growing existing partition 1." in systemd_repart_logs + ''; + }; } From 483aff0b1ff3130a0120f07c7cfb6edd21efc71c Mon Sep 17 00:00:00 2001 From: Jonas Heinrich Date: Tue, 14 Feb 2023 21:08:34 +0100 Subject: [PATCH 027/128] python3Packages.z3c-checkversions: 1.2 -> 2.0 --- .../python-modules/z3c-checkversions/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/z3c-checkversions/default.nix b/pkgs/development/python-modules/z3c-checkversions/default.nix index 5aad3df78a63..7678b223297c 100644 --- a/pkgs/development/python-modules/z3c-checkversions/default.nix +++ b/pkgs/development/python-modules/z3c-checkversions/default.nix @@ -9,24 +9,25 @@ buildPythonPackage rec { pname = "z3c-checkversions"; - version = "1.2"; + version = "2.0"; src = fetchPypi { inherit version; pname = "z3c.checkversions"; - sha256 = "94c7ab0810ee6fdb66a4689b48e537b57e2dbee277cb1de2ece7a7f4d8c83001"; + hash = "sha256-rn4kl8Pn6YNqbE+VD6L8rVBQHkQqXSD47ZIy77+ashE="; }; propagatedBuildInputs = [ zc-buildout ]; + nativeCheckInputs = [ zope_testrunner ]; - doCheck = !python.pkgs.isPy27; + checkPhase = '' ${python.interpreter} -m zope.testrunner --test-path=src [] ''; meta = with lib; { - broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin; homepage = "https://github.com/zopefoundation/z3c.checkversions"; + changelog = "https://github.com/zopefoundation/z3c.checkversions/blob/${version}/CHANGES.rst"; description = "Find newer package versions on PyPI"; license = licenses.zpl21; }; From ad09ab166b28790b134be2cb2df4754f0bc0fc2e Mon Sep 17 00:00:00 2001 From: Arjan Schrijver Date: Wed, 15 Feb 2023 16:44:05 +0100 Subject: [PATCH 028/128] ntfy-sh: 1.30.1 -> 1.31.0 Diff: https://github.com/binwiederhier/ntfy/compare/v1.30.1...v1.31.0 Release notes: https://github.com/binwiederhier/ntfy/releases/tag/v1.31.0 --- pkgs/tools/misc/ntfy-sh/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/ntfy-sh/default.nix b/pkgs/tools/misc/ntfy-sh/default.nix index 232c913d4a77..0909e0059c9a 100644 --- a/pkgs/tools/misc/ntfy-sh/default.nix +++ b/pkgs/tools/misc/ntfy-sh/default.nix @@ -10,16 +10,16 @@ let in buildGoModule rec { pname = "ntfy-sh"; - version = "1.30.1"; + version = "1.31.0"; src = fetchFromGitHub { owner = "binwiederhier"; repo = "ntfy"; rev = "v${version}"; - sha256 = "sha256-MgjCfYYv4tBZHsoj9oXGKYOQb0Anp0zVD/vc+UpAiAc="; + sha256 = "sha256-SQOiVHhdwOmzWVPtr1hw9oz8G/xjz5HghYcNN/u3ITo="; }; - vendorSha256 = "sha256-8TQVpJ02EPve1OUP6RHbvwBug8larSO3BgBiCfL2614="; + vendorSha256 = "sha256-Ffmz7c/FMtXjmanZYp8vquxUu+eSTqtR5nesNdN/F0c="; doCheck = false; From 7cf9c5dde5835a408e33695a35c7de1e9decc352 Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Sat, 28 Jan 2023 15:07:09 +0100 Subject: [PATCH 029/128] mpy-utils: init at 0.1.13 --- pkgs/tools/misc/mpy-utils/default.nix | 21 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 23 insertions(+) create mode 100644 pkgs/tools/misc/mpy-utils/default.nix diff --git a/pkgs/tools/misc/mpy-utils/default.nix b/pkgs/tools/misc/mpy-utils/default.nix new file mode 100644 index 000000000000..ea816126858b --- /dev/null +++ b/pkgs/tools/misc/mpy-utils/default.nix @@ -0,0 +1,21 @@ +{ stdenv, lib, python3, buildPythonApplication, fetchPypi, fusepy, pyserial }: + +buildPythonApplication rec { + pname = "mpy-utils"; + version = "0.1.13"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-die8hseaidhs9X7mfFvV8C8zn0uyw08gcHNqmjl+2Z4="; + }; + + propagatedBuildInputs = [ fusepy pyserial ]; + + meta = with lib; { + description = "MicroPython development utility programs"; + homepage = "https://github.com/nickzoic/mpy-utils"; + license = licenses.mit; + maintainers = with maintainers; [ aciceri ]; + broken = stdenv.isDarwin; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e80b17093aeb..6f920fce792f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1469,6 +1469,8 @@ with pkgs; mprocs = callPackage ../tools/misc/mprocs { }; + mpy-utils = python3Packages.callPackage ../tools/misc/mpy-utils { }; + nominatim = callPackage ../servers/nominatim { }; ocs-url = libsForQt5.callPackage ../tools/misc/ocs-url { }; From 02124bbb7ea70ecec0add1a0036abf0c6127298c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 15 Feb 2023 21:41:18 +0100 Subject: [PATCH 030/128] rsstail: don't run cppcheck linter, little cleanup --- .../networking/feedreaders/rsstail/default.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/networking/feedreaders/rsstail/default.nix b/pkgs/applications/networking/feedreaders/rsstail/default.nix index 1cd83cda77a9..af2dbd1a9a4f 100644 --- a/pkgs/applications/networking/feedreaders/rsstail/default.nix +++ b/pkgs/applications/networking/feedreaders/rsstail/default.nix @@ -1,18 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, cppcheck, libmrss, libiconv }: +{ lib, stdenv, fetchFromGitHub, libmrss, libiconv }: stdenv.mkDerivation { pname = "rsstail"; version = "2.1"; src = fetchFromGitHub { - sha256 = "12p69i3g1fwlw0bds9jqsdmzkid3k5a41w31d227i7vm12wcvjf6"; - rev = "6f2436185372b3f945a4989406c4b6a934fe8a95"; - repo = "rsstail"; owner = "folkertvanheusden"; + repo = "rsstail"; + rev = "6f2436185372b3f945a4989406c4b6a934fe8a95"; + sha256 = "12p69i3g1fwlw0bds9jqsdmzkid3k5a41w31d227i7vm12wcvjf6"; }; buildInputs = [ libmrss ] ++ lib.optionals stdenv.isDarwin [ libiconv ]; - nativeCheckInputs = [ cppcheck ]; postPatch = '' substituteInPlace Makefile --replace -liconv_hook "" @@ -21,7 +20,8 @@ stdenv.mkDerivation { makeFlags = [ "prefix=$(out)" ]; enableParallelBuilding = true; - doCheck = true; + # just runs cppcheck linter + doCheck = false; meta = with lib; { description = "Monitor RSS feeds for new entries"; @@ -29,7 +29,7 @@ stdenv.mkDerivation { RSSTail is more or less an RSS reader: it monitors an RSS feed and if it detects a new entry it'll emit only that new entry. ''; - homepage = "http://www.vanheusden.com/rsstail/"; + homepage = "https://www.vanheusden.com/rsstail/"; license = licenses.gpl2Plus; maintainers = [ maintainers.Necior ]; platforms = platforms.unix; From e4c2a7ceb39d2adf3892dd06a62cf0b10079ebde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 15 Feb 2023 22:02:37 +0100 Subject: [PATCH 031/128] sqlitecpp: don't run cppcheck linter --- pkgs/development/libraries/sqlitecpp/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/development/libraries/sqlitecpp/default.nix b/pkgs/development/libraries/sqlitecpp/default.nix index f4b2ee9e9a95..aad1ee34e5c4 100644 --- a/pkgs/development/libraries/sqlitecpp/default.nix +++ b/pkgs/development/libraries/sqlitecpp/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, cmake, sqlite, cppcheck, gtest }: +{ lib, stdenv, fetchFromGitHub, cmake, sqlite, gtest }: stdenv.mkDerivation rec { pname = "sqlitecpp"; @@ -12,7 +12,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - nativeCheckInputs = [ cppcheck ]; buildInputs = [ sqlite gtest ]; doCheck = true; From 2f97cda1f8108ed2d7a5b43ca47c758831fc800e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 15 Feb 2023 22:12:24 +0100 Subject: [PATCH 032/128] freeorion: use boost that builds with python3, remove cppcheck linter --- pkgs/games/freeorion/default.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/games/freeorion/default.nix b/pkgs/games/freeorion/default.nix index 5b4407038015..9f9075d75a4d 100644 --- a/pkgs/games/freeorion/default.nix +++ b/pkgs/games/freeorion/default.nix @@ -5,8 +5,7 @@ , doxygen , graphviz , makeWrapper -, cppcheck -, boost16x +, boost17x , SDL2 , python3 , freetype @@ -24,8 +23,8 @@ }: stdenv.mkDerivation rec { - version = "0.4.10.2"; pname = "freeorion"; + version = "0.4.10.2"; src = fetchFromGitHub { owner = "freeorion"; @@ -35,7 +34,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ - (boost16x.override { enablePython = true; python = python3; }) + (boost17x.override { enablePython = true; python = python3; }) (python3.withPackages (p: with p; [ pycodestyle ])) SDL2 freetype @@ -53,7 +52,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake - cppcheck doxygen graphviz makeWrapper @@ -81,7 +79,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "A free, open source, turn-based space empire and galactic conquest (4X) computer game"; - homepage = "http://www.freeorion.org"; + homepage = "https://www.freeorion.org/"; license = with licenses; [ gpl2 cc-by-sa-30 ]; platforms = platforms.linux; maintainers = with maintainers; [ tex ]; From d382e6d1bdd91581a766f05f393b5d8c2e1fb05d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 15 Feb 2023 23:38:17 +0100 Subject: [PATCH 033/128] migraphx: remove cppcheck linter --- pkgs/development/libraries/migraphx/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/development/libraries/migraphx/default.nix b/pkgs/development/libraries/migraphx/default.nix index 27caa1f94137..15581e00e528 100644 --- a/pkgs/development/libraries/migraphx/default.nix +++ b/pkgs/development/libraries/migraphx/default.nix @@ -7,7 +7,6 @@ , rocm-cmake , hip , clang-tools-extra -, cppcheck , openmp , rocblas , rocmlir @@ -70,7 +69,6 @@ in stdenv.mkDerivation (finalAttrs: { rocm-cmake hip clang-tools-extra - cppcheck python3Packages.python ] ++ lib.optionals buildDocs [ latex From 3cbf66ca1d5243e7bff7ca42a8610cb040abc750 Mon Sep 17 00:00:00 2001 From: Ryan Horiguchi Date: Wed, 15 Feb 2023 23:57:13 +0100 Subject: [PATCH 034/128] plex: 1.30.2.6563-3d4dc0cce -> 1.31.0.6654-02189b09f --- pkgs/servers/plex/raw.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/plex/raw.nix b/pkgs/servers/plex/raw.nix index 3cee78f571ee..abc89d8e8129 100644 --- a/pkgs/servers/plex/raw.nix +++ b/pkgs/servers/plex/raw.nix @@ -12,16 +12,16 @@ # server, and the FHS userenv and corresponding NixOS module should # automatically pick up the changes. stdenv.mkDerivation rec { - version = "1.30.2.6563-3d4dc0cce"; + version = "1.31.0.6654-02189b09f"; pname = "plexmediaserver"; # Fetch the source src = if stdenv.hostPlatform.system == "aarch64-linux" then fetchurl { url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_arm64.deb"; - sha256 = "0sz6xc484flh1cnlrvwin7x34bl118yy2mwj034f8p9ngiy5hrkw"; + sha256 = "sha256-ttkvYD+ALxfZpQutI1VyTbmQi/7hmvZ+YMUv3lskeWU="; } else fetchurl { url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb"; - sha256 = "0ymxfy3s9nygv9syiy2bdwmjfqg8m4i5n8c37z1ib6393iwj8mgi"; + sha256 = "sha256-TTEcyIBFiuJTNHeJ9wu+4o2ol72oCvM9FdDPC83J3Mc="; }; outputs = [ "out" "basedb" ]; From 8f4a9f866e874cd5cc8897311a1724dc4fef1ce9 Mon Sep 17 00:00:00 2001 From: Alex Wied Date: Wed, 15 Feb 2023 18:14:56 -0500 Subject: [PATCH 035/128] tl-expected: 2019-11-11 -> 2023-02-15 --- pkgs/development/libraries/tl-expected/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/tl-expected/default.nix b/pkgs/development/libraries/tl-expected/default.nix index c7cb92440ee8..79af37f58e6f 100644 --- a/pkgs/development/libraries/tl-expected/default.nix +++ b/pkgs/development/libraries/tl-expected/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { pname = "tl-expected-unstable"; - version = "2019-11-11"; # 5 commits ahead of version 1.0.0 + version = "2023-02-15"; # 37 commits ahead of version 1.0.0 src = fetchFromGitHub { owner = "TartanLlama"; repo = "expected"; - rev = "1d9c5d8c0da84b8ddc54bd3d90d632eec95c1f13"; + rev = "9d812f5e3b5bc68023f6e31d29489cdcaacef606"; fetchSubmodules = true; - sha256 = "0rzfn9yyg70zwpxbmv22qy0015baymi2rdd65ixmcb31fgnap68i"; + hash = "sha256-ZokcGQgHH37nmTMLmxFcun4S1RjXuXb9NfWHet8Fbc4="; }; nativeBuildInputs = [ cmake ]; From e1d4a40c44069d9cdc06fa9c66f9b3b652fb774a Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Thu, 16 Feb 2023 09:47:44 +0800 Subject: [PATCH 036/128] traefik: 2.9.6 -> 2.9.8 Diff: https://github.com/traefik/traefik/compare/v2.9.6...v2.9.8 Changelog: https://github.com/traefik/traefik/raw/v2.9.8/CHANGELOG.md --- pkgs/servers/traefik/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/traefik/default.nix b/pkgs/servers/traefik/default.nix index 60eb9a22a829..4bc0a230d3cc 100644 --- a/pkgs/servers/traefik/default.nix +++ b/pkgs/servers/traefik/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "traefik"; - version = "2.9.6"; + version = "2.9.8"; # Archive with static assets for webui src = fetchzip { url = "https://github.com/traefik/traefik/releases/download/v${version}/traefik-v${version}.src.tar.gz"; - sha256 = "sha256-T1yJT45bCjGizS6bqkzc6EF9uhJ3dhXsSc5X3di6SJ4="; + sha256 = "sha256-3vrMh0zrJQhIG9VAlG/iHlOVlUFlE4qd0EkOB0ckAtY="; stripRoot = false; }; - vendorSha256 = "sha256-g/UL+cUenWW94afWIGFU2fBSpo48YcUIUaX/1M5vhNk="; + vendorSha256 = "sha256-NyI+3wYRZ3L98qwrkDfrbJK4S+Wdx/UJ8FlLAMhaL7A="; subPackages = [ "cmd/traefik" ]; From d76127f9fef3a9ac265acfc369324c0332890d8f Mon Sep 17 00:00:00 2001 From: Dane Lipscombe Date: Thu, 16 Feb 2023 14:27:44 +1100 Subject: [PATCH 037/128] turbo: init at 1.7.0 --- pkgs/tools/misc/turbo/default.nix | 91 +++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 93 insertions(+) create mode 100644 pkgs/tools/misc/turbo/default.nix diff --git a/pkgs/tools/misc/turbo/default.nix b/pkgs/tools/misc/turbo/default.nix new file mode 100644 index 000000000000..5aca983252df --- /dev/null +++ b/pkgs/tools/misc/turbo/default.nix @@ -0,0 +1,91 @@ +{ lib +, fetchFromGitHub +, buildGoModule +, git +, nodejs +, protobuf +, protoc-gen-go +, protoc-gen-go-grpc +, rustPlatform +, pkg-config +, openssl +, extra-cmake-modules +, fontconfig +, go +}: +let + version = "1.7.0"; + src = fetchFromGitHub { + owner = "vercel"; + repo = "turbo"; + rev = "v${version}"; + sha256 = "YTuEv2S3jNV2o7HJML+P6OMazgwgRhUPnd/zaTWfDWs="; + }; + + go-turbo = buildGoModule rec { + inherit src version; + pname = "go-turbo"; + modRoot = "cli"; + + vendorSha256 = "Kx/CLFv23h2TmGe8Jwu+S3QcONfqeHk2fCW1na75c0s="; + + nativeBuildInputs = [ + git + nodejs + protobuf + protoc-gen-go + protoc-gen-go-grpc + ]; + + preBuild = '' + make compile-protos + ''; + + preCheck = '' + # Some tests try to run mkdir $HOME + HOME=$TMP + + # Test_getTraversePath requires that source is a git repo + # pwd: /build/source/cli + pushd .. + git config --global init.defaultBranch main + git init + popd + ''; + + }; +in +rustPlatform.buildRustPackage rec { + pname = "turbo"; + inherit src version; + cargoBuildFlags = [ + "--package" + "turbo" + ]; + RELEASE_TURBO_CLI = "true"; + + cargoSha256 = "ENw6NU3Fedd+OJEEWgL8A54aowNqjn3iv7rxlr+/4ZE="; + RUSTC_BOOTSTRAP = 1; + nativeBuildInputs = [ + pkg-config + extra-cmake-modules + ]; + buildInputs = [ + openssl + fontconfig + ]; + + postInstall = '' + ln -s ${go-turbo}/bin/turbo $out/bin/go-turbo + ''; + + # Browser tests time out with chromium and google-chrome + doCheck = false; + + meta = with lib; { + description = "High-performance build system for JavaScript and TypeScript codebases"; + homepage = "https://turbo.build/"; + maintainers = with maintainers; [ dlip ]; + license = licenses.mpl20; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0ee84cd2bbd1..8b2a76058341 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12783,6 +12783,8 @@ with pkgs; tuptime = callPackage ../tools/system/tuptime { }; + turbo = callPackage ../tools/misc/turbo { }; + turses = callPackage ../applications/networking/instant-messengers/turses { }; tutanota-desktop = callPackage ../applications/networking/mailreaders/tutanota-desktop { }; From d484961ba8a364de64aa7f05bc22c5e2db182d20 Mon Sep 17 00:00:00 2001 From: Yureka Date: Thu, 16 Feb 2023 09:49:25 +0100 Subject: [PATCH 038/128] syncthing: fix cross --- pkgs/applications/networking/syncthing/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix index 3b171070a573..d221324b205b 100644 --- a/pkgs/applications/networking/syncthing/default.nix +++ b/pkgs/applications/networking/syncthing/default.nix @@ -1,4 +1,4 @@ -{ buildGoModule, stdenv, lib, procps, fetchFromGitHub, nixosTests }: +{ pkgsBuildBuild, go, buildGoModule, stdenv, lib, procps, fetchFromGitHub, nixosTests }: let common = { stname, target, postInstall ? "" }: @@ -22,7 +22,12 @@ let buildPhase = '' runHook preBuild - go run build.go -no-upgrade -version v${version} build ${target} + ( + export GOOS="${pkgsBuildBuild.go.GOOS}" GOARCH="${pkgsBuildBuild.go.GOARCH}" CC=$CC_FOR_BUILD + go build build.go + go generate github.com/syncthing/syncthing/lib/api/auto github.com/syncthing/syncthing/cmd/strelaypoolsrv/auto + ) + ./build -goos ${go.GOOS} -goarch ${go.GOARCH} -no-upgrade -version v${version} build ${target} runHook postBuild ''; From 2a4825f1586e1ecb878e15d1758439c4a716f9d1 Mon Sep 17 00:00:00 2001 From: Marek Generowicz Date: Thu, 16 Feb 2023 13:09:04 +0200 Subject: [PATCH 039/128] ledger-live-desktop: 2.51.0 -> 2.53.2 ledger-live-desktop: 2.51.0 -> 2.53.2 --- pkgs/applications/blockchains/ledger-live-desktop/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix index d64376aae18d..5aee9eaee9fe 100644 --- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix +++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix @@ -2,11 +2,11 @@ let pname = "ledger-live-desktop"; - version = "2.51.0"; + version = "2.53.2"; src = fetchurl { url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage"; - hash = "sha256-qpgzGJsj7hrrK2i+xP0T+hcw7WMlGBILbHVJBHD5duo="; + hash = "sha256-RGeJWUMZagXM/8SHHOpTpcnsz+BShnGp2yvt31qo5lI="; }; appimageContents = appimageTools.extractType2 { From 3ac55d312df6f771b32047153175f1a01dc9e3cb Mon Sep 17 00:00:00 2001 From: Jules Aguillon Date: Thu, 16 Feb 2023 15:36:19 +0100 Subject: [PATCH 040/128] Revert "rubyPackages: update" This reverts commit e23578703ad5d57bfa1c48db341348e5cdd25b1b. --- pkgs/top-level/ruby-packages.nix | 408 ++++++++++++++++--------------- 1 file changed, 214 insertions(+), 194 deletions(-) diff --git a/pkgs/top-level/ruby-packages.nix b/pkgs/top-level/ruby-packages.nix index 3bdb15e9d7e2..97d5ad25f63f 100644 --- a/pkgs/top-level/ruby-packages.nix +++ b/pkgs/top-level/ruby-packages.nix @@ -5,10 +5,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "10g5gk8h4mfhvgqylzbf591fqf5p78ca35cb97p9bclpv9jfy0za"; + sha256 = "1271f7nyrmb0kk93zjsb3zyxng8jlzhhg9784pwfpwvrlclashlw"; type = "gem"; }; - version = "6.1.7.2"; + version = "6.0.6"; }; activesupport = { dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"]; @@ -16,10 +16,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "14pjq2k761qaywaznpqq8ziivjk2ks1ma2cjwdflkxqgndxjmsr2"; + sha256 = "091qjiv0mvmn5k9krqkv1lfg8983mgcmrf11gxa6xkchh74csr6a"; type = "gem"; }; - version = "6.1.7.2"; + version = "6.0.6"; }; addressable = { dependencies = ["public_suffix"]; @@ -119,10 +119,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "017jh2lx3z5hqjvnqclc5bfr5q0d3zk0nqjfz73909ybr4h20kmi"; + sha256 = "0xwcnbwnbqq8jp92mvawn6y69cb53wsz84wwmk9vsfk1jjvqfw2z"; type = "gem"; }; - version = "0.2.1"; + version = "0.2.0"; }; builder = { groups = ["default"]; @@ -193,10 +193,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1a36zn77yyibqsfpka0i8vgf3yv98ic2b9wwlbc29566y8wpa2bq"; + sha256 = "193l8r1ycd3dcxa7lsb4pqcghbk56dzc5244m6y8xmv88z6m31d7"; type = "gem"; }; - version = "3.0.6"; + version = "3.0.5"; }; charlock_holmes = { groups = ["default"]; @@ -360,10 +360,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0csgcp2kkmciavnic1yrb8z405dg4lqkzdlw2zscahvggpwr0j2p"; + sha256 = "1fxrq0b1x5gr2gr9md6mkwgaj8519gf1sbyqs88yqphbigf5iy75"; type = "gem"; }; - version = "0.2.0"; + version = "0.1.1"; }; cocoapods-downloader = { groups = ["default"]; @@ -401,10 +401,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06rvrsb5p4j9pwqg7xzx8kv0v4x3wwjbiw6y2i905qhyqxqrww2l"; + sha256 = "0vpn0y2r91cv9kr2kh6rwh51ipi90iyjfya8ir9grxh1ngv179ck"; type = "gem"; }; - version = "2.2.4"; + version = "2.2.2"; }; cocoapods-git_url_rewriter = { groups = ["default"]; @@ -417,15 +417,15 @@ version = "1.0.1"; }; cocoapods-keys = { - dependencies = ["dotenv" "ruby-keychain"]; + dependencies = ["dotenv" "osx_keychain"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zycjq1i3kqzpixngm1jp66r075yrb54qcd0xxxa8rmxngimqhff"; + sha256 = "153cxxsi77dygc4qrij6qs44dbvc7dw31jx06cmf0ajrhv9qjnxl"; type = "gem"; }; - version = "2.3.1"; + version = "2.2.1"; }; cocoapods-open = { groups = ["default"]; @@ -587,20 +587,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1q4ai2i4rswhq5l46ny5066z8pavj3j0qvr9hbgqvzj677fa335f"; + sha256 = "0f3v6ffikj694h925zvfzgx995q6l1ixnqpph3qpnjdsyjpsmbn8"; type = "gem"; }; - version = "0.23.8"; + version = "0.23.6"; }; concurrent-ruby = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1qnsflsbjj38im8xq35g0vihlz96h09wjn2dad5g543l3vvrkrx5"; + sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14"; type = "gem"; }; - version = "1.2.0"; + version = "1.1.10"; }; connection_pool = { groups = ["default"]; @@ -627,10 +627,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1lgga9ina9gnpp9ycj8lpqkc5hm5qlxb41s4pfg0w6fnnpgmairc"; + sha256 = "1195gisqv1kn4lpshn6frlnjgx5r9a0gnpkzjxzsi6wfmfys1mwy"; type = "gem"; }; - version = "1.0.5"; + version = "1.0.1"; }; curses = { groups = ["default"]; @@ -709,10 +709,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qbj8lvl8lzrbpfj9612iiwxf53drb8jg1l4bd1mcqyds8lw9z9z"; + sha256 = "0kqfwfz3pf6mb22r48ybbp7hkzy2qafdpp1bv1knjd74zyilv73h"; type = "gem"; }; - version = "7.5.0"; + version = "7.4.0"; }; dnsruby = { dependencies = ["simpleidn"]; @@ -793,10 +793,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08s75vs9cxlc4r1q2bjg4br8g9wc5lc5x5vl0vv4zq5ivxsdpgi7"; + sha256 = "11bz1v1cxabm8672gabrw542zyg51dizlcvdck6vvwzagxbjv9zx"; type = "gem"; }; - version = "1.12.0"; + version = "1.11.0"; }; escape = { groups = ["default"]; @@ -814,10 +814,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17ix0mijpsy3y0c6ywrk5ibarmvqzjsirjyprpsy3hwax8fdm85v"; + sha256 = "0kd7c61f28f810fgxg480j7457nlvqarza9c2ra0zhav0dd80288"; type = "gem"; }; - version = "0.16.0"; + version = "0.15.0"; }; eventmachine = { groups = ["default"]; @@ -834,10 +834,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0j826kfvzn7nc5pv950n270r0sx1702k988ad11cdlav3dcxxw09"; + sha256 = "1v71iii13cnlkck20xv0yrbz0g60qn88f4r6518k8vk31sddw4hx"; type = "gem"; }; - version = "0.99.0"; + version = "0.93.1"; }; execjs = { groups = ["default"]; @@ -855,20 +855,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1f20vjx0ywx0zdb4dfx4cpa7kd51z6vg7dw5hs35laa45dy9g9pj"; + sha256 = "0mqv17hfmph4ylmb2bqyccy64gsgpmzapq5yrmf5yjsqkvw9rxbv"; type = "gem"; }; - version = "2.7.4"; + version = "2.6.0"; }; faraday-net_http = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13byv3mp1gsjyv8k0ih4612y6vw5kqva6i03wcg4w2fqpsd950k8"; + sha256 = "13b717ddw90iaf4vijy06srmkvrfbzsnyjap93yll0nibad4dbxq"; type = "gem"; }; - version = "3.0.2"; + version = "3.0.1"; }; ffi = { groups = ["default"]; @@ -1023,10 +1023,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0llbqaziga5vawfs71r1ijfiw9allsd15wsrm5vr0sqd3yn7ak89"; + sha256 = "sha256-bkSvvD2SClHJ5FyERpyqZaWp0im7NNhn+wplbmnZD84="; type = "gem"; }; - version = "1.13.2"; + version = "1.13.1"; }; github-pages = { dependencies = ["github-pages-health-check" "jekyll" "jekyll-avatar" "jekyll-coffeescript" "jekyll-commonmark-ghpages" "jekyll-default-layout" "jekyll-feed" "jekyll-gist" "jekyll-github-metadata" "jekyll-include-cache" "jekyll-mentions" "jekyll-optional-front-matter" "jekyll-paginate" "jekyll-readme-index" "jekyll-redirect-from" "jekyll-relative-links" "jekyll-remote-theme" "jekyll-sass-converter" "jekyll-seo-tag" "jekyll-sitemap" "jekyll-swiss" "jekyll-theme-architect" "jekyll-theme-cayman" "jekyll-theme-dinky" "jekyll-theme-hacker" "jekyll-theme-leap-day" "jekyll-theme-merlot" "jekyll-theme-midnight" "jekyll-theme-minimal" "jekyll-theme-modernist" "jekyll-theme-primer" "jekyll-theme-slate" "jekyll-theme-tactile" "jekyll-theme-time-machine" "jekyll-titles-from-headings" "jemoji" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "minima" "nokogiri" "rouge" "terminal-table"]; @@ -1034,10 +1034,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0brk2sgk01mly2hb1h5hm3ip1l6hjr4xx9zkqfhs5k3swlwnwzq9"; + sha256 = "0kg03q6hvz191pyqhbhz3qis5niy3qvrxsnd3sdxcqz6a750wmw6"; type = "gem"; }; - version = "228"; + version = "227"; }; github-pages-health-check = { dependencies = ["addressable" "dnsruby" "octokit" "public_suffix" "typhoeus"]; @@ -1055,10 +1055,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1m3ypny84jyvlxf060p3q3d8pb4yihxa2br5hh012bgc11d09nky"; + sha256 = "0yvh8vv9kgd06hc8c1pl2hq56w56vr0n7dr5mz19fx4p2v89y7xb"; type = "gem"; }; - version = "1.9.0"; + version = "1.8.1"; }; glib2 = { dependencies = ["native-package-installer" "pkg-config"]; @@ -1088,10 +1088,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qn87vxdsaq1szcvq39rnz38cgqllncdxmiyghnbzl7x5aah8sbw"; + sha256 = "0xbgh9d8nbvsvyzqnd0mzhz0nr9hx4qn025kmz6d837lry4lc6gw"; type = "gem"; }; - version = "2.0.22"; + version = "2.0.20"; }; gtk2 = { dependencies = ["atk" "gdk_pixbuf2" "pango"]; @@ -1110,10 +1110,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vcr5wcvfbsq91302playk3i98wdisspkybcmajl04agv4k8xr68"; + sha256 = "03qiz6kbk260v3613z4wrk8iy1mi06j631fglcskfxyhf18lpy05"; type = "gem"; }; - version = "6.1.1"; + version = "6.0.8"; }; hashie = { groups = ["default"]; @@ -1130,10 +1130,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1f8cr014j7mdqpdb9q17fp5vb5b8n1pswqaif91s3ylg5x3pygfn"; + sha256 = "0yclf57n2j3cw8144ania99h1zinf8q3f5zrhqa754j6gl95rp9d"; type = "gem"; }; - version = "2.1.0"; + version = "2.0.3"; }; hike = { groups = ["default"]; @@ -1244,10 +1244,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vdcchz7jli1p0gnc669a7bj3q1fv09y9ppf0y3k0vb1jwdwrqwi"; + sha256 = "038qvz7kd3cfxk8bvagqhakx68pfbnmghpdkx7573wbf0maqp9a3"; type = "gem"; }; - version = "1.12.0"; + version = "0.9.5"; }; iconv = { groups = ["default"]; @@ -1264,20 +1264,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0dy04jx3n1ddz744b80mg7hp87miysnjp0h21lqr43hpmhdglxih"; + sha256 = "1xjr8nxpq6vsa4kd7pvd14xxiba9y4dais1yyz4dj567hsqdrhcm"; type = "gem"; }; - version = "0.1.5"; + version = "0.1.4"; }; ipaddr = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ypic2hrmvvcgw7al72raphqv5cs1zvq4w284pwrkvfqsrqrqrsf"; + sha256 = "13qd34nzpgp3fxfjbvaqg3dcnfr0cgl5vjvcqy0hfllbvfcklnbq"; type = "gem"; }; - version = "1.2.5"; + version = "1.2.4"; }; jaro_winkler = { groups = ["default"]; @@ -1306,10 +1306,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m9yzkiwm751wbyq3aq1355afcx240r24nrick1fzv578bis4kyy"; + sha256 = "0wzb3ysr43f9acpdfhnndnqh1ypir01w4s4clzi38l9mxkfc4d75"; type = "gem"; }; - version = "3.9.3"; + version = "3.9.2"; }; jekyll-avatar = { dependencies = ["jekyll"]; @@ -1350,10 +1350,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zps7bb9kc4qf32b9y9h47z08wpsziklg0jnhcrcz2wxn09fijgd"; + sha256 = "0xkqq0cyca84hxs47ilkg3sjavwjvc6wijz4n0zd4nxj01jz54bh"; type = "gem"; }; - version = "0.4.0"; + version = "0.2.0"; }; jekyll-default-layout = { dependencies = ["jekyll"]; @@ -1732,40 +1732,40 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1cdw9vw2qly7q7r41s7phnac264rbsdqgj4l0h4nqgbjb157g393"; + sha256 = "1mnvb80cdg7fzdcs3xscv21p28w4igk5sj5m7m81xp8v2ks87jj0"; type = "gem"; }; - version = "1.6.2"; + version = "1.6.1"; }; json = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0nalhin1gda4v8ybk6lq8f407cgfrj6qzn234yra4ipkmlbfmal6"; + sha256 = "0yk5d10yvspkc5jyvx9gc1a9pn1z8v4k2hvjk1l88zixwf3wf3cl"; type = "gem"; }; - version = "2.6.3"; + version = "2.6.2"; }; json_pure = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0kn736pb52j8b9xxq6l8wqp2chs74aa14vfnp0rijjn086m8b4f3"; + sha256 = "04d8lc6mc09bqmcrlygh51an8r0j7l3p9aghjkc1g6i4fvmrmxfc"; type = "gem"; }; - version = "2.6.3"; + version = "2.6.2"; }; jwt = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09yj3z5snhaawh2z1w45yyihzmh57m6m7dp8ra8gxavhj5kbiq5p"; + sha256 = "0kcmnx6rgjyd7sznai9ccns2nh7p7wnw3mi8a7vf2wkm51azwddq"; type = "gem"; }; - version = "2.7.0"; + version = "2.5.0"; }; kramdown = { dependencies = ["rexml"]; @@ -1815,10 +1815,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1xz5mrp103i95r4wfxny1f5x7h7vgnxv2p9cdkmmdjzrsk23rijs"; + sha256 = "1jbqw7hkx08i5dj74fwfdc16980hsj3mhrxp4mmjxsdzw1kndrvp"; type = "gem"; }; - version = "4.0.0"; + version = "3.2.4"; }; link_header = { groups = ["default"]; @@ -1835,10 +1835,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1czxv2i1gv3k7hxnrgfjb0z8khz74l4pmfwd70c7kr25l2qypksg"; + sha256 = "0zhg5ha8zy8zw9qr3fl4wgk4r5940n4128xm2pn4shpbzdbsj5by"; type = "gem"; }; - version = "4.0.4"; + version = "4.0.3"; }; listen = { dependencies = ["rb-fsevent" "rb-inotify"]; @@ -1846,10 +1846,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13rgkfar8pp31z1aamxf5y7cfq88wv6rxxcwy7cmm177qq508ycn"; + sha256 = "0agybr37wpjv3xy4ipcmsvsibgdgphzrwbvcj4vfiykpmakwm01v"; type = "gem"; }; - version = "3.8.0"; + version = "3.7.1"; }; loofah = { dependencies = ["crass" "nokogiri"]; @@ -1857,7 +1857,7 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08qhzck271anrx9y6qa6mh8hwwdzsgwld8q0000rcd7yvvpnjr3c"; + sha256 = "sha256-bGRp797+NJYBAACjRvnTv3EOEaxGYeNTz1aFIyb7ECM="; type = "gem"; }; version = "2.19.1"; @@ -1961,10 +1961,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0slh78f9z6n0l1i2km7m48yz7l4fjrk88sj1f4mh1wb39sl2yc37"; + sha256 = "1aj604x11d9pksbljh0l38f70b558rhdgji1s9i763hiagvvx2hs"; type = "gem"; }; - version = "4.12.0"; + version = "4.11.0"; }; mini_mime = { groups = ["default"]; @@ -1981,10 +1981,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1af4yarhbbx62f7qsmgg5fynrik0s36wjy3difkawy536xg343mp"; + sha256 = "0rapl1sfmfi3bfr68da4ca16yhc0pp93vjwkj7y3rdqrzy3b41hy"; type = "gem"; }; - version = "2.8.1"; + version = "2.8.0"; }; minima = { dependencies = ["jekyll" "jekyll-feed" "jekyll-seo-tag"]; @@ -2002,10 +2002,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1kjy67qajw4rnkbjs5jyk7kc3lyhz5613fwj1i8f6ppdk4zampy0"; + sha256 = "0516ypqlx0mlcfn5xh7qppxqc3xndn1fnadxawa8wld5dkcimy30"; type = "gem"; }; - version = "5.17.0"; + version = "5.16.3"; }; molinillo = { groups = ["default"]; @@ -2063,10 +2063,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gjvj215qdhwk3292sc7xsn6fmwnnaq2xs35hh5hc8d8j22izlbn"; + sha256 = "0xsy70mg4p854jska7ff7cy8fyn9nhlkrmfdvkkfmk8qxairbfq1"; type = "gem"; }; - version = "0.5.5"; + version = "0.5.4"; }; nanaimo = { groups = ["default"]; @@ -2199,10 +2199,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qr6psd9qgv83pklpw7cpmshkcasnv8d777ksmvwsacwfvvkmnxj"; + sha256 = "sha256-0+4A8mwVF2PaFpHH/Ghx3dA+Uy90+FEB9aztwtCZ6Vg="; type = "gem"; }; - version = "1.14.1"; + version = "1.13.10"; }; octokit = { dependencies = ["faraday" "sawyer"]; @@ -2215,27 +2215,16 @@ }; version = "4.25.1"; }; - og-corefoundation = { - dependencies = ["ffi"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0xmz13rb92xy55askn5f3kkmz14qwyyhkdsikk2gd1ydicnaqkh8"; - type = "gem"; - }; - version = "0.2.3"; - }; openssl = { dependencies = ["ipaddr"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0rm9nzz2p204dgcplq9v53jr62m74w63vz01rk8dfmcgifkxhnff"; + sha256 = "0xx01in25q31rpxmq2qlimi44zarsp4px7046xnc6in0pa127xsk"; type = "gem"; }; - version = "2.2.3"; + version = "2.2.2"; }; optimist = { groups = ["default"]; @@ -2258,6 +2247,17 @@ }; version = "1.0.1"; }; + osx_keychain = { + dependencies = ["RubyInline"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10hr3lihq7s5fv18dp0g4mfncvapkcwcd6xnn5483ximyd7rhfx0"; + type = "gem"; + }; + version = "1.0.2"; + }; ovirt-engine-sdk = { dependencies = ["json"]; groups = ["default"]; @@ -2275,10 +2275,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1hi3jcm9s7hkv35gzgdh3nxs0s9h7kkqwv1x6kalww15msk60fxd"; + sha256 = "0zk3fwwx8zzxhmfmlgzzr050jzsl58ma54wy99xy4xx0ibmw48pv"; type = "gem"; }; - version = "1.1.0"; + version = "1.0.4"; }; pango = { dependencies = ["cairo-gobject" "gobject-introspection"]; @@ -2307,20 +2307,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0cdjcasyg7w05kk82dqysq29f1qcf8y5sw8iak5flpxjbdil50qv"; + sha256 = "1q31n7yj59wka8xl8s5wkf66hm4pgvblx95czyxffprdnlhrir2p"; type = "gem"; }; - version = "3.2.1.0"; + version = "3.1.2.1"; }; paru = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0mzy0s4cdqm5nvgyj55idc2pv51k3zlgw6sa7825dcyrk2ihcx0c"; + sha256 = "1v6my9g7bwjlx92hr9w0blnrcrai1yg3yz6k9xz0i6mq8lml2k87"; type = "gem"; }; - version = "1.1.0"; + version = "1.0.3"; }; pastel = { dependencies = ["tty-color"]; @@ -2369,20 +2369,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1wd6nl81nbdwck04hccsm7wf23ghpi8yddd9j4rbwyvyj0sbsff1"; + sha256 = "09a5z9qhxnybahx162q2q1cygdhxfp6cihdivvzh32jlwc37z1x3"; type = "gem"; }; - version = "1.4.5"; + version = "1.4.4"; }; pkg-config = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "02fw2pzrmvwp67nbndpy8a2ln74fd8kmsiffw77z7g1mp58ww651"; + sha256 = "0v9vmkmpha34lwdhig08kb7z4wk3xmw49dvkl99nz9llxhzqr5hl"; type = "gem"; }; - version = "1.5.1"; + version = "1.4.9"; }; polyglot = { groups = ["default"]; @@ -2410,10 +2410,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1bbw4czjr2ch6m57rgjib5a35hx3g18975vwzm2iwq13pvdj9hzk"; + sha256 = "1l5pk6w63bj7cxy4y9mqvpclw6r0pcm7xa44c33vx3f960px8wk8"; type = "gem"; }; - version = "1.2.0"; + version = "1.0.2"; }; pry = { dependencies = ["coderay" "method_source"]; @@ -2421,10 +2421,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0k9kqkd9nps1w1r1rb7wjr31hqzkka2bhi8b518x78dcxppm9zn4"; + sha256 = "0m445x8fwcjdyv2bc0glzss2nbm1ll51bq45knixapc7cl3dzdlr"; type = "gem"; }; - version = "0.14.2"; + version = "0.14.1"; }; pry-byebug = { dependencies = ["byebug" "pry"]; @@ -2443,10 +2443,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pp43n69p6bjvc640wgcz295w1q2v9awcqgbwcqn082dbvq5xvnx"; + sha256 = "0wyvql6pb6m8jl8bsamabxhxhd86bnqblspaxzz05sl0fm2ynj0r"; type = "gem"; }; - version = "1.4.0"; + version = "1.3.0"; }; public_suffix = { groups = ["default"]; @@ -2464,30 +2464,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ymaq2m30yx35sninw8mjknsjw23k6458ph9k350khwwn1hh2d1k"; + sha256 = "1yabmxmqprb2x58awiasidsiwpplscmyar9dzwh5l8jgaw4i3wra"; type = "gem"; }; - version = "6.1.0"; + version = "6.0.0"; }; racc = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09jgz6r0f7v84a7jz9an85q8vvmp743dqcsdm3z9c8rqcqv6pljq"; + sha256 = "0la56m0z26j3mfn1a9lf2l03qx1xifanndf9p3vx1azf6sqy7v9d"; type = "gem"; }; - version = "1.6.2"; + version = "1.6.0"; }; rack = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qvp6h2abmlsl4sqjsvac03cr2mxq6143gbx4kq52rpazp021qsb"; + sha256 = "0axc6w0rs4yj0pksfll1hjgw1k6a5q0xi2lckh91knfb72v348pa"; type = "gem"; }; - version = "2.2.6.2"; + version = "2.2.4"; }; rack-protection = { dependencies = ["rack"]; @@ -2495,10 +2495,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1a12m1mv8dc0g90fs1myvis8vsgr427k1arg1q4a9qlfw6fqyhis"; + sha256 = "0jmixih0qrsdz60dhznkk29v50ks55cqq51jjf0yn3amqghh4bhk"; type = "gem"; }; - version = "3.0.5"; + version = "3.0.2"; }; rails-dom-testing = { dependencies = ["activesupport" "nokogiri"]; @@ -2517,10 +2517,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ygav4xyq943qqyhjmi3mzirn180j565mc9h5j4css59x1sn0cmz"; + sha256 = "sha256-iV0Mh6K2YjiR6FwdUHx/FqzaTnfZRpL1N981unE5i9U="; type = "gem"; }; - version = "1.5.0"; + version = "1.4.4"; }; rainbow = { groups = ["default"]; @@ -2589,10 +2589,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0dgj5n7rj83981fvrhswfwsh88x42p7r00nvd80hkxmdcjvda2h6"; + sha256 = "0wd4j2irk88qcrxbhhbrsr6rswz8ckva7n0hsjyffnmx1ya60n8y"; type = "gem"; }; - version = "2.8.4"; + version = "2.7.0"; }; rchardet = { groups = ["default"]; @@ -2630,10 +2630,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1sg9sbf9pm91l7lac7fs4silabyn0vflxwaa2x3lrzsm0ff8ilca"; + sha256 = "0bvk8yyns5s1ls437z719y5sdv9fr8kfs8dmr6g8s761dv5n8zvi"; type = "gem"; }; - version = "3.6.0"; + version = "3.5.1"; }; redis = { dependencies = ["redis-client"]; @@ -2641,10 +2641,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "10r5z5mg1x5kjx3wvwx5d8bqgd2j8pc4dlaasq7nmnl3nsn7sn9k"; + sha256 = "1s2hvsq0nyxmh27cqv00zk0s6bb4dlxfhzng5x0w8qijpw0vx9h5"; type = "gem"; }; - version = "5.0.6"; + version = "5.0.5"; }; redis-client = { dependencies = ["connection_pool"]; @@ -2652,10 +2652,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1q9h6mgr3nnxlc65r3f78cn208i4l8y2jqa1g6wwjl620za3ay9q"; + sha256 = "1hkwqi18cbiil787ivvh2s8i6csrn0z3qb4ccp2vhrc2w6ay6ncq"; type = "gem"; }; - version = "0.12.1"; + version = "0.10.0"; }; redis-rack = { dependencies = ["rack" "redis-store"]; @@ -2684,10 +2684,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0d6241adx6drsfzz74nx1ld3394nm6fjpv3ammzr0g659krvgf7q"; + sha256 = "0mm5sykyblc61a82zz3dag6yy3mvflj2z47060kjzjj5793blqzi"; type = "gem"; }; - version = "2.7.0"; + version = "2.6.0"; }; rest-client = { dependencies = ["http-accept" "http-cookie" "mime-types" "netrc"]; @@ -2722,15 +2722,14 @@ version = "3.2.5"; }; rmagick = { - dependencies = ["pkg-config"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "11skr2l49cml2wgm74zzcxwdyw0vn0abynhhq1m08jpzr309x730"; + sha256 = "0v269bx6bhnrlxpsmhr8xjv64dwnnykiw9hr58dwghsps1qb8ib7"; type = "gem"; }; - version = "5.1.0"; + version = "5.0.0"; }; rouge = { groups = ["default"]; @@ -2769,10 +2768,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0da45cvllbv39sdbsl65vp5djb2xf5m10mxc9jm7rsqyyxjw4h1f"; + sha256 = "1ibb81slc35q5yp276sixp3yrvj9q92wlmi1glbnwlk6g49z8rn4"; type = "gem"; }; - version = "3.12.1"; + version = "3.12.0"; }; rspec-expectations = { dependencies = ["diff-lcs" "rspec-support"]; @@ -2780,10 +2779,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "03ba3lfdsj9zl00v1yvwgcx87lbadf87livlfa5kgqssn9qdnll6"; + sha256 = "0qldsmjhqr4344zdlamzggr3y98wdk2c4hihkhwx8imk800gkl8v"; type = "gem"; }; - version = "3.12.2"; + version = "3.12.0"; }; rspec-mocks = { dependencies = ["diff-lcs" "rspec-support"]; @@ -2791,10 +2790,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0sq2cc9pm5gq411y7iwfvzbmgv3g91lyf7y7cqn1lr3yf1v122nc"; + sha256 = "1yvwnb0x5d6d4ff3wlgahk0wcw72ic51gd2snr1xxc5ify41kabv"; type = "gem"; }; - version = "3.12.3"; + version = "3.12.0"; }; rspec-support = { groups = ["default"]; @@ -2812,10 +2811,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1jsiy93y5c2sx2sr5jmdah208idw038m2fpihgan4klmldm3r1pm"; + sha256 = "1xhm882zzs4z4ivknrymh6lgnd3p90b651dn0fp32dciajdxr9f1"; type = "gem"; }; - version = "1.45.1"; + version = "1.37.1"; }; rubocop-ast = { dependencies = ["parser"]; @@ -2823,10 +2822,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zqk8dgjjhm0zll2rxqvvb8fl5vin7mmbc1ndn1a2q4276ri6ydc"; + sha256 = "1qiq3q66w57im0ryrvnd1yq0g2s2safhywpv94441kvc1amayjzy"; type = "gem"; }; - version = "1.26.0"; + version = "1.23.0"; }; rubocop-performance = { dependencies = ["rubocop" "rubocop-ast"]; @@ -2834,10 +2833,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1n7g0vg06ldjaq4f8c11c7yqy99zng1qdrkkk4kfziippy24yxnc"; + sha256 = "1h06a2asg8pjq7l0k885126n60y54rgw0qr957qarpv7qligzn4c"; type = "gem"; }; - version = "1.16.0"; + version = "1.15.0"; }; ruby-graphviz = { dependencies = ["rexml"]; @@ -2850,17 +2849,6 @@ }; version = "1.2.5"; }; - ruby-keychain = { - dependencies = ["ffi" "og-corefoundation"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1g57fr1r39bfh1r887hp87mawfg3miidagvpqyqq3l0152ya43wr"; - type = "gem"; - }; - version = "0.4.0"; - }; ruby-libvirt = { groups = ["default"]; platforms = []; @@ -2932,6 +2920,17 @@ }; version = "0.0.5"; }; + RubyInline = { + dependencies = ["ZenTest"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zq24qvkqzjsrcwyz9lp3pm602kqw08cp3g1acf3zy0nc7npvx9p"; + type = "gem"; + }; + version = "3.12.6"; + }; rubyzip = { groups = ["default"]; platforms = []; @@ -2947,10 +2946,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0wnfgxx59nq2wpvi8ll7bqw9x99x5hps6i38xdjrwbb5a3896d58"; + sha256 = "02h1cv73znwfgy61mqmfylcfvwyyp3lddiz3njgivfx234mpz50x"; type = "gem"; }; - version = "1.5.1"; + version = "1.5.0.1"; }; safe_yaml = { groups = ["default"]; @@ -3022,20 +3021,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ffbd7jimj73fwdg7gf26bfc41a06aqi7zrwj90pkkwxipjljrzl"; + sha256 = "1yzv7gn539aqwpada2mvfrnbdygr3d61ryp68ncp3kpx6nbz1x25"; type = "gem"; }; - version = "0.17.0"; + version = "0.16.0"; }; sequel = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yf5sqw15gj5vmrbklw144y0wg8r92fwczfg64znwn61k9bz9j21"; + sha256 = "1qg80fqxs1rabsg3xrkfkkicnn1z2p02xsb1lxv78a6iw5p17d73"; type = "gem"; }; - version = "5.65.0"; + version = "5.61.0"; }; sequel_pg = { dependencies = ["pg" "sequel"]; @@ -3043,10 +3042,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01j51vn47ynyhlxpgz6wj8swm3d8g1hrad1678s0sd43kh2hqxdg"; + sha256 = "15ndf1wr45vyqiyc3059f8zv0wp11i6xqfqclsa0v3qf739jb1zw"; type = "gem"; }; - version = "1.17.1"; + version = "1.17.0"; }; simplecov = { dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"]; @@ -3054,10 +3053,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "198kcbrjxhhzca19yrdcd6jjj9sb51aaic3b0sc3pwjghg3j49py"; + sha256 = "1hrv046jll6ad1s964gsmcq4hvkr3zzr6jc7z1mns22mvfpbc3cr"; type = "gem"; }; - version = "0.22.0"; + version = "0.21.2"; }; simplecov-html = { groups = ["default"]; @@ -3096,10 +3095,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ryfja9yd3fq8n1p5yi3qnd0pjk7bkycmxxmbb1bj0axlr1pdv20"; + sha256 = "0c2vmy0j5amy9fihs2gz2ssm4bdpqqh4llyjfl6qqqry7f87c6xz"; type = "gem"; }; - version = "3.0.5"; + version = "3.0.2"; }; slather = { dependencies = ["CFPropertyList" "activesupport" "clamp" "nokogiri" "xcodeproj"]; @@ -3107,10 +3106,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0kdigir21jinkkj4q3cjsswix26lmff1rmnwjz2ywc6y9d8ib9ak"; + sha256 = "0wy8ws5n2gvxgkncbhrp4vkwjcbphcczw4k7y3g2wfl8fdmv5b4n"; type = "gem"; }; - version = "2.7.4"; + version = "2.7.2"; }; slop = { groups = ["default"]; @@ -3148,10 +3147,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pdy2f5phffknx98j2f5k72s52ayp456m3jkg08vx396yg59l0gi"; + sha256 = "0smcpi3x87chkdqdclhgh36xlbwm7r44r58m3k1w4mcikdwlpjl7"; type = "gem"; }; - version = "0.48.0"; + version = "0.47.2"; }; sqlite3 = { dependencies = ["mini_portile2"]; @@ -3159,10 +3158,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0f24qp50mc1qg8yvv7b3x73mh78d6mzd3b7rqib1ixfbsdiayx1x"; + sha256 = "1i95rgfxdj2rhxifps27dz7fjfdih5iyl7b01di9gdmh9m04ylk6"; type = "gem"; }; - version = "1.6.0"; + version = "1.5.3"; }; string_inflection = { groups = ["default"]; @@ -3180,10 +3179,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0zkq75hcqnxnipvccsd2f7vqcra6rplzvn1ds73sna6lcy8s6sxa"; + sha256 = "1im3kskcrmwa12q4pxilps7dyf9jlc82saasp6lkn5q7zqi7ilfh"; type = "gem"; }; - version = "6.0.0"; + version = "4.3.0"; }; syntax_tree-haml = { dependencies = ["haml" "prettier_print" "syntax_tree"]; @@ -3191,10 +3190,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0nnq6z8xhvcv3yc7rf64np3f8dx6j8gmvbi6ws3lwccq4w5cmqnk"; + sha256 = "0n2ag309fzz9qvj634aibv2khfc45vvsg1sra227ssn3xwcvx4vq"; type = "gem"; }; - version = "3.0.0"; + version = "2.0.0"; }; syntax_tree-rbs = { dependencies = ["prettier_print" "rbs" "syntax_tree"]; @@ -3212,30 +3211,31 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0yvchq3j0splz70796a27hr1v6ifhyab5ddc9fl1x734nhmsy4rb"; + sha256 = "0zf6cavsmj87lszy0b5mzw6mdg0dbsb7f52xy2fx06y9abv78xxw"; type = "gem"; }; - version = "1.1.3"; + version = "1.1.2"; }; temple = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07k5wr2ypsmsbyc9d1plhdki4xr7vvggld8r1i49iljkrpx5nbqc"; + sha256 = "1kzp8c08jl137v62rafmr81b7hg01q3d1q70fr5y5cmmranfpml1"; type = "gem"; }; - version = "0.10.0"; + version = "0.9.1"; }; terminal-table = { + dependencies = ["unicode-display_width"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hbmzfr17ji5ws5x5z3kypmb5irwwss7q7kkad0gs005ibqrxv0a"; + sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk"; type = "gem"; }; - version = "1.6.0"; + version = "1.8.0"; }; thor = { groups = ["default"]; @@ -3247,6 +3247,16 @@ }; version = "1.2.1"; }; + thread_safe = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; + type = "gem"; + }; + version = "0.3.6"; + }; thrift = { groups = ["default"]; platforms = []; @@ -3293,10 +3303,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0adc8qblz8ii668r3rksjx83p675iryh52rvdvysimx2hkbasj7d"; + sha256 = "0697qz1akblf8r3wi0s2dsjh468hfsd57fb0mrp93z35y2ni6bhh"; type = "gem"; }; - version = "1.6.12"; + version = "1.6.11"; }; tty-color = { groups = ["default"]; @@ -3341,15 +3351,15 @@ version = "1.4.0"; }; tzinfo = { - dependencies = ["concurrent-ruby"]; + dependencies = ["thread_safe"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; + sha256 = "0rw89y3zj0wcybcyiazgcprg6hi42k8ipp1n2lbl95z1dmpgmly6"; type = "gem"; }; - version = "2.0.6"; + version = "1.2.10"; }; uglifier = { dependencies = ["execjs"]; @@ -3388,10 +3398,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gi82k102q7bkmfi7ggn9ciypn897ylln1jk9q67kjhr39fj043a"; + sha256 = "1204c1jx2g89pc25qk5150mk7j5k90692i7ihgfzqnad6qni74h2"; type = "gem"; }; - version = "2.4.2"; + version = "1.8.0"; }; uuid4r = { groups = ["default"]; @@ -3472,19 +3482,29 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "028ld9qmgdllxrl7d0qkl65s58wb1n3gv8yjs28g43a8b1hplxk1"; + sha256 = "18hihq3hxs2ywxh3ixm366cawwy4k733mh680ldaa1vxjiraxj58"; type = "gem"; }; - version = "2.6.7"; + version = "2.6.1"; + }; + ZenTest = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vss0ldskqprnlvl5pczcl8p346p2ib1sc6hyprbprh6gjq4v16y"; + type = "gem"; + }; + version = "4.12.1"; }; zookeeper = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1hc87pbmgc53lksa1aql61kxn9d2kjzmlhnjxa5rcn01qhm3pkvg"; + sha256 = "0gbmc76cxi4nlhrdch8ykinyzp5f2m6d272g8xhn5rjg3fjp15l1"; type = "gem"; }; - version = "1.5.5"; + version = "1.5.3"; }; } From 72f1773807dfc9d9d9ac48d4bdc47275fd120bc1 Mon Sep 17 00:00:00 2001 From: Justinas Stankevicius Date: Sat, 4 Feb 2023 00:42:58 +0200 Subject: [PATCH 041/128] teleport: 11.2.3 -> 11.3.4 --- pkgs/servers/teleport/default.nix | 59 +++++++++++++++++++++++-------- 1 file changed, 45 insertions(+), 14 deletions(-) diff --git a/pkgs/servers/teleport/default.nix b/pkgs/servers/teleport/default.nix index 9025c9151bb7..52c21cb63674 100644 --- a/pkgs/servers/teleport/default.nix +++ b/pkgs/servers/teleport/default.nix @@ -2,17 +2,21 @@ , buildGoModule , rustPlatform , fetchFromGitHub +, fetchYarnDeps , makeWrapper , symlinkJoin , CoreFoundation , AppKit , libfido2 +, nodejs , openssl , pkg-config , protobuf , Security , stdenv , xdg-utils +, yarn +, yarn2nix-moretea , nixosTests , withRdpClient ? true @@ -23,13 +27,13 @@ let owner = "gravitational"; repo = "teleport"; rev = "v${version}"; - hash = "sha256-dr+tmWVO7yXRLTvJZoFZzayRWETa8wC/aZ7S/vh8qyk="; + hash = "sha256-jJfOgcwKkNFO/5XHxMoapZxM8Tb0kEgKVA7SrMU7uW4="; }; - version = "11.2.3"; + version = "11.3.4"; rdpClient = rustPlatform.buildRustPackage rec { pname = "teleport-rdpclient"; - cargoHash = "sha256-8NTzX9HeGg9U3bmiZHXHTcKnbJk55YfY2bkjilEyg0g="; + cargoHash = "sha256-TSIwLCY01ygCWT73LR/Ch7NwPQA3a3r0PyL3hUzBNr4="; inherit version src; buildAndTestSubdir = "lib/srv/desktop/rdp/rdpclient"; @@ -50,19 +54,49 @@ let ''; }; - webassets = fetchFromGitHub { - owner = "gravitational"; - repo = "webassets"; - # Submodule rev from https://github.com/gravitational/teleport/tree/v11.2.3 - rev = "cbddcfda9d5ccba11f02ee61bd305c1f600ee6b0"; - hash = "sha256-XPcQaMyf6kEj5RDRKjNO5b+n1zj/TpBHcDnGhYVUbts="; + yarnOfflineCache = fetchYarnDeps { + yarnLock = "${src}/yarn.lock"; + hash = "sha256-MAGeWzA366yzpjdCY0+X6RV5MKcsHa/xD5CJu6ce1FU="; + }; + + webassets = stdenv.mkDerivation { + pname = "teleport-webassets"; + inherit src version; + + nativeBuildInputs = [ + nodejs + yarn + yarn2nix-moretea.fixup_yarn_lock + ]; + + configurePhase = '' + export HOME=$(mktemp -d) + ''; + + buildPhase = '' + yarn config --offline set yarn-offline-mirror ${yarnOfflineCache} + fixup_yarn_lock yarn.lock + + yarn install --offline \ + --frozen-lockfile \ + --ignore-engines --ignore-scripts + patchShebangs . + + yarn build-ui-oss + ''; + + installPhase = '' + mkdir -p $out + cp -R webassets/. $out + ''; }; in buildGoModule rec { pname = "teleport"; inherit src version; - vendorHash = "sha256-rWdRVOaPPK2oXK6fXka4FtuxEkaQf4igm7xlg0wauMs="; + vendorHash = "sha256-NkiFLEHBNjxUOSuAlVugAV14yCCo3z6yhX7LZQFKhvA="; + proxyVendor = true; subPackages = [ "tool/tbot" "tool/tctl" "tool/teleport" "tool/tsh" ]; tags = [ "libfido2" "webassets_embed" ] @@ -85,10 +119,7 @@ buildGoModule rec { outputs = [ "out" "client" ]; preBuild = '' - mkdir -p build - echo "making webassets" - cp -r ${webassets}/* webassets/ - make -j$NIX_BUILD_CORES lib/web/build/webassets + cp -r ${webassets} webassets '' + lib.optionalString withRdpClient '' ln -s ${rdpClient}/lib/* lib/ ln -s ${rdpClient}/include/* lib/srv/desktop/rdp/rdpclient/ From a456da3490fc245c908654d6efed64a78b67763e Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 16 Feb 2023 19:11:10 +0300 Subject: [PATCH 042/128] nixos/tests/pass-secret-service: fix eval --- nixos/tests/pass-secret-service.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/pass-secret-service.nix b/nixos/tests/pass-secret-service.nix index a85a508bfe16..e0dddf0ad29e 100644 --- a/nixos/tests/pass-secret-service.nix +++ b/nixos/tests/pass-secret-service.nix @@ -1,6 +1,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { name = "pass-secret-service"; - meta.maintainers = with lib; [ aidalgol ]; + meta.maintainers = [ lib.maintainers.aidalgol ]; nodes.machine = { nodes, pkgs, ... }: { From 84434922bcb77dda8bdde7818276dc730cfc0af0 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 16 Feb 2023 19:11:19 +0300 Subject: [PATCH 043/128] nixos/tests/quake3: fix eval --- nixos/tests/quake3.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos/tests/quake3.nix b/nixos/tests/quake3.nix index 82af1af463d0..ef5fcc41476b 100644 --- a/nixos/tests/quake3.nix +++ b/nixos/tests/quake3.nix @@ -1,4 +1,4 @@ -import ./make-test-python.nix ({ pkgs, ...} : +import ./make-test-python.nix ({ pkgs, lib, ...} : let @@ -11,9 +11,9 @@ let }; # Only allow the demo data to be used (only if it's unfreeRedistributable). - unfreePredicate = pkg: with pkgs.lib; let + unfreePredicate = pkg: with lib; let allowPackageNames = [ "quake3-demodata" "quake3-pointrelease" ]; - allowLicenses = [ pkgs.lib.licenses.unfreeRedistributable ]; + allowLicenses = [ lib.licenses.unfreeRedistributable ]; in elem pkg.pname allowPackageNames && elem (pkg.meta.license or null) allowLicenses; @@ -31,7 +31,7 @@ in rec { name = "quake3"; - meta = with pkgs.stdenv.lib.maintainers; { + meta = with lib.maintainers; { maintainers = [ domenkozar eelco ]; }; From 254426ec4bce7d289c80d7e84feb616d756efdd7 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 16 Feb 2023 19:17:53 +0300 Subject: [PATCH 044/128] nixos/lib/testing: set default timeout for VM tests --- nixos/lib/testing/meta.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/lib/testing/meta.nix b/nixos/lib/testing/meta.nix index 65754fe3c541..805b7520edff 100644 --- a/nixos/lib/testing/meta.nix +++ b/nixos/lib/testing/meta.nix @@ -22,7 +22,7 @@ in }; timeout = lib.mkOption { type = types.nullOr types.int; - default = null; # NOTE: null values are filtered out by `meta`. + default = 3600; # 1 hour description = mdDoc '' The [{option}`test`](#test-opt-test)'s [`meta.timeout`](https://nixos.org/manual/nixpkgs/stable/#var-meta-timeout) in seconds. ''; From c3dc516fe20b24540ca5307c063f26cf458d00b2 Mon Sep 17 00:00:00 2001 From: figsoda Date: Wed, 15 Feb 2023 14:06:52 -0500 Subject: [PATCH 045/128] boxxy: 0.2.7 -> 0.3.4, add figsoda as a maintainer Diff: https://github.com/queer/boxxy/compare/v0.2.7...v0.3.4 --- pkgs/tools/misc/boxxy/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/misc/boxxy/default.nix b/pkgs/tools/misc/boxxy/default.nix index faadff736577..6c42e7131c86 100644 --- a/pkgs/tools/misc/boxxy/default.nix +++ b/pkgs/tools/misc/boxxy/default.nix @@ -1,26 +1,28 @@ { lib , rustPlatform , fetchFromGitHub +, stdenv }: rustPlatform.buildRustPackage rec { pname = "boxxy"; - version = "0.2.7"; + version = "0.3.4"; src = fetchFromGitHub { owner = "queer"; repo = "boxxy"; rev = "v${version}"; - hash = "sha256-mvSarA0rZuOQvgf2NJXWIWoeZtvb+D/GofAHPKQDH6U="; + hash = "sha256-bFDGZhwawOPzXR0ODD61h/wVUibNVl7ayiV9jfvTI6c="; }; - cargoHash = "sha256-Psc9qErqi3aangNowXxhkEXphFCR7pp+DKTKtk6tMo0="; + cargoHash = "sha256-oO0cb5PZ2BdJnB+Uyu5ZHpYR5znoeGa/RpyQAXLlrBQ="; meta = with lib; { description = "Puts bad Linux applications in a box with only their files"; homepage = "https://github.com/queer/boxxy"; license = licenses.mit; - maintainers = with maintainers; [ dit7ya ]; + maintainers = with maintainers; [ dit7ya figsoda ]; platforms = platforms.linux; + broken = stdenv.isAarch64; }; } From 19de50fd8f49a3300cf30755e5775d9a45f65834 Mon Sep 17 00:00:00 2001 From: Alex Wied Date: Thu, 16 Feb 2023 13:32:02 -0500 Subject: [PATCH 046/128] kotatogram-desktop: fix tg_owt --- .../telegram/kotatogram-desktop/tg_owt.nix | 4 ++++ .../telegram/kotatogram-desktop/tg_owt.patch | 23 +++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.patch diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix index bd2f9e4b3f5e..f627647e1efb 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix @@ -56,6 +56,10 @@ stdenv.mkDerivation { fetchSubmodules = true; }; + patches = [ + ./tg_owt.patch + ]; + postPatch = lib.optionalString stdenv.isLinux '' substituteInPlace src/modules/desktop_capture/linux/egl_dmabuf.cc \ --replace '"libEGL.so.1"' '"${libGL}/lib/libEGL.so.1"' \ diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.patch b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.patch new file mode 100644 index 000000000000..05332d51c047 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.patch @@ -0,0 +1,23 @@ +--- a/src/modules/include/module_common_types_public.h ++++ b/src/modules/include/module_common_types_public.h +@@ -11,6 +11,7 @@ + #ifndef MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_ + #define MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_ + ++#include + #include + + #include "absl/types/optional.h" +diff --git a/src/common_video/h265/h265_pps_parser.h b/src/common_video/h265/h265_pps_parser.h +index 28c95ea9..790b0b73 100644 +--- a/src/common_video/h265/h265_pps_parser.h ++++ b/src/common_video/h265/h265_pps_parser.h +@@ -13,6 +13,8 @@ + + #include "absl/types/optional.h" + ++#include ++ + namespace rtc { + class BitBuffer; + } From ba1078beb5c5957158b786c2c6c5c2b19b4f7408 Mon Sep 17 00:00:00 2001 From: Martino Fontana Date: Thu, 16 Feb 2023 19:29:50 +0100 Subject: [PATCH 047/128] flycast: 2.0 -> 2.1 --- .../emulators/flycast/default.nix | 40 ++++++++++++++----- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/emulators/flycast/default.nix b/pkgs/applications/emulators/flycast/default.nix index b597abc7b069..f1874d62fba4 100644 --- a/pkgs/applications/emulators/flycast/default.nix +++ b/pkgs/applications/emulators/flycast/default.nix @@ -5,25 +5,36 @@ , pkg-config , makeWrapper , alsa-lib -, libX11 +, curl +, egl-wayland +, libao +, libdecor , libevdev -, udev +, libffi +, libGL , libpulseaudio -, SDL2 +, libX11 +, libXext +, libxkbcommon , libzip +, mesa , miniupnpc +, udev +, vulkan-headers , vulkan-loader +, wayland +, zlib }: stdenv.mkDerivation rec { pname = "flycast"; - version = "2.0"; + version = "2.1"; src = fetchFromGitHub { owner = "flyinghead"; repo = "flycast"; - rev = "v${version}"; - sha256 = "sha256-vSyLg2lAJBV7crKVbGRbi1PUuCwHF9GB/8pjMTlaigA="; + rev = "V${version}"; + sha256 = "sha256-PRInOqg9OpaUVLwSj1lOxDtjpVaYehkRsp0jLrVKPyY="; fetchSubmodules = true; }; @@ -35,13 +46,24 @@ stdenv.mkDerivation rec { buildInputs = [ alsa-lib - libX11 + curl + egl-wayland + libao + libdecor libevdev - udev + libffi + libGL libpulseaudio - SDL2 + libX11 + libXext + libxkbcommon libzip + mesa # for libgbm miniupnpc + udev + vulkan-headers + wayland + zlib ]; postFixup = '' From 30daac9f3a498415646f186e268a9aa84fe0586e Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Thu, 16 Feb 2023 19:52:06 +0100 Subject: [PATCH 048/128] usql: 0.13.8 -> 0.13.9 --- pkgs/applications/misc/usql/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/usql/default.nix b/pkgs/applications/misc/usql/default.nix index 4911556086c7..839b100383f5 100644 --- a/pkgs/applications/misc/usql/default.nix +++ b/pkgs/applications/misc/usql/default.nix @@ -10,18 +10,18 @@ buildGoModule rec { pname = "usql"; - version = "0.13.8"; + version = "0.13.9"; src = fetchFromGitHub { owner = "xo"; repo = "usql"; rev = "v${version}"; - hash = "sha256-oNsA9VM6MN2czeZSTFGvmCWX0T3iVaAhQk1mVRyKgWw="; + hash = "sha256-hcAwwu1bp7QJLt+mrUZYK6YeX/uRmfRa8JnUfrTzf3k="; }; buildInputs = [ unixODBC icu ]; - vendorHash = "sha256-LG5gTHXB1ItDZFbTBHyZGHZLaSYb8wekIHkahTMXzkk="; + vendorHash = "sha256-BehI6O+WpCcgMGabTFMCpYHN3CIo3Zb5rBQuGLsWRc0="; proxyVendor = true; # Exclude broken impala & hive driver From c6e2fbf1a2193d89675252314fa4d27b5ac6fff5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 15 Feb 2023 20:02:50 -0800 Subject: [PATCH 049/128] vaultwarden.webvault: build from source --- pkgs/tools/security/vaultwarden/webvault.nix | 66 ++++++++++++++++---- 1 file changed, 54 insertions(+), 12 deletions(-) diff --git a/pkgs/tools/security/vaultwarden/webvault.nix b/pkgs/tools/security/vaultwarden/webvault.nix index 74a75e24339c..4e25c6f572fe 100644 --- a/pkgs/tools/security/vaultwarden/webvault.nix +++ b/pkgs/tools/security/vaultwarden/webvault.nix @@ -1,19 +1,61 @@ -{ lib, stdenv, fetchurl, nixosTests }: +{ lib +, buildNpmPackage +, fetchFromGitHub +, git +, nixosTests +, nodejs-16_x +, python3 +}: + +let + buildNpmPackage' = buildNpmPackage.override { nodejs = nodejs-16_x; }; -stdenv.mkDerivation rec { - pname = "vaultwarden-webvault"; version = "2022.12.0"; - src = fetchurl { - url = "https://github.com/dani-garcia/bw_web_builds/releases/download/v${version}/bw_web_v${version}.tar.gz"; - hash = "sha256-QC3/aqIF2NdJPHmwUbvJR62wsUGBrgsHJCyqBJ/0gMc="; + bw_web_builds = fetchFromGitHub { + owner = "dani-garcia"; + repo = "bw_web_builds"; + rev = "v${version}"; + hash = "sha256-4yUE0ySUCKmmbca+T8qjqSO0AHZEUAHZ4nheRjpDnZo="; + }; +in buildNpmPackage' { + pname = "vaultwarden-webvault"; + inherit version; + + src = fetchFromGitHub { + owner = "bitwarden"; + repo = "clients"; + rev = "web-v${version}"; + hash = "sha256-CsbnnP12P7JuGDOm5Ia73SzET/jCx3qRbz9vdUf7lCA="; }; - buildCommand = '' - mkdir -p $out/share/vaultwarden/ - cd $out/share/vaultwarden/ - tar xf $src - mv web-vault vault + npmDepsHash = "sha256-wWOtVGNOzY2s82nfQDuWgA4ukpJxJr8Z7Y+rFPq2QdU="; + + postPatch = '' + ln -s ${bw_web_builds}/{patches,resources} .. + PATH="${git}/bin:$PATH" VAULT_VERSION=${bw_web_builds.rev} \ + bash ${bw_web_builds}/scripts/apply_patches.sh + ''; + + nativeBuildInputs = [ + python3 + ]; + + makeCacheWritable = true; + + ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; + + npmBuildScript = "dist:oss:selfhost"; + + npmBuildFlags = [ + "--workspace" "apps/web" + ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/vaultwarden + mv apps/web/build $out/share/vaultwarden/vault + runHook postInstall ''; passthru.tests = nixosTests.vaultwarden; @@ -23,6 +65,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/dani-garcia/bw_web_builds"; platforms = platforms.all; license = licenses.gpl3Plus; - maintainers = with maintainers; [ msteen mic92 ]; + maintainers = with maintainers; [ dotlambda msteen mic92 ]; }; } From b32db566fe04a1473b51dffd8d907a888c8c07af Mon Sep 17 00:00:00 2001 From: Rebecca Turner Date: Thu, 16 Feb 2023 11:47:38 -0800 Subject: [PATCH 050/128] nix-your-shell: 1.0.2 -> 1.1.0 --- pkgs/shells/nix-your-shell/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/shells/nix-your-shell/default.nix b/pkgs/shells/nix-your-shell/default.nix index 98125cd4b41d..e957fdba7525 100644 --- a/pkgs/shells/nix-your-shell/default.nix +++ b/pkgs/shells/nix-your-shell/default.nix @@ -5,16 +5,16 @@ }: rustPlatform.buildRustPackage rec { pname = "nix-your-shell"; - version = "1.0.2"; + version = "1.1.0"; src = fetchFromGitHub { owner = "MercuryTechnologies"; repo = pname; rev = "v${version}"; - sha256 = "sha256-W3MeApvqO3hBaHWu6vyrR6pniEMMKiXTAQ0bhUPbpx8="; + sha256 = "sha256-MXshCRgGL2V51Pd1ms6D0Sn0mtRcxd0pWUz+zghBTdI="; }; - cargoSha256 = "sha256-M6yj4jTTWnembVX51/Xz+JtKhWJsmQ7SpipH8pHzids="; + cargoSha256 = "sha256-f1igCSdv6iMUDeCDGSxDIecjVcJQN2jbdALGMpDVepQ="; meta = with lib; { description = "A `nix` and `nix-shell` wrapper for shells other than `bash`"; From a89eef2c5e13f27009cdb8da139aac42bea5377f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 16 Feb 2023 20:12:48 +0000 Subject: [PATCH 051/128] cwltool: 3.1.20230209161050 -> 3.1.20230213100550 --- pkgs/applications/science/misc/cwltool/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/misc/cwltool/default.nix b/pkgs/applications/science/misc/cwltool/default.nix index 815ccc6cc249..7c28f65f3bf7 100644 --- a/pkgs/applications/science/misc/cwltool/default.nix +++ b/pkgs/applications/science/misc/cwltool/default.nix @@ -7,14 +7,14 @@ python3.pkgs.buildPythonApplication rec { pname = "cwltool"; - version = "3.1.20230209161050"; + version = "3.1.20230213100550"; format = "setuptools"; src = fetchFromGitHub { owner = "common-workflow-language"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-gc/KSJS3KcxXc3xDyJSXavaxtwhKBiihgdI7yc7d2I8="; + hash = "sha256-BtHkIVadcccnYYX8lRqiCzO+/qFeBaZfdUuu6qrjysk="; }; postPatch = '' From b383c76895799aa99bf1a74ba147656a6eac9b21 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 16 Feb 2023 20:49:01 +0000 Subject: [PATCH 052/128] python310Packages.leb128: 1.0.4 -> 1.0.5 --- pkgs/development/python-modules/leb128/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/leb128/default.nix b/pkgs/development/python-modules/leb128/default.nix index 6ba2330eb56a..aada84c73654 100644 --- a/pkgs/development/python-modules/leb128/default.nix +++ b/pkgs/development/python-modules/leb128/default.nix @@ -2,14 +2,14 @@ buildPythonPackage rec { pname = "leb128"; - version = "1.0.4"; + version = "1.0.5"; # fetchPypi doesn't include files required for tests src = fetchFromGitHub { owner = "mohanson"; repo = "leb128"; - rev = "v${version}"; - sha256 = "040l6fxyzqal841kirf783kk1840gcy1gjd374jfr46v96qc8scm"; + rev = "refs/tags/v${version}"; + sha256 = "sha256-zK14LPziBkvXAMzuPbcg/47caO/5GEYA9txAzCGfpS8="; }; nativeCheckInputs = [ pytestCheckHook ]; From fa644ef3432452feaa753bf569acbdbbb905df99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 16 Feb 2023 12:30:51 -0800 Subject: [PATCH 053/128] vaultwarden.updateScript: make compatible with webvault built from source --- pkgs/tools/security/vaultwarden/update.nix | 11 +++++++++-- pkgs/tools/security/vaultwarden/webvault.nix | 5 ++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/vaultwarden/update.nix b/pkgs/tools/security/vaultwarden/update.nix index 0fc4b45a1296..44af26ada0d8 100644 --- a/pkgs/tools/security/vaultwarden/update.nix +++ b/pkgs/tools/security/vaultwarden/update.nix @@ -1,5 +1,7 @@ { writeShellScript , lib +, nix +, nix-prefetch-git , nix-update , curl , git @@ -9,7 +11,7 @@ }: writeShellScript "update-vaultwarden" '' - PATH=${lib.makeBinPath [ curl git gnugrep gnused jq nix-update ]} + PATH=${lib.makeBinPath [ curl git gnugrep gnused jq nix nix-prefetch-git nix-update ]} set -euxo pipefail @@ -17,6 +19,11 @@ writeShellScript "update-vaultwarden" '' nix-update "vaultwarden" --version "$VAULTWARDEN_VERSION" URL="https://raw.githubusercontent.com/dani-garcia/vaultwarden/''${VAULTWARDEN_VERSION}/docker/Dockerfile.j2" - WEBVAULT_VERSION=$(curl --silent "$URL" | grep "set vault_version" | sed -E "s/.*\"([^\"]+)\".*/\\1/") + WEBVAULT_VERSION=$(curl --silent "$URL" | grep "set vault_version" | sed -E "s/.*\"v([^\"]+)\".*/\\1/") + old_hash_bw=$(nix --extra-experimental-features nix-command eval -f default.nix --raw vaultwarden.webvault.src.outputHash) + old_hash_vw=$(nix --extra-experimental-features nix-command eval -f default.nix --raw vaultwarden.webvault.bw_web_builds.outputHash) + new_hash_bw=$(nix --extra-experimental-features nix-command hash to-sri --type sha256 $(nix-prefetch-git https://github.com/bitwarden/clients.git --rev "web-v$WEBVAULT_VERSION" | jq --raw-output ".sha256")) + new_hash_vw=$(nix --extra-experimental-features nix-command hash to-sri --type sha256 $(nix-prefetch-git https://github.com/dani-garcia/bw_web_builds.git --rev "v$WEBVAULT_VERSION" | jq --raw-output ".sha256")) + sed -e "s#$old_hash_bw#$new_hash_bw#" -e "s#$old_hash_vw#$new_hash_vw#" -i pkgs/tools/security/vaultwarden/webvault.nix nix-update "vaultwarden.webvault" --version "$WEBVAULT_VERSION" '' diff --git a/pkgs/tools/security/vaultwarden/webvault.nix b/pkgs/tools/security/vaultwarden/webvault.nix index 4e25c6f572fe..28b60517ad65 100644 --- a/pkgs/tools/security/vaultwarden/webvault.nix +++ b/pkgs/tools/security/vaultwarden/webvault.nix @@ -58,7 +58,10 @@ in buildNpmPackage' { runHook postInstall ''; - passthru.tests = nixosTests.vaultwarden; + passthru = { + inherit bw_web_builds; + tests = nixosTests.vaultwarden; + }; meta = with lib; { description = "Integrates the web vault into vaultwarden"; From 6285356012d0490c4073753ea764c7e9a50346d8 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Fri, 17 Feb 2023 08:54:04 +1000 Subject: [PATCH 054/128] skopeo: 1.11.0 -> 1.11.1 Diff: https://github.com/containers/skopeo/compare/v1.11.0...v1.11.1 Changelog: https://github.com/containers/skopeo/releases/tag/v1.11.1 --- pkgs/development/tools/skopeo/default.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/development/tools/skopeo/default.nix b/pkgs/development/tools/skopeo/default.nix index 08bcde3ae510..f39f7510c1bf 100644 --- a/pkgs/development/tools/skopeo/default.nix +++ b/pkgs/development/tools/skopeo/default.nix @@ -12,17 +12,19 @@ , fuse-overlayfs , dockerTools , runCommand +, testers +, skopeo }: buildGoModule rec { pname = "skopeo"; - version = "1.11.0"; + version = "1.11.1"; src = fetchFromGitHub { rev = "v${version}"; owner = "containers"; repo = "skopeo"; - hash = "sha256-P556Is03BeC0Tf+kNv+Luy0KASgTXsyZ/MrPaPFUHE8="; + hash = "sha256-wTOcluPSguF6ZnKHlLelM5R2dIF9nd66qu7u/48uNyU="; }; outputs = [ "out" "man" ]; @@ -45,8 +47,7 @@ buildGoModule rec { installPhase = '' runHook preInstall - PREFIX=$out make install-binary install-completions - PREFIX=$man make install-docs + PREFIX=${placeholder "out"} make install-binary install-completions install-docs install ${passthru.policy}/default-policy.json -Dt $out/etc/containers '' + lib.optionalString stdenv.isLinux '' wrapProgram $out/bin/skopeo \ @@ -60,11 +61,15 @@ buildGoModule rec { install ${src}/default-policy.json -Dt $out ''; tests = { + version = testers.testVersion { + package = skopeo; + }; inherit (dockerTools.examples) testNixFromDockerHub; }; }; meta = with lib; { + changelog = "https://github.com/containers/skopeo/releases/tag/${src.rev}"; description = "A command line utility for various operations on container images and image repositories"; homepage = "https://github.com/containers/skopeo"; maintainers = with maintainers; [ lewo ] ++ teams.podman.members; From 0a2c1a24a6097f17742f38f1303c4243ea267a38 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Feb 2023 00:12:15 +0100 Subject: [PATCH 055/128] python310Packages.canonicaljson: 1.6.4 -> 1.6.5 Changelog: https://github.com/matrix-org/python-canonicaljson/blob/v1.6.5/CHANGES.md --- pkgs/development/python-modules/canonicaljson/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/canonicaljson/default.nix b/pkgs/development/python-modules/canonicaljson/default.nix index 46ceee80c0f5..1b2d63ec45a6 100644 --- a/pkgs/development/python-modules/canonicaljson/default.nix +++ b/pkgs/development/python-modules/canonicaljson/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "canonicaljson"; - version = "1.6.4"; + version = "1.6.5"; format = "pyproject"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-bAmyEZUR8w6xEmz82XOhCCTiDxz9JQOc3j0SGN2cjY8="; + hash = "sha256-aN/BV7AR4H2Uv3S11MzAGVhYTtlC2d/V/dcGYJ6BzUs="; }; nativeBuildInputs = [ From ef6fde65d1455da7ce0aa12adafd694453fbf893 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Feb 2023 00:17:19 +0100 Subject: [PATCH 056/128] python310Packages.canonicaljson: add changelog to meta --- pkgs/development/python-modules/canonicaljson/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/canonicaljson/default.nix b/pkgs/development/python-modules/canonicaljson/default.nix index 1b2d63ec45a6..0787d4d09718 100644 --- a/pkgs/development/python-modules/canonicaljson/default.nix +++ b/pkgs/development/python-modules/canonicaljson/default.nix @@ -49,6 +49,7 @@ buildPythonPackage rec { meta = with lib; { description = "Encodes objects and arrays as RFC 7159 JSON"; homepage = "https://github.com/matrix-org/python-canonicaljson"; + changelog = "https://github.com/matrix-org/python-canonicaljson/blob/v${version}/CHANGES.md"; license = licenses.asl20; maintainers = with maintainers; [ fab ]; }; From c5e9df4832d4aed24bdb12dd0b9bd79789fb9b99 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Feb 2023 00:19:36 +0100 Subject: [PATCH 057/128] python310Packages.types-requests: 2.28.11.12 -> 2.28.11.13 --- pkgs/development/python-modules/types-requests/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/types-requests/default.nix b/pkgs/development/python-modules/types-requests/default.nix index 1d22826b6eea..a3b6c33d9de3 100644 --- a/pkgs/development/python-modules/types-requests/default.nix +++ b/pkgs/development/python-modules/types-requests/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "types-requests"; - version = "2.28.11.12"; + version = "2.28.11.13"; format = "setuptools"; src = fetchPypi { inherit pname version; - sha256 = "sha256-/VMKqz/E8F7jZAavFo8INubwDx7lGguWtzEfgstnUjA="; + sha256 = "sha256-P9MyhC6HWepffrd4nfiqdyuhVSFszxDvSqOw5bQuG0Y="; }; propagatedBuildInputs = [ From 084e4314af36132448eb0fcf06c37f9b9bc3effe Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Feb 2023 00:20:46 +0100 Subject: [PATCH 058/128] python310Packages.types-python-dateutil: 2.8.19.6 -> 2.8.19.7 --- .../python-modules/types-python-dateutil/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/types-python-dateutil/default.nix b/pkgs/development/python-modules/types-python-dateutil/default.nix index e671b91bb979..81f56cd8040a 100644 --- a/pkgs/development/python-modules/types-python-dateutil/default.nix +++ b/pkgs/development/python-modules/types-python-dateutil/default.nix @@ -5,12 +5,12 @@ buildPythonPackage rec { pname = "types-python-dateutil"; - version = "2.8.19.6"; + version = "2.8.19.7"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-Sm9MwZzkuhoIZwhx4pe/OAL1XU8SnmqiRD9UC2z4A9I="; + hash = "sha256-evWl0bgKsd+guk2Hn6yzgug2piwtQIwqUJvkaA/Yscg="; }; # Modules doesn't have tests From 831f48091df9b8dcf33f9c024035143436f86a2a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Feb 2023 00:25:08 +0100 Subject: [PATCH 059/128] python310Packages.requests-pkcs12: 1.14 -> 1.15 --- pkgs/development/python-modules/requests-pkcs12/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/requests-pkcs12/default.nix b/pkgs/development/python-modules/requests-pkcs12/default.nix index fcc4db1fbf0f..96b64a5be236 100644 --- a/pkgs/development/python-modules/requests-pkcs12/default.nix +++ b/pkgs/development/python-modules/requests-pkcs12/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "requests-pkcs12"; - version = "1.14"; + version = "1.15"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "m-click"; repo = "requests_pkcs12"; rev = version; - hash = "sha256-LZgKjSas0KdJAf4leSVz8sEnRrlJ20Sm9Ka+S5zDOTM="; + hash = "sha256-xk8+oERonZWzxKEmZutfvovzVOz9ZP5O83cMDTz9i3Y="; }; propagatedBuildInputs = [ From c857a1c3234827ff691d8b1bc62a76d0db0c2805 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Feb 2023 00:28:52 +0100 Subject: [PATCH 060/128] python310Packages.pynobo: 1.6.0 -> 1.6.1 Changelog: https://github.com/echoromeo/pynobo/releases/tag/v1.6.1 --- pkgs/development/python-modules/pynobo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pynobo/default.nix b/pkgs/development/python-modules/pynobo/default.nix index 97b3f2c5be59..5c29c580d9a1 100644 --- a/pkgs/development/python-modules/pynobo/default.nix +++ b/pkgs/development/python-modules/pynobo/default.nix @@ -6,7 +6,7 @@ buildPythonPackage rec { pname = "pynobo"; - version = "1.6.0"; + version = "1.6.1"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -15,7 +15,7 @@ buildPythonPackage rec { owner = "echoromeo"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-YbQfdOLO1gs7+oiwe4rDmmD1o7MG+vma5xPlrtNZ00M="; + hash = "sha256-T86d3HGu6hsc54+ocCbINsInH/qHL9+HhOXDQ0I8QGA="; }; # Project has no tests From 705658bf99204f650978e2c14f16d1aa863c2dd8 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Feb 2023 00:30:15 +0100 Subject: [PATCH 061/128] python310Packages.pynobo: add changelog to meta --- pkgs/development/python-modules/pynobo/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/pynobo/default.nix b/pkgs/development/python-modules/pynobo/default.nix index 5c29c580d9a1..1be7a78c44f3 100644 --- a/pkgs/development/python-modules/pynobo/default.nix +++ b/pkgs/development/python-modules/pynobo/default.nix @@ -28,6 +28,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python TCP/IP interface for Nobo Hub/Nobo Energy Control devices"; homepage = "https://github.com/echoromeo/pynobo"; + changelog = "https://github.com/echoromeo/pynobo/releases/tag/v${version}"; license = with licenses; [ gpl3Plus ]; maintainers = with maintainers; [ fab ]; }; From 5fc03b04a15b5743f0bb9fcc1a5194a5db376ad4 Mon Sep 17 00:00:00 2001 From: lom Date: Thu, 16 Feb 2023 18:42:26 -0500 Subject: [PATCH 062/128] wiki-tui: 0.6.1 -> 0.6.3 --- pkgs/misc/wiki-tui/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/misc/wiki-tui/default.nix b/pkgs/misc/wiki-tui/default.nix index 9131f66491d5..332577489faf 100644 --- a/pkgs/misc/wiki-tui/default.nix +++ b/pkgs/misc/wiki-tui/default.nix @@ -10,13 +10,13 @@ rustPlatform.buildRustPackage rec { pname = "wiki-tui"; - version = "0.6.1"; + version = "0.6.3"; src = fetchFromGitHub { owner = "Builditluc"; repo = pname; rev = "v${version}"; - hash = "sha256-WiyRBF3rWLpOZ8mxT89ImRL++Oq9+b88oSKjr4tzCGs="; + hash = "sha256-vBfD5SQnVx/UqRoyGJc4PINW/wKuHjpiUEz3WiRCR9A="; }; nativeBuildInputs = [ @@ -30,7 +30,7 @@ rustPlatform.buildRustPackage rec { Security ]; - cargoHash = "sha256-R9xxIDqkU7FeulpD7PUM6aHgA67PVgqxHKYtdrjdaUo="; + cargoHash = "sha256-xbjUdQs2t+cjplAlNVRN1Zw5CeAYv4+ir4Pvrt+/n9k="; meta = with lib; { description = "A simple and easy to use Wikipedia Text User Interface"; From 03eaff2242ac38fc5fe09f994ea78faf19ceabdd Mon Sep 17 00:00:00 2001 From: Han Verstraete Date: Fri, 17 Feb 2023 00:52:03 +0100 Subject: [PATCH 063/128] faas-cli: 0.15.4 -> 0.15.9 --- pkgs/development/tools/faas-cli/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/faas-cli/default.nix b/pkgs/development/tools/faas-cli/default.nix index 55fa760475d9..12eccd200ab6 100644 --- a/pkgs/development/tools/faas-cli/default.nix +++ b/pkgs/development/tools/faas-cli/default.nix @@ -18,13 +18,13 @@ let in buildGoModule rec { pname = "faas-cli"; - version = "0.15.4"; + version = "0.15.9"; src = fetchFromGitHub { owner = "openfaas"; repo = "faas-cli"; rev = version; - sha256 = "sha256-Dj4Wli1z4X8FgnthjPszC/h4EIeFiMO/YB5Rlkis5f8="; + sha256 = "sha256-DudZOIwpsa7VaOQMJ2P/mfWHWYwESNhDfIUbtMV5Es0="; }; vendorSha256 = null; From 0372c798146ecbc3e8b166829fbc0ff18179c3cc Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Feb 2023 01:16:21 +0100 Subject: [PATCH 064/128] python310Packages.elastic-apm: 6.14.0 -> 6.15.0 Changelog: https://github.com/elastic/apm-agent-python/releases/tag/v6.15.0 --- .../python-modules/elastic-apm/default.nix | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/pkgs/development/python-modules/elastic-apm/default.nix b/pkgs/development/python-modules/elastic-apm/default.nix index 0f44f7b8fb02..b7286ad39c26 100644 --- a/pkgs/development/python-modules/elastic-apm/default.nix +++ b/pkgs/development/python-modules/elastic-apm/default.nix @@ -1,5 +1,4 @@ { lib -, asynctest , aiohttp , blinker , buildPythonPackage @@ -30,7 +29,7 @@ buildPythonPackage rec { pname = "elastic-apm"; - version = "6.14.0"; + version = "6.15.0"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -39,7 +38,7 @@ buildPythonPackage rec { owner = "elastic"; repo = "apm-agent-python"; rev = "refs/tags/v${version}"; - hash = "sha256-T1TWILlJZffTISVt8YSi8ZYSXOHieh6SV55j8W333LQ="; + hash = "sha256-Uoybe6Mx7ZLs2GaOnl278Xj6KlTEgrOuNxMRmPpSq8k="; }; propagatedBuildInputs = [ @@ -54,22 +53,18 @@ buildPythonPackage rec { ]; nativeCheckInputs = [ - pytestCheckHook - ]; - - checkInputs = [ - asynctest ecs-logging + httpx jinja2 jsonschema Logbook mock - httpx pytest-asyncio pytest-bdd - pytest-mock pytest-localserver + pytest-mock pytest-random-order + pytestCheckHook sanic-testing structlog webob From 0d193e46160ef485b3692e9008a210c8957605c6 Mon Sep 17 00:00:00 2001 From: Ben Darwin Date: Thu, 16 Feb 2023 19:23:44 -0500 Subject: [PATCH 065/128] python310Packages.wandb: unbreak Remove stale hard-coded `python310Packages.bokeh` version. --- pkgs/development/python-modules/wandb/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/wandb/default.nix b/pkgs/development/python-modules/wandb/default.nix index f6d1769f526b..e1139ecf1b14 100644 --- a/pkgs/development/python-modules/wandb/default.nix +++ b/pkgs/development/python-modules/wandb/default.nix @@ -104,7 +104,7 @@ buildPythonPackage rec { # Set BOKEH_CDN_VERSION to stop bokeh throwing an exception in tests preCheck = '' export HOME=$(mktemp -d) - export BOKEH_CDN_VERSION=3.0.3 + export BOKEH_CDN_VERSION=${bokeh.version} ''; pythonRelaxDeps = [ "protobuf" ]; From 8f5bd5c6354fa1f97b2b99dabd471dac30aba726 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Feb 2023 01:07:37 +0000 Subject: [PATCH 066/128] python310Packages.pynvml: 11.4.1 -> 11.5.0 --- pkgs/development/python-modules/pynvml/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pynvml/default.nix b/pkgs/development/python-modules/pynvml/default.nix index 8f02bcdbe816..bad74b2aed9c 100644 --- a/pkgs/development/python-modules/pynvml/default.nix +++ b/pkgs/development/python-modules/pynvml/default.nix @@ -9,12 +9,12 @@ buildPythonPackage rec { pname = "pynvml"; - version = "11.4.1"; + version = "11.5.0"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "b2e4a33b80569d093b513f5804db0c7f40cfc86f15a013ae7a8e99c5e175d5dd"; + sha256 = "sha256-0CeyG5WxCIufwngRf59ht8Z/jjOnh+n4P3NfD3GsMtA="; }; patches = [ From 83aa89faa9e31442c26e106b7bcb1cb2d866441b Mon Sep 17 00:00:00 2001 From: Daniel Hill Date: Thu, 16 Feb 2023 15:51:40 +1300 Subject: [PATCH 067/128] obs-vkcapture: fix xcursor not rendering obs-vkcapture has an optional dependency on libxcb which is required for rendering the cursor for x11 clients. Signed-off-by: Daniel Hill --- pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix b/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix index ba0e8a818263..c156ac288b66 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix @@ -8,6 +8,7 @@ , wayland-scanner , obs-studio , libX11 +, libxcb , vulkan-headers , vulkan-loader , libGL @@ -35,6 +36,7 @@ stdenv.mkDerivation rec { buildInputs = [ libGL libX11 + libxcb vulkan-headers vulkan-loader wayland From 4f9a955c5adbe39aa265d1e2a7e31539a9e8024a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 5 Feb 2023 18:21:04 +0000 Subject: [PATCH 068/128] cemu: 2.0-22 -> 2.0-26 --- pkgs/applications/emulators/cemu/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/emulators/cemu/default.nix b/pkgs/applications/emulators/cemu/default.nix index f8e585501289..91f6cb0de1a6 100644 --- a/pkgs/applications/emulators/cemu/default.nix +++ b/pkgs/applications/emulators/cemu/default.nix @@ -31,13 +31,13 @@ stdenv.mkDerivation rec { pname = "cemu"; - version = "2.0-22"; + version = "2.0-26"; src = fetchFromGitHub { owner = "cemu-project"; repo = "Cemu"; rev = "v${version}"; - hash = "sha256-ZQfJHQnT5mV6GC3dO6QV1fGsnyZMYqXiVdBSsimL5yU="; + hash = "sha256-+y+PJE2biRvuxIwrFVMjmkZyD8/zhHVMw6vzNKlsOZE="; }; patches = [ From ac44b254b42f997d7628b4ef0ab2cae74b615610 Mon Sep 17 00:00:00 2001 From: Winter Date: Thu, 16 Feb 2023 21:50:16 -0500 Subject: [PATCH 069/128] zig_0_9: build with baseline CPU target 26b9a2f4a1a53e6763aa83590aad0fce5013a458 changes Zig 0.10 to build the compiler (notably *not* its outputs, at least not by default) with its baseline CPU target, but we should ideally do it for both versions to increase reproducibility, as well as increase the number of users who are able to use Hydra-provided Zig binaries. This also adds a comment above the flag in 0.10, to explain why we're adding the flag, as we do with the RPATH one. See https://github.com/NixOS/nixpkgs/issues/214356 and https://github.com/NixOS/nixpkgs/issues/185665 for further context. --- pkgs/development/compilers/zig/0.10.nix | 2 ++ pkgs/development/compilers/zig/0.9.1.nix | 3 +++ 2 files changed, 5 insertions(+) diff --git a/pkgs/development/compilers/zig/0.10.nix b/pkgs/development/compilers/zig/0.10.nix index 6d41b63f03b2..966be329befc 100644 --- a/pkgs/development/compilers/zig/0.10.nix +++ b/pkgs/development/compilers/zig/0.10.nix @@ -47,6 +47,8 @@ stdenv.mkDerivation rec { cmakeFlags = [ # file RPATH_CHANGE could not write new RPATH "-DCMAKE_SKIP_BUILD_RPATH=ON" + + # ensure determinism in the compiler build "-DZIG_TARGET_MCPU=baseline" ]; diff --git a/pkgs/development/compilers/zig/0.9.1.nix b/pkgs/development/compilers/zig/0.9.1.nix index e7c62a4cf938..637186f686e9 100644 --- a/pkgs/development/compilers/zig/0.9.1.nix +++ b/pkgs/development/compilers/zig/0.9.1.nix @@ -62,6 +62,9 @@ stdenv.mkDerivation rec { cmakeFlags = [ # file RPATH_CHANGE could not write new RPATH "-DCMAKE_SKIP_BUILD_RPATH=ON" + + # ensure determinism in the compiler build + "-DZIG_TARGET_MCPU=baseline" ]; doCheck = true; From dcd759fe65b0c85dc60a0c9d3cb7d071d44a973f Mon Sep 17 00:00:00 2001 From: nviets Date: Thu, 16 Feb 2023 22:25:35 -0500 Subject: [PATCH 070/128] rPackages.quarto: add quarto dependency --- pkgs/development/r-modules/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index 1d61428960ab..f287605aa8f2 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -1016,6 +1016,13 @@ let ''; }); + quarto = old.quarto.overrideDerivation (attrs: { + postPatch = '' + substituteInPlace "R/quarto.R" \ + --replace "path_env <- Sys.getenv(\"QUARTO_PATH\", unset = NA)" "path_env <- Sys.getenv(\"QUARTO_PATH\", unset = '${lib.getBin pkgs.quarto}/bin/quarto')" + ''; + }); + s2 = old.s2.overrideDerivation (attrs: { PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include"; PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto"; From 00371102782b231060044411be21d23da116f381 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Fri, 17 Feb 2023 04:20:00 +0000 Subject: [PATCH 071/128] nodejs-14_x: 14.21.2 -> 14.21.3 https://github.com/nodejs/node/releases/tag/v14.21.3 --- pkgs/development/web/nodejs/v14.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/web/nodejs/v14.nix b/pkgs/development/web/nodejs/v14.nix index 4563dd7a045a..e7dec1c12f66 100644 --- a/pkgs/development/web/nodejs/v14.nix +++ b/pkgs/development/web/nodejs/v14.nix @@ -8,7 +8,7 @@ let in buildNodejs { inherit enableNpm; - version = "14.21.2"; - sha256 = "00zzl43iis8mr8x48hww5ncj8mj5dmpn05rq7ihpffkp2q7rmw6q"; + version = "14.21.3"; + sha256 = "sha256-RY7AkuYK1wDdzwectj1DXBXaTHuz0/mbmo5YqZ5UB14="; patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff; } From 4313c6360fba1111d5f25994d4c90a7aa68253a3 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Fri, 17 Feb 2023 04:20:00 +0000 Subject: [PATCH 072/128] nodejs-16_x: 16.19.0 -> 16.19.1 https://github.com/nodejs/node/releases/tag/v16.19.1 --- pkgs/development/web/nodejs/v16.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/web/nodejs/v16.nix b/pkgs/development/web/nodejs/v16.nix index c8241ababc0d..725bbc690df1 100644 --- a/pkgs/development/web/nodejs/v16.nix +++ b/pkgs/development/web/nodejs/v16.nix @@ -10,8 +10,8 @@ let in buildNodejs { inherit enableNpm; - version = "16.19.0"; - sha256 = "01k72p0hp4lhlpz1syd9cbkm2gpfww0hn10xdpmzd4i3x8dfq7sg"; + version = "16.19.1"; + sha256 = "sha256-F/txZAYZgSWzDJTdPRdWIHspdwViav4W2NxHmmWh2LU="; patches = [ ./disable-darwin-v8-system-instrumentation.patch ./bypass-darwin-xcrun-node16.patch From cfdcb8d7fa7ae40616ec304eac07048d5a9e28ea Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Fri, 17 Feb 2023 04:20:00 +0000 Subject: [PATCH 073/128] nodejs-18_x: 18.14.0 -> 18.14.1 https://github.com/nodejs/node/releases/tag/v18.14.1 --- pkgs/development/web/nodejs/v18.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/web/nodejs/v18.nix b/pkgs/development/web/nodejs/v18.nix index 86accf5977b3..2a5a5ae3f677 100644 --- a/pkgs/development/web/nodejs/v18.nix +++ b/pkgs/development/web/nodejs/v18.nix @@ -9,8 +9,8 @@ let in buildNodejs { inherit enableNpm; - version = "18.14.0"; - sha256 = "sha256-Qu+d0xmT1cjoKwqwlpE1CT5qKW76J7G+mvwErADwJno="; + version = "18.14.1"; + sha256 = "sha256-7sNTQ4Jm/QrvU6lEa+ELMu5udNCOMt1UVLOC/2eT2gQ="; patches = [ ./disable-darwin-v8-system-instrumentation.patch ./bypass-darwin-xcrun-node16.patch From d42631d6c59fabbb3b4a6109cce8f22e75761b2f Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Fri, 17 Feb 2023 04:20:00 +0000 Subject: [PATCH 074/128] nodejs-19_x: 19.6.0 -> 19.6.1 https://github.com/nodejs/node/releases/tag/v19.6.1 --- pkgs/development/web/nodejs/v19.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/web/nodejs/v19.nix b/pkgs/development/web/nodejs/v19.nix index 85739c36c132..f344324291c3 100644 --- a/pkgs/development/web/nodejs/v19.nix +++ b/pkgs/development/web/nodejs/v19.nix @@ -9,8 +9,8 @@ let in buildNodejs { inherit enableNpm; - version = "19.6.0"; - sha256 = "sha256-UZxtVCqfmW8AwaPTsuXPUrfbmY2V9s7VqJPRagPeM+o="; + version = "19.6.1"; + sha256 = "sha256-dxDmwoUclWvkkm/CVAZ48/3fjm04Juo6qbjCjW6omps="; patches = [ ./revert-arm64-pointer-auth.patch ./disable-darwin-v8-system-instrumentation-node19.patch From 214add38535093a72200acb7587eab797178622d Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Fri, 17 Feb 2023 04:20:00 +0000 Subject: [PATCH 075/128] flexget: 3.5.23 -> 3.5.24 --- pkgs/applications/networking/flexget/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix index dca8f277867a..818ceb74ea0c 100644 --- a/pkgs/applications/networking/flexget/default.nix +++ b/pkgs/applications/networking/flexget/default.nix @@ -5,7 +5,7 @@ python3Packages.buildPythonApplication rec { pname = "flexget"; - version = "3.5.23"; + version = "3.5.24"; format = "pyproject"; # Fetch from GitHub in order to use `requirements.in` @@ -13,7 +13,7 @@ python3Packages.buildPythonApplication rec { owner = "flexget"; repo = "flexget"; rev = "refs/tags/v${version}"; - hash = "sha256-VWpcXwiQHpQ3X/rmm6fWfPfuUoUmWQMfOq5A87nED3A="; + hash = "sha256-4RQBaqC3nmyEq9Kqg0n9KIN9Gw4Z+uCl6hQeqo/NTls="; }; postPatch = '' From 18a64c863d90066cefe230402957abe27d7d32ea Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 17 Feb 2023 03:11:32 +0000 Subject: [PATCH 076/128] =?UTF-8?q?terraform-providers.azuread:=202.33.0?= =?UTF-8?q?=20=E2=86=92=202.34.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../networking/cluster/terraform-providers/providers.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index f2afa21bc361..b82a1d1574a7 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -119,11 +119,11 @@ "vendorHash": "sha256-9YvQP1QWnT2Rb9D65j6g2edxTDaoGisVlQWFNnH4lSs=" }, "azuread": { - "hash": "sha256-Byr6AJ1kP6fBxBCD8vLxQD5tz8fI3Z1fcCa0rXS9rhs=", + "hash": "sha256-StoT7ujiJhEMpQ4wMN/qzILFxJ18ZkgLkY56LwxKY+Y=", "homepage": "https://registry.terraform.io/providers/hashicorp/azuread", "owner": "hashicorp", "repo": "terraform-provider-azuread", - "rev": "v2.33.0", + "rev": "v2.34.0", "spdx": "MPL-2.0", "vendorHash": null }, From 3ebc795b5759fbc7cd0b1027b3188644b1079641 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 17 Feb 2023 03:30:16 +0000 Subject: [PATCH 077/128] =?UTF-8?q?terraform-providers.azurerm:=203.43.0?= =?UTF-8?q?=20=E2=86=92=203.44.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../networking/cluster/terraform-providers/providers.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index b82a1d1574a7..37523c34d5d7 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -128,11 +128,11 @@ "vendorHash": null }, "azurerm": { - "hash": "sha256-b2KEq7QBpPR7100VCFIe9KGMm8Soy2wr/TAbUT0NxEQ=", + "hash": "sha256-40oarnfSdA2Sif40C1gi+SupY4bNsp78TBfgNDCFf7U=", "homepage": "https://registry.terraform.io/providers/hashicorp/azurerm", "owner": "hashicorp", "repo": "terraform-provider-azurerm", - "rev": "v3.43.0", + "rev": "v3.44.0", "spdx": "MPL-2.0", "vendorHash": null }, From e653c5b46215446b9313102bded9cae9e266914d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 17 Feb 2023 03:38:57 +0000 Subject: [PATCH 078/128] =?UTF-8?q?terraform-providers.snowflake:=200.56.3?= =?UTF-8?q?=20=E2=86=92=200.56.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../networking/cluster/terraform-providers/providers.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 37523c34d5d7..fe9620b4f6eb 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1027,13 +1027,13 @@ "vendorHash": null }, "snowflake": { - "hash": "sha256-uO3LgEQjeHS8kbolFZ3jb6FltMAiWNTVsjCSrsI776M=", + "hash": "sha256-aFRjbr0Gzu2GtxJrIEl7ahEcnOQOprJQnetaIzPePAo=", "homepage": "https://registry.terraform.io/providers/Snowflake-Labs/snowflake", "owner": "Snowflake-Labs", "repo": "terraform-provider-snowflake", - "rev": "v0.56.3", + "rev": "v0.56.4", "spdx": "MIT", - "vendorHash": "sha256-ulgTRY8qQ5oXONkwYtffRl1QMNnbvyn0zYiYqqvwrUU=" + "vendorHash": "sha256-shzsn3N6pVFe6ecaoXpv6ZZ27MEUUV82gnRMHFEtYlU=" }, "sops": { "hash": "sha256-D1Yzs8hDimMP9y8ZRbizEhic3vGtLcZjOVSuSMUAqPk=", From 75a5ebbfba6adc61627b1667d12ebda21375a2d1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 17 Feb 2023 03:39:50 +0000 Subject: [PATCH 079/128] =?UTF-8?q?terraform-providers.aws:=204.54.0=20?= =?UTF-8?q?=E2=86=92=204.55.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../networking/cluster/terraform-providers/providers.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index fe9620b4f6eb..76647ede165a 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -110,13 +110,13 @@ "vendorHash": null }, "aws": { - "hash": "sha256-gAIZQIljgrYNtaDrPqWnd7K0rQkKz67hQWJyVgs4ZNs=", + "hash": "sha256-WBb1cio+vxt7QM3bM1T2OEusHXpQs/bjUFxRGCFTbIE=", "homepage": "https://registry.terraform.io/providers/hashicorp/aws", "owner": "hashicorp", "repo": "terraform-provider-aws", - "rev": "v4.54.0", + "rev": "v4.55.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-9YvQP1QWnT2Rb9D65j6g2edxTDaoGisVlQWFNnH4lSs=" + "vendorHash": "sha256-WndEg+n0hId7R35OeHamP+OxzzRee7f+qXIhWmos8WI=" }, "azuread": { "hash": "sha256-StoT7ujiJhEMpQ4wMN/qzILFxJ18ZkgLkY56LwxKY+Y=", From 815a21e9f16ed11a2dd8051d29ac2385625b539a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Thu, 16 Feb 2023 08:31:48 +0100 Subject: [PATCH 080/128] openocd: 0.11.0 -> 0.12.0 Remove upstreamed patch which now fails to apply. Fixes https://github.com/NixOS/nixpkgs/issues/190866 --- pkgs/development/embedded/openocd/default.nix | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/pkgs/development/embedded/openocd/default.nix b/pkgs/development/embedded/openocd/default.nix index c80f5f3dd573..5ffb9071534b 100644 --- a/pkgs/development/embedded/openocd/default.nix +++ b/pkgs/development/embedded/openocd/default.nix @@ -1,6 +1,5 @@ { stdenv , lib -, fetchpatch , fetchurl , pkg-config , hidapi @@ -11,10 +10,10 @@ stdenv.mkDerivation rec { pname = "openocd"; - version = "0.11.0"; + version = "0.12.0"; src = fetchurl { url = "mirror://sourceforge/project/${pname}/${pname}/${version}/${pname}-${version}.tar.bz2"; - sha256 = "0z8y7mmv0mhn2l5gs3vz6l7cnwak7agklyc7ml33f7gz99rwx8s3"; + sha256 = "sha256-ryVHiL6Yhh8r2RA/5uYKd07Jaow3R0Tu+Rl/YEMHWvo="; }; nativeBuildInputs = [ pkg-config ]; @@ -22,15 +21,6 @@ stdenv.mkDerivation rec { buildInputs = [ hidapi libftdi1 libusb1 ] ++ lib.optional stdenv.isLinux libgpiod; - patches = [ - # Patch is upstream, so can be removed when OpenOCD 0.12.0 or later is released. - (fetchpatch - { - url = "https://github.com/openocd-org/openocd/commit/cff0e417da58adef1ceef9a63a99412c2cc87ff3.patch"; - sha256 = "Xxzf5miWy4S34sbQq8VQdAbY/oqGyhL/AJxiEPRuj3Q="; - }) - ]; - configureFlags = [ "--disable-werror" "--enable-jtag_vpi" From ee2ae036a1967332e22dcad2ca4ee5ebccf80732 Mon Sep 17 00:00:00 2001 From: Zhong Jianxin Date: Fri, 17 Feb 2023 14:36:20 +0800 Subject: [PATCH 081/128] kubernetes-helmPlugins.helm-secrets: 3.8.3 -> 4.2.2 --- .../networking/cluster/helm/plugins/helm-secrets.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix index 7d9135045f17..39a03eceacaa 100644 --- a/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix +++ b/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "helm-secrets"; - version = "3.8.3"; + version = "4.2.2"; src = fetchFromGitHub { owner = "jkroepke"; repo = pname; rev = "v${version}"; - hash = "sha256-FpF/d+e5T6nb0OENaYLY+3ATZ+qcAeih5/yKI+AtfKA="; + hash = "sha256-aqRgny1vU+dxpZpzwL4aSbYfTGrZbRffQy81mMBvnJk="; }; nativeBuildInputs = [ makeWrapper ]; @@ -17,9 +17,9 @@ stdenv.mkDerivation rec { # NOTE: helm-secrets is comprised of shell scripts. dontBuild = true; - # NOTE: Remove the install and upgrade hooks. + # NOTE: Fix version string postPatch = '' - sed -i '/^hooks:/,+2 d' plugin.yaml + sed -i 's/^version:.*/version: "${version}"/' plugin.yaml ''; installPhase = '' From e326e8ca30d18a5364b2b88c6f5aa1ba719f6356 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Feb 2023 06:49:29 +0000 Subject: [PATCH 082/128] numix-icon-theme-square: 23.02.05 -> 23.02.16 --- pkgs/data/icons/numix-icon-theme-square/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/icons/numix-icon-theme-square/default.nix b/pkgs/data/icons/numix-icon-theme-square/default.nix index b1a90ba1085f..f3503a9f5f07 100644 --- a/pkgs/data/icons/numix-icon-theme-square/default.nix +++ b/pkgs/data/icons/numix-icon-theme-square/default.nix @@ -2,13 +2,13 @@ stdenvNoCC.mkDerivation rec { pname = "numix-icon-theme-square"; - version = "23.02.05"; + version = "23.02.16"; src = fetchFromGitHub { owner = "numixproject"; repo = pname; rev = version; - sha256 = "sha256-FZt/3RugPHjanlxKjITSpaIb5RoKzI9mJvmPn7CNqS4="; + sha256 = "sha256-z9LHSfhCTeHsf4XtPJeOqOqfKHHz0B7n2hciIpCQ9H4="; }; nativeBuildInputs = [ gtk3 ]; From c0896274ddcbbe5d2e934071f6ba93242fe5e068 Mon Sep 17 00:00:00 2001 From: Gabriel Arazas Date: Fri, 17 Feb 2023 15:02:49 +0800 Subject: [PATCH 083/128] eartag: 0.3.1 -> 0.3.2 --- pkgs/applications/audio/eartag/default.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/audio/eartag/default.nix b/pkgs/applications/audio/eartag/default.nix index 0db9da5d2161..8a4ffab5dc1f 100644 --- a/pkgs/applications/audio/eartag/default.nix +++ b/pkgs/applications/audio/eartag/default.nix @@ -1,6 +1,6 @@ { stdenv , lib -, fetchFromGitHub +, fetchFromGitLab , meson , ninja , pkg-config @@ -18,14 +18,15 @@ python3Packages.buildPythonApplication rec { pname = "eartag"; - version = "0.3.1"; + version = "0.3.2"; format = "other"; - src = fetchFromGitHub { + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; owner = "knuxify"; repo = pname; - rev = "refs/tags/${version}"; - sha256 = "sha256-gN3V5ZHlhHp52Jg/i+hDLEDpSvP8yFngujyw5ZncQQg="; + rev = version; + sha256 = "sha256-XvbfQtE8LsztQ2VByG2jLYND3qVpH6owdAgh3b//lI4="; }; postPatch = '' @@ -67,7 +68,7 @@ python3Packages.buildPythonApplication rec { ''; meta = with lib; { - homepage = "https://github.com/knuxify/eartag"; + homepage = "https://gitlab.gnome.org/knuxify/eartag"; description = "Simple music tag editor"; # This seems to be using ICU license but we're flagging it to MIT license # since ICU license is a modified version of MIT and to prevent it from From be8ad9be4dd15764e19a31663904782a5622c9dc Mon Sep 17 00:00:00 2001 From: Tobias Markus Date: Tue, 14 Feb 2023 16:59:54 +0100 Subject: [PATCH 084/128] python3Packages.gdtoolkit: Enable tests --- .../python-modules/gdtoolkit/default.nix | 64 ++++++++++++++++--- 1 file changed, 54 insertions(+), 10 deletions(-) diff --git a/pkgs/development/python-modules/gdtoolkit/default.nix b/pkgs/development/python-modules/gdtoolkit/default.nix index 5323e12e4c55..cc6c9c7ee440 100644 --- a/pkgs/development/python-modules/gdtoolkit/default.nix +++ b/pkgs/development/python-modules/gdtoolkit/default.nix @@ -1,4 +1,15 @@ -{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, lark, docopt, pyyaml, setuptools }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, lark +, docopt +, pyyaml +, setuptools +, pytestCheckHook +, godot-server +, hypothesis +}: let lark080 = lark.overrideAttrs (old: rec { # gdtoolkit needs exactly this lark version @@ -16,13 +27,6 @@ buildPythonPackage rec { pname = "gdtoolkit"; version = "3.3.1"; - propagatedBuildInputs = [ - lark080 - docopt - pyyaml - setuptools - ]; - # If we try to get using fetchPypi it requires GeoIP (but the package dont has that dep!?) src = fetchFromGitHub { owner = "Scony"; @@ -33,8 +37,48 @@ buildPythonPackage rec { disabled = pythonOlder "3.7"; - # Tests cannot be run because they need network to install additional dependencies using pip and tox - doCheck = false; + propagatedBuildInputs = [ + lark080 + docopt + pyyaml + setuptools + ]; + + doCheck = true; + + nativeCheckInputs = [ + pytestCheckHook + hypothesis + godot-server + ]; + + preCheck = + let + godotServerMajorVersion = lib.versions.major godot-server.version; + gdtoolkitMajorVersion = lib.versions.major version; + msg = '' + gdtoolkit major version ${gdtoolkitMajorVersion} does not match godot-server major version ${godotServerMajorVersion}! + gdtoolkit needs a matching godot-server for its tests. + If you see this error, you can either: + - disable doCheck for gdtoolkit, or + - provide a compatible godot-server version to gdtoolkit" + ''; + in lib.throwIf (godotServerMajorVersion != gdtoolkitMajorVersion) msg '' + # The tests want to run the installed executables + export PATH=$out/bin:$PATH + + # gdtoolkit tries to write cache variables to $HOME/.cache + export HOME=$TMP + + # Work around https://github.com/godotengine/godot/issues/20503 + # Without this, Godot will complain about a missing project file + touch project.godot + + # Remove broken test case + # (hard to skip via disabledTests since the test name contains an absolute path) + rm tests/potential-godot-bugs/multiline-subscription-expression.gd + ''; + pythonImportsCheck = [ "gdtoolkit" "gdtoolkit.formatter" "gdtoolkit.linter" "gdtoolkit.parser" ]; meta = with lib; { From 142a89518ee69856393e2f80190583e5d1c45a7d Mon Sep 17 00:00:00 2001 From: Tobias Markus Date: Tue, 14 Feb 2023 17:00:20 +0100 Subject: [PATCH 085/128] python3Packages.gdtoolkit: Add maintainer tmarkus --- pkgs/development/python-modules/gdtoolkit/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/gdtoolkit/default.nix b/pkgs/development/python-modules/gdtoolkit/default.nix index cc6c9c7ee440..2ca2f67cc9e2 100644 --- a/pkgs/development/python-modules/gdtoolkit/default.nix +++ b/pkgs/development/python-modules/gdtoolkit/default.nix @@ -85,6 +85,6 @@ buildPythonPackage rec { description = "Independent set of tools for working with Godot's GDScript - parser, linter and formatter"; homepage = "https://github.com/Scony/godot-gdscript-toolkit"; license = licenses.mit; - maintainers = with maintainers; [ shiryel ]; + maintainers = with maintainers; [ shiryel tmarkus ]; }; } From 1668ab99ae518b071762f6ca2444a378028a7450 Mon Sep 17 00:00:00 2001 From: Tobias Markus Date: Tue, 14 Feb 2023 19:16:30 +0100 Subject: [PATCH 086/128] python3Packages.gdtoolkit: Move to pkgs/development/tools gdtoolkit is not a library. Move to pkgs/development/tools and use buildPythonApplication. Fixes #216243. --- .../gdtoolkit/default.nix | 26 +++++++------------ pkgs/top-level/all-packages.nix | 2 ++ pkgs/top-level/python-aliases.nix | 1 + pkgs/top-level/python-packages.nix | 2 -- 4 files changed, 13 insertions(+), 18 deletions(-) rename pkgs/development/{python-modules => tools}/gdtoolkit/default.nix (85%) diff --git a/pkgs/development/python-modules/gdtoolkit/default.nix b/pkgs/development/tools/gdtoolkit/default.nix similarity index 85% rename from pkgs/development/python-modules/gdtoolkit/default.nix rename to pkgs/development/tools/gdtoolkit/default.nix index 2ca2f67cc9e2..67d98e0aa36b 100644 --- a/pkgs/development/python-modules/gdtoolkit/default.nix +++ b/pkgs/development/tools/gdtoolkit/default.nix @@ -1,29 +1,23 @@ { lib -, buildPythonPackage +, python3Packages , fetchFromGitHub -, pythonOlder -, lark -, docopt -, pyyaml -, setuptools -, pytestCheckHook , godot-server -, hypothesis }: -let lark080 = lark.overrideAttrs (old: rec { +let lark080 = python3Packages.lark.overrideAttrs (old: rec { # gdtoolkit needs exactly this lark version version = "0.8.0"; src = fetchFromGitHub { owner = "lark-parser"; repo = "lark"; rev = version; - sha256 = "su7kToZ05OESwRCMPG6Z+XlFUvbEb3d8DgsTEcPJMg4="; + hash = "sha256-KN9buVlH8hJ8t0ZP5yefeYM5vH5Gg7a7TEDGKJYpozs="; + fetchSubmodules = true; }; }); in -buildPythonPackage rec { +python3Packages.buildPythonApplication rec { pname = "gdtoolkit"; version = "3.3.1"; @@ -35,18 +29,18 @@ buildPythonPackage rec { sha256 = "13nnpwy550jf5qnm9ixpxl1bwfnhhbiys8vqfd25g3aim4bm3gnn"; }; - disabled = pythonOlder "3.7"; + disabled = python3Packages.pythonOlder "3.7"; - propagatedBuildInputs = [ - lark080 + propagatedBuildInputs = [ lark080 + ] ++ (with python3Packages; [ docopt pyyaml setuptools - ]; + ]); doCheck = true; - nativeCheckInputs = [ + nativeCheckInputs = with python3Packages; [ pytestCheckHook hypothesis godot-server diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5ce382334eff..64d46f1399b3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7584,6 +7584,8 @@ with pkgs; gdmap = callPackage ../tools/system/gdmap { }; + gdtoolkit = callPackage ../development/tools/gdtoolkit { }; + gef = callPackage ../development/tools/misc/gef { }; gelasio = callPackage ../data/fonts/gelasio { }; diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index adf13052e996..b2e8033b97e4 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -91,6 +91,7 @@ mapAliases ({ functorch = throw "functorch is now part of the torch package and has therefore been removed. See https://github.com/pytorch/functorch/releases/tag/v1.13.0 for more info."; # added 2022-12-01 garages-amsterdam = throw "garages-amsterdam has been renamed odp-amsterdam."; # added 2023-01-04 garminconnect-ha = garminconnect; # added 2022-02-05 + gdtoolkit = throw "gdtoolkit has been promoted to a top-level attribute"; # added 2023-02-15 gigalixir = throw "gigalixir has been promoted to a top-level attribute"; # Added 2022-10-02 gitdb2 = throw "gitdb2 has been deprecated, use gitdb instead."; # added 2020-03-14 GitPython = gitpython; # added 2022-10-28 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7b5a3e86dac2..2e98fb16c57c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3726,8 +3726,6 @@ self: super: with self; { gdown = callPackage ../development/python-modules/gdown { }; - gdtoolkit = callPackage ../development/python-modules/gdtoolkit { }; - ge25519 = callPackage ../development/python-modules/ge25519 { }; geant4 = toPythonModule (pkgs.geant4.override { From 830ddba077a93bd4177d7aafc394429d7d86d462 Mon Sep 17 00:00:00 2001 From: Zhong Jianxin Date: Fri, 17 Feb 2023 15:48:02 +0800 Subject: [PATCH 087/128] pianotrans: 1.0 -> 1.0.1 --- pkgs/applications/audio/pianotrans/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/pianotrans/default.nix b/pkgs/applications/audio/pianotrans/default.nix index 89e0716a0adc..e5848de03dac 100644 --- a/pkgs/applications/audio/pianotrans/default.nix +++ b/pkgs/applications/audio/pianotrans/default.nix @@ -6,14 +6,14 @@ python3.pkgs.buildPythonApplication rec { pname = "pianotrans"; - version = "1.0"; + version = "1.0.1"; format = "setuptools"; src = fetchFromGitHub { owner = "azuwis"; repo = pname; rev = "v${version}"; - hash = "sha256-6Otup1Yat1dBZdSoR4lDfpytUQ2RbDXC6ieo835Nw+U="; + hash = "sha256-gRbyUQmPtGvx5QKAyrmeJl0stp7hwLBWwjSbJajihdE="; }; propagatedBuildInputs = with python3.pkgs; [ From 05fa52aba636544d2a99945d916e1398e0f1e561 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Feb 2023 07:51:31 +0000 Subject: [PATCH 088/128] mutagen-compose: 0.16.4 -> 0.16.5 --- pkgs/tools/misc/mutagen-compose/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/mutagen-compose/default.nix b/pkgs/tools/misc/mutagen-compose/default.nix index 12bab29944b5..1cd914bec657 100644 --- a/pkgs/tools/misc/mutagen-compose/default.nix +++ b/pkgs/tools/misc/mutagen-compose/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "mutagen-compose"; - version = "0.16.4"; + version = "0.16.5"; src = fetchFromGitHub { owner = "mutagen-io"; repo = pname; rev = "v${version}"; - sha256 = "sha256-V+9TSzCwBITpG7j3mOyPMQN1VwYSPRFgOBPiF3LZVmk="; + sha256 = "sha256-Rn3aXwez/WUGpuRvA6lkuECchpYek8KDMh6xzZOV9v0="; }; - vendorHash = "sha256-m6XCXwns2if7Odhc2nFbXbGhif4vElrVjcBX0DULkCE="; + vendorHash = "sha256-EkLeB2zUJkKCWsJxMiYHSDgr0/8X24MT0Jp0nuYebds="; doCheck = false; From da293b7a0f1683044ff8fd3eabba3bc5c0b1ae1c Mon Sep 17 00:00:00 2001 From: Arjan Schrijver Date: Fri, 17 Feb 2023 09:21:40 +0100 Subject: [PATCH 089/128] clamav: 1.0.0 -> 1.0.1 Fixes critical RCE (CVSS score 9.8): https://blog.clamav.net/2023/02/clamav-01038-01052-and-101-patch.html --- pkgs/tools/security/clamav/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix index e9e6314f2015..aa8c68382a39 100644 --- a/pkgs/tools/security/clamav/default.nix +++ b/pkgs/tools/security/clamav/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { pname = "clamav"; - version = "1.0.0"; + version = "1.0.1"; src = fetchurl { url = "https://www.clamav.net/downloads/production/${pname}-${version}.tar.gz"; - hash = "sha256-vaObuFaQLm3WB36jE6Pri+zNSH4AgqlZF4d/Kymc2G4="; + hash = "sha256-CHLcG4L/TNfo5DI/r17kGh9mroCGXQVCkIW5RjVdhu4="; }; patches = [ From 1393d2262bfb01ba47c7f78a23322de8de17e7d7 Mon Sep 17 00:00:00 2001 From: Alexey Vakhrenev Date: Fri, 17 Feb 2023 10:13:05 +0400 Subject: [PATCH 090/128] redpanda: 22.3.11 -> 22.3.13 Build rpk from source. Add redpanda server. --- maintainers/maintainer-list.nix | 6 ++ pkgs/servers/redpanda/base64.nix | 26 +++++ pkgs/servers/redpanda/default.nix | 74 +++++++------ pkgs/servers/redpanda/hdr-histogram.nix | 28 +++++ pkgs/servers/redpanda/rapidjson.nix | 32 ++++++ pkgs/servers/redpanda/redpanda.patch | 73 +++++++++++++ pkgs/servers/redpanda/seastar-fixes.patch | 13 +++ pkgs/servers/redpanda/seastar.nix | 84 +++++++++++++++ pkgs/servers/redpanda/server.nix | 123 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 10 files changed, 426 insertions(+), 35 deletions(-) create mode 100644 pkgs/servers/redpanda/base64.nix create mode 100644 pkgs/servers/redpanda/hdr-histogram.nix create mode 100644 pkgs/servers/redpanda/rapidjson.nix create mode 100644 pkgs/servers/redpanda/redpanda.patch create mode 100644 pkgs/servers/redpanda/seastar-fixes.patch create mode 100644 pkgs/servers/redpanda/seastar.nix create mode 100644 pkgs/servers/redpanda/server.nix diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 6e9e3faf60e6..36762361d104 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1417,6 +1417,12 @@ githubId = 12958979; name = "Mika Naylor"; }; + avakhrenev = { + email = "avakhrenev@gmail.com"; + github = "avakhrenev"; + githubId = 1060224; + name = "Alexey Vakhrenev"; + }; avaq = { email = "nixpkgs@account.avaq.it"; github = "Avaq"; diff --git a/pkgs/servers/redpanda/base64.nix b/pkgs/servers/redpanda/base64.nix new file mode 100644 index 000000000000..305456c55ccf --- /dev/null +++ b/pkgs/servers/redpanda/base64.nix @@ -0,0 +1,26 @@ +{ clangStdenv +, cmake +, fetchFromGitHub +, lib +}: +let + pname = "base64"; + version = "0.5.0"; +in +clangStdenv.mkDerivation { + inherit pname version; + src = fetchFromGitHub { + owner = "aklomp"; + repo = "base64"; + rev = "v${version}"; + sha256 = "sha256-2HNI9ycT9f+NLwLElEuR61qmTguOsI+kNxv01ipxSqQ="; + }; + nativeBuildInputs = [ cmake ]; + meta = with lib; { + description = "Fast Base64 stream encoder/decoder in C99, with SIMD acceleration"; + license = licenses.bsd2; + homepage = "https://github.com/aklomp/base64"; + maintainers = with maintainers; [ avakhrenev ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/servers/redpanda/default.nix b/pkgs/servers/redpanda/default.nix index e2a265c0f5ef..c59aa621cc4d 100644 --- a/pkgs/servers/redpanda/default.nix +++ b/pkgs/servers/redpanda/default.nix @@ -1,48 +1,52 @@ -{ lib, stdenv, fetchzip }: - +{ buildGoModule +, callPackage +, doCheck ? !stdenv.isDarwin # Can't start localhost test server in MacOS sandbox. +, fetchFromGitHub +, installShellFiles +, lib +, stdenv +}: let - version = "22.3.11"; - platform = if stdenv.isLinux then "linux" else "darwin"; - arch = if stdenv.isAarch64 then "arm" else "amd"; - sha256s = { - darwin.amd = "sha256-kwAKxFg7BSNInvsQvFqgtpq8EEwSnmDeDyaF5b8L8SQ="; - darwin.arm = "sha256-kH5Ii672SeAIiRcWuAO3oVJVSBWp+r78RmTiR3BaDbg="; - linux.amd = "sha256-EKgkRKBrM4+X2YGoP2LpWRHL+fdHu44LYwCZ+O+c5ZY="; - linux.arm = "sha256-9b4oerRXjUVUYoswJWtnMBJSQDoCKClf673VjDQFUAw="; + version = "22.3.13"; + src = fetchFromGitHub { + owner = "redpanda-data"; + repo = "redpanda"; + rev = "v${version}"; + sha256 = "sha256-cUQFDXWnQYSLcfKFYg6BLrxF77iX+Yx3hcul4tMxdoc="; }; -in stdenv.mkDerivation rec { - pname = "redpanda"; - inherit version; + server = callPackage ./server.nix { inherit src version; }; +in +buildGoModule rec { + pname = "redpanda-rpk"; + inherit doCheck src version; + modRoot = "./src/go/rpk"; + runVend = false; + vendorSha256 = "sha256-JVZuHRh3gavIGArxDkqUQsL5oBjz35EKGsC75Sy+cMo="; - src = fetchzip { - url = "https://github.com/redpanda-data/redpanda/releases/download/v${version}/rpk-${platform}-${arch}64.zip"; - sha256 = sha256s.${platform}.${arch}; - }; + ldflags = [ + ''-X "github.com/redpanda-data/redpanda/src/go/rpk/pkg/cli/cmd/version.version=${version}"'' + ''-X "github.com/redpanda-data/redpanda/src/go/rpk/pkg/cli/cmd/version.rev=v${version}"'' + ''-X "github.com/redpanda-data/redpanda/src/go/rpk/pkg/cli/cmd/container/common.tag=v${version}"'' + ]; - installPhase = '' - runHook preInstall + nativeBuildInputs = [ installShellFiles ]; - mkdir -p $out/bin - cp rpk $out/bin - - ${lib.optionalString stdenv.isLinux '' - patchelf \ - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - $out/bin/rpk - ''} - - runHook postInstall + postInstall = '' + for shell in bash fish zsh; do + $out/bin/rpk generate shell-completion $shell > rpk.$shell + installShellCompletion rpk.$shell + done ''; - # stripping somehow completely breaks it - dontStrip = true; + passthru = { + inherit server; + }; meta = with lib; { - description = "Redpanda is a streaming data platform for developers. Kafka API compatible. 10x faster. No ZooKeeper. No JVM! "; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = licenses.bsl11; + description = "Redpanda client"; homepage = "https://redpanda.com/"; - maintainers = with maintainers; [ happysalada ]; + license = licenses.bsl11; + maintainers = with maintainers; [ avakhrenev happysalada ]; platforms = platforms.all; }; } diff --git a/pkgs/servers/redpanda/hdr-histogram.nix b/pkgs/servers/redpanda/hdr-histogram.nix new file mode 100644 index 000000000000..91000649e130 --- /dev/null +++ b/pkgs/servers/redpanda/hdr-histogram.nix @@ -0,0 +1,28 @@ +{ clangStdenv +, cmake +, fetchFromGitHub +, lib +, zlib +}: +let + pname = "HdrHistogram_c"; + version = "0.11.5"; +in +clangStdenv.mkDerivation { + inherit pname version; + src = fetchFromGitHub { + owner = "HdrHistogram"; + repo = "HdrHistogram_c"; + rev = version; + sha256 = "sha256-29if+0H8wdpQBN48lt0ylGgtUCv/tJYZnG5LzcIqXDs="; + }; + nativeBuildInputs = [ cmake ]; + buildInputs = [ zlib ]; + meta = with lib; { + description = "C port of the HdrHistogram"; + license = licenses.bsd2; + homepage = "https://github.com/HdrHistogram/HdrHistogram_c"; + maintainers = with maintainers; [ avakhrenev ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/servers/redpanda/rapidjson.nix b/pkgs/servers/redpanda/rapidjson.nix new file mode 100644 index 000000000000..99ada8c05f88 --- /dev/null +++ b/pkgs/servers/redpanda/rapidjson.nix @@ -0,0 +1,32 @@ +# rapidjson used in nixpkgs is too old. Although it is technically a latest release, it was made in 2016. +# Redpanda uses its own version +{ clangStdenv +, cmake +, fetchFromGitHub +, lib +, pkg-config +}: + +clangStdenv.mkDerivation rec { + pname = "rapidjson"; + version = "1.1.1"; + + src = fetchFromGitHub { + owner = "redpanda-data"; + repo = "rapidjson"; + rev = "27c3a8dc0e2c9218fe94986d249a12b5ed838f1d"; + sha256 = "sha256-wggyCL5uEsnJDxkYAUsXOjoO1MNQBGB05E6aSpsNcl0="; + }; + + nativeBuildInputs = [ pkg-config cmake ]; + + doCheck = false; + + meta = with lib; { + description = "Fast JSON parser/generator for C++ with both SAX/DOM style API"; + homepage = "http://rapidjson.org/"; + maintainers = with maintainers; [ avakhrenev ]; + license = licenses.mit; + platforms = platforms.unix; + }; +} diff --git a/pkgs/servers/redpanda/redpanda.patch b/pkgs/servers/redpanda/redpanda.patch new file mode 100644 index 000000000000..c3ee76d3c9ae --- /dev/null +++ b/pkgs/servers/redpanda/redpanda.patch @@ -0,0 +1,73 @@ +diff --git a/cmake/main.cmake b/cmake/main.cmake +index 8c60c4214..194f33a21 100644 +--- a/cmake/main.cmake ++++ b/cmake/main.cmake +@@ -15,15 +15,6 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_UNITY_BUILD_BATCH_SIZE 10) + set(CMAKE_CXX_EXTENSIONS OFF) + set(CMAKE_POSITION_INDEPENDENT_CODE ON) +-list(APPEND BASE_LD_FLAGS_LIST +- -L${REDPANDA_DEPS_INSTALL_DIR}/lib +- -L${REDPANDA_DEPS_INSTALL_DIR}/lib64 +- -fuse-ld=lld) +-set(PKG_CONFIG_PATH_LIST +- ${REDPANDA_DEPS_INSTALL_DIR}/lib64/pkgconfig +- ${REDPANDA_DEPS_INSTALL_DIR}/share/pkgconfig +- ${REDPANDA_DEPS_INSTALL_DIR}/lib/pkgconfig +- ) + + list(APPEND BASE_CXX_FLAGS_LIST -fPIC) + list(APPEND BASE_C_FLAGS_LIST -fPIC) +diff --git a/cmake/testing.cmake b/cmake/testing.cmake +index 7f149dc82..7c57aa3dd 100644 +--- a/cmake/testing.cmake ++++ b/cmake/testing.cmake +@@ -24,6 +24,7 @@ message(STATUS "RP_ENABLE_BENCHMARK_TESTS=${RP_ENABLE_BENCHMARK_TESTS}") + message(STATUS "RP_ENABLE_HONEY_BADGER_TESTS=${RP_ENABLE_HONEY_BADGER_TESTS}") + + function (rp_test) ++ return() + set(options + INTEGRATION_TEST UNIT_TEST BENCHMARK_TEST HBADGER_TEST) + set(oneValueArgs BINARY_NAME TIMEOUT PREPARE_COMMAND POST_COMMAND) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index eecd145ed..b9efa89b5 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -5,4 +5,5 @@ find_package(Boost REQUIRED + unit_test_framework) + find_package(absl REQUIRED) + add_subdirectory(v) +-add_subdirectory(go/kreq-gen) ++# Don't build kafka-request-generator, it is needed only for tests ++# add_subdirectory(go/kreq-gen) +diff --git a/src/v/CMakeLists.txt b/src/v/CMakeLists.txt +index 075da485e..af7ede2bc 100644 +--- a/src/v/CMakeLists.txt ++++ b/src/v/CMakeLists.txt +@@ -58,7 +58,9 @@ else() + if(${ENABLE_GIT_HASH}) + message(FATAL_ERROR "ENABLE_GIT_HASH cannot be 'on' when ENABLE_GIT_VERSION is 'off'") + endif() +- set(GIT_VER "no_version") ++ if(NOT GIT_VER) ++ set(GIT_VER "no_version") ++ endif() + endif() + + if(${ENABLE_GIT_HASH}) +@@ -71,8 +73,12 @@ if(${ENABLE_GIT_HASH}) + set(GIT_CLEAN_DIRTY "") + endif() + else() +- set(GIT_SHA1 "000") +- set(GIT_CLEAN_DIRTY "-dev") ++ if(NOT GIT_SHA1) ++ set(GIT_SHA1 "000") ++ endif() ++ if(NOT GIT_CLEAN_DIRTY) ++ set(GIT_CLEAN_DIRTY "-dev") ++ endif() + endif() + + configure_file(version.h.in version.h @ONLY) diff --git a/pkgs/servers/redpanda/seastar-fixes.patch b/pkgs/servers/redpanda/seastar-fixes.patch new file mode 100644 index 000000000000..c6b12b88c149 --- /dev/null +++ b/pkgs/servers/redpanda/seastar-fixes.patch @@ -0,0 +1,13 @@ +diff --git a/include/seastar/core/std-coroutine.hh b/include/seastar/core/std-coroutine.hh +index ea364bee..57474529 100644 +--- a/include/seastar/core/std-coroutine.hh ++++ b/include/seastar/core/std-coroutine.hh +@@ -87,7 +87,7 @@ class coroutine_handle { + + explicit operator bool() const noexcept { return _pointer; } + +- static coroutine_handle from_address(void* ptr) noexcept { ++ static constexpr coroutine_handle from_address(void* ptr) noexcept { + coroutine_handle hndl; + hndl._pointer = ptr; + return hndl; diff --git a/pkgs/servers/redpanda/seastar.nix b/pkgs/servers/redpanda/seastar.nix new file mode 100644 index 000000000000..3c7120e6c876 --- /dev/null +++ b/pkgs/servers/redpanda/seastar.nix @@ -0,0 +1,84 @@ +{ boost175 +, c-ares +, cmake +, cryptopp +, fetchFromGitHub +, fmt_8 +, gnutls +, hwloc +, lib +, libsystemtap +, libtasn1 +, liburing +, libxfs +, lksctp-tools +, llvmPackages_14 +, lz4 +, ninja +, numactl +, openssl +, pkg-config +, python3 +, ragel +, valgrind +, yaml-cpp +}: +let + pname = "seastar"; + version = "22.11.0"; +in +llvmPackages_14.stdenv.mkDerivation { + inherit pname version; + strictDeps = true; + src = fetchFromGitHub { + owner = "redpanda-data"; + repo = "seastar"; + rev = "30d3a28bde08d2228b4e560c173b89fdd94c3f05"; + sha256 = "sha256-Xzu7AJMkvE++BGEqluod3fwMEIpDnbCczmlEad0/4v4="; + }; + nativeBuildInputs = [ + cmake + ninja + openssl + pkg-config + python3 + ragel + ]; + buildInputs = [ + libsystemtap + libxfs + ]; + propagatedBuildInputs = [ + boost175 + c-ares + gnutls + cryptopp + fmt_8 + hwloc + libtasn1 + liburing + lksctp-tools + lz4 + numactl + valgrind + yaml-cpp + ]; + patches = [ + ./seastar-fixes.patch + ]; + postPatch = '' + patchShebangs ./scripts/seastar-json2code.py + ''; + cmakeFlags = [ + "-DSeastar_EXCLUDE_DEMOS_FROM_ALL=ON" + "-DSeastar_EXCLUDE_TESTS_FROM_ALL=ON" + ]; + doCheck = false; + meta = with lib; { + description = "High performance server-side application framework."; + license = licenses.asl20; + homepage = "https://seastar.io/"; + maintainers = with maintainers; [ avakhrenev ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/servers/redpanda/server.nix b/pkgs/servers/redpanda/server.nix new file mode 100644 index 000000000000..9cb050eb5f45 --- /dev/null +++ b/pkgs/servers/redpanda/server.nix @@ -0,0 +1,123 @@ +{ abseil-cpp +, avro-cpp +, callPackage +, ccache +, cmake +, crc32c +, croaring +, ctre +, curl +, dpdk +, git +, lib +, llvmPackages_14 +, llvm_14 +, ninja +, p11-kit +, pkg-config +, procps +, protobuf3_21 +, python3 +, snappy +, src +, unzip +, version +, writeShellScriptBin +, xxHash +, zip +, zstd +}: +let + pname = "redpanda"; + pythonPackages = p: with p; [ jinja2 ]; + seastar = callPackage ./seastar.nix { }; + base64 = callPackage ./base64.nix { }; + hdr-histogram = callPackage ./hdr-histogram.nix { }; + kafka-codegen-venv = python3.withPackages (ps: [ + ps.jinja2 + ps.jsonschema + ]); + rapidjson = callPackage ./rapidjson.nix { }; +in +llvmPackages_14.stdenv.mkDerivation rec { + inherit pname version src; + + preConfigure = '' + # setup sccache + export CCACHE_DIR=$TMPDIR/sccache-redpanda + mkdir -p $CCACHE_DIR + ''; + patches = [ + ./redpanda.patch + ]; + postPatch = '' + # Fix 'error: use of undeclared identifier 'roaring'; did you mean 'Roaring + # qualified reference to 'Roaring' is a constructor name rather than a type in this context' + substituteInPlace \ + ./src/v/storage/compacted_offset_list.h \ + ./src/v/storage/compaction_reducers.cc \ + ./src/v/storage/compaction_reducers.h \ + ./src/v/storage/segment_utils.h \ + ./src/v/storage/segment_utils.cc \ + --replace 'roaring::Roaring' 'Roaring' + + patchShebangs ./src/v/rpc/rpc_compiler.py + ''; + + doCheck = false; + + nativeBuildInputs = [ + (python3.withPackages pythonPackages) + (writeShellScriptBin "kafka-codegen-venv" "exec -a $0 ${kafka-codegen-venv}/bin/python3 $@") + ccache + cmake + curl + git + llvm_14 + ninja + pkg-config + procps + seastar + unzip + zip + ]; + + cmakeFlags = [ + "-DREDPANDA_DEPS_SKIP_BUILD=ON" + "-DRP_ENABLE_TESTS=OFF" + "-Wno-dev" + "-DGIT_VER=${version}" + "-DGIT_CLEAN_DIRTY=\"\"" + ]; + + buildInputs = [ + abseil-cpp + avro-cpp + base64 + crc32c + croaring + ctre + dpdk + hdr-histogram + p11-kit + protobuf3_21 + rapidjson + seastar + snappy + xxHash + zstd + ]; + + meta = with lib; { + description = "Kafka-compatible streaming platform."; + license = licenses.bsl11; + longDescription = '' + Redpanda is a Kafka-compatible streaming data platform that is + proven to be 10x faster and 6x lower in total costs. It is also JVM-free, + ZooKeeper-free, Jepsen-tested and source available. + ''; + homepage = "https://redpanda.com/"; + maintainers = with maintainers; [ avakhrenev happysalada ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 64d46f1399b3..ed6900f8f3db 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11397,6 +11397,8 @@ with pkgs; redpanda = callPackage ../servers/redpanda { }; + redpanda-server = redpanda.server; + redsocks = callPackage ../tools/networking/redsocks { }; renpy = callPackage ../development/interpreters/renpy { }; From 59d5393967c4636de90b1b1068433a10d363a485 Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Mon, 13 Feb 2023 21:14:35 +0100 Subject: [PATCH 091/128] posteid-seed-extractor: init at unstable-23-02-2022 --- .../posteid-seed-extractor/default.nix | 47 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 49 insertions(+) create mode 100644 pkgs/tools/security/posteid-seed-extractor/default.nix diff --git a/pkgs/tools/security/posteid-seed-extractor/default.nix b/pkgs/tools/security/posteid-seed-extractor/default.nix new file mode 100644 index 000000000000..176b210b3779 --- /dev/null +++ b/pkgs/tools/security/posteid-seed-extractor/default.nix @@ -0,0 +1,47 @@ +{ lib +, python3Packages +, fetchFromGitHub +}: + +python3Packages.buildPythonApplication { + pname = "posteid-seed-extractor"; + version = "unstable-2022-02-23"; + + src = fetchFromGitHub { + owner = "simone36050"; + repo = "PosteID-seed-extractor"; + rev = "667e2997a98aa3273a6bf6b4b34ca77715120e7f"; + hash = "sha256-smNwp67HYbZuMrl0uf2X2yox2JqeEV6WzIBp4dALwgw="; + }; + + format = "other"; + + pythonPath = with python3Packages; [ + certifi + cffi + charset-normalizer + cryptography + idna + jwcrypto + pycparser + pycryptodome + pyotp + qrcode + requests + urllib3 + wrapt + ]; + + installPhase = '' + runHook preInstall + install -Dm755 extractor.py $out/bin/posteid-seed-extractor + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://github.com/simone36050/PosteID-seed-extractor"; + description = "Extract OTP seed instead of using PosteID app"; + license = licenses.mit; + maintainers = with maintainers; [ aciceri ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0ee84cd2bbd1..dd235d95de3f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11038,6 +11038,8 @@ with pkgs; libjpeg8 = libjpeg.override { enableJpeg8 = true; }; }; + posteid-seed-extractor = callPackage ../tools/security/posteid-seed-extractor {}; + postscript-lexmark = callPackage ../misc/drivers/postscript-lexmark { }; povray = callPackage ../tools/graphics/povray { From 3e081095a4471f126dfb1346cb51ddec36784c23 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Fri, 17 Feb 2023 19:43:08 +1000 Subject: [PATCH 092/128] Revert "podman: remove wrapper" This reverts commit 02f92550441de39d0e42b39b538ac5529714ed41. broke rootlessport port forwarding --- .../modules/virtualisation/podman/default.nix | 11 ++- .../virtualization/podman/default.nix | 71 ++++------------- .../virtualization/podman/wrapper.nix | 78 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 +- 4 files changed, 105 insertions(+), 58 deletions(-) create mode 100644 pkgs/applications/virtualization/podman/wrapper.nix diff --git a/nixos/modules/virtualisation/podman/default.nix b/nixos/modules/virtualisation/podman/default.nix index 2e2190e4188c..baca48305188 100644 --- a/nixos/modules/virtualisation/podman/default.nix +++ b/nixos/modules/virtualisation/podman/default.nix @@ -9,8 +9,7 @@ let extraPackages = cfg.extraPackages # setuid shadow ++ [ "/run/wrappers" ] - # include pkgs.zfs by default in the wrapped podman used by the module so it is cached - ++ (if (builtins.elem "zfs" config.boot.supportedFilesystems) then [ config.boot.zfs.package ] else [ pkgs.zfs ]); + ++ lib.optional (builtins.elem "zfs" config.boot.supportedFilesystems) config.boot.zfs.package; }); # Provides a fake "docker" binary mapping to podman @@ -184,6 +183,10 @@ in systemd.packages = [ cfg.package ]; + systemd.services.podman.serviceConfig = { + ExecStart = [ "" "${cfg.package}/bin/podman $LOGGING system service" ]; + }; + systemd.services.podman-prune = { description = "Prune podman resources"; @@ -204,6 +207,10 @@ in systemd.sockets.podman.wantedBy = [ "sockets.target" ]; systemd.sockets.podman.socketConfig.SocketGroup = "podman"; + systemd.user.services.podman.serviceConfig = { + ExecStart = [ "" "${cfg.package}/bin/podman $LOGGING system service" ]; + }; + systemd.user.sockets.podman.wantedBy = [ "sockets.target" ]; systemd.tmpfiles.packages = [ diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix index 766a9fd1de50..d8bfa140fa87 100644 --- a/pkgs/applications/virtualization/podman/default.nix +++ b/pkgs/applications/virtualization/podman/default.nix @@ -14,52 +14,10 @@ , go-md2man , nixosTests , python3 -, makeWrapper -, symlinkJoin -, extraPackages ? [ ] -, runc -, crun -, conmon -, slirp4netns -, fuse-overlayfs -, util-linux -, iptables -, iproute2 -, catatonit -, gvproxy -, aardvark-dns -, netavark , testers , podman }: -let - # do not add qemu to this wrapper, store paths get written to the podman vm config and break when GCed - binPath = lib.makeBinPath ([ - ] ++ lib.optionals stdenv.isLinux [ - runc - crun - conmon - slirp4netns - fuse-overlayfs - util-linux - iptables - iproute2 - ] ++ extraPackages); - - helpersBin = symlinkJoin { - name = "podman-helper-binary-wrapper"; - - # this only works for some binaries, others may need to be be added to `binPath` or in the modules - paths = [ - gvproxy - ] ++ lib.optionals stdenv.isLinux [ - aardvark-dns - catatonit # added here for the pause image and also set in `containersConf` for `init_path` - netavark - ]; - }; -in buildGoModule rec { pname = "podman"; version = "4.4.1"; @@ -80,9 +38,9 @@ buildGoModule rec { doCheck = false; - outputs = [ "out" "man" ]; + outputs = [ "out" "man" ] ++ lib.optionals stdenv.isLinux [ "rootlessport" ]; - nativeBuildInputs = [ pkg-config go-md2man installShellFiles makeWrapper python3 ]; + nativeBuildInputs = [ pkg-config go-md2man installShellFiles python3 ]; buildInputs = lib.optionals stdenv.isLinux [ btrfs-progs @@ -94,16 +52,13 @@ buildGoModule rec { systemd ]; - HELPER_BINARIES_DIR = "${helpersBin}/bin"; - PREFIX = "${placeholder "out"}"; - buildPhase = '' runHook preBuild patchShebangs . ${if stdenv.isDarwin then '' make podman-remote # podman-mac-helper uses FHS paths '' else '' - make bin/podman bin/rootlessport bin/quadlet + make bin/podman bin/rootlessport ''} make docs runHook postBuild @@ -111,20 +66,26 @@ buildGoModule rec { installPhase = '' runHook preInstall + mkdir -p {$out/{bin,etc,lib,share},$man} # ensure paths exist for the wrapper ${if stdenv.isDarwin then '' - install bin/darwin/podman -Dt $out/bin + mv bin/{darwin/podman,podman} '' else '' - make install.bin install.systemd + install -Dm644 contrib/tmpfile/podman.conf -t $out/lib/tmpfiles.d + for s in contrib/systemd/**/*.in; do + substituteInPlace "$s" --replace "@@PODMAN@@" "podman" # don't use unwrapped binary + done + PREFIX=$out make install.systemd + install -Dm555 bin/rootlessport -t $rootlessport/bin ''} - make install.completions install.man - wrapProgram $out/bin/podman \ - --prefix PATH : ${lib.escapeShellArg binPath} + install -Dm555 bin/podman -t $out/bin + PREFIX=$out make install.completions + MANDIR=$man/share/man make install.man runHook postInstall ''; postFixup = lib.optionalString stdenv.isLinux '' - RPATH=$(patchelf --print-rpath $out/bin/.podman-wrapped) - patchelf --set-rpath "${lib.makeLibraryPath [ systemd ]}":$RPATH $out/bin/.podman-wrapped + RPATH=$(patchelf --print-rpath $out/bin/podman) + patchelf --set-rpath "${lib.makeLibraryPath [ systemd ]}":$RPATH $out/bin/podman ''; passthru.tests = { diff --git a/pkgs/applications/virtualization/podman/wrapper.nix b/pkgs/applications/virtualization/podman/wrapper.nix new file mode 100644 index 000000000000..7fe483a7079e --- /dev/null +++ b/pkgs/applications/virtualization/podman/wrapper.nix @@ -0,0 +1,78 @@ +{ podman-unwrapped +, runCommand +, makeWrapper +, symlinkJoin +, lib +, stdenv +, extraPackages ? [] +, runc # Default container runtime +, crun # Container runtime (default with cgroups v2 for podman/buildah) +, conmon # Container runtime monitor +, slirp4netns # User-mode networking for unprivileged namespaces +, fuse-overlayfs # CoW for images, much faster than default vfs +, util-linux # nsenter +, iptables +, iproute2 +, catatonit +, gvproxy +, aardvark-dns +, netavark +}: + +# do not add qemu to this wrapper, store paths get written to the podman vm config and break when GCed + +let + binPath = lib.makeBinPath ([ + ] ++ lib.optionals stdenv.isLinux [ + runc + crun + conmon + slirp4netns + fuse-overlayfs + util-linux + iptables + iproute2 + ] ++ extraPackages); + + helpersBin = symlinkJoin { + name = "${podman-unwrapped.pname}-helper-binary-wrapper-${podman-unwrapped.version}"; + + # this only works for some binaries, others may need to be be added to `binPath` or in the modules + paths = [ + gvproxy + ] ++ lib.optionals stdenv.isLinux [ + aardvark-dns + catatonit # added here for the pause image and also set in `containersConf` for `init_path` + netavark + podman-unwrapped.rootlessport + ]; + }; + +in runCommand podman-unwrapped.name { + name = "${podman-unwrapped.pname}-wrapper-${podman-unwrapped.version}"; + inherit (podman-unwrapped) pname version passthru; + + preferLocalBuild = true; + + meta = builtins.removeAttrs podman-unwrapped.meta [ "outputsToInstall" ]; + + outputs = [ + "out" + "man" + ]; + + nativeBuildInputs = [ + makeWrapper + ]; + +} '' + ln -s ${podman-unwrapped.man} $man + + mkdir -p $out/bin + ln -s ${podman-unwrapped}/etc $out/etc + ln -s ${podman-unwrapped}/lib $out/lib + ln -s ${podman-unwrapped}/share $out/share + makeWrapper ${podman-unwrapped}/bin/podman $out/bin/podman \ + --set CONTAINERS_HELPER_BINARY_DIR ${helpersBin}/bin \ + --prefix PATH : ${lib.escapeShellArg binPath} +'' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3965e4224ed9..9379a920d59e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11010,7 +11010,8 @@ with pkgs; pocketbase = callPackage ../servers/pocketbase { }; - podman = callPackage ../applications/virtualization/podman { }; + podman = callPackage ../applications/virtualization/podman/wrapper.nix { }; + podman-unwrapped = callPackage ../applications/virtualization/podman { }; podman-compose = python3Packages.callPackage ../applications/virtualization/podman-compose {}; From 2c6683291e6b9f789554bf0d62bb89b3fd9202d9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Feb 2023 10:47:33 +0000 Subject: [PATCH 093/128] cargo-valgrind: 2.1.0 -> 2.1.1 --- pkgs/development/tools/rust/cargo-valgrind/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/rust/cargo-valgrind/default.nix b/pkgs/development/tools/rust/cargo-valgrind/default.nix index af7abb9a1abf..7b0647c14c45 100644 --- a/pkgs/development/tools/rust/cargo-valgrind/default.nix +++ b/pkgs/development/tools/rust/cargo-valgrind/default.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-valgrind"; - version = "2.1.0"; + version = "2.1.1"; src = fetchFromGitHub { owner = "jfrimmel"; repo = "cargo-valgrind"; rev = "v${version}"; - sha256 = "sha256-FCz15kMSKckifYWSTMGqJbRpZ8X/AM5dSw46dg8ERcY="; + sha256 = "sha256-l/1paghG/ARD0JfzNh0xj2UD5kW6FddM8Xrd/FCygYc="; }; - cargoSha256 = "sha256-csSUe2qUIN2xKOMHWyM56FZyCwKPdfAI0NrFiDOtRiE="; + cargoSha256 = "sha256-9/kIIZDIsOhUvRT3TyXN5PGFUB+a8m2yXmzBbsPUK28="; passthru = { updateScript = nix-update-script { }; From 16edc68ccba48392c489b187a36d8f677d5cc8e1 Mon Sep 17 00:00:00 2001 From: David Izquierdo Date: Fri, 17 Feb 2023 12:03:30 +0100 Subject: [PATCH 094/128] maintaniers: remove dizfer --- maintainers/maintainer-list.nix | 6 ------ pkgs/development/libraries/tbb/default.nix | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 36762361d104..04658beb7f81 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -3762,12 +3762,6 @@ githubId = 14034137; name = "Mostly Void"; }; - dizfer = { - email = "david@izquierdofernandez.com"; - github = "DIzFer"; - githubId = 8852888; - name = "David Izquierdo"; - }; djacu = { email = "daniel.n.baker@gmail.com"; github = "djacu"; diff --git a/pkgs/development/libraries/tbb/default.nix b/pkgs/development/libraries/tbb/default.nix index e0c48bc6dcef..ec22952cc42b 100644 --- a/pkgs/development/libraries/tbb/default.nix +++ b/pkgs/development/libraries/tbb/default.nix @@ -101,6 +101,6 @@ stdenv.mkDerivation rec { details and threading mechanisms for scalability and performance. ''; platforms = platforms.unix; - maintainers = with maintainers; [ thoughtpolice dizfer ]; + maintainers = with maintainers; [ thoughtpolice ]; }; } From 609af8dfbc324dee20447b89a49f4b906f4d8299 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Feb 2023 11:04:50 +0000 Subject: [PATCH 095/128] python310Packages.ansible-doctor: 2.0.0 -> 2.0.1 --- pkgs/development/python-modules/ansible-doctor/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/ansible-doctor/default.nix b/pkgs/development/python-modules/ansible-doctor/default.nix index 0ddd26b7ffb4..96f381f56d03 100644 --- a/pkgs/development/python-modules/ansible-doctor/default.nix +++ b/pkgs/development/python-modules/ansible-doctor/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "ansible-doctor"; - version = "2.0.0"; + version = "2.0.1"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "thegeeklab"; repo = "ansible-doctor"; rev = "refs/tags/v${version}"; - hash = "sha256-P2PC90coR+FpQkO+SUon72bDLTYJhZ5qbcOdCKuFFwE="; + hash = "sha256-xUg7+7oWxIVdKLOGIE1uxh7SSjkz/w0//OyMF1HhEJk="; }; pythonRelaxDeps = true; From bc485d9e26201f28132af6573ae34a00be3d53e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanis=C5=82aw=20Pitucha?= Date: Fri, 17 Feb 2023 22:30:42 +1100 Subject: [PATCH 096/128] fnc: fix clang build Use the gcc-specific option on gcc only. --- pkgs/applications/version-management/fnc/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/version-management/fnc/default.nix b/pkgs/applications/version-management/fnc/default.nix index 7fd1b34d4560..b74200a6919c 100644 --- a/pkgs/applications/version-management/fnc/default.nix +++ b/pkgs/applications/version-management/fnc/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { makeFlags = [ "PREFIX=$(out)" ]; - NIX_CFLAGS_COMPILE = [ + NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ # Needed with GCC 12 "-Wno-error=maybe-uninitialized" ]; From 2b71a590f45f6737d42fcf057914360f1d333473 Mon Sep 17 00:00:00 2001 From: Ingo Blechschmidt Date: Fri, 17 Feb 2023 13:40:00 +0100 Subject: [PATCH 097/128] yt-dlp: 2023.1.6 -> 2023.2.17 --- pkgs/tools/misc/yt-dlp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/yt-dlp/default.nix b/pkgs/tools/misc/yt-dlp/default.nix index f99632fac2de..09771083f1c4 100644 --- a/pkgs/tools/misc/yt-dlp/default.nix +++ b/pkgs/tools/misc/yt-dlp/default.nix @@ -20,11 +20,11 @@ buildPythonPackage rec { # The websites yt-dlp deals with are a very moving target. That means that # downloads break constantly. Because of that, updates should always be backported # to the latest stable release. - version = "2023.1.6"; + version = "2023.2.17"; src = fetchPypi { inherit pname version; - sha256 = "sha256-Ong6NnUc7RY2j0CzuoZas5swaJ7YBW8e4jRqo4OaCw8="; + sha256 = "sha256-mvkt5e/8GTvbUSFtnr8oh02WGA0gL651Kw2fKmM4Dzo="; }; propagatedBuildInputs = [ brotli certifi mutagen pycryptodomex websockets ]; From b89976519b35b08c0ddd529c22f47a550ebb7dfd Mon Sep 17 00:00:00 2001 From: Mostly Void Date: Fri, 17 Feb 2023 13:52:34 +0100 Subject: [PATCH 098/128] rqlite: init at 7.6.1 (#187962) * rqlite: init at 7.6.1 * Update pkgs/servers/sql/rqlite/default.nix Co-authored-by: Sandro --------- Co-authored-by: Sandro --- pkgs/servers/sql/rqlite/default.nix | 37 +++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 39 insertions(+) create mode 100644 pkgs/servers/sql/rqlite/default.nix diff --git a/pkgs/servers/sql/rqlite/default.nix b/pkgs/servers/sql/rqlite/default.nix new file mode 100644 index 000000000000..713072953be2 --- /dev/null +++ b/pkgs/servers/sql/rqlite/default.nix @@ -0,0 +1,37 @@ +{ lib +, buildGoModule +, fetchFromGitHub +}: + +buildGoModule rec { + pname = "rqlite"; + version = "7.6.1"; + + src = fetchFromGitHub { + owner = "rqlite"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-WvEnMAz3dKG8xMlQzm7E0TmAgvsrRED50bb4Ved1+4U="; + }; + + vendorSha256 = "sha256-qirt5g7dcjAnceejrBnfhDpA4LSEj7eOuznSlfUBUgo="; + + subPackages = [ "cmd/rqlite" "cmd/rqlited" "cmd/rqbench" ]; + + # Leaving other flags from https://github.com/rqlite/rqlite/blob/master/package.sh + # since automatically retriving those is nontrivial and inessential + ldflags = [ + "-s" "-w" + "-X github.com/rqlite/rqlite/cmd.Version=${src.rev}" + ]; + + # Tests are in a different subPackage which fails trying to access the network + doCheck = false; + + meta = with lib; { + description = "The lightweight, distributed relational database built on SQLite"; + homepage = "https://github.com/rqlite/rqlite"; + license = licenses.mit; + maintainers = with maintainers; [ dit7ya ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 651d095f8621..34a70696e1c4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23014,6 +23014,8 @@ with pkgs; rover = callPackage ../development/tools/rover { }; + rqlite = callPackage ../servers/sql/rqlite { }; + rshell = python3.pkgs.callPackage ../development/embedded/rshell { }; rttr = callPackage ../development/libraries/rttr { }; From f2544dc85f4532fe8fabde0dce3a061b3dd336c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 17 Feb 2023 14:05:18 +0100 Subject: [PATCH 099/128] mdcat: add mdless symlink and install completions Closes #215459 --- pkgs/tools/text/mdcat/default.nix | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/text/mdcat/default.nix b/pkgs/tools/text/mdcat/default.nix index 47f74684c6f1..e8a7e4ecf5a2 100644 --- a/pkgs/tools/text/mdcat/default.nix +++ b/pkgs/tools/text/mdcat/default.nix @@ -42,10 +42,14 @@ rustPlatform.buildRustPackage rec { postInstall = '' installManPage $releaseDir/build/mdcat-*/out/mdcat.1 - installShellCompletion \ - --bash $releaseDir/build/mdcat-*/out/completions/mdcat.bash \ - --fish $releaseDir/build/mdcat-*/out/completions/mdcat.fish \ - --zsh $releaseDir/build/mdcat-*/out/completions/_mdcat + ln -sr $out/bin/{mdcat,mdless} + + for bin in mdcat mdless; do + installShellCompletion \ + --bash $releaseDir/build/mdcat-*/out/completions/$bin.bash \ + --fish $releaseDir/build/mdcat-*/out/completions/$bin.fish \ + --zsh $releaseDir/build/mdcat-*/out/completions/_$bin + done ''; meta = with lib; { From 0c4ece0585d4c22666531729b7e6afe35ac4c307 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Feb 2023 13:08:21 +0000 Subject: [PATCH 100/128] python310Packages.arcam-fmj: 1.2.0 -> 1.2.1 --- pkgs/development/python-modules/arcam-fmj/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/arcam-fmj/default.nix b/pkgs/development/python-modules/arcam-fmj/default.nix index 1169e1ca341f..7cba156bd684 100644 --- a/pkgs/development/python-modules/arcam-fmj/default.nix +++ b/pkgs/development/python-modules/arcam-fmj/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "arcam-fmj"; - version = "1.2.0"; + version = "1.2.1"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "elupus"; repo = "arcam_fmj"; rev = "refs/tags/${version}"; - hash = "sha256-stoxDb25K/h55rwR0faWO0AOjSJmjZNbMbOAuUE2iSM="; + hash = "sha256-nRInKju3Q4En+SiSl6DOeeTRK56TzKPweoVXsvzs45I="; }; propagatedBuildInputs = [ From 61f8e0511f279599f340eec22a8f967e2bfc376a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Feb 2023 13:27:43 +0000 Subject: [PATCH 101/128] python310Packages.simpleeval: 0.9.12 -> 0.9.13 --- pkgs/development/python-modules/simpleeval/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/simpleeval/default.nix b/pkgs/development/python-modules/simpleeval/default.nix index 28e5c2578602..6c570419aa20 100644 --- a/pkgs/development/python-modules/simpleeval/default.nix +++ b/pkgs/development/python-modules/simpleeval/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "simpleeval"; - version = "0.9.12"; + version = "0.9.13"; format = "pyproject"; src = fetchFromGitHub { owner = "danthedeckie"; repo = pname; - rev = version; - sha256 = "0khgl729q5133fgc00d550f4r77707rkkn7r56az4v8bvx0q8xp4"; + rev = "refs/tags/${version}"; + sha256 = "sha256-I1GILYPE6OyotgRe0Ek/iHHv6q9/b/MlcTxMAtfZD80="; }; nativeBuildInputs = [ From 6ebfe7e1c28b7b702a90ebaa2ca97fa2f4a9e037 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 17 Feb 2023 22:03:48 +0800 Subject: [PATCH 102/128] =?UTF-8?q?webkitgtk:=202.38.4=20=E2=86=92=202.38.?= =?UTF-8?q?5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://webkitgtk.org/2023/02/15/webkitgtk2.38.5-released.html https://webkitgtk.org/security/WSA-2023-0002.html CVE-2023-23529 --- pkgs/development/libraries/webkitgtk/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix index fdefeb86a046..73073a6b7117 100644 --- a/pkgs/development/libraries/webkitgtk/default.nix +++ b/pkgs/development/libraries/webkitgtk/default.nix @@ -69,7 +69,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "webkitgtk"; - version = "2.38.4"; + version = "2.38.5"; name = "${finalAttrs.pname}-${finalAttrs.version}+abi=${if lib.versionAtLeast gtk3.version "4.0" then "5.0" else "4.${if lib.versions.major libsoup.version == "2" then "0" else "1"}"}"; outputs = [ "out" "dev" "devdoc" ]; @@ -80,7 +80,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "https://webkitgtk.org/releases/webkitgtk-${finalAttrs.version}.tar.xz"; - hash = "sha256-T0fqKaLU1fFe7z3J4tbG8Gfo3oY6P2RFXhzPlpPMHTY="; + hash = "sha256-QMIMQwIidN9Yk/IrEFT6iUw+6gVzibsIruCMWwuwwac="; }; patches = lib.optionals stdenv.isLinux [ From f14e3fef033f1b6048a951f7395db841c18cdd64 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Feb 2023 16:45:47 +0100 Subject: [PATCH 103/128] python310Packages.simpleeval: add changelog to meta --- pkgs/development/python-modules/simpleeval/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/simpleeval/default.nix b/pkgs/development/python-modules/simpleeval/default.nix index 6c570419aa20..57693fb3791c 100644 --- a/pkgs/development/python-modules/simpleeval/default.nix +++ b/pkgs/development/python-modules/simpleeval/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { owner = "danthedeckie"; repo = pname; rev = "refs/tags/${version}"; - sha256 = "sha256-I1GILYPE6OyotgRe0Ek/iHHv6q9/b/MlcTxMAtfZD80="; + hash = "sha256-I1GILYPE6OyotgRe0Ek/iHHv6q9/b/MlcTxMAtfZD80="; }; nativeBuildInputs = [ @@ -36,6 +36,7 @@ buildPythonPackage rec { meta = with lib; { description = "Simple, safe single expression evaluator library"; homepage = "https://github.com/danthedeckie/simpleeval"; + changelog = "https://github.com/danthedeckie/simpleeval/releases/tag/${version}"; license = licenses.mit; maintainers = with maintainers; [ johbo ]; }; From c1422cea7af76253968a14847c700ca72325c827 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Feb 2023 17:19:44 +0100 Subject: [PATCH 104/128] python310Packages.cwl-utils: 0.22 -> 0.23 Diff: https://github.com/common-workflow-language/cwl-utils/compare/refs/tags/v0.22...v0.23 Changelog: https://github.com/common-workflow-language/cwl-utils/releases/tag/v0.23 --- pkgs/development/python-modules/cwl-utils/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/cwl-utils/default.nix b/pkgs/development/python-modules/cwl-utils/default.nix index 2f605950bc59..0c0618f9c3d0 100644 --- a/pkgs/development/python-modules/cwl-utils/default.nix +++ b/pkgs/development/python-modules/cwl-utils/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "cwl-utils"; - version = "0.22"; + version = "0.23"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -25,7 +25,7 @@ buildPythonPackage rec { owner = "common-workflow-language"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-vOIheOcDG8qdPtcN0kkBN3URodknDLTC7BzYGIiD2RA="; + hash = "sha256-tr4QQ/p0jx/e5kHx4WSYfo06/qMNFyxIGsaAA8nBBoA="; }; propagatedBuildInputs = [ From 807b7f4363e5ccb10c60d088c79da6861269534e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Feb 2023 16:20:40 +0000 Subject: [PATCH 105/128] python310Packages.python-ironicclient: 5.0.1 -> 5.1.0 --- .../python-modules/python-ironicclient/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/python-ironicclient/default.nix b/pkgs/development/python-modules/python-ironicclient/default.nix index 0214a6b0d2e4..193717d6d83e 100644 --- a/pkgs/development/python-modules/python-ironicclient/default.nix +++ b/pkgs/development/python-modules/python-ironicclient/default.nix @@ -20,11 +20,11 @@ buildPythonPackage rec { pname = "python-ironicclient"; - version = "5.0.1"; + version = "5.1.0"; src = fetchPypi { inherit pname version; - sha256 = "sha256-7RawbJ5O5KCruD499fOkuFcouBzp3f7aEUnE37wJqmM="; + sha256 = "sha256-yYmzZuwZSasN6g6Bosivexe5oOy3dP+l/cD5TkXC87g="; }; propagatedBuildInputs = [ From 99648914400685392377abc98f29a0a90a9b48c2 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Thu, 16 Feb 2023 17:17:32 +0100 Subject: [PATCH 106/128] nixos/doc: Add Developing the Test Driver --- .../developing-the-test-driver.chapter.md | 43 +++++++++++++++++++ nixos/doc/manual/development/development.md | 1 + 2 files changed, 44 insertions(+) create mode 100644 nixos/doc/manual/development/developing-the-test-driver.chapter.md diff --git a/nixos/doc/manual/development/developing-the-test-driver.chapter.md b/nixos/doc/manual/development/developing-the-test-driver.chapter.md new file mode 100644 index 000000000000..4b70fe00af47 --- /dev/null +++ b/nixos/doc/manual/development/developing-the-test-driver.chapter.md @@ -0,0 +1,43 @@ + +# Developing the NixOS Test Driver {#chap-developing-the-test-driver} + +The NixOS test framework is a project of its own. + +It consists of roughly the following components: + + - `nixos/lib/test-driver`: The Python framework that sets up the test and runs the [`testScript`](#test-opt-testScript) + - `nixos/lib/testing`: The Nix code responsible for the wiring, written using the (NixOS) Module System. + +These components are exposed publicly through: + + - `nixos/lib/default.nix`: The public interface that exposes the `nixos/lib/testing` entrypoint. + - `flake.nix`: Exposes the `lib.nixos`, including the public test interface. + +Beyond the test driver itself, its integration into NixOS and Nixpkgs is important. + + - `pkgs/top-level/all-packages.nix`: Defines the `nixosTests` attribute, used + by the package `tests` attributes and OfBorg. + - `nixos/release.nix`: Defines the `tests` attribute built by Hydra, independently, but analogous to `nixosTests` + - `nixos/release-combined.nix`: Defines which tests are channel blockers. + +Finally, we have legacy entrypoints that users should move away from, but are cared for on a best effort basis. +These include `pkgs.nixosTest`, `testing-python.nix` and `make-test-python.nix`. + +## Testing changes to the test framework {#sec-test-the-test-framework} + +When making significant changes to the test framework, we run the tests on Hydra, to avoid disrupting the larger NixOS project. + +For this, we use the `python-test-refactoring` branch in the `NixOS/nixpkgs` repository, and its [corresponding Hydra jobset](https://hydra.nixos.org/jobset/nixos/python-test-refactoring). +This branch is used as a pointer, and not as a feature branch. + +1. Rebase the PR onto a recent, good evaluation of `nixos-unstable` +2. Create a baseline evaluation by force-pushing this revision of `nixos-unstable` to `python-test-refactoring`. +3. Note the evaluation number (we'll call it ``) +4. Push the PR to `python-test-refactoring` and evaluate the PR on Hydra +5. Create a comparison URL by navigating to the latest build of the PR and adding to the URL `?compare=`. This is not necessary for the evaluation that comes right after the baseline. + +Review the removed tests and newly failed tests using the constructed URL; otherwise you will accidentally compare iterations of the PR instead of changes to the PR base. + +As we currently have some flaky tests, newly failing tests are expected, but should be reviewed to make sure that + - The number of failures did not increase significantly. + - All failures that do occur can reasonably be assumed to fail for a different reason than the changes. diff --git a/nixos/doc/manual/development/development.md b/nixos/doc/manual/development/development.md index 6a0dd091b129..76f405c3b29c 100644 --- a/nixos/doc/manual/development/development.md +++ b/nixos/doc/manual/development/development.md @@ -10,5 +10,6 @@ bootspec.chapter.md what-happens-during-a-system-switch.chapter.md writing-documentation.chapter.md nixos-tests.chapter.md +developing-the-test-driver.chapter.md testing-installer.chapter.md ``` From 427d0b71b6f788769320391cb779f6387d1ecd9c Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Fri, 17 Feb 2023 18:32:43 +0100 Subject: [PATCH 107/128] protonup-qt: Fix CI This change unblocks OfBorg. --- pkgs/applications/misc/protonup-qt/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/misc/protonup-qt/default.nix b/pkgs/applications/misc/protonup-qt/default.nix index 50cb5c9cd003..72997d1e09a3 100644 --- a/pkgs/applications/misc/protonup-qt/default.nix +++ b/pkgs/applications/misc/protonup-qt/default.nix @@ -28,6 +28,6 @@ appimageTools.wrapType2 rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; mainProgram = "protonup-qt"; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ quasigod-io ]; + maintainers = with maintainers; [ ]; }; } From 4817f6a7791e05684516ee494aac9bbb3311b77d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Feb 2023 18:51:39 +0100 Subject: [PATCH 108/128] python310Packages.slack-sdk: 3.19.5 -> 3.20.0 Diff: https://github.com/slackapi/python-slack-sdk/compare/refs/tags/v3.19.5...v3.20.0 Changelog: https://github.com/slackapi/python-slack-sdk/releases/tag/v3.20.0 --- pkgs/development/python-modules/slack-sdk/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/slack-sdk/default.nix b/pkgs/development/python-modules/slack-sdk/default.nix index 22901130ccd8..7114b7b16716 100644 --- a/pkgs/development/python-modules/slack-sdk/default.nix +++ b/pkgs/development/python-modules/slack-sdk/default.nix @@ -21,7 +21,7 @@ buildPythonPackage rec { pname = "slack-sdk"; - version = "3.19.5"; + version = "3.20.0"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -30,7 +30,7 @@ buildPythonPackage rec { owner = "slackapi"; repo = "python-slack-sdk"; rev = "refs/tags/v${version}"; - hash = "sha256-/DVcnfHjvmRreHSlZbzxz6pbqytEUdqbaGbQVxIW4Qk="; + hash = "sha256-NlUmoOlRV7h7d553uX2tAWi2aWCAqpHflSUrdZxlaws="; }; propagatedBuildInputs = [ From 9c6e67c969c8eefb634e0662a0b537ca955e2b43 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Feb 2023 18:53:48 +0100 Subject: [PATCH 109/128] python310Packages.pydeconz: 106 -> 107 Diff: https://github.com/Kane610/deconz/compare/refs/tags/v106...v107 --- pkgs/development/python-modules/pydeconz/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pydeconz/default.nix b/pkgs/development/python-modules/pydeconz/default.nix index 54b4b2ef1d8a..b242fce2242f 100644 --- a/pkgs/development/python-modules/pydeconz/default.nix +++ b/pkgs/development/python-modules/pydeconz/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "pydeconz"; - version = "106"; + version = "107"; format = "setuptools"; disabled = pythonOlder "3.9"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "Kane610"; repo = "deconz"; rev = "refs/tags/v${version}"; - hash = "sha256-13of5ohz/hezlmGvSNqCu9QoOPKdPPtrhQHbxmG2/Do="; + hash = "sha256-5NR+N2UoWvzD/y1kP08qOS2djMsLIwLDuaIBmt0AV/s="; }; propagatedBuildInputs = [ From 95cacec56613fb9eabdc7b934b5ff83b313ac8e6 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Feb 2023 18:56:51 +0100 Subject: [PATCH 110/128] python310Packages.pyfido: 2.1.1 -> 2.1.2 --- pkgs/development/python-modules/pyfido/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyfido/default.nix b/pkgs/development/python-modules/pyfido/default.nix index 43909e2c130f..a850030274c4 100644 --- a/pkgs/development/python-modules/pyfido/default.nix +++ b/pkgs/development/python-modules/pyfido/default.nix @@ -6,11 +6,11 @@ buildPythonPackage rec { pname = "pyfido"; - version = "2.1.1"; + version = "2.1.2"; src = fetchPypi { inherit pname version; - sha256 = "0b28bhyhscaw7dbc92dxswann05x8mz92cagyawdfm8jnc67gq4b"; + sha256 = "sha256-hh2g46GVCkiMHElEP6McY8FdzGNzZV7pgA5DQhodP20="; }; propagatedBuildInputs = [ aiohttp ]; From 7c3506e42bf3a58dacafa9a028bb425111e6c15e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Feb 2023 19:01:37 +0100 Subject: [PATCH 111/128] python310Packages.python-ipmi: 0.5.3 -> 0.5.4 Diff: https://github.com/kontron/python-ipmi/compare/0.5.3...0.5.4 --- pkgs/development/python-modules/python-ipmi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/python-ipmi/default.nix b/pkgs/development/python-modules/python-ipmi/default.nix index 9ee03dc8911c..68bcd7434d05 100644 --- a/pkgs/development/python-modules/python-ipmi/default.nix +++ b/pkgs/development/python-modules/python-ipmi/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "python-ipmi"; - version = "0.5.3"; + version = "0.5.4"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "kontron"; repo = pname; rev = version; - sha256 = "sha256-Y8HJ7MXYHJRUWPTcw8p+GGSFswuRI7u+/bIaJpKy7lY="; + sha256 = "sha256-IXEq3d1nXGEndciQw2MJ1Abc0vmEYez+k6aWGSWEzWA="; }; propagatedBuildInputs = [ From f5b1339601f9ae83f312f07219ef80cddcc968a5 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Feb 2023 19:04:38 +0100 Subject: [PATCH 112/128] python310Packages.griffe: 0.25.4 -> 0.25.5 Diff: https://github.com/mkdocstrings/griffe/compare/refs/tags/0.25.4...0.25.5 Changelog: https://github.com/mkdocstrings/griffe/blob/0.25.5/CHANGELOG.md --- pkgs/development/python-modules/griffe/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/griffe/default.nix b/pkgs/development/python-modules/griffe/default.nix index 692b2fe6d8e6..8dfabb097296 100644 --- a/pkgs/development/python-modules/griffe/default.nix +++ b/pkgs/development/python-modules/griffe/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "griffe"; - version = "0.25.4"; + version = "0.25.5"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "mkdocstrings"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-AZZhwHtVhdHkztzr/Hdi63VC5CjK2Vz8h8zizmSUdNY="; + hash = "sha256-0+n5v93ERcQDKNtXxSZYfCUMTRzcbtQEXl023KSxfrE="; }; postPatch = '' From 4c498fa0c15ceae8a2d828e60edc736d16f4e256 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Feb 2023 19:11:54 +0100 Subject: [PATCH 113/128] python310Packages.pydeconz: add changelog to meta --- pkgs/development/python-modules/pydeconz/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/pydeconz/default.nix b/pkgs/development/python-modules/pydeconz/default.nix index b242fce2242f..5a4532c598ef 100644 --- a/pkgs/development/python-modules/pydeconz/default.nix +++ b/pkgs/development/python-modules/pydeconz/default.nix @@ -43,6 +43,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python library wrapping the Deconz REST API"; homepage = "https://github.com/Kane610/deconz"; + changelog = "https://github.com/Kane610/deconz/releases/tag/v${version}"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; }; From 3d139e1130813f94ecc3a19856b12a3f029254b2 Mon Sep 17 00:00:00 2001 From: michaelBelsanti Date: Fri, 17 Feb 2023 13:22:58 -0500 Subject: [PATCH 114/128] protonup-qt: add michaelBelsanti as maintainer --- pkgs/applications/misc/protonup-qt/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/misc/protonup-qt/default.nix b/pkgs/applications/misc/protonup-qt/default.nix index 72997d1e09a3..0638a9d4efde 100644 --- a/pkgs/applications/misc/protonup-qt/default.nix +++ b/pkgs/applications/misc/protonup-qt/default.nix @@ -28,6 +28,6 @@ appimageTools.wrapType2 rec { sourceProvenance = with sourceTypes; [ binaryNativeCode ]; mainProgram = "protonup-qt"; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ michaelBelsanti ]; }; } From 668e973bd2d4d811d637f3c56caadac6f10099d2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Feb 2023 19:23:47 +0100 Subject: [PATCH 115/128] python310Packages.weconnect: 0.50.1 -> 0.52.0 --- pkgs/development/python-modules/weconnect/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/weconnect/default.nix b/pkgs/development/python-modules/weconnect/default.nix index db66c2e9b1c8..7a8c691a8011 100644 --- a/pkgs/development/python-modules/weconnect/default.nix +++ b/pkgs/development/python-modules/weconnect/default.nix @@ -12,16 +12,16 @@ buildPythonPackage rec { pname = "weconnect"; - version = "0.50.1"; + version = "0.52.0"; format = "setuptools"; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "tillsteinbach"; repo = "WeConnect-python"; rev = "refs/tags/v${version}"; - hash = "sha256-KYGNtUJXpY1UrRbUxr71EHxLCR6WixTAk+ybkfqB3Ps="; + hash = "sha256-SfdN/em4NrzNeItcaVuyOcUxmE50n5/jjmY4I5hfpQI="; }; propagatedBuildInputs = [ @@ -48,7 +48,7 @@ buildPythonPackage rec { --replace "setup_requires=SETUP_REQUIRED," "setup_requires=[]," \ --replace "tests_require=TEST_REQUIRED," "tests_require=[]," substituteInPlace image_extra_requirements.txt \ - --replace "pillow~=9.3.0" "pillow" + --replace "pillow~=9.4.0" "pillow" substituteInPlace pytest.ini \ --replace "--cov=weconnect --cov-config=.coveragerc --cov-report html" "" \ --replace "pytest-cov" "" From e7d380acc074547332ae15b0ce5f6e47cb86b87d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Feb 2023 19:25:06 +0100 Subject: [PATCH 116/128] python310Packages.weconnect-mqtt: 0.41.1 -> 0.42.0 Diff: https://github.com/tillsteinbach/WeConnect-mqtt/compare/refs/tags/v0.41.1...v0.42.0 Changelog: https://github.com/tillsteinbach/WeConnect-mqtt/releases/tag/v0.42.0 --- pkgs/development/python-modules/weconnect-mqtt/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/weconnect-mqtt/default.nix b/pkgs/development/python-modules/weconnect-mqtt/default.nix index 4f6a8b00d213..7e7517980151 100644 --- a/pkgs/development/python-modules/weconnect-mqtt/default.nix +++ b/pkgs/development/python-modules/weconnect-mqtt/default.nix @@ -10,16 +10,16 @@ buildPythonPackage rec { pname = "weconnect-mqtt"; - version = "0.41.1"; + version = "0.42.0"; format = "setuptools"; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "tillsteinbach"; repo = "WeConnect-mqtt"; rev = "refs/tags/v${version}"; - hash = "sha256-RYxfz5uBWV1HLbcIK1N/glJv2w0nfPLBPyM2b7HuDIY="; + hash = "sha256-jxfV2RDyGLugnPae+uNtg/GBsWbKCSbKxuHll10guhU="; }; propagatedBuildInputs = [ From db6118df654ee75e60b12e23da6c31ca0ffebefc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?PedroHLC=20=E2=98=AD?= Date: Fri, 17 Feb 2023 14:11:55 -0300 Subject: [PATCH 117/128] libdisplay-info: adequate patch phase --- pkgs/development/libraries/libdisplay-info/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/libdisplay-info/default.nix b/pkgs/development/libraries/libdisplay-info/default.nix index a83aa299b0bc..fa499a001464 100644 --- a/pkgs/development/libraries/libdisplay-info/default.nix +++ b/pkgs/development/libraries/libdisplay-info/default.nix @@ -25,10 +25,8 @@ stdenv.mkDerivation rec { buildInputs = [ hwdata ]; - prePatch = '' - substituteInPlace meson.build \ - --replace "find_program('tool/gen-search-table.py')" "find_program('python3')" \ - --replace "gen_search_table," "gen_search_table, '$src/tool/gen-search-table.py'," + postPatch = '' + patchShebangs tool/gen-search-table.py ''; meta = with lib; { From bb641291755ca289e703b638a88ed2c2ea65f37d Mon Sep 17 00:00:00 2001 From: Philipp Schuster Date: Fri, 17 Feb 2023 21:59:40 +0100 Subject: [PATCH 118/128] ansi: fix typo --- pkgs/development/tools/ansi/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/ansi/default.nix b/pkgs/development/tools/ansi/default.nix index 305b29aef6f9..13794dee2e15 100644 --- a/pkgs/development/tools/ansi/default.nix +++ b/pkgs/development/tools/ansi/default.nix @@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec { description = "Quickly get ANSI escape sequences"; longDescription = '' CLI utility called "ansi" to quickly get ANSI escape sequences. Supports - the colors and styles, such as bold or italic."; + the colors and styles, such as bold or italic. ''; homepage = "https://github.com/phip1611/ansi-escape-sequences-cli"; license = with licenses; [ mit ]; From f34917b128d005fff727867969003ad7e7aace00 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Sat, 18 Feb 2023 00:08:49 +0800 Subject: [PATCH 119/128] nixos/kanata: do not use path activation Since 1.2.0, kanata handles missing keyboards well: - only one keyboard need to be present when kanata starts; - if linux-continue-if-no-devs-found is set to yes, all keyboards can be missing at the beginning; - all keyboards can be (un)pluged when kanata is running. For simplicity, linux-continue-if-no-devs-found is set to yes and systemd patch activation is removed. --- nixos/modules/services/hardware/kanata.nix | 67 ++++------------------ 1 file changed, 11 insertions(+), 56 deletions(-) diff --git a/nixos/modules/services/hardware/kanata.nix b/nixos/modules/services/hardware/kanata.nix index 84265eb8f947..958eb8e402e1 100644 --- a/nixos/modules/services/hardware/kanata.nix +++ b/nixos/modules/services/hardware/kanata.nix @@ -11,16 +11,7 @@ let type = types.addCheck (types.listOf types.str) (devices: (length devices) > 0); example = [ "/dev/input/by-id/usb-0000_0000-event-kbd" ]; - # TODO replace note with tip, which has not been implemented yet in - # nixos/lib/make-options-doc/mergeJSON.py - description = mdDoc '' - Paths to keyboard devices. - - ::: {.note} - To avoid unnecessary triggers of the service unit, unplug devices in - the order of the list. - ::: - ''; + description = mdDoc "Paths to keyboard devices."; }; config = mkOption { type = types.lines; @@ -53,8 +44,12 @@ let default = ""; example = "danger-enable-cmd yes"; description = mdDoc '' - Configuration of `defcfg` other than `linux-dev`. See [example - config files](https://github.com/jtroo/kanata) for more information. + Configuration of `defcfg` other than `linux-dev` (generated + from the devices option) and + `linux-continue-if-no-devs-found` (hardcoded to be yes). + + See [example config files](https://github.com/jtroo/kanata) + for more information. ''; }; extraArgs = mkOption { @@ -81,20 +76,14 @@ let mkConfig = name: keyboard: pkgs.writeText "${mkName name}-config.kdb" '' (defcfg ${keyboard.extraDefCfg} - linux-dev ${mkDevices keyboard.devices}) + linux-dev ${mkDevices keyboard.devices} + linux-continue-if-no-devs-found yes) ${keyboard.config} ''; mkService = name: keyboard: nameValuePair (mkName name) { - description = "kanata for ${mkDevices keyboard.devices}"; - - # Because path units are used to activate service units, which - # will start the old stopped services during "nixos-rebuild - # switch", stopIfChanged here is a workaround to make sure new - # services are running after "nixos-rebuild switch". - stopIfChanged = false; - + wantedBy = [ "multi-user.target" ]; serviceConfig = { ExecStart = '' ${cfg.package}/bin/kanata \ @@ -146,33 +135,6 @@ let UMask = "0077"; }; }; - - mkPathName = i: name: "${mkName name}-${toString i}"; - - mkPath = name: n: i: device: - nameValuePair (mkPathName i name) { - description = - "${toString (i+1)}/${toString n} kanata trigger for ${name}, watching ${device}"; - wantedBy = optional (i == 0) "multi-user.target"; - pathConfig = { - PathExists = device; - # (ab)use systemd.path to construct a trigger chain so that the - # service unit is only started when all paths exist - # however, manual of systemd.path says Unit's suffix is not ".path" - Unit = - if (i + 1) == n - then "${mkName name}.service" - else "${mkPathName (i + 1) name}.path"; - }; - unitConfig.StopPropagatedFrom = optional (i > 0) "${mkName name}.service"; - }; - - mkPaths = name: keyboard: - let - n = length keyboard.devices; - in - imap0 (mkPath name n) keyboard.devices - ; in { options.services.kanata = { @@ -201,14 +163,7 @@ in config = mkIf cfg.enable { hardware.uinput.enable = true; - systemd = { - paths = trivial.pipe cfg.keyboards [ - (mapAttrsToList mkPaths) - concatLists - listToAttrs - ]; - services = mapAttrs' mkService cfg.keyboards; - }; + systemd.services = mapAttrs' mkService cfg.keyboards; }; meta.maintainers = with maintainers; [ linj ]; From 46122183b5bcda762d3df29523a9e941a72c7d5a Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Sat, 18 Feb 2023 00:24:05 +0800 Subject: [PATCH 120/128] nixos/kanata: remove a limit that number of devices cannot be 0 Since 1.0.8, kanata can automatically detect keyboard devices if linux-dev is not in config. --- nixos/modules/services/hardware/kanata.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/hardware/kanata.nix b/nixos/modules/services/hardware/kanata.nix index 958eb8e402e1..e1f00b7b2eb1 100644 --- a/nixos/modules/services/hardware/kanata.nix +++ b/nixos/modules/services/hardware/kanata.nix @@ -8,8 +8,7 @@ let keyboard = { options = { devices = mkOption { - type = types.addCheck (types.listOf types.str) - (devices: (length devices) > 0); + type = types.listOf types.str; example = [ "/dev/input/by-id/usb-0000_0000-event-kbd" ]; description = mdDoc "Paths to keyboard devices."; }; @@ -71,12 +70,13 @@ let mkName = name: "kanata-${name}"; - mkDevices = devices: concatStringsSep ":" devices; + mkDevices = devices: + optionalString ((length devices) > 0) "linux-dev ${concatStringsSep ":" devices}"; mkConfig = name: keyboard: pkgs.writeText "${mkName name}-config.kdb" '' (defcfg ${keyboard.extraDefCfg} - linux-dev ${mkDevices keyboard.devices} + ${mkDevices keyboard.devices} linux-continue-if-no-devs-found yes) ${keyboard.config} From 405919c6c9eafd5efab75910acddb4f757d9d51c Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Sat, 18 Feb 2023 00:27:54 +0800 Subject: [PATCH 121/128] nixos/kanata: misc improvements - simplify some descriptions - use getExe instead of hardcoding a binary path - remove a unneeded "lib." --- nixos/modules/services/hardware/kanata.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/nixos/modules/services/hardware/kanata.nix b/nixos/modules/services/hardware/kanata.nix index e1f00b7b2eb1..bb730037277b 100644 --- a/nixos/modules/services/hardware/kanata.nix +++ b/nixos/modules/services/hardware/kanata.nix @@ -34,8 +34,10 @@ let cap (tap-hold 100 100 caps lctl)) ''; description = mdDoc '' - Configuration other than `defcfg`. See [example config - files](https://github.com/jtroo/kanata) for more information. + Configuration other than `defcfg`. + + See [example config files](https://github.com/jtroo/kanata) + for more information. ''; }; extraDefCfg = mkOption { @@ -61,8 +63,7 @@ let default = null; example = 6666; description = mdDoc '' - Port to run the notification server on. `null` will not run the - server. + Port to run the TCP server on. `null` will not run the server. ''; }; }; @@ -86,7 +87,7 @@ let wantedBy = [ "multi-user.target" ]; serviceConfig = { ExecStart = '' - ${cfg.package}/bin/kanata \ + ${getExe cfg.package} \ --cfg ${mkConfig name keyboard} \ --symlink-path ''${RUNTIME_DIRECTORY}/${name} \ ${optionalString (keyboard.port != null) "--port ${toString keyboard.port}"} \ @@ -138,7 +139,7 @@ let in { options.services.kanata = { - enable = mkEnableOption (lib.mdDoc "kanata"); + enable = mkEnableOption (mdDoc "kanata"); package = mkOption { type = types.package; default = pkgs.kanata; From 0614908d626863e8547d5346cfff416c866938f5 Mon Sep 17 00:00:00 2001 From: 3JlOy_PYCCKUI <3jl0y_pycckui@riseup.net> Date: Sun, 8 Jan 2023 08:00:55 +0300 Subject: [PATCH 122/128] paperview: init at unstable-2020-09-22 --- pkgs/tools/X11/paperview/default.nix | 35 ++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 37 insertions(+) create mode 100644 pkgs/tools/X11/paperview/default.nix diff --git a/pkgs/tools/X11/paperview/default.nix b/pkgs/tools/X11/paperview/default.nix new file mode 100644 index 000000000000..790eaed53ab5 --- /dev/null +++ b/pkgs/tools/X11/paperview/default.nix @@ -0,0 +1,35 @@ +{ lib +, stdenv +, fetchFromGitHub +, libX11 +, SDL2 +}: + +stdenv.mkDerivation rec { + pname = "paperview"; + version = "unstable-2020-09-22"; + + src = fetchFromGitHub { + owner = "glouw"; + repo = "paperview"; + rev = "40162fb76566fec8163c338c169c2fcd9df6ef42"; + hash = "sha256-rvf89vMIT274+Hva+N4KFu1iT2XE6fq5Bi4kOQg2M0g="; + }; + + buildInputs = [ + SDL2 + libX11 + ]; + + makeFlags = [ + "PREFIX=${placeholder "out"}" + ]; + + meta = with lib; { + description = "A high performance X11 animated wallpaper setter"; + homepage = "https://github.com/glouw/paperview"; + platforms = platforms.linux; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ _3JlOy-PYCCKUi ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c8d00d31611a..e193c92e79c3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1435,6 +1435,8 @@ with pkgs; ocs-url = libsForQt5.callPackage ../tools/misc/ocs-url { }; + paperview = callPackage ../tools/X11/paperview { }; + pferd = callPackage ../tools/misc/pferd {}; proycon-wayout = callPackage ../tools/wayland/proycon-wayout {}; From 13ff144c70351811141067d6e77b599e146e44b2 Mon Sep 17 00:00:00 2001 From: Jonas Heinrich Date: Thu, 16 Feb 2023 22:47:11 +0100 Subject: [PATCH 123/128] nixos/maddy: Add option ensureAccounts --- nixos/modules/services/mail/maddy.nix | 51 +++++++++++++++++++++++---- nixos/tests/maddy.nix | 2 +- 2 files changed, 45 insertions(+), 8 deletions(-) diff --git a/nixos/modules/services/mail/maddy.nix b/nixos/modules/services/mail/maddy.nix index eeb113e204c6..5f3a9b56292d 100644 --- a/nixos/modules/services/mail/maddy.nix +++ b/nixos/modules/services/mail/maddy.nix @@ -223,22 +223,59 @@ in { ''; }; + ensureAccounts = mkOption { + type = types.listOf types.str; + default = []; + description = lib.mdDoc '' + List of IMAP accounts which get automatically created. Note that for + a complete setup, user credentials for these accounts are required too + and can be created using the command `maddyctl creds`. + This option does not delete accounts which are not (anymore) listed. + ''; + example = [ + "user1@localhost" + "user2@localhost" + ]; + }; + }; }; config = mkIf cfg.enable { systemd = { + packages = [ pkgs.maddy ]; - services.maddy = { - serviceConfig = { - User = cfg.user; - Group = cfg.group; - StateDirectory = [ "maddy" ]; + services = { + maddy = { + serviceConfig = { + User = cfg.user; + Group = cfg.group; + StateDirectory = [ "maddy" ]; + }; + restartTriggers = [ config.environment.etc."maddy/maddy.conf".source ]; + wantedBy = [ "multi-user.target" ]; }; - restartTriggers = [ config.environment.etc."maddy/maddy.conf".source ]; - wantedBy = [ "multi-user.target" ]; + maddy-ensure-accounts = { + script = '' + ${optionalString (cfg.ensureAccounts != []) '' + ${concatMapStrings (account: '' + if ! ${pkgs.maddy}/bin/maddyctl imap-acct list | grep "${account}"; then + ${pkgs.maddy}/bin/maddyctl imap-acct create ${account} + fi + '') cfg.ensureAccounts} + ''} + ''; + serviceConfig = { + Type = "oneshot"; + User= "maddy"; + }; + after = [ "maddy.service" ]; + wantedBy = [ "multi-user.target" ]; + }; + }; + }; environment.etc."maddy/maddy.conf" = { diff --git a/nixos/tests/maddy.nix b/nixos/tests/maddy.nix index b9d0416482da..800d254f1770 100644 --- a/nixos/tests/maddy.nix +++ b/nixos/tests/maddy.nix @@ -9,6 +9,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { hostname = "server"; primaryDomain = "server"; openFirewall = true; + ensureAccounts = [ "postmaster@server" ]; }; }; @@ -50,7 +51,6 @@ import ./make-test-python.nix ({ pkgs, ... }: { server.wait_for_open_port(587) server.succeed("maddyctl creds create --password test postmaster@server") - server.succeed("maddyctl imap-acct create postmaster@server") client.succeed("send-testmail") client.succeed("test-imap") From 2ea8b001f6ba09cc6eb9a30f4e117cbc3ec5afe2 Mon Sep 17 00:00:00 2001 From: superherointj <5861043+superherointj@users.noreply.github.com> Date: Fri, 17 Feb 2023 12:35:51 -0300 Subject: [PATCH 124/128] beam/fetch-mix-deps: replace mixEnv with MIX_ENV Currently, when fetchMixDeps is executed without mixEnv argument. "mixEnv" envvar is empty at installPhase, instead of having value "prod". This happens because optional attrs values are not included in @attrs variable. Thrus being necessary to replace mixEnv for MIX_ENV, which holds value "prod". Reference: https://github.com/NixOS/nixpkgs/pull/216214#issuecomment-1434737238 --- pkgs/development/beam-modules/fetch-mix-deps.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/beam-modules/fetch-mix-deps.nix b/pkgs/development/beam-modules/fetch-mix-deps.nix index 2bba3a93c294..6d047dbe1ca5 100644 --- a/pkgs/development/beam-modules/fetch-mix-deps.nix +++ b/pkgs/development/beam-modules/fetch-mix-deps.nix @@ -45,7 +45,7 @@ stdenvNoCC.mkDerivation (attrs // { installPhase = attrs.installPhase or '' runHook preInstall - mix deps.get ''${mixEnv:+--only $mixEnv} + mix deps.get ''${MIX_ENV:+--only $MIX_ENV} find "$TEMPDIR/deps" -path '*/.git/*' -a ! -name HEAD -exec rm -rf {} + cp -r --no-preserve=mode,ownership,timestamps $TEMPDIR/deps $out runHook postInstall From fe4364f503f6072c5ffb8a4b1670064b5227932e Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Thu, 16 Feb 2023 07:50:16 +1000 Subject: [PATCH 125/128] nomad_1_2: 1.2.15 -> 1.2.16 https://github.com/hashicorp/nomad/releases/tag/v1.2.16 --- pkgs/applications/networking/cluster/nomad/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/networking/cluster/nomad/default.nix b/pkgs/applications/networking/cluster/nomad/default.nix index faec09480774..997fe6ed06c7 100644 --- a/pkgs/applications/networking/cluster/nomad/default.nix +++ b/pkgs/applications/networking/cluster/nomad/default.nix @@ -1,6 +1,7 @@ { lib , buildGoModule , buildGo119Module +, buildGo120Module , fetchFromGitHub , nixosTests }: @@ -47,10 +48,10 @@ rec { nomad = nomad_1_4; nomad_1_2 = generic { - buildGoModule = buildGo119Module; - version = "1.2.15"; - sha256 = "sha256-p9yRjSapQAhuHv+slUmYI25bUb1N1A7LBiJOdk1++iI="; - vendorSha256 = "sha256-6d3tE337zVAIkzQzAnV2Ya5xwwhuzmKgtPUJcJ9HRto="; + buildGoModule = buildGo120Module; + version = "1.2.16"; + sha256 = "sha256-fhfUpcG91EgIzJ4mCS7geyIJyTSHS2e8t4yYiI3PqpQ="; + vendorSha256 = "sha256-kwCDsGFw+25Mimgt/cTK/Z2H7Qh5n4rjr3kIBvjcPL8="; }; nomad_1_3 = generic { From 5618484d80adaa550b7a6853d3d66e5e2474bbfd Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Thu, 16 Feb 2023 07:50:42 +1000 Subject: [PATCH 126/128] nomad_1_3: 1.3.8 -> 1.3.9 https://github.com/hashicorp/nomad/releases/tag/v1.3.9 --- pkgs/applications/networking/cluster/nomad/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/networking/cluster/nomad/default.nix b/pkgs/applications/networking/cluster/nomad/default.nix index 997fe6ed06c7..47dc5a7dc128 100644 --- a/pkgs/applications/networking/cluster/nomad/default.nix +++ b/pkgs/applications/networking/cluster/nomad/default.nix @@ -55,10 +55,10 @@ rec { }; nomad_1_3 = generic { - buildGoModule = buildGo119Module; - version = "1.3.8"; - sha256 = "sha256-hUmDWgGV8HAXew8SpcbhaiaF9VfBN5mk1W7t5lhnZ9I="; - vendorSha256 = "sha256-IfYobyDFriOldJnNfRK0QVKBfttoZZ1iOkt4cBQxd00="; + buildGoModule = buildGo120Module; + version = "1.3.9"; + sha256 = "sha256-xfoIzLDG/OfqAPQqeLvQZ11uESWFNyOyLP6Imi+S96w="; + vendorSha256 = "sha256-kW0goicoM1lM1NEHPTfozg2EKR1daf33UxT/mVabyfY="; }; nomad_1_4 = generic { From 270de46da665638e4b3769e67eef0f0e9ecfa398 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Thu, 16 Feb 2023 07:52:20 +1000 Subject: [PATCH 127/128] nomad_1_4: 1.4.3 -> 1.4.4 https://github.com/hashicorp/nomad/releases/tag/v1.4.4 --- pkgs/applications/networking/cluster/nomad/default.nix | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/networking/cluster/nomad/default.nix b/pkgs/applications/networking/cluster/nomad/default.nix index 47dc5a7dc128..ba7f86e9e7d6 100644 --- a/pkgs/applications/networking/cluster/nomad/default.nix +++ b/pkgs/applications/networking/cluster/nomad/default.nix @@ -1,6 +1,5 @@ { lib , buildGoModule -, buildGo119Module , buildGo120Module , fetchFromGitHub , nixosTests @@ -62,10 +61,10 @@ rec { }; nomad_1_4 = generic { - buildGoModule = buildGo119Module; - version = "1.4.3"; - sha256 = "sha256-GQVfrn9VlzfdIj73W3hBpHcevsXZcb6Uj808HUCZUUg="; - vendorSha256 = "sha256-JQRpsQhq5r/QcgFwtnptmvnjBEhdCFrXFrTKkJioL3A="; + buildGoModule = buildGo120Module; + version = "1.4.4"; + sha256 = "sha256-mAimuWolTJ3lMY/ArnLZFu+GZv9ADdGsriXsTcEgdYc="; + vendorSha256 = "sha256-QtP7pzsIBd2S79AUcbOeVG71Mb5qK706rq5DkT41VqM="; passthru.tests.nomad = nixosTests.nomad; }; } From 5759ce6ce0709cb218faa79bc6091535c3af7d42 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Feb 2023 23:08:40 +0000 Subject: [PATCH 128/128] python310Packages.ha-philipsjs: 3.0.0 -> 3.0.1 --- pkgs/development/python-modules/ha-philipsjs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/ha-philipsjs/default.nix b/pkgs/development/python-modules/ha-philipsjs/default.nix index 3d8ff39af14b..4b8b02e91209 100644 --- a/pkgs/development/python-modules/ha-philipsjs/default.nix +++ b/pkgs/development/python-modules/ha-philipsjs/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "ha-philipsjs"; - version = "3.0.0"; + version = "3.0.1"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "danielperna84"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-iJxu+TdgDHMnLuNTFj0UC8V76x3nAgGqswMLDSgmDmQ="; + hash = "sha256-5SneI1aZiUyLGYmtRXJYPBUtQR08fV+MWkjIQXt208s="; }; propagatedBuildInputs = [