From 70093e0f2c7cb6baead81f0cb24a3c981ad4789d Mon Sep 17 00:00:00 2001 From: Cale Black Date: Thu, 25 Jan 2024 09:59:39 -0700 Subject: [PATCH 01/89] maintainers: add poptart --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 6b242a475ed2..5fa778d76f5f 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -14990,6 +14990,12 @@ githubId = 4201956; name = "pongo1231"; }; + poptart = { + email = "poptart@hosakacorp.net"; + github = "terrorbyte"; + githubId = 1601039; + name = "Cale Black"; + }; portothree = { name = "Gustavo Porto"; email = "gus@p8s.co"; From ad61414046a27d108cd4e2398bc411903f42aeb4 Mon Sep 17 00:00:00 2001 From: Cale Black Date: Thu, 25 Jan 2024 10:02:33 -0700 Subject: [PATCH 02/89] go-bare: init at 2021-04-06 --- pkgs/by-name/go/go-bare/package.nix | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 pkgs/by-name/go/go-bare/package.nix diff --git a/pkgs/by-name/go/go-bare/package.nix b/pkgs/by-name/go/go-bare/package.nix new file mode 100644 index 000000000000..0fd076c580ce --- /dev/null +++ b/pkgs/by-name/go/go-bare/package.nix @@ -0,0 +1,25 @@ +{ buildGoModule, fetchFromSourcehut, lib }: + +buildGoModule rec { + pname = "go-bare"; + version = "0-unstable-2021-04-06"; + + src = fetchFromSourcehut { + owner = "~sircmpwn"; + repo = "go-bare"; + rev = "ab86bc2846d997bc8760fdb0d06d4a55e746b1db"; + hash = "sha256-SKTYDKidB1Ia3Jg4EBg5rPAtqlXAa19RY5qieS82A34="; + }; + + vendorHash = "sha256-OhJb/q1XJ/U/AvCcCXw2Ll86UKlkHGuURHS5J6aXNTs="; + + subPackages = [ "cmd/gen" ]; + + meta = with lib; { + description = "An implementation of the BARE message format for Go"; + mainProgram = "gen"; + homepage = "https://git.sr.ht/~sircmpwn/go-bare"; + license = licenses.asl20; + maintainers = with maintainers; [ poptart ]; + }; +} From 6cf1820d4d288b1434f5ae5efe289f48bd191dd6 Mon Sep 17 00:00:00 2001 From: Someone Serge Date: Wed, 13 Mar 2024 17:25:29 +0000 Subject: [PATCH 03/89] python3Packages.numba: unbreak cuda Dont use the cuda runfile; unbreak CDLL on NixOS; add a passthru "tester" script for cuda; do not *propagate* the cuda thrash! --- .../python-modules/numba/default.nix | 44 ++++++++++++------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/pkgs/development/python-modules/numba/default.nix b/pkgs/development/python-modules/numba/default.nix index ad72dca6cf51..ecc987156fc1 100644 --- a/pkgs/development/python-modules/numba/default.nix +++ b/pkgs/development/python-modules/numba/default.nix @@ -12,19 +12,23 @@ , importlib-metadata , substituteAll , runCommand +, symlinkJoin +, writers +, numba , config # CUDA-only dependencies: -, addOpenGLRunpath ? null -, cudaPackages ? {} +, addDriverRunpath +, autoAddDriverRunpath ? cudaPackages.autoAddDriverRunpathHook or cudaPackages.autoAddOpenGLRunpathHook +, cudaPackages # CUDA flags: , cudaSupport ? config.cudaSupport }: let - inherit (cudaPackages) cudatoolkit; + cudatoolkit = cudaPackages.cuda_nvcc; in buildPythonPackage rec { # Using an untagged version, with numpy 1.25 support, when it's released # also drop the versioneer patch in postPatch @@ -52,12 +56,25 @@ in buildPythonPackage rec { # relevant strings ourselves, using `sed` commands, in extraPostFetch. hash = "sha256-wd4TujPhV2Jy/HUUXLHAlcbVFm4gfQNWxWFXD+jeZC4="; }; + + postPatch = '' + substituteInPlace numba/cuda/cudadrv/driver.py \ + --replace-fail \ + "dldir = [" \ + "dldir = [ '${addDriverRunpath.driverLink}/lib', " + ''; + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I${lib.getDev libcxx}/include/c++/v1"; nativeBuildInputs = [ numpy ] ++ lib.optionals cudaSupport [ - addOpenGLRunpath + autoAddDriverRunpath + cudaPackages.cuda_nvcc + ]; + + buildInputs = with cudaPackages; [ + cuda_cudart ]; propagatedBuildInputs = [ @@ -66,26 +83,16 @@ in buildPythonPackage rec { setuptools ] ++ lib.optionals (pythonOlder "3.9") [ importlib-metadata - ] ++ lib.optionals cudaSupport [ - cudatoolkit - cudatoolkit.lib ]; patches = lib.optionals cudaSupport [ (substituteAll { src = ./cuda_path.patch; cuda_toolkit_path = cudatoolkit; - cuda_toolkit_lib_path = cudatoolkit.lib; + cuda_toolkit_lib_path = lib.getLib cudatoolkit; }) ]; - postFixup = lib.optionalString cudaSupport '' - find $out -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do - addOpenGLRunpath "$lib" - patchelf --set-rpath "${cudatoolkit}/lib:${cudatoolkit.lib}/lib:$(patchelf --print-rpath "$lib")" "$lib" - done - ''; - # run a smoke test in a temporary directory so that # a) Python picks up the installed library in $out instead of the build files # b) we have somewhere to put $HOME so some caching tests work @@ -104,6 +111,13 @@ in buildPythonPackage rec { "numba" ]; + passthru.testers.cuda-detect = + writers.writePython3Bin "numba-cuda-detect" + { libraries = [ (numba.override { cudaSupport = true; }) ]; } + '' + from numba import cuda + cuda.detect() + ''; passthru.tests = { # CONTRIBUTOR NOTE: numba also contains CUDA tests, though these cannot be run in # this sandbox environment. Consider running similar commands to those below outside the From e6a5b5f924091c4d52d2921de4291f8108acc07c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 24 Mar 2024 16:32:57 +0100 Subject: [PATCH 04/89] kubescape: 2.9.1 -> 3.0.7 --- pkgs/tools/security/kubescape/default.nix | 44 ++++++++++++----------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/pkgs/tools/security/kubescape/default.nix b/pkgs/tools/security/kubescape/default.nix index c6fb92044cdc..3141a22bbf04 100644 --- a/pkgs/tools/security/kubescape/default.nix +++ b/pkgs/tools/security/kubescape/default.nix @@ -1,6 +1,7 @@ { lib , buildGoModule , fetchFromGitHub +, git , installShellFiles , kubescape , testers @@ -8,52 +9,55 @@ buildGoModule rec { pname = "kubescape"; - version = "2.9.1"; + version = "3.0.7"; src = fetchFromGitHub { owner = "kubescape"; - repo = pname; + repo = "kubescape"; rev = "refs/tags/v${version}"; - hash = "sha256-FKWR3pxFtJBEa14Mn3RKsLvrliHaj6TuF4F2JLtw2qA="; + hash = "sha256-eQIP03UOUykb68u/LnvWwAs1pqm71bUH+/la5y+3ewU="; fetchSubmodules = true; }; - vendorHash = "sha256-zcv8oYm6srwkwT3pUECtTewyqVVpCIcs3i0VRTRft68="; + vendorHash = "sha256-Jz7CorEPKpgfhjf/jc1/dOWJ6pwxwG68cp8rzpZGpFs="; + + subPackages = [ + "." + ]; nativeBuildInputs = [ installShellFiles ]; + nativeCheckInputs = [ + git + ]; + ldflags = [ "-s" "-w" - "-X=github.com/kubescape/kubescape/v2/core/cautils.BuildNumber=v${version}" + "-X=github.com/kubescape/kubescape/v3/core/cautils.BuildNumber=v${version}" ]; - subPackages = [ "." ]; - preCheck = '' - # Feed in all but the integration tests for testing - # This is because subPackages above limits what is built to just what we - # want but also limits the tests - # Skip httphandler tests - the checkPhase doesn't care about excludedPackages - getGoDirs() { - go list ./... | grep -v httphandler - } + export HOME=$(mktemp -d) - # remove tests that use networking + # Remove tests that use networking rm core/pkg/resourcehandler/urlloader_test.go rm core/pkg/opaprocessor/*_test.go rm core/cautils/getter/downloadreleasedpolicy_test.go + rm core/core/initutils_test.go + rm core/core/list_test.go + rm core/pkg/resourcehandler/remotegitutils_test.go - # remove tests that use networking + # Remove tests that use networking substituteInPlace core/pkg/resourcehandler/repositoryscanner_test.go \ - --replace "TestScanRepository" "SkipScanRepository" \ - --replace "TestGit" "SkipGit" + --replace-fail "TestScanRepository" "SkipScanRepository" \ + --replace-fail "TestGit" "SkipGit" - # remove test that requires networking + # Remove test that requires networking substituteInPlace core/cautils/scaninfo_test.go \ - --replace "TestSetContextMetadata" "SkipSetContextMetadata" + --replace-fail "TestSetContextMetadata" "SkipSetContextMetadata" ''; postInstall = '' From 72f2352214dc0c4621b3559c9d15dfdda782218a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 Mar 2024 09:29:23 +0000 Subject: [PATCH 05/89] poco: 1.12.5p2 -> 1.13.2 --- pkgs/development/libraries/poco/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/poco/default.nix b/pkgs/development/libraries/poco/default.nix index 2358d19240a2..029767aaa608 100644 --- a/pkgs/development/libraries/poco/default.nix +++ b/pkgs/development/libraries/poco/default.nix @@ -3,12 +3,12 @@ stdenv.mkDerivation rec { pname = "poco"; - version = "1.12.5p2"; + version = "1.13.2"; src = fetchFromGitHub { owner = "pocoproject"; repo = "poco"; - sha256 = "sha256-UAseNOC9n+OooDl4E67qcndJ02fAgmp2d8Ii/IyPvhg="; + sha256 = "sha256-GcwkGiui9j9RzMQyEEmqq8dxWzKpv5xWxJgvJpSMdbw="; rev = "poco-${version}-release"; }; From 0a8bbd48dcb79fff66c47669b7f00d540130a4eb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 26 Mar 2024 12:49:33 +0000 Subject: [PATCH 06/89] bee: 1.18.2 -> 2.0.0 --- pkgs/applications/networking/bee/bee.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/bee/bee.nix b/pkgs/applications/networking/bee/bee.nix index cca2e549c8b1..9fd7752b2c2e 100644 --- a/pkgs/applications/networking/bee/bee.nix +++ b/pkgs/applications/networking/bee/bee.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "bee"; - version = "1.18.2"; + version = "2.0.0"; src = fetchFromGitHub { owner = "ethersphere"; repo = "bee"; rev = "v${version}"; - sha256 = "sha256-LUOKF1073GmQWG2q4w0cTErSHw7ok5N6PQZ45xpjYx4="; + sha256 = "sha256-gZDmFufk/zBftQe7Ju4rDpZqw0hm2nf9YQg1Oa8540s="; }; - vendorHash = "sha256-UdsF/otjXqS1NY3PkCimRiD93hGntHG3Xhw6avFtHog="; + vendorHash = "sha256-GpazHMQ8xZ6P7mADvsG3bXxDxEWnCJRIsBwDnL/McZA="; subPackages = [ "cmd/bee" ]; From d3112aaaa0b10609f226e4a584fcdb81661a2e84 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Mon, 25 Mar 2024 21:46:45 +0000 Subject: [PATCH 07/89] litebrowser: unstable-2022-10-31 -> unstable-2024-02-25 --- .../networking/browsers/litebrowser/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/browsers/litebrowser/default.nix b/pkgs/applications/networking/browsers/litebrowser/default.nix index d1ffce7e6e5e..0c2c2b2e9b3c 100644 --- a/pkgs/applications/networking/browsers/litebrowser/default.nix +++ b/pkgs/applications/networking/browsers/litebrowser/default.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation { pname = "litebrowser"; - version = "unstable-2022-10-31"; + version = "unstable-2024-02-25"; src = fetchFromGitHub { owner = "litehtml"; repo = "litebrowser-linux"; - rev = "4654f8fb2d5e2deba7ac6223b6639341bd3b7eba"; - hash = "sha256-SvW1AOxLBLKqa+/2u2Zn+/t33ZzQHmqlcLRl6z0rK9U="; + rev = "8130cf50af90e07d201d43b934b5a57f7ed4e68d"; + hash = "sha256-L/pd4VypDfjLKfh+HLpc4um+POWGzGa4OOttudwJxyk="; fetchSubmodules = true; # litehtml submodule }; @@ -46,6 +46,7 @@ stdenv.mkDerivation { ''; meta = with lib; { + broken = stdenv.cc.isClang; # https://github.com/litehtml/litebrowser-linux/issues/19 description = "A simple browser based on the litehtml engine"; mainProgram = "litebrowser"; homepage = "https://github.com/litehtml/litebrowser-linux"; From 404317c27011331e16f071d1ae62ea662d5b3cf0 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Mon, 25 Mar 2024 22:07:55 +0000 Subject: [PATCH 08/89] sanjuuni: add patch to build with c++17 fixing build with poco 0.13 --- pkgs/tools/graphics/sanjuuni/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/tools/graphics/sanjuuni/default.nix b/pkgs/tools/graphics/sanjuuni/default.nix index 6b96e6ad5a92..70bc59f3eb40 100644 --- a/pkgs/tools/graphics/sanjuuni/default.nix +++ b/pkgs/tools/graphics/sanjuuni/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitHub +, fetchpatch , pkg-config , ffmpeg , poco @@ -19,6 +20,14 @@ stdenv.mkDerivation rec { sha256 = "sha256-wgtyrik4Z5AXd8MHkiMuxMpGh/xcEtNqivyhvL68aac="; }; + patches = [ + (fetchpatch { + name = "build-with-cxx17.patch"; + url = "https://github.com/MCJack123/sanjuuni/commit/f2164bc18935bcf63ee5b0a82087bc91f7fd258d.patch"; + hash = "sha256-ZmP+AmUV7fcIFqSA6e56Nt6u03leE9PX36g2z0nLswo="; + }) + ]; + nativeBuildInputs = [ pkg-config ]; From f7fdda79d3e078452533fff290ed16826a8b6c33 Mon Sep 17 00:00:00 2001 From: Daniel Silva Date: Wed, 27 Mar 2024 01:15:03 +0000 Subject: [PATCH 09/89] tart: 2.6.0 -> 2.7.2 --- pkgs/applications/virtualization/tart/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/virtualization/tart/default.nix b/pkgs/applications/virtualization/tart/default.nix index fd46baba6fce..e8791404fb87 100644 --- a/pkgs/applications/virtualization/tart/default.nix +++ b/pkgs/applications/virtualization/tart/default.nix @@ -10,11 +10,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "tart"; - version = "2.6.0"; + version = "2.7.2"; src = fetchurl { url = "https://github.com/cirruslabs/tart/releases/download/${finalAttrs.version}/tart-arm64.tar.gz"; - hash = "sha256-QtVqgmjYpLAhFibW1DIVWNYiOjHB1X/YY6zRVB+1soA="; + hash = "sha256-Z/LZ8g1/FYT7Jh943tFxN8L5HeNf0CVz1VEJj+2fCd8="; }; sourceRoot = "."; From aee2b5bda6af462f9e3c39cc9db284838322f065 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 27 Mar 2024 01:44:13 +0000 Subject: [PATCH 10/89] fio: 3.36 -> 3.37 --- pkgs/tools/system/fio/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/system/fio/default.nix b/pkgs/tools/system/fio/default.nix index 45aed59dee8f..1796661c7d4c 100644 --- a/pkgs/tools/system/fio/default.nix +++ b/pkgs/tools/system/fio/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "fio"; - version = "3.36"; + version = "3.37"; src = fetchFromGitHub { owner = "axboe"; repo = "fio"; rev = "fio-${version}"; - sha256 = "sha256-w1k1DGgGYL2K/fZ30HMQE2vMcT6ZaaweM+KTcHKVEq4="; + sha256 = "sha256-dKHTxVglH10aV44RuSeIFATn83DVdmCYtuaiS3b0+zo="; }; buildInputs = [ python3 zlib ] From 1dacec9bb9a7eb7907c4d0d959ef869d6aa92b5c Mon Sep 17 00:00:00 2001 From: Alex Martens Date: Tue, 26 Mar 2024 19:32:13 -0700 Subject: [PATCH 11/89] nixos/llama-cpp: fix example flags --- nixos/modules/services/misc/llama-cpp.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/misc/llama-cpp.nix b/nixos/modules/services/misc/llama-cpp.nix index 305d4538e89a..c73cff027e22 100644 --- a/nixos/modules/services/misc/llama-cpp.nix +++ b/nixos/modules/services/misc/llama-cpp.nix @@ -20,7 +20,7 @@ in { extraFlags = lib.mkOption { type = lib.types.listOf lib.types.str; description = "Extra flags passed to llama-cpp-server."; - example = ["-c" "4096" "-ngl" "32" "--numa"]; + example = ["-c" "4096" "-ngl" "32" "--numa" "numactl"]; default = []; }; From be1bcdc890f6a08c6789cdfadd83198af9d876b5 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Thu, 28 Mar 2024 16:37:15 +0100 Subject: [PATCH 12/89] ode: 0.16.4 -> 0.16.5 --- pkgs/development/libraries/ode/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/ode/default.nix b/pkgs/development/libraries/ode/default.nix index be67a95ebfc5..8b426654147f 100644 --- a/pkgs/development/libraries/ode/default.nix +++ b/pkgs/development/libraries/ode/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "ode"; - version = "0.16.4"; + version = "0.16.5"; src = fetchurl { url = "https://bitbucket.org/odedevs/ode/downloads/ode-${finalAttrs.version}.tar.gz"; - hash = "sha256-cQN7goHGyGsKVXKfkNXbaXq+TL7B2BGBV+ANSOwlNGc="; + hash = "sha256-uode3RZFcJWHle6qcPFIU7/DTMmHH4rd6NpH4SvVRnk="; }; buildInputs = lib.optionals stdenv.isDarwin [ From f9c9aeb54c70aa8d1071bb0367b110867b0d4738 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 29 Mar 2024 12:12:22 +0000 Subject: [PATCH 13/89] python312Packages.threadpoolctl: 3.3.0 -> 3.4.0 --- pkgs/development/python-modules/threadpoolctl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/threadpoolctl/default.nix b/pkgs/development/python-modules/threadpoolctl/default.nix index 50dbe491fdf8..a8d3cd41e6a8 100644 --- a/pkgs/development/python-modules/threadpoolctl/default.nix +++ b/pkgs/development/python-modules/threadpoolctl/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "threadpoolctl"; - version = "3.3.0"; + version = "3.4.0"; disabled = pythonOlder "3.6"; format = "pyproject"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "joblib"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-mdOZcplqXrkKlL/SXipJg6A9Dh1lXGEHszBLGH/kxqs="; + hash = "sha256-nWaBhiFw76azx6dV4I18XodiUnHiLb0gNNhXks6iHIg="; }; nativeBuildInputs = [ From 30fa2e0c616306076a975936b7ae1ca0e2c01bf8 Mon Sep 17 00:00:00 2001 From: David McFarland Date: Mon, 25 Mar 2024 15:48:08 -0300 Subject: [PATCH 14/89] python3Packages.b2sdk: add packaging dependency This is required by b2sdk.version_utils. --- pkgs/development/python-modules/b2sdk/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/b2sdk/default.nix b/pkgs/development/python-modules/b2sdk/default.nix index a878a17b0f2a..d78a2b57a934 100644 --- a/pkgs/development/python-modules/b2sdk/default.nix +++ b/pkgs/development/python-modules/b2sdk/default.nix @@ -4,6 +4,7 @@ , fetchFromGitHub , glibcLocales , importlib-metadata +, packaging , logfury , pyfakefs , pytestCheckHook @@ -41,6 +42,7 @@ buildPythonPackage rec { ]; propagatedBuildInputs = [ + packaging logfury requests tqdm From f1be43a54e483e8dff0b11d4a029af2afa8d6c48 Mon Sep 17 00:00:00 2001 From: David McFarland Date: Wed, 27 Mar 2024 00:16:42 -0300 Subject: [PATCH 15/89] ncftp: fix darwin build --- pkgs/tools/networking/ncftp/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/networking/ncftp/default.nix b/pkgs/tools/networking/ncftp/default.nix index 02dd29c0fda5..c31e6333b684 100644 --- a/pkgs/tools/networking/ncftp/default.nix +++ b/pkgs/tools/networking/ncftp/default.nix @@ -17,7 +17,12 @@ stdenv.mkDerivation rec { # gcc-10. Otherwise build fails as: # ld: bookmark.o: (.bss+0x20): multiple definition of `gBm'; # gpshare.o:(.bss+0x0): first defined here - env.NIX_CFLAGS_COMPILE = "-fcommon"; + env.NIX_CFLAGS_COMPILE = toString ([ "-fcommon" ] + # these are required for the configure script to work with clang + ++ lib.optionals stdenv.isDarwin [ + "-Wno-implicit-int" + "-Wno-implicit-function-declaration" + ]); preConfigure = '' find -name Makefile.in | xargs sed -i '/^TMPDIR=/d' From 302eec2650cb4d8c1e3ac0d059c84c3ac34046f9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 30 Mar 2024 05:09:59 +0000 Subject: [PATCH 16/89] miru: 5.0.0 -> 5.0.3 --- pkgs/by-name/mi/miru/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/mi/miru/package.nix b/pkgs/by-name/mi/miru/package.nix index c89dc296d8b3..79d11a0800a3 100644 --- a/pkgs/by-name/mi/miru/package.nix +++ b/pkgs/by-name/mi/miru/package.nix @@ -5,12 +5,12 @@ appimageTools.wrapType2 rec { pname = "miru"; - version = "5.0.0"; + version = "5.0.3"; src = fetchurl { url = "https://github.com/ThaUnknown/miru/releases/download/v${version}/linux-Miru-${version}.AppImage"; name = "${pname}-${version}.AppImage"; - sha256 = "sha256-Gp3pP973+peSr0pfUDqKQWZFiY4jdOp4tsn1336wcwY="; + sha256 = "sha256-vKV1Scd+YiJMIV8EWx4udoOxTXW9NA7k/CxRVNRqrjk="; }; extraInstallCommands = From 8391b2c6abf96b208b98f6b144a1a66c89f0b76d Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Sat, 23 Mar 2024 21:23:08 +0100 Subject: [PATCH 17/89] nixos/redmine: Adjust database password conditionally The commands for writing the database password string into the final configuration file are ran in any case, even if it's not needed. Make that conditional on if a password file is set. Signed-off-by: Felix Singer --- nixos/modules/services/misc/redmine.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/misc/redmine.nix b/nixos/modules/services/misc/redmine.nix index c1209e34a92b..d49e0856c875 100644 --- a/nixos/modules/services/misc/redmine.nix +++ b/nixos/modules/services/misc/redmine.nix @@ -395,9 +395,13 @@ in # handle database.passwordFile & permissions - DBPASS=${optionalString (cfg.database.passwordFile != null) "$(head -n1 ${cfg.database.passwordFile})"} cp -f ${databaseYml} "${cfg.stateDir}/config/database.yml" - sed -e "s,#dbpass#,$DBPASS,g" -i "${cfg.stateDir}/config/database.yml" + + ${optionalString (cfg.database.passwordFile != null) '' + DBPASS="$(head -n1 ${cfg.database.passwordFile})" + sed -e "s,#dbpass#,$DBPASS,g" -i "${cfg.stateDir}/config/database.yml" + ''} + chmod 440 "${cfg.stateDir}/config/database.yml" From 0b11c8f47c29c8ef93631ca2fd077a661d30addb Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Sun, 24 Mar 2024 02:40:39 +0100 Subject: [PATCH 18/89] nixos/redmine: Use attribute set for storing database settings Signed-off-by: Felix Singer --- nixos/modules/services/misc/redmine.nix | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/nixos/modules/services/misc/redmine.nix b/nixos/modules/services/misc/redmine.nix index d49e0856c875..1873d7da4cb9 100644 --- a/nixos/modules/services/misc/redmine.nix +++ b/nixos/modules/services/misc/redmine.nix @@ -10,16 +10,21 @@ let format = pkgs.formats.yaml {}; bundle = "${cfg.package}/share/redmine/bin/bundle"; - databaseYml = pkgs.writeText "database.yml" '' - production: - adapter: ${cfg.database.type} - database: ${cfg.database.name} - host: ${if (cfg.database.type == "postgresql" && cfg.database.socket != null) then cfg.database.socket else cfg.database.host} - port: ${toString cfg.database.port} - username: ${cfg.database.user} - password: #dbpass# - ${optionalString (cfg.database.type == "mysql2" && cfg.database.socket != null) "socket: ${cfg.database.socket}"} - ''; + databaseSettings = { + production = { + adapter = cfg.database.type; + database = cfg.database.name; + host = if (cfg.database.type == "postgresql" && cfg.database.socket != null) then cfg.database.socket else cfg.database.host; + port = cfg.database.port; + username = cfg.database.user; + } // optionalAttrs (cfg.database.passwordFile != null) { + password = "#dbpass#"; + } // optionalAttrs (cfg.database.type == "mysql2" && cfg.database.socket != null) { + socket = cfg.database.socket; + }; + }; + + databaseYml = format.generate "database.yml" databaseSettings; configurationYml = format.generate "configuration.yml" cfg.settings; additionalEnvironment = pkgs.writeText "additional_environment.rb" cfg.extraEnv; From 19edccb0eed14b297863817cbc032932600f5203 Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Sat, 23 Mar 2024 16:44:43 +0100 Subject: [PATCH 19/89] redmine: Add sqlite3 gem In preparation to adding SQLite support to the NixOS module, add the sqlite3 gem to Gemfile. While on it, remove the unused import `defaultGemConfig`. Signed-off-by: Felix Singer --- .../version-management/redmine/Gemfile | 1 + .../version-management/redmine/Gemfile.lock | 50 +++++---- .../version-management/redmine/default.nix | 2 +- .../version-management/redmine/gemset.nix | 106 ++++++++++-------- 4 files changed, 90 insertions(+), 69 deletions(-) diff --git a/pkgs/applications/version-management/redmine/Gemfile b/pkgs/applications/version-management/redmine/Gemfile index 326f0e0bab0b..425a671ba9c7 100644 --- a/pkgs/applications/version-management/redmine/Gemfile +++ b/pkgs/applications/version-management/redmine/Gemfile @@ -68,6 +68,7 @@ require 'erb' require 'yaml' gem "mysql2", "~> 0.5.0", :platforms => [:mri, :mingw, :x64_mingw] gem "pg", "~> 1.4.2", :platforms => [:mri, :mingw, :x64_mingw] +gem "sqlite3", "~> 1.4.0", :platforms => [:mri, :mingw, :x64_mingw] group :development do gem 'listen', '~> 3.3' diff --git a/pkgs/applications/version-management/redmine/Gemfile.lock b/pkgs/applications/version-management/redmine/Gemfile.lock index f9efc5ecede6..d9095173c27b 100644 --- a/pkgs/applications/version-management/redmine/Gemfile.lock +++ b/pkgs/applications/version-management/redmine/Gemfile.lock @@ -63,7 +63,7 @@ GEM minitest (>= 5.1) tzinfo (~> 2.0) zeitwerk (~> 2.3) - addressable (2.8.5) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) ast (2.4.2) builder (3.2.4) @@ -79,11 +79,11 @@ GEM childprocess (3.0.0) chunky_png (1.4.0) commonmarker (0.23.10) - concurrent-ruby (1.2.2) + concurrent-ruby (1.2.3) crass (1.0.6) css_parser (1.16.0) addressable - csv (3.2.8) + csv (3.2.9) deckar01-task_list (2.3.2) html-pipeline digest (3.1.1) @@ -98,7 +98,7 @@ GEM htmlentities (4.3.4) i18n (1.10.0) concurrent-ruby (~> 1.0) - listen (3.8.0) + listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) loofah (2.22.0) @@ -106,17 +106,17 @@ GEM nokogiri (>= 1.12.0) mail (2.7.1) mini_mime (>= 0.1.1) - marcel (1.0.2) + marcel (1.0.4) matrix (0.4.2) method_source (1.0.0) mini_magick (4.11.0) mini_mime (1.1.5) mini_portile2 (2.8.5) - minitest (5.20.0) + minitest (5.22.3) mocha (2.1.0) ruby2_keywords (>= 0.0.5) - mysql2 (0.5.5) - net-imap (0.2.3) + mysql2 (0.5.6) + net-imap (0.2.4) digest net-protocol strscan @@ -125,22 +125,22 @@ GEM net-protocol net-protocol (0.2.2) timeout - net-smtp (0.3.3) + net-smtp (0.3.4) net-protocol - nio4r (2.6.1) - nokogiri (1.15.5) + nio4r (2.7.1) + nokogiri (1.15.6) mini_portile2 (~> 2.8.2) racc (~> 1.4) - parallel (1.23.0) - parser (3.2.2.4) + parallel (1.24.0) + parser (3.3.0.5) ast (~> 2.4.1) racc pg (1.4.6) public_suffix (5.0.4) - puma (6.4.0) + puma (6.4.2) nio4r (~> 2.0) racc (1.7.3) - rack (2.2.8) + rack (2.2.9) rack-test (2.1.0) rack (>= 1.3) rails (6.1.7.6) @@ -181,11 +181,11 @@ GEM rbpdf-font (~> 1.19.0) rbpdf-font (1.19.1) redcarpet (3.5.1) - regexp_parser (2.8.2) + regexp_parser (2.9.0) request_store (1.5.1) rack (>= 1.4) rexml (3.2.6) - roadie (5.2.0) + roadie (5.2.1) css_parser (~> 1.4) nokogiri (~> 1.15) roadie-rails (3.0.0) @@ -206,8 +206,8 @@ GEM rubocop-ast (>= 1.16.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 3.0) - rubocop-ast (1.30.0) - parser (>= 3.2.1.0) + rubocop-ast (1.31.2) + parser (>= 3.3.0.4) rubocop-performance (1.13.3) rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) @@ -237,8 +237,9 @@ GEM actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) - strscan (3.0.7) - thor (1.3.0) + sqlite3 (1.4.4) + strscan (3.1.0) + thor (1.3.1) timeout (0.4.1) tzinfo (2.0.6) concurrent-ruby (~> 1.0) @@ -253,8 +254,8 @@ GEM websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - yard (0.9.34) - zeitwerk (2.6.12) + yard (0.9.36) + zeitwerk (2.6.13) PLATFORMS ruby @@ -301,6 +302,7 @@ DEPENDENCIES sanitize (~> 6.0) selenium-webdriver (~> 3.142.7) simplecov (~> 0.21.2) + sqlite3 (~> 1.4.0) tzinfo-data webdrivers (= 4.6.1) webrick @@ -310,4 +312,4 @@ RUBY VERSION ruby 3.1.4p223 BUNDLED WITH - 2.4.12 + 2.4.22 diff --git a/pkgs/applications/version-management/redmine/default.nix b/pkgs/applications/version-management/redmine/default.nix index 1235df9f6720..2d06be35466a 100644 --- a/pkgs/applications/version-management/redmine/default.nix +++ b/pkgs/applications/version-management/redmine/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, bundlerEnv, ruby, defaultGemConfig, makeWrapper, nixosTests }: +{ lib, stdenv, fetchurl, bundlerEnv, ruby, makeWrapper, nixosTests }: let version = "5.0.6"; diff --git a/pkgs/applications/version-management/redmine/gemset.nix b/pkgs/applications/version-management/redmine/gemset.nix index bfd433274b05..1babe5faca5a 100644 --- a/pkgs/applications/version-management/redmine/gemset.nix +++ b/pkgs/applications/version-management/redmine/gemset.nix @@ -137,10 +137,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05r1fwy487klqkya7vzia8hnklcxy4vr92m9dmni3prfwk6zpw33"; + sha256 = "0irbdwkkjwzajq1ip6ba46q49sxnrl2cw7ddkdhsfhb6aprnm3vr"; type = "gem"; }; - version = "2.8.5"; + version = "2.8.6"; }; ast = { groups = ["default" "test"]; @@ -208,10 +208,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q"; + sha256 = "1qh1b14jwbbj242klkyz5fc7npd4j0mvndz62gajhvl1l3wd7zc2"; type = "gem"; }; - version = "1.2.2"; + version = "1.2.3"; }; crass = { groups = ["common_mark" "default"]; @@ -239,10 +239,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zmrgngggg4yvdbggdx9p3z4wcav4vxfigramxxvjh3hi7l12pig"; + sha256 = "1fp986v5xfpzcj9v3dyvdd26fcnmbbzjwcp66pz34hv6g86z66a9"; type = "gem"; }; - version = "3.2.8"; + version = "3.2.9"; }; deckar01-task_list = { dependencies = ["html-pipeline"]; @@ -354,10 +354,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13rgkfar8pp31z1aamxf5y7cfq88wv6rxxcwy7cmm177qq508ycn"; + sha256 = "0rwwsmvq79qwzl6324yc53py02kbrcww35si720490z5w0j497nv"; type = "gem"; }; - version = "3.8.0"; + version = "3.9.0"; }; loofah = { dependencies = ["crass" "nokogiri"]; @@ -386,10 +386,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0kky3yiwagsk8gfbzn3mvl2fxlh3b39v6nawzm4wpjs6xxvvc4x0"; + sha256 = "190n2mk8m1l708kr88fh6mip9sdsh339d2s6sgrik3sbnvz4jmhd"; type = "gem"; }; - version = "1.0.2"; + version = "1.0.4"; }; matrix = { groups = ["default" "test"]; @@ -446,10 +446,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bkmfi9mb49m0fkdhl2g38i3xxa02d411gg0m8x0gvbwfmmg5ym3"; + sha256 = "07lq26b86giy3ha3fhrywk9r1ajhc2pm2mzj657jnpnbj1i6g17a"; type = "gem"; }; - version = "5.20.0"; + version = "5.22.3"; }; mocha = { dependencies = ["ruby2_keywords"]; @@ -475,10 +475,10 @@ }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gjvj215qdhwk3292sc7xsn6fmwnnaq2xs35hh5hc8d8j22izlbn"; + sha256 = "0cysv1wdfdbizwkd0d9s16s832khdwv31pgp01mw2g3bbpa4gx3h"; type = "gem"; }; - version = "0.5.5"; + version = "0.5.6"; }; net-imap = { dependencies = ["digest" "net-protocol" "strscan"]; @@ -486,10 +486,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1rl79ykmxa2k4dlk6ykrb9l0a4h101q1gd8c4qv3cl0p9h68zmbn"; + sha256 = "0wkawmda0iawc3f6klmfzj727phwy66yydqksvfzpjwg69jfmcvn"; type = "gem"; }; - version = "0.2.3"; + version = "0.2.4"; }; net-ldap = { groups = ["ldap"]; @@ -529,20 +529,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1c6md06hm5bf6rv53sk54dl2vg038pg8kglwv3rayx0vk2mdql9x"; + sha256 = "0hwiqplhi29kfjl8jm0rhl51qv6wmxfynl4qap1dhv9xdwc4bm1x"; type = "gem"; }; - version = "0.3.3"; + version = "0.3.4"; }; nio4r = { groups = ["default" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1y99dfzlb3kgzh7pfk8km0p5zjiblxyh5rm8yal9h523vi5awji8"; + sha256 = "15iwbiij52x6jhdbl0rkcldnhfndmsy0sbnsygkr9vhskfqrp72m"; type = "gem"; }; - version = "2.6.1"; + version = "2.7.1"; }; nokogiri = { dependencies = ["mini_portile2" "racc"]; @@ -550,20 +550,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "004ip9x9281fxhpipwi8di1sb1dnabscq9dy1p3cxgdwbniqqi12"; + sha256 = "023f2j0q8makgmmfj4pv2fhwgcbh9y8s678za1cb68ry9fdpkkkh"; type = "gem"; }; - version = "1.15.5"; + version = "1.15.6"; }; parallel = { groups = ["default" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jcc512l38c0c163ni3jgskvq1vc3mr8ly5pvjijzwvfml9lf597"; + sha256 = "15wkxrg1sj3n1h2g8jcrn7gcapwcgxr659ypjf75z1ipkgxqxwsv"; type = "gem"; }; - version = "1.23.0"; + version = "1.24.0"; }; parser = { dependencies = ["ast" "racc"]; @@ -571,10 +571,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0r69dbh6h6j4d54isany2ir4ni4gf2ysvk3k44awi6amz18nggpd"; + sha256 = "11r6kp8wam0nkfvnwyc1fmvky102r1vcfr84vi2p1a2wa0z32j3p"; type = "gem"; }; - version = "3.2.2.4"; + version = "3.3.0.5"; }; pg = { groups = ["default"]; @@ -610,10 +610,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1y8jcw80zcxvdq0id329lzmp5pzx7hpac227d7sgjkblc89s3pfm"; + sha256 = "0i2vaww6qcazj0ywva1plmjnj6rk23b01szswc5jhcq7s2cikd1y"; type = "gem"; }; - version = "6.4.0"; + version = "6.4.2"; }; racc = { groups = ["common_mark" "default" "test"]; @@ -630,10 +630,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15rdwbyk71c9nxvd527bvb8jxkcys8r3dj3vqra5b3sa63qs30vv"; + sha256 = "0hj0rkw2z9r1lcg2wlrcld2n3phwrcgqcp7qd1g9a7hwgalh2qzx"; type = "gem"; }; - version = "2.2.8"; + version = "2.2.9"; }; rack-test = { dependencies = ["rack"]; @@ -767,10 +767,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1d9a5s3qrjdy50ll2s32gg3qmf10ryp3v2nr5k718kvfadp50ray"; + sha256 = "1ndxm0xnv27p4gv6xynk6q41irckj76q1jsqpysd9h6f86hhp841"; type = "gem"; }; - version = "2.8.2"; + version = "2.9.0"; }; request_store = { dependencies = ["rack"]; @@ -799,10 +799,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1qs594ybaz0lh2sakh95syzvhva4jms8xyiwhgjfncf3ri0qxp7l"; + sha256 = "1mh1a0m0i0xrm20nry4d3gf0q5kbmm5lp15n52r93gcjwwfgd974"; type = "gem"; }; - version = "5.2.0"; + version = "5.2.1"; }; roadie-rails = { dependencies = ["railties" "roadie"]; @@ -873,10 +873,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1cs9cc5p9q70valk4na3lki4xs88b52486p2v46yx3q1n5969bgs"; + sha256 = "1v3q8n48w8h809rqbgzihkikr4g3xk72m1na7s97jdsmjjq6y83w"; type = "gem"; }; - version = "1.30.0"; + version = "1.31.2"; }; rubocop-performance = { dependencies = ["rubocop" "rubocop-ast"]; @@ -1005,25 +1005,43 @@ }; version = "3.4.2"; }; + sqlite3 = { + groups = ["default"]; + platforms = [{ + engine = "maglev"; + } { + engine = "mingw"; + } { + engine = "mingw"; + } { + engine = "ruby"; + }]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1z1wa639c278bsipczn6kv8b13fj85pi8gk7x462chqx6k0wm0ax"; + type = "gem"; + }; + version = "1.4.4"; + }; strscan = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0w2lc1mqia13x43ajzhih419r40ppddg936ydhawz57f63ab6fll"; + sha256 = "0mamrl7pxacbc79ny5hzmakc9grbjysm3yy6119ppgsg44fsif01"; type = "gem"; }; - version = "3.0.7"; + version = "3.1.0"; }; thor = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1hx77jxkrwi66yvs10wfxqa8s25ds25ywgrrf66acm9nbfg7zp0s"; + sha256 = "1vq1fjp45az9hfp6fxljhdrkv75cvbab1jfrwcw738pnsiqk8zps"; type = "gem"; }; - version = "1.3.0"; + version = "1.3.1"; }; timeout = { groups = ["default"]; @@ -1114,19 +1132,19 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "013yrnwx1zhzhn1fnc19zck22a1qgimsaglp2iwgf5bz9l8h93js"; + sha256 = "1r0b8w58p7gy06wph1qdjv2p087hfnmhd9jk23vjdj803dn761am"; type = "gem"; }; - version = "0.9.34"; + version = "0.9.36"; }; zeitwerk = { groups = ["common_mark" "default" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gir0if4nryl1jhwi28669gjwhxb7gzrm1fcc8xzsch3bnbi47jn"; + sha256 = "1m67qmsak3x8ixs8rb971azl3l7wapri65pmbf5z886h46q63f1d"; type = "gem"; }; - version = "2.6.12"; + version = "2.6.13"; }; } From ddd15dc2d92f52138b8cac9be2a2f5e6c277b1c0 Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Sat, 23 Mar 2024 16:47:24 +0100 Subject: [PATCH 20/89] nixos/redmine: Allow using SQLite as database backend Signed-off-by: Felix Singer --- nixos/modules/services/misc/redmine.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/nixos/modules/services/misc/redmine.nix b/nixos/modules/services/misc/redmine.nix index 1873d7da4cb9..957571944b28 100644 --- a/nixos/modules/services/misc/redmine.nix +++ b/nixos/modules/services/misc/redmine.nix @@ -13,11 +13,12 @@ let databaseSettings = { production = { adapter = cfg.database.type; - database = cfg.database.name; + database = if cfg.database.type == "sqlite3" then "${cfg.stateDir}/database.sqlite3" else cfg.database.name; + } // optionalAttrs (cfg.database.type != "sqlite3") { host = if (cfg.database.type == "postgresql" && cfg.database.socket != null) then cfg.database.socket else cfg.database.host; port = cfg.database.port; username = cfg.database.user; - } // optionalAttrs (cfg.database.passwordFile != null) { + } // optionalAttrs (cfg.database.type != "sqlite3" && cfg.database.passwordFile != null) { password = "#dbpass#"; } // optionalAttrs (cfg.database.type == "mysql2" && cfg.database.socket != null) { socket = cfg.database.socket; @@ -150,7 +151,7 @@ in database = { type = mkOption { - type = types.enum [ "mysql2" "postgresql" ]; + type = types.enum [ "mysql2" "postgresql" "sqlite3" ]; example = "postgresql"; default = "mysql2"; description = lib.mdDoc "Database engine to use."; @@ -266,7 +267,7 @@ in config = mkIf cfg.enable { assertions = [ - { assertion = cfg.database.passwordFile != null || cfg.database.socket != null; + { assertion = cfg.database.type != "sqlite3" -> cfg.database.passwordFile != null || cfg.database.socket != null; message = "one of services.redmine.database.socket or services.redmine.database.passwordFile must be set"; } { assertion = cfg.database.createLocally -> cfg.database.user == cfg.user; @@ -275,7 +276,7 @@ in { assertion = pgsqlLocal -> cfg.database.user == cfg.database.name; message = "services.redmine.database.user and services.redmine.database.name must be the same when using a local postgresql database"; } - { assertion = cfg.database.createLocally -> cfg.database.socket != null; + { assertion = cfg.database.createLocally -> cfg.database.type != "sqlite3" && cfg.database.socket != null; message = "services.redmine.database.socket must be set if services.redmine.database.createLocally is set to true"; } { assertion = cfg.database.createLocally -> cfg.database.host == "localhost"; @@ -402,7 +403,7 @@ in # handle database.passwordFile & permissions cp -f ${databaseYml} "${cfg.stateDir}/config/database.yml" - ${optionalString (cfg.database.passwordFile != null) '' + ${optionalString ((cfg.database.type != "sqlite3") && (cfg.database.passwordFile != null)) '' DBPASS="$(head -n1 ${cfg.database.passwordFile})" sed -e "s,#dbpass#,$DBPASS,g" -i "${cfg.stateDir}/config/database.yml" ''} From a803b32736dab14d441edaed5bf695e9a7d3362e Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Sun, 24 Mar 2024 04:39:30 +0100 Subject: [PATCH 21/89] redmine: 5.0.6 -> 5.1.2 Signed-off-by: Felix Singer --- .../version-management/redmine/Gemfile | 89 +++---- .../version-management/redmine/Gemfile.lock | 222 ++++++++-------- .../version-management/redmine/default.nix | 4 +- .../version-management/redmine/gemset.nix | 243 ++++++++++-------- 4 files changed, 294 insertions(+), 264 deletions(-) diff --git a/pkgs/applications/version-management/redmine/Gemfile b/pkgs/applications/version-management/redmine/Gemfile index 425a671ba9c7..e29e240c75b7 100644 --- a/pkgs/applications/version-management/redmine/Gemfile +++ b/pkgs/applications/version-management/redmine/Gemfile @@ -1,35 +1,27 @@ source 'https://rubygems.org' -ruby '>= 2.5.0', '< 3.2.0' -gem 'bundler', '>= 1.12.0' +ruby '>= 2.7.0', '< 3.3.0' -gem 'rails', '6.1.7.6' -gem 'globalid', '~> 0.4.2' if Gem.ruby_version < Gem::Version.new('2.6.0') -gem 'rouge', '~> 3.28.0' +gem 'rails', '6.1.7.7' +gem 'rouge', '~> 4.2.0' gem 'request_store', '~> 1.5.0' gem 'mini_mime', '~> 1.1.0' gem "actionpack-xml_parser" -gem 'roadie-rails', (Gem.ruby_version < Gem::Version.new('2.6.0') ? '~> 2.2.0' : '~> 3.0.0') +gem 'roadie-rails', '~> 3.1.0' gem 'marcel' -gem "mail", "~> 2.7.1" -gem 'csv', '~> 3.2.0' -gem 'nokogiri', (if Gem.ruby_version < Gem::Version.new('2.6.0') - '~> 1.12.5' - elsif Gem.ruby_version < Gem::Version.new('2.7.0') - '~> 1.13.10' - else - '~> 1.15.2' - end) -gem "rexml", require: false if Gem.ruby_version >= Gem::Version.new('3.0') -gem 'i18n', '~> 1.10.0' +gem 'mail', '~> 2.8.1' +gem 'nokogiri', '~> 1.15.2' +gem 'i18n', '~> 1.14.1' gem 'rbpdf', '~> 1.21.3' gem 'addressable' gem 'rubyzip', '~> 2.3.0' -gem 'net-smtp', '~> 0.3.0' -gem 'net-imap', '~> 0.2.2' -gem 'net-pop', '~> 0.1.1' -# Rails 6.1.6.1 does not work with Pysch 3.0.2, which is installed by default with Ruby 2.5. See https://github.com/rails/rails/issues/45590 -gem 'psych', '>= 3.1.0' if Gem.ruby_version < Gem::Version.new('2.6.0') + +# Ruby Standard Gems +gem 'csv', '~> 3.2.6' +gem 'net-imap', '~> 0.3.4' +gem 'net-pop', '~> 0.1.2' +gem 'net-smtp', '~> 0.3.3' +gem 'rexml', require: false if Gem.ruby_version >= Gem::Version.new('3.0') # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin] @@ -38,6 +30,10 @@ gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin] gem 'rotp', '>= 5.0.0' gem 'rqrcode' +# HTML pipeline and sanitization +gem "html-pipeline", "~> 2.13.2" +gem "sanitize", "~> 6.0" + # Optional gem for LDAP authentication group :ldap do gem 'net-ldap', '~> 0.17.0' @@ -45,30 +41,27 @@ end # Optional gem for exporting the gantt to a PNG file group :minimagick do - gem 'mini_magick', '~> 4.11.0' + gem 'mini_magick', '~> 4.12.0' end -# Optional Markdown support, not for JRuby -# ToDo: Remove common_mark group when common_mark is decoupled from markdown. See defect (#36892) for more details. -gem 'redcarpet', '~> 3.5.1', groups: [:markdown, :common_mark] +# Optional Markdown support +group :markdown do + gem 'redcarpet', '~> 3.6.0' +end # Optional CommonMark support, not for JRuby group :common_mark do - gem "html-pipeline", "~> 2.13.2" - gem "commonmarker", (Gem.ruby_version < Gem::Version.new('2.6.0') ? '0.21.0' : '~> 0.23.8') - gem "sanitize", "~> 6.0" + gem "commonmarker", '~> 0.23.8' gem 'deckar01-task_list', '2.3.2' end -# webrick -gem 'webrick' - # Include database gems for the database adapters NixOS supports require 'erb' require 'yaml' gem "mysql2", "~> 0.5.0", :platforms => [:mri, :mingw, :x64_mingw] -gem "pg", "~> 1.4.2", :platforms => [:mri, :mingw, :x64_mingw] -gem "sqlite3", "~> 1.4.0", :platforms => [:mri, :mingw, :x64_mingw] +gem "with_advisory_lock" +gem 'pg', '~> 1.5.3', :platforms => [:mri, :mingw, :x64_mingw] +gem 'sqlite3', '~> 1.6.0', :platforms => [:mri, :mingw, :x64_mingw] group :development do gem 'listen', '~> 3.3' @@ -78,25 +71,25 @@ end group :test do gem "rails-dom-testing" gem 'mocha', '>= 2.0.1' - gem 'simplecov', '~> 0.21.2', :require => false + gem 'simplecov', '~> 0.22.0', :require => false gem "ffi", platforms: [:mri, :mingw, :x64_mingw, :mswin] # For running system tests - gem 'puma', (Gem.ruby_version < Gem::Version.new('2.7') ? '< 6.0.0' : '>= 0') - gem 'capybara', (if Gem.ruby_version < Gem::Version.new('2.6') - '~> 3.35.3' - elsif Gem.ruby_version < Gem::Version.new('2.7') - '~> 3.36.0' - else - '~> 3.38.0' - end) - gem "selenium-webdriver", "~> 3.142.7" - gem 'webdrivers', '4.6.1', require: false + gem 'puma' + gem "capybara", ">= 3.39" + if Gem.ruby_version < Gem::Version.new('3.0') + gem "selenium-webdriver", "<= 4.9.0" + gem "webdrivers", require: false + else + gem "selenium-webdriver", ">= 4.11.0" + end # RuboCop - gem 'rubocop', '~> 1.26.0' - gem 'rubocop-performance', '~> 1.13.0' - gem 'rubocop-rails', '~> 2.14.0' + gem 'rubocop', '~> 1.57.0', require: false + gem 'rubocop-performance', '~> 1.19.0', require: false + gem 'rubocop-rails', '~> 2.22.1', require: false end +gem "webrick" + local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local") if File.exist?(local_gemfile) eval_gemfile local_gemfile diff --git a/pkgs/applications/version-management/redmine/Gemfile.lock b/pkgs/applications/version-management/redmine/Gemfile.lock index d9095173c27b..c1600850c9a7 100644 --- a/pkgs/applications/version-management/redmine/Gemfile.lock +++ b/pkgs/applications/version-management/redmine/Gemfile.lock @@ -1,28 +1,28 @@ GEM remote: https://rubygems.org/ specs: - actioncable (6.1.7.6) - actionpack (= 6.1.7.6) - activesupport (= 6.1.7.6) + actioncable (6.1.7.7) + actionpack (= 6.1.7.7) + activesupport (= 6.1.7.7) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.1.7.6) - actionpack (= 6.1.7.6) - activejob (= 6.1.7.6) - activerecord (= 6.1.7.6) - activestorage (= 6.1.7.6) - activesupport (= 6.1.7.6) + actionmailbox (6.1.7.7) + actionpack (= 6.1.7.7) + activejob (= 6.1.7.7) + activerecord (= 6.1.7.7) + activestorage (= 6.1.7.7) + activesupport (= 6.1.7.7) mail (>= 2.7.1) - actionmailer (6.1.7.6) - actionpack (= 6.1.7.6) - actionview (= 6.1.7.6) - activejob (= 6.1.7.6) - activesupport (= 6.1.7.6) + actionmailer (6.1.7.7) + actionpack (= 6.1.7.7) + actionview (= 6.1.7.7) + activejob (= 6.1.7.7) + activesupport (= 6.1.7.7) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (6.1.7.6) - actionview (= 6.1.7.6) - activesupport (= 6.1.7.6) + actionpack (6.1.7.7) + actionview (= 6.1.7.7) + activesupport (= 6.1.7.7) rack (~> 2.0, >= 2.0.9) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) @@ -30,34 +30,34 @@ GEM actionpack-xml_parser (2.0.1) actionpack (>= 5.0) railties (>= 5.0) - actiontext (6.1.7.6) - actionpack (= 6.1.7.6) - activerecord (= 6.1.7.6) - activestorage (= 6.1.7.6) - activesupport (= 6.1.7.6) + actiontext (6.1.7.7) + actionpack (= 6.1.7.7) + activerecord (= 6.1.7.7) + activestorage (= 6.1.7.7) + activesupport (= 6.1.7.7) nokogiri (>= 1.8.5) - actionview (6.1.7.6) - activesupport (= 6.1.7.6) + actionview (6.1.7.7) + activesupport (= 6.1.7.7) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (6.1.7.6) - activesupport (= 6.1.7.6) + activejob (6.1.7.7) + activesupport (= 6.1.7.7) globalid (>= 0.3.6) - activemodel (6.1.7.6) - activesupport (= 6.1.7.6) - activerecord (6.1.7.6) - activemodel (= 6.1.7.6) - activesupport (= 6.1.7.6) - activestorage (6.1.7.6) - actionpack (= 6.1.7.6) - activejob (= 6.1.7.6) - activerecord (= 6.1.7.6) - activesupport (= 6.1.7.6) + activemodel (6.1.7.7) + activesupport (= 6.1.7.7) + activerecord (6.1.7.7) + activemodel (= 6.1.7.7) + activesupport (= 6.1.7.7) + activestorage (6.1.7.7) + actionpack (= 6.1.7.7) + activejob (= 6.1.7.7) + activerecord (= 6.1.7.7) + activesupport (= 6.1.7.7) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (6.1.7.6) + activesupport (6.1.7.7) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -66,17 +66,17 @@ GEM addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) ast (2.4.2) + base64 (0.2.0) builder (3.2.4) - capybara (3.38.0) + capybara (3.40.0) addressable matrix mini_mime (>= 0.1.3) - nokogiri (~> 1.8) + nokogiri (~> 1.11) rack (>= 1.6.0) rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - childprocess (3.0.0) chunky_png (1.4.0) commonmarker (0.23.10) concurrent-ruby (1.2.3) @@ -84,9 +84,9 @@ GEM css_parser (1.16.0) addressable csv (3.2.9) + date (3.3.4) deckar01-task_list (2.3.2) html-pipeline - digest (3.1.1) docile (1.4.0) erubi (1.12.0) ffi (1.16.3) @@ -96,30 +96,34 @@ GEM activesupport (>= 2) nokogiri (>= 1.4) htmlentities (4.3.4) - i18n (1.10.0) + i18n (1.14.4) concurrent-ruby (~> 1.0) + json (2.7.1) + language_server-protocol (3.17.0.3) listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) loofah (2.22.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) - mail (2.7.1) + mail (2.8.1) mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp marcel (1.0.4) matrix (0.4.2) method_source (1.0.0) - mini_magick (4.11.0) + mini_magick (4.12.0) mini_mime (1.1.5) mini_portile2 (2.8.5) minitest (5.22.3) mocha (2.1.0) ruby2_keywords (>= 0.0.5) mysql2 (0.5.6) - net-imap (0.2.4) - digest + net-imap (0.3.7) + date net-protocol - strscan net-ldap (0.17.1) net-pop (0.1.2) net-protocol @@ -135,7 +139,7 @@ GEM parser (3.3.0.5) ast (~> 2.4.1) racc - pg (1.4.6) + pg (1.5.6) public_suffix (5.0.4) puma (6.4.2) nio4r (~> 2.0) @@ -143,20 +147,20 @@ GEM rack (2.2.9) rack-test (2.1.0) rack (>= 1.3) - rails (6.1.7.6) - actioncable (= 6.1.7.6) - actionmailbox (= 6.1.7.6) - actionmailer (= 6.1.7.6) - actionpack (= 6.1.7.6) - actiontext (= 6.1.7.6) - actionview (= 6.1.7.6) - activejob (= 6.1.7.6) - activemodel (= 6.1.7.6) - activerecord (= 6.1.7.6) - activestorage (= 6.1.7.6) - activesupport (= 6.1.7.6) + rails (6.1.7.7) + actioncable (= 6.1.7.7) + actionmailbox (= 6.1.7.7) + actionmailer (= 6.1.7.7) + actionpack (= 6.1.7.7) + actiontext (= 6.1.7.7) + actionview (= 6.1.7.7) + activejob (= 6.1.7.7) + activemodel (= 6.1.7.7) + activerecord (= 6.1.7.7) + activestorage (= 6.1.7.7) + activesupport (= 6.1.7.7) bundler (>= 1.15.0) - railties (= 6.1.7.6) + railties (= 6.1.7.7) sprockets-rails (>= 2.0.0) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) @@ -165,9 +169,9 @@ GEM rails-html-sanitizer (1.6.0) loofah (~> 2.21) nokogiri (~> 1.14) - railties (6.1.7.6) - actionpack (= 6.1.7.6) - activesupport (= 6.1.7.6) + railties (6.1.7.7) + actionpack (= 6.1.7.7) + activesupport (= 6.1.7.7) method_source rake (>= 12.2) thor (~> 1.0) @@ -180,7 +184,7 @@ GEM htmlentities rbpdf-font (~> 1.19.0) rbpdf-font (1.19.1) - redcarpet (3.5.1) + redcarpet (3.6.0) regexp_parser (2.9.0) request_store (1.5.1) rack (>= 1.4) @@ -188,43 +192,48 @@ GEM roadie (5.2.1) css_parser (~> 1.4) nokogiri (~> 1.15) - roadie-rails (3.0.0) - railties (>= 5.1, < 7.1) + roadie-rails (3.1.0) + railties (>= 5.1, < 8.0) roadie (~> 5.0) rotp (6.3.0) - rouge (3.28.0) + rouge (4.2.1) rqrcode (2.2.0) chunky_png (~> 1.0) rqrcode_core (~> 1.0) rqrcode_core (1.2.0) - rubocop (1.26.1) + rubocop (1.57.2) + json (~> 2.3) + language_server-protocol (>= 3.17.0) parallel (~> 1.10) - parser (>= 3.1.0.0) + parser (>= 3.2.2.4) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) - rexml - rubocop-ast (>= 1.16.0, < 2.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.28.1, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 3.0) + unicode-display_width (>= 2.4.0, < 3.0) rubocop-ast (1.31.2) parser (>= 3.3.0.4) - rubocop-performance (1.13.3) + rubocop-performance (1.19.1) rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) - rubocop-rails (2.14.2) + rubocop-rails (2.22.2) activesupport (>= 4.2.0) rack (>= 1.1) - rubocop (>= 1.7.0, < 2.0) + rubocop (>= 1.33.0, < 2.0) + rubocop-ast (>= 1.30.0, < 2.0) ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) rubyzip (2.3.2) sanitize (6.1.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) - selenium-webdriver (3.142.7) - childprocess (>= 0.5, < 4.0) - rubyzip (>= 1.2.2) - simplecov (0.21.2) + selenium-webdriver (4.18.1) + base64 (~> 0.2) + rexml (~> 3.2, >= 3.2.5) + rubyzip (>= 1.2.2, < 3.0) + websocket (~> 1.0) + simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) simplecov_json_formatter (~> 0.1) @@ -237,21 +246,21 @@ GEM actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) - sqlite3 (1.4.4) - strscan (3.1.0) + sqlite3 (1.6.9) + mini_portile2 (~> 2.8.0) thor (1.3.1) timeout (0.4.1) tzinfo (2.0.6) concurrent-ruby (~> 1.0) unicode-display_width (2.5.0) - webdrivers (4.6.1) - nokogiri (~> 1.6) - rubyzip (>= 1.3.0) - selenium-webdriver (>= 3.0, < 4.0) webrick (1.8.1) + websocket (1.2.10) websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) + with_advisory_lock (5.1.0) + activerecord (>= 6.1) + zeitwerk (>= 2.6) xpath (3.2.0) nokogiri (~> 1.8) yard (0.9.36) @@ -263,49 +272,48 @@ PLATFORMS DEPENDENCIES actionpack-xml_parser addressable - bundler (>= 1.12.0) - capybara (~> 3.38.0) + capybara (>= 3.39) commonmarker (~> 0.23.8) - csv (~> 3.2.0) + csv (~> 3.2.6) deckar01-task_list (= 2.3.2) ffi html-pipeline (~> 2.13.2) - i18n (~> 1.10.0) + i18n (~> 1.14.1) listen (~> 3.3) - mail (~> 2.7.1) + mail (~> 2.8.1) marcel - mini_magick (~> 4.11.0) + mini_magick (~> 4.12.0) mini_mime (~> 1.1.0) mocha (>= 2.0.1) mysql2 (~> 0.5.0) - net-imap (~> 0.2.2) + net-imap (~> 0.3.4) net-ldap (~> 0.17.0) - net-pop (~> 0.1.1) - net-smtp (~> 0.3.0) + net-pop (~> 0.1.2) + net-smtp (~> 0.3.3) nokogiri (~> 1.15.2) - pg (~> 1.4.2) + pg (~> 1.5.3) puma - rails (= 6.1.7.6) + rails (= 6.1.7.7) rails-dom-testing rbpdf (~> 1.21.3) - redcarpet (~> 3.5.1) + redcarpet (~> 3.6.0) request_store (~> 1.5.0) rexml - roadie-rails (~> 3.0.0) + roadie-rails (~> 3.1.0) rotp (>= 5.0.0) - rouge (~> 3.28.0) + rouge (~> 4.2.0) rqrcode - rubocop (~> 1.26.0) - rubocop-performance (~> 1.13.0) - rubocop-rails (~> 2.14.0) + rubocop (~> 1.57.0) + rubocop-performance (~> 1.19.0) + rubocop-rails (~> 2.22.1) rubyzip (~> 2.3.0) sanitize (~> 6.0) - selenium-webdriver (~> 3.142.7) - simplecov (~> 0.21.2) - sqlite3 (~> 1.4.0) + selenium-webdriver (>= 4.11.0) + simplecov (~> 0.22.0) + sqlite3 (~> 1.6.0) tzinfo-data - webdrivers (= 4.6.1) webrick + with_advisory_lock yard RUBY VERSION diff --git a/pkgs/applications/version-management/redmine/default.nix b/pkgs/applications/version-management/redmine/default.nix index 2d06be35466a..9329c0a111e6 100644 --- a/pkgs/applications/version-management/redmine/default.nix +++ b/pkgs/applications/version-management/redmine/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchurl, bundlerEnv, ruby, makeWrapper, nixosTests }: let - version = "5.0.6"; + version = "5.1.2"; rubyEnv = bundlerEnv { name = "redmine-env-${version}"; @@ -16,7 +16,7 @@ in src = fetchurl { url = "https://www.redmine.org/releases/${pname}-${version}.tar.gz"; - hash = "sha256-SI/gjzeo6xARQVkiqOp0O3842Kel+IIpUKNKN13PCO4="; + hash = "sha256-JsDKCpqu4c65g4Jb8SZsmbCFC/ATwXhxP1o7AIABISM="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/version-management/redmine/gemset.nix b/pkgs/applications/version-management/redmine/gemset.nix index 1babe5faca5a..10c5de5ed7e2 100644 --- a/pkgs/applications/version-management/redmine/gemset.nix +++ b/pkgs/applications/version-management/redmine/gemset.nix @@ -5,10 +5,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1fdbks9byqqlkd6glj6lkz5f1z6948hh8fhv9x5pzqciralmz142"; + sha256 = "1br4vjv1si1gvhh8p96r95crljqwbx3nlzbkkdqg21xq8f9106kl"; type = "gem"; }; - version = "6.1.7.6"; + version = "6.1.7.7"; }; actionmailbox = { dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"]; @@ -16,10 +16,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1rfya6qgsl14cm9l2w7h7lg4znsyg3gqiskhqr8wn76sh0x2hln0"; + sha256 = "1i21621aiv233pa8fp1pvibwgbzzdddp0bx44qqn16yca6z35zrj"; type = "gem"; }; - version = "6.1.7.6"; + version = "6.1.7.7"; }; actionmailer = { dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "rails-dom-testing"]; @@ -27,10 +27,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jr9jpf542svzqz8x68s08jnf30shxrrh7rq1a0s7jia5a5zx3qd"; + sha256 = "0irkj00z2mzsvbrpdl8sd08k04hz5lhvy8rfkzhx2sqq5x1n155a"; type = "gem"; }; - version = "6.1.7.6"; + version = "6.1.7.7"; }; actionpack = { dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; @@ -38,10 +38,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0vf6ncs647psa9p23d2108zgmlf0pr7gcjr080yg5yf68gyhs53k"; + sha256 = "15jp9a1mgz8xjm618s8g69d70w19nn2svav4fhz3aarjwfbkvwj7"; type = "gem"; }; - version = "6.1.7.6"; + version = "6.1.7.7"; }; actionpack-xml_parser = { dependencies = ["actionpack" "railties"]; @@ -60,10 +60,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1i8s3v6m8q3y17c40l6d3k2vs1mdqr0y1lfm7i6dfbj2y673lk9r"; + sha256 = "0hjm6vapqq1f7addwl71qwzn72lnmq686ypnbyhd873hqlnzangf"; type = "gem"; }; - version = "6.1.7.6"; + version = "6.1.7.7"; }; actionview = { dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; @@ -71,10 +71,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1s4c1n5lv31sc7w4w74xz8gzyq3sann00bm4l7lxgy3vgi2wqkid"; + sha256 = "1hkdqf299dx8bgvgpgknf37kcbprqgq0iy8xdipww6pmbbc45bwk"; type = "gem"; }; - version = "6.1.7.6"; + version = "6.1.7.7"; }; activejob = { dependencies = ["activesupport" "globalid"]; @@ -82,10 +82,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1641003plszig5ybhrqy90fv43l1vcai5h35qmhh9j12byk5hp26"; + sha256 = "06rp7kks22wrc55vric8yh0kg137jsiwd62jimdiqhh9bp48jbbm"; type = "gem"; }; - version = "6.1.7.6"; + version = "6.1.7.7"; }; activemodel = { dependencies = ["activesupport"]; @@ -93,10 +93,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "148szdj5jlnfpv3nmy8cby8rxgpdvs43f3rzqby1f7a0l2knd3va"; + sha256 = "0zz32997k2fsyd0fzrh8f79yjr6hv3i4j9wykkxncl02j8dhrkay"; type = "gem"; }; - version = "6.1.7.6"; + version = "6.1.7.7"; }; activerecord = { dependencies = ["activemodel" "activesupport"]; @@ -104,10 +104,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0n7hg582ajdncilfk1kkw8qfdchymp2gqgkad1znlhlmclihsafr"; + sha256 = "0qzymgyrvw2k32ldabp2jr0zgp6z9w8smyb946qgvs9zfs4n2qnn"; type = "gem"; }; - version = "6.1.7.6"; + version = "6.1.7.7"; }; activestorage = { dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime"]; @@ -115,10 +115,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "16pylwnqsbvq2wxhl7k1rnravbr3dgpjmnj0psz5gijgkydd52yc"; + sha256 = "12i033l3m41vr3qs7msy4p88a6pglx9vnsh5nakp0b6abf6mv5mk"; type = "gem"; }; - version = "6.1.7.6"; + version = "6.1.7.7"; }; activesupport = { dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"]; @@ -126,10 +126,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1nhrdih0rk46i0s6x7nqhbypmj1hf23zl5gfl9xasb6k4r2a1dxk"; + sha256 = "0r2i9b0pm0b1dy8fc7kyls1g7f0bcnyq53v825rykibzdqfqdfgp"; type = "gem"; }; - version = "6.1.7.6"; + version = "6.1.7.7"; }; addressable = { dependencies = ["public_suffix"]; @@ -152,6 +152,16 @@ }; version = "2.4.2"; }; + base64 = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; + type = "gem"; + }; + version = "0.2.0"; + }; builder = { groups = ["default"]; platforms = []; @@ -168,20 +178,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "123198zk2ak8mziwa5jc3ckgpmsg08zn064n3aywnqm9s1bwjv3v"; + sha256 = "1vxfah83j6zpw3v5hic0j70h519nvmix2hbszmjwm8cfawhagns2"; type = "gem"; }; - version = "3.38.0"; - }; - childprocess = { - groups = ["default" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1ic028k8xgm2dds9mqnvwwx3ibaz32j8455zxr9f4bcnviyahya5"; - type = "gem"; - }; - version = "3.0.0"; + version = "3.40.0"; }; chunky_png = { groups = ["default"]; @@ -214,7 +214,7 @@ version = "1.2.3"; }; crass = { - groups = ["common_mark" "default"]; + groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; @@ -244,6 +244,16 @@ }; version = "3.2.9"; }; + date = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "149jknsq999gnhy865n33fkk22s0r447k76x9pmcnnwldfv2q7wp"; + type = "gem"; + }; + version = "3.3.4"; + }; deckar01-task_list = { dependencies = ["html-pipeline"]; groups = ["common_mark"]; @@ -255,16 +265,6 @@ }; version = "2.3.2"; }; - digest = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "01qkpbkxq83ip3iysfh2kjrg9sh2n2q91prhyxh3vq10lcfzv9l1"; - type = "gem"; - }; - version = "3.1.1"; - }; docile = { groups = ["default" "test"]; platforms = []; @@ -318,7 +318,7 @@ }; html-pipeline = { dependencies = ["activesupport" "nokogiri"]; - groups = ["common_mark"]; + groups = ["common_mark" "default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; @@ -343,10 +343,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0b2qyvnk4yynlg17ymkq4g5xgr275637fhl1mjh0valw3cb1fhhg"; + sha256 = "0lbm33fpb3w06wd2231sg58dwlwgjsvym93m548ajvl6s3mfvpn7"; type = "gem"; }; - version = "1.10.0"; + version = "1.14.4"; + }; + json = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0r9jmjhg2ly3l736flk7r2al47b5c8cayh0gqkq0yhjqzc9a6zhq"; + type = "gem"; + }; + version = "2.7.1"; + }; + language_server-protocol = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gvb1j8xsqxms9mww01rmdl78zkd72zgxaap56bhv8j45z05hp1x"; + type = "gem"; + }; + version = "3.17.0.3"; }; listen = { dependencies = ["rb-fsevent" "rb-inotify"]; @@ -371,15 +391,15 @@ version = "2.22.0"; }; mail = { - dependencies = ["mini_mime"]; + dependencies = ["mini_mime" "net-imap" "net-pop" "net-smtp"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc"; + sha256 = "1bf9pysw1jfgynv692hhaycfxa8ckay1gjw5hz3madrbrynryfzc"; type = "gem"; }; - version = "2.7.1"; + version = "2.8.1"; }; marcel = { groups = ["default"]; @@ -416,10 +436,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1aj604x11d9pksbljh0l38f70b558rhdgji1s9i763hiagvvx2hs"; + sha256 = "0slh78f9z6n0l1i2km7m48yz7l4fjrk88sj1f4mh1wb39sl2yc37"; type = "gem"; }; - version = "4.11.0"; + version = "4.12.0"; }; mini_mime = { groups = ["default" "test"]; @@ -433,7 +453,15 @@ }; mini_portile2 = { groups = ["common_mark" "default" "test"]; - platforms = []; + platforms = [{ + engine = "maglev"; + } { + engine = "mingw"; + } { + engine = "mingw"; + } { + engine = "ruby"; + }]; source = { remotes = ["https://rubygems.org"]; sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs"; @@ -481,15 +509,15 @@ version = "0.5.6"; }; net-imap = { - dependencies = ["digest" "net-protocol" "strscan"]; + dependencies = ["date" "net-protocol"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0wkawmda0iawc3f6klmfzj727phwy66yydqksvfzpjwg69jfmcvn"; + sha256 = "0lf7wqg7czhaj51qsnmn28j7jmcxhkh3m28rl1cjrqsgjxhwj7r3"; type = "gem"; }; - version = "0.2.4"; + version = "0.3.7"; }; net-ldap = { groups = ["ldap"]; @@ -589,10 +617,10 @@ }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "07m6lxljabw9kyww5k5lgsxsznsm1v5l14r1la09gqka9b5kv3yr"; + sha256 = "071b55bhsz7mivlnp2kv0a11msnl7xg5awvk8mlflpl270javhsb"; type = "gem"; }; - version = "1.4.6"; + version = "1.5.6"; }; public_suffix = { groups = ["default" "test"]; @@ -652,10 +680,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0gf5dqabzd0mf0q39a07kf0smdm2cv2z5swl3zr4cz50yb85zz3l"; + sha256 = "0jqp5fggkxbjm4rhsywa7j5rvwkzp6gbaa1mg4k8zxrbfczhxwwl"; type = "gem"; }; - version = "6.1.7.6"; + version = "6.1.7.7"; }; rails-dom-testing = { dependencies = ["activesupport" "minitest" "nokogiri"]; @@ -685,10 +713,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vq4ahyg9hraixxmmwwypdnpcylpvznvdxhj4xa23xk45wzbl3h7"; + sha256 = "07qxgrd92yq0cckrmzx54glvjdd1xx87xysgvaqd75hn50klp8ip"; type = "gem"; }; - version = "6.1.7.6"; + version = "6.1.7.7"; }; rainbow = { groups = ["default" "test"]; @@ -753,14 +781,14 @@ version = "1.19.1"; }; redcarpet = { - groups = ["common_mark" "markdown"]; + groups = ["markdown"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bvk8yyns5s1ls437z719y5sdv9fr8kfs8dmr6g8s761dv5n8zvi"; + sha256 = "1sg9sbf9pm91l7lac7fs4silabyn0vflxwaa2x3lrzsm0ff8ilca"; type = "gem"; }; - version = "3.5.1"; + version = "3.6.0"; }; regexp_parser = { groups = ["default" "test"]; @@ -810,10 +838,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "16j1cjhq8xqr77vyf7m7ip2132619wdnpvlbig4cnn96yyi0cnan"; + sha256 = "08fycjfbg9rqksk3bch8qv76g7acd1jbxy2y68lsqz1gxfky2ias"; type = "gem"; }; - version = "3.0.0"; + version = "3.1.0"; }; rotp = { groups = ["default"]; @@ -830,10 +858,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "080fswzii68wnbsg7pgq55ba7p289sqjlxwp4vch0h32qy1f8v8d"; + sha256 = "1zd1pdldi6h8x27dqim7cy8m69xr01aw5c8k1zhkz497n4np6wgk"; type = "gem"; }; - version = "3.28.0"; + version = "4.2.1"; }; rqrcode = { dependencies = ["chunky_png" "rqrcode_core"]; @@ -857,15 +885,15 @@ version = "1.2.0"; }; rubocop = { - dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; + dependencies = ["json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; groups = ["test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06105yrqajpm5l07fng1nbk55y9490hny542zclnan8hg841pjgl"; + sha256 = "06qnp5zs233j4f59yyqrg8al6hr9n4a7vcdg3p31v0np8bz9srwg"; type = "gem"; }; - version = "1.26.1"; + version = "1.57.2"; }; rubocop-ast = { dependencies = ["parser"]; @@ -884,21 +912,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17ny81dy5gjrvris8mni7la8yjg57snphyg9nmvnc3al7yhwr74x"; + sha256 = "1pzsrnjmrachdjxzl9jpw47cydicn3408vgdg3a4bss4v5r42rjj"; type = "gem"; }; - version = "1.13.3"; + version = "1.19.1"; }; rubocop-rails = { - dependencies = ["activesupport" "rack" "rubocop"]; + dependencies = ["activesupport" "rack" "rubocop" "rubocop-ast"]; groups = ["test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "14xagb3jbms5mlcf932kx1djn2q4k952d4xia75ll36vh7xf2fpp"; + sha256 = "0ym0h2w97b8c2h6zl44m22lzg253qkmim0ali32aiy58ddvbj0mm"; type = "gem"; }; - version = "2.14.2"; + version = "2.22.2"; }; ruby-progressbar = { groups = ["default" "test"]; @@ -932,7 +960,7 @@ }; sanitize = { dependencies = ["crass" "nokogiri"]; - groups = ["common_mark"]; + groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; @@ -942,15 +970,15 @@ version = "6.1.0"; }; selenium-webdriver = { - dependencies = ["childprocess" "rubyzip"]; + dependencies = ["base64" "rexml" "rubyzip" "websocket"]; groups = ["test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0adcvp86dinaqq3nhf8p3m0rl2g6q0a4h52k0i7kdnsg1qz9k86y"; + sha256 = "1asysih4l1mv24wqxrbnz0c0454kw3dhqaj6nsa8pyn9fjjdms5b"; type = "gem"; }; - version = "3.142.7"; + version = "4.18.1"; }; simplecov = { dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"]; @@ -958,10 +986,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1hrv046jll6ad1s964gsmcq4hvkr3zzr6jc7z1mns22mvfpbc3cr"; + sha256 = "198kcbrjxhhzca19yrdcd6jjj9sb51aaic3b0sc3pwjghg3j49py"; type = "gem"; }; - version = "0.21.2"; + version = "0.22.0"; }; simplecov-html = { groups = ["default" "test"]; @@ -1006,6 +1034,7 @@ version = "3.4.2"; }; sqlite3 = { + dependencies = ["mini_portile2"]; groups = ["default"]; platforms = [{ engine = "maglev"; @@ -1018,20 +1047,10 @@ }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1z1wa639c278bsipczn6kv8b13fj85pi8gk7x462chqx6k0wm0ax"; + sha256 = "08irz5llz31im8pmkk5k0kw433jyyji1qa98xkdmpphncdjr38am"; type = "gem"; }; - version = "1.4.4"; - }; - strscan = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0mamrl7pxacbc79ny5hzmakc9grbjysm3yy6119ppgsg44fsif01"; - type = "gem"; - }; - version = "3.1.0"; + version = "1.6.9"; }; thor = { groups = ["default"]; @@ -1074,17 +1093,6 @@ }; version = "2.5.0"; }; - webdrivers = { - dependencies = ["nokogiri" "rubyzip" "selenium-webdriver"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1naymcfmm9pkf0f67xd99d9f6dpv477ggyvc1c04gxifirynfydp"; - type = "gem"; - }; - version = "4.6.1"; - }; webrick = { groups = ["default"]; platforms = []; @@ -1095,6 +1103,16 @@ }; version = "1.8.1"; }; + websocket = { + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1a4zc8d0d91c3xqwapda3j3zgpfwdbj76hkb69xn6qvfkfks9h9c"; + type = "gem"; + }; + version = "1.2.10"; + }; websocket-driver = { dependencies = ["websocket-extensions"]; groups = ["default"]; @@ -1116,6 +1134,17 @@ }; version = "0.1.5"; }; + with_advisory_lock = { + dependencies = ["activerecord" "zeitwerk"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1mzy29advrdczf88j2ffvck4kf8sfhxn07sym9ciq9rv061cv4h6"; + type = "gem"; + }; + version = "5.1.0"; + }; xpath = { dependencies = ["nokogiri"]; groups = ["default" "test"]; From 187a5f88dc3f2cc04610a19a6780b33134197a90 Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Sun, 24 Mar 2024 22:13:04 +0100 Subject: [PATCH 22/89] redmine: Move package files into pkgs/by-name directory Signed-off-by: Felix Singer --- .../re}/redmine/0001-python3.patch | 0 .../version-management => by-name/re}/redmine/Gemfile | 0 .../version-management => by-name/re}/redmine/Gemfile.lock | 0 .../version-management => by-name/re}/redmine/gemset.nix | 0 .../redmine/default.nix => by-name/re/redmine/package.nix} | 0 .../version-management => by-name/re}/redmine/update.sh | 0 pkgs/top-level/all-packages.nix | 2 -- 7 files changed, 2 deletions(-) rename pkgs/{applications/version-management => by-name/re}/redmine/0001-python3.patch (100%) rename pkgs/{applications/version-management => by-name/re}/redmine/Gemfile (100%) rename pkgs/{applications/version-management => by-name/re}/redmine/Gemfile.lock (100%) rename pkgs/{applications/version-management => by-name/re}/redmine/gemset.nix (100%) rename pkgs/{applications/version-management/redmine/default.nix => by-name/re/redmine/package.nix} (100%) rename pkgs/{applications/version-management => by-name/re}/redmine/update.sh (100%) diff --git a/pkgs/applications/version-management/redmine/0001-python3.patch b/pkgs/by-name/re/redmine/0001-python3.patch similarity index 100% rename from pkgs/applications/version-management/redmine/0001-python3.patch rename to pkgs/by-name/re/redmine/0001-python3.patch diff --git a/pkgs/applications/version-management/redmine/Gemfile b/pkgs/by-name/re/redmine/Gemfile similarity index 100% rename from pkgs/applications/version-management/redmine/Gemfile rename to pkgs/by-name/re/redmine/Gemfile diff --git a/pkgs/applications/version-management/redmine/Gemfile.lock b/pkgs/by-name/re/redmine/Gemfile.lock similarity index 100% rename from pkgs/applications/version-management/redmine/Gemfile.lock rename to pkgs/by-name/re/redmine/Gemfile.lock diff --git a/pkgs/applications/version-management/redmine/gemset.nix b/pkgs/by-name/re/redmine/gemset.nix similarity index 100% rename from pkgs/applications/version-management/redmine/gemset.nix rename to pkgs/by-name/re/redmine/gemset.nix diff --git a/pkgs/applications/version-management/redmine/default.nix b/pkgs/by-name/re/redmine/package.nix similarity index 100% rename from pkgs/applications/version-management/redmine/default.nix rename to pkgs/by-name/re/redmine/package.nix diff --git a/pkgs/applications/version-management/redmine/update.sh b/pkgs/by-name/re/redmine/update.sh similarity index 100% rename from pkgs/applications/version-management/redmine/update.sh rename to pkgs/by-name/re/redmine/update.sh diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d3bab087bf0a..d4c28d05aa48 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12529,8 +12529,6 @@ with pkgs; redir = callPackage ../tools/networking/redir { }; - redmine = callPackage ../applications/version-management/redmine { }; - redpanda-client = callPackage ../servers/redpanda { }; redpanda-server = redpanda-client.server; From 8cf2cf33ec787721b0dac5f67ca0641ed2d7abaa Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 30 Mar 2024 13:45:45 +0100 Subject: [PATCH 23/89] python312Packages.async-upnp-client: 0.38.2 -> 0.38.3 Diff: https://github.com/StevenLooman/async_upnp_client/compare/refs/tags/0.38.2...0.38.3 Changelog: https://github.com/StevenLooman/async_upnp_client/blob/0.38.3/CHANGES.rst --- pkgs/development/python-modules/async-upnp-client/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/async-upnp-client/default.nix b/pkgs/development/python-modules/async-upnp-client/default.nix index 4cb8e0bbbbb9..4c6515dd426d 100644 --- a/pkgs/development/python-modules/async-upnp-client/default.nix +++ b/pkgs/development/python-modules/async-upnp-client/default.nix @@ -22,7 +22,7 @@ buildPythonPackage rec { pname = "async-upnp-client"; - version = "0.38.2"; + version = "0.38.3"; pyproject = true; disabled = pythonOlder "3.8"; @@ -31,7 +31,7 @@ buildPythonPackage rec { owner = "StevenLooman"; repo = "async_upnp_client"; rev = "refs/tags/${version}"; - hash = "sha256-gPA9u1BuMswfg5Nll8l6vrcTP2s3Zn9ESTbV+dOxlhA="; + hash = "sha256-RmpQOVZ/s3Zv2e+iS7LTI5Wh/g0yy0Xv0M8ppsbYZPg="; }; nativeBuildInputs = [ From d8b3f3fb46243d231645ba179f11c536982172c8 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 30 Mar 2024 13:49:06 +0100 Subject: [PATCH 24/89] python312Packages.async-upnp-client: refactor --- .../async-upnp-client/default.nix | 20 +++---------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/pkgs/development/python-modules/async-upnp-client/default.nix b/pkgs/development/python-modules/async-upnp-client/default.nix index 4c6515dd426d..d896a16f5ab6 100644 --- a/pkgs/development/python-modules/async-upnp-client/default.nix +++ b/pkgs/development/python-modules/async-upnp-client/default.nix @@ -34,11 +34,11 @@ buildPythonPackage rec { hash = "sha256-RmpQOVZ/s3Zv2e+iS7LTI5Wh/g0yy0Xv0M8ppsbYZPg="; }; - nativeBuildInputs = [ + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ aiohttp async-timeout defusedxml @@ -56,20 +56,6 @@ buildPythonPackage rec { # socket.gaierror: [Errno -2] Name or service not known "test_async_get_local_ip" "test_get_local_ip" - # OSError: [Errno 101] Network is unreachable - "test_auto_resubscribe_fail" - "test_init" - "test_on_notify_dlna_event" - "test_on_notify_upnp_event" - "test_server_init" - "test_server_start" - "test_start_server" - "test_subscribe" - "test_subscribe_auto_resubscribe" - "test_subscribe_fail" - "test_subscribe_manual_resubscribe" - "test_subscribe_renew" - "test_unsubscribe" ] ++ lib.optionals stdenv.isDarwin [ "test_deferred_callback_url" ]; @@ -85,10 +71,10 @@ buildPythonPackage rec { meta = with lib; { description = "Asyncio UPnP Client library for Python"; - mainProgram = "upnp-client"; homepage = "https://github.com/StevenLooman/async_upnp_client"; changelog = "https://github.com/StevenLooman/async_upnp_client/blob/${version}/CHANGES.rst"; license = licenses.asl20; maintainers = with maintainers; [ hexa ]; + mainProgram = "upnp-client"; }; } From 5142b7afa88db6ccec229521ad96df4419f6abe4 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 17 Mar 2024 11:54:30 +0100 Subject: [PATCH 25/89] nixos/postgresql: turn `settings` into a submodule The main idea behind that was to be able to do more sophisticated merging for stuff that goes into `postgresql.conf`: `shared_preload_libraries` is a comma-separated list in a `types.str` and thus not mergeable. With this change, the option accepts both a comma-separated string xor a list of strings. This can be implemented rather quick using `coercedTo` + freeform modules. The interface still behaves equally, but it allows to merge declarations for this option together. One side-effect was that I had to change the `attrsOf (oneOf ...)` part into a submodule to allow declaring options for certain things. While at it, I decided to move `log_line_prefix` and `port` into this structure as well. --- .../modules/services/databases/postgresql.md | 6 +- .../modules/services/databases/postgresql.nix | 61 +++++++++++-------- nixos/modules/services/misc/forgejo.nix | 4 +- nixos/modules/services/misc/gitea.nix | 4 +- .../services/monitoring/zabbix-proxy.nix | 4 +- .../services/monitoring/zabbix-server.nix | 4 +- nixos/modules/services/web-apps/invidious.nix | 4 +- nixos/modules/services/web-apps/zabbix.nix | 4 +- nixos/tests/invidious.nix | 2 +- nixos/tests/miniflux.nix | 2 +- nixos/tests/pg_anonymizer.nix | 2 +- nixos/tests/pgmanage.nix | 2 +- .../web-apps/mastodon/remote-databases.nix | 2 +- 13 files changed, 57 insertions(+), 44 deletions(-) diff --git a/nixos/modules/services/databases/postgresql.md b/nixos/modules/services/databases/postgresql.md index 6cce8f542a53..8a587832cd8c 100644 --- a/nixos/modules/services/databases/postgresql.md +++ b/nixos/modules/services/databases/postgresql.md @@ -118,7 +118,7 @@ are already created. before = "service1.service"; after = "postgresql.service"; serviceConfig.User = "postgres"; - environment.PSQL = "psql --port=${toString services.postgresql.port}"; + environment.PSQL = "psql --port=${toString services.postgresql.settings.port}"; path = [ postgresql ]; script = '' $PSQL service1 -c 'GRANT SELECT ON ALL TABLES IN SCHEMA public TO "extraUser1"' @@ -139,7 +139,7 @@ are already created. ```nix { - environment.PSQL = "psql --port=${toString services.postgresql.port}"; + environment.PSQL = "psql --port=${toString services.postgresql.settings.port}"; path = [ postgresql ]; systemd.services."service1".preStart = '' $PSQL -c 'GRANT SELECT ON ALL TABLES IN SCHEMA public TO "extraUser1"' @@ -159,7 +159,7 @@ are already created. before = "service1.service"; after = "postgresql.service"; serviceConfig.User = "service1"; - environment.PSQL = "psql --port=${toString services.postgresql.port}"; + environment.PSQL = "psql --port=${toString services.postgresql.settings.port}"; path = [ postgresql ]; script = '' $PSQL -c 'GRANT SELECT ON ALL TABLES IN SCHEMA public TO "extraUser1"' diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index c3f3b98ae5e7..d3fd6db6aea1 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -27,7 +27,7 @@ let else toString value; # The main PostgreSQL configuration file. - configFile = pkgs.writeTextDir "postgresql.conf" (concatStringsSep "\n" (mapAttrsToList (n: v: "${n} = ${toStr v}") cfg.settings)); + configFile = pkgs.writeTextDir "postgresql.conf" (concatStringsSep "\n" (mapAttrsToList (n: v: "${n} = ${toStr v}") (filterAttrs (const (x: x != null)) cfg.settings))); configFileCheck = pkgs.runCommand "postgresql-configfile-check" {} '' ${cfg.package}/bin/postgres -D${configFile} -C config_file >/dev/null @@ -41,6 +41,9 @@ in { imports = [ (mkRemovedOptionModule [ "services" "postgresql" "extraConfig" ] "Use services.postgresql.settings instead.") + + (mkRenamedOptionModule [ "services" "postgresql" "logLinePrefix" ] [ "services" "postgresql" "settings" "log_line_prefix" ]) + (mkRenamedOptionModule [ "services" "postgresql" "port" ] [ "services" "postgresql" "settings" "port" ]) ]; ###### interface @@ -57,14 +60,6 @@ in example = "postgresql_15"; }; - port = mkOption { - type = types.port; - default = 5432; - description = lib.mdDoc '' - The port on which PostgreSQL listens. - ''; - }; - checkConfig = mkOption { type = types.bool; default = true; @@ -352,17 +347,6 @@ in ''; }; - logLinePrefix = mkOption { - type = types.str; - default = "[%p] "; - example = "%m [%p] "; - description = lib.mdDoc '' - A printf-style string that is output at the beginning of each log line. - Upstream default is `'%m [%p] '`, i.e. it includes the timestamp. We do - not include the timestamp, because journal has it anyway. - ''; - }; - extraPlugins = mkOption { type = with types; coercedTo (listOf path) (path: _ignorePg: path) (functionTo (listOf path)); default = _: []; @@ -373,7 +357,38 @@ in }; settings = mkOption { - type = with types; attrsOf (oneOf [ bool float int str ]); + type = with types; submodule { + freeformType = attrsOf (oneOf [ bool float int str ]); + options = { + shared_preload_libraries = mkOption { + type = nullOr (coercedTo (listOf str) (concatStringsSep ", ") str); + default = null; + example = literalExpression ''[ "auto_explain" "anon" ]''; + description = mdDoc '' + List of libraries to be preloaded. + ''; + }; + + log_line_prefix = mkOption { + type = types.str; + default = "[%p] "; + example = "%m [%p] "; + description = lib.mdDoc '' + A printf-style string that is output at the beginning of each log line. + Upstream default is `'%m [%p] '`, i.e. it includes the timestamp. We do + not include the timestamp, because journal has it anyway. + ''; + }; + + port = mkOption { + type = types.port; + default = 5432; + description = lib.mdDoc '' + The port on which PostgreSQL listens. + ''; + }; + }; + }; default = {}; description = lib.mdDoc '' PostgreSQL configuration. Refer to @@ -439,9 +454,7 @@ in hba_file = "${pkgs.writeText "pg_hba.conf" cfg.authentication}"; ident_file = "${pkgs.writeText "pg_ident.conf" cfg.identMap}"; log_destination = "stderr"; - log_line_prefix = cfg.logLinePrefix; listen_addresses = if cfg.enableTCPIP then "*" else "localhost"; - port = cfg.port; jit = mkDefault (if cfg.enableJIT then "on" else "off"); }; @@ -524,7 +537,7 @@ in # Wait for PostgreSQL to be ready to accept connections. postStart = '' - PSQL="psql --port=${toString cfg.port}" + PSQL="psql --port=${toString cfg.settings.port}" while ! $PSQL -d postgres -c "" 2> /dev/null; do if ! kill -0 "$MAINPID"; then exit 1; fi diff --git a/nixos/modules/services/misc/forgejo.nix b/nixos/modules/services/misc/forgejo.nix index 08cddc3a0710..2b1700626870 100644 --- a/nixos/modules/services/misc/forgejo.nix +++ b/nixos/modules/services/misc/forgejo.nix @@ -114,11 +114,11 @@ in port = mkOption { type = types.port; - default = if !usePostgresql then 3306 else pg.port; + default = if usePostgresql then pg.settings.port else 3306; defaultText = literalExpression '' if config.${opt.database.type} != "postgresql" then 3306 - else config.${options.services.postgresql.port} + else 5432 ''; description = mdDoc "Database host port."; }; diff --git a/nixos/modules/services/misc/gitea.nix b/nixos/modules/services/misc/gitea.nix index 08feea853e47..13617931c23e 100644 --- a/nixos/modules/services/misc/gitea.nix +++ b/nixos/modules/services/misc/gitea.nix @@ -100,11 +100,11 @@ in port = mkOption { type = types.port; - default = if !usePostgresql then 3306 else pg.port; + default = if usePostgresql then pg.settings.port else 3306; defaultText = literalExpression '' if config.${opt.database.type} != "postgresql" then 3306 - else config.${options.services.postgresql.port} + else 5432 ''; description = lib.mdDoc "Database host port."; }; diff --git a/nixos/modules/services/monitoring/zabbix-proxy.nix b/nixos/modules/services/monitoring/zabbix-proxy.nix index fea5704af6f6..7a0fc77d5b25 100644 --- a/nixos/modules/services/monitoring/zabbix-proxy.nix +++ b/nixos/modules/services/monitoring/zabbix-proxy.nix @@ -103,11 +103,11 @@ in port = mkOption { type = types.port; - default = if cfg.database.type == "mysql" then mysql.port else pgsql.port; + default = if cfg.database.type == "mysql" then mysql.port else pgsql.services.port; defaultText = literalExpression '' if config.${opt.database.type} == "mysql" then config.${options.services.mysql.port} - else config.${options.services.postgresql.port} + else config.services.postgresql.settings.port ''; description = lib.mdDoc "Database host port."; }; diff --git a/nixos/modules/services/monitoring/zabbix-server.nix b/nixos/modules/services/monitoring/zabbix-server.nix index f2fb5fbe7ac6..fc9295d294d1 100644 --- a/nixos/modules/services/monitoring/zabbix-server.nix +++ b/nixos/modules/services/monitoring/zabbix-server.nix @@ -95,11 +95,11 @@ in port = mkOption { type = types.port; - default = if cfg.database.type == "mysql" then mysql.port else pgsql.port; + default = if cfg.database.type == "mysql" then mysql.port else pgsql.settings.port; defaultText = literalExpression '' if config.${opt.database.type} == "mysql" then config.${options.services.mysql.port} - else config.${options.services.postgresql.port} + else config.services.postgresql.settings.port ''; description = lib.mdDoc "Database host port."; }; diff --git a/nixos/modules/services/web-apps/invidious.nix b/nixos/modules/services/web-apps/invidious.nix index 359aaabfe673..ac7937b16e48 100644 --- a/nixos/modules/services/web-apps/invidious.nix +++ b/nixos/modules/services/web-apps/invidious.nix @@ -346,8 +346,8 @@ in port = lib.mkOption { type = types.port; - default = options.services.postgresql.port.default; - defaultText = lib.literalExpression "options.services.postgresql.port.default"; + default = config.services.postgresql.settings.port; + defaultText = lib.literalExpression "config.services.postgresql.settings.port"; description = lib.mdDoc '' The port of the database Invidious should use. diff --git a/nixos/modules/services/web-apps/zabbix.nix b/nixos/modules/services/web-apps/zabbix.nix index 4f6d7e4e6c1c..ac3c85af2a71 100644 --- a/nixos/modules/services/web-apps/zabbix.nix +++ b/nixos/modules/services/web-apps/zabbix.nix @@ -76,11 +76,11 @@ in type = types.port; default = if cfg.database.type == "mysql" then config.services.mysql.port - else if cfg.database.type == "pgsql" then config.services.postgresql.port + else if cfg.database.type == "pgsql" then config.services.postgresql.settings.port else 1521; defaultText = literalExpression '' if config.${opt.database.type} == "mysql" then config.${options.services.mysql.port} - else if config.${opt.database.type} == "pgsql" then config.${options.services.postgresql.port} + else if config.${opt.database.type} == "pgsql" then config.services.postgresql.settings.port else 1521 ''; description = lib.mdDoc "Database host port."; diff --git a/nixos/tests/invidious.nix b/nixos/tests/invidious.nix index e31cd87f6a00..372b47b56c34 100644 --- a/nixos/tests/invidious.nix +++ b/nixos/tests/invidious.nix @@ -18,7 +18,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { host invidious invidious samenet scram-sha-256 ''; }; - networking.firewall.allowedTCPPorts = [ config.services.postgresql.port ]; + networking.firewall.allowedTCPPorts = [ config.services.postgresql.settings.port ]; }; machine = { config, lib, pkgs, ... }: { services.invidious = { diff --git a/nixos/tests/miniflux.nix b/nixos/tests/miniflux.nix index 6d38224448ed..2adf9010051c 100644 --- a/nixos/tests/miniflux.nix +++ b/nixos/tests/miniflux.nix @@ -76,7 +76,7 @@ in systemd.services.postgresql.postStart = lib.mkAfter '' $PSQL -tAd miniflux -c 'CREATE EXTENSION hstore;' ''; - networking.firewall.allowedTCPPorts = [ config.services.postgresql.port ]; + networking.firewall.allowedTCPPorts = [ config.services.postgresql.settings.port ]; }; externalDb = { ... }: { security.apparmor.enable = true; diff --git a/nixos/tests/pg_anonymizer.nix b/nixos/tests/pg_anonymizer.nix index 2960108e37c3..b26e4dca0580 100644 --- a/nixos/tests/pg_anonymizer.nix +++ b/nixos/tests/pg_anonymizer.nix @@ -7,7 +7,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { services.postgresql = { enable = true; extraPlugins = ps: [ ps.anonymizer ]; - settings.shared_preload_libraries = "anon"; + settings.shared_preload_libraries = [ "anon" ]; }; }; diff --git a/nixos/tests/pgmanage.nix b/nixos/tests/pgmanage.nix index 6f8f2f965340..6e72b32eca36 100644 --- a/nixos/tests/pgmanage.nix +++ b/nixos/tests/pgmanage.nix @@ -21,7 +21,7 @@ in pgmanage = { enable = true; connections = { - ${conn} = "hostaddr=127.0.0.1 port=${toString config.services.postgresql.port} dbname=postgres"; + ${conn} = "hostaddr=127.0.0.1 port=${toString config.services.postgresql.settings.port} dbname=postgres"; }; }; }; diff --git a/nixos/tests/web-apps/mastodon/remote-databases.nix b/nixos/tests/web-apps/mastodon/remote-databases.nix index fa6430a99353..55243658ec6a 100644 --- a/nixos/tests/web-apps/mastodon/remote-databases.nix +++ b/nixos/tests/web-apps/mastodon/remote-databases.nix @@ -33,7 +33,7 @@ in extraHosts = hosts; firewall.allowedTCPPorts = [ config.services.redis.servers.mastodon.port - config.services.postgresql.port + config.services.postgresql.settings.port ]; }; From 1ee02d4fc5309ad9b46b158711bf22954f3cb894 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 30 Mar 2024 16:35:53 +0100 Subject: [PATCH 26/89] python312Packages.publicsuffixlist: 0.10.0.20240312 -> 0.10.0.20240328 --- pkgs/development/python-modules/publicsuffixlist/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/publicsuffixlist/default.nix b/pkgs/development/python-modules/publicsuffixlist/default.nix index 6d0e49bcb3e3..327d7bd2316e 100644 --- a/pkgs/development/python-modules/publicsuffixlist/default.nix +++ b/pkgs/development/python-modules/publicsuffixlist/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "publicsuffixlist"; - version = "0.10.0.20240312"; + version = "0.10.0.20240328"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-ApEvPghPrWfiRjNl/UMVRJIdnbP1H21DzqcWnIax8Yg="; + hash = "sha256-XArawQzC9J5ShtgCG02qf8RRxNTKJMn8aiclG+4CUKY="; }; nativeBuildInputs = [ From c75e9c601d4724d66932c3b7c812a10f0a4128de Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 30 Mar 2024 16:38:55 +0100 Subject: [PATCH 27/89] python312Packages.publicsuffixlist: refactor --- pkgs/development/python-modules/publicsuffixlist/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/publicsuffixlist/default.nix b/pkgs/development/python-modules/publicsuffixlist/default.nix index 327d7bd2316e..9d53ed241ce4 100644 --- a/pkgs/development/python-modules/publicsuffixlist/default.nix +++ b/pkgs/development/python-modules/publicsuffixlist/default.nix @@ -20,7 +20,7 @@ buildPythonPackage rec { hash = "sha256-XArawQzC9J5ShtgCG02qf8RRxNTKJMn8aiclG+4CUKY="; }; - nativeBuildInputs = [ + build-system = [ setuptools ]; @@ -47,9 +47,9 @@ buildPythonPackage rec { meta = with lib; { description = "Public Suffix List parser implementation"; - mainProgram = "publicsuffixlist-download"; homepage = "https://github.com/ko-zu/psl"; license = licenses.mpl20; maintainers = with maintainers; [ fab ]; + mainProgram = "publicsuffixlist-download"; }; } From 73cb5278cbd84512ce5fed32714e42db14eceabe Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 30 Mar 2024 17:46:44 +0100 Subject: [PATCH 28/89] kubescape: disable on darwin --- pkgs/tools/security/kubescape/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/tools/security/kubescape/default.nix b/pkgs/tools/security/kubescape/default.nix index 3141a22bbf04..7606d43bd45a 100644 --- a/pkgs/tools/security/kubescape/default.nix +++ b/pkgs/tools/security/kubescape/default.nix @@ -1,4 +1,5 @@ { lib +, stdenv , buildGoModule , fetchFromGitHub , git @@ -91,5 +92,6 @@ buildGoModule rec { ''; license = licenses.asl20; maintainers = with maintainers; [ fab jk ]; + broken = stdenv.isDarwin; }; } From 72ea5561d6554eb4595d81ead25c9dc196228090 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 30 Mar 2024 17:52:12 +0100 Subject: [PATCH 29/89] kubescape: 3.0.7 -> 3.0.8 Diff: https://github.com/kubescape/kubescape/compare/refs/tags/v3.0.7...v3.0.8 Changelog: https://github.com/kubescape/kubescape/releases/tag/v3.0.8 --- pkgs/tools/security/kubescape/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/security/kubescape/default.nix b/pkgs/tools/security/kubescape/default.nix index 7606d43bd45a..2c74013c3ad1 100644 --- a/pkgs/tools/security/kubescape/default.nix +++ b/pkgs/tools/security/kubescape/default.nix @@ -10,17 +10,17 @@ buildGoModule rec { pname = "kubescape"; - version = "3.0.7"; + version = "3.0.8"; src = fetchFromGitHub { owner = "kubescape"; repo = "kubescape"; rev = "refs/tags/v${version}"; - hash = "sha256-eQIP03UOUykb68u/LnvWwAs1pqm71bUH+/la5y+3ewU="; + hash = "sha256-ZGDE9go8BmaXE1YFT/z5Nob90MhsKZ6oKrodDMu2npY="; fetchSubmodules = true; }; - vendorHash = "sha256-Jz7CorEPKpgfhjf/jc1/dOWJ6pwxwG68cp8rzpZGpFs="; + vendorHash = "sha256-qFJVoWzU9rqpYbb8gzdK33rq///zizxVkWhsNV8OXOM="; subPackages = [ "." @@ -76,7 +76,6 @@ buildGoModule rec { meta = with lib; { description = "Tool for testing if Kubernetes is deployed securely"; - mainProgram = "kubescape"; homepage = "https://github.com/kubescape/kubescape"; changelog = "https://github.com/kubescape/kubescape/releases/tag/v${version}"; longDescription = '' @@ -92,6 +91,7 @@ buildGoModule rec { ''; license = licenses.asl20; maintainers = with maintainers; [ fab jk ]; + mainProgram = "kubescape"; broken = stdenv.isDarwin; }; } From 07950a598ed2b5ddf038c27aa86788d5ec21ee02 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Sat, 30 Mar 2024 20:31:04 +0100 Subject: [PATCH 30/89] miru: update homepage --- pkgs/by-name/mi/miru/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/mi/miru/package.nix b/pkgs/by-name/mi/miru/package.nix index 79d11a0800a3..45e747ad9771 100644 --- a/pkgs/by-name/mi/miru/package.nix +++ b/pkgs/by-name/mi/miru/package.nix @@ -29,7 +29,7 @@ appimageTools.wrapType2 rec { meta = with lib; { description = "Stream anime torrents, real-time with no waiting for downloads"; - homepage = "https://github.com/ThaUnknown/miru#readme"; + homepage = "https://miru.watch"; license = licenses.gpl3Plus; maintainers = [ maintainers.d4ilyrun ]; mainProgram = "miru"; From 4f28f331a3198b054ad7b20a1650cad2586b2534 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 31 Mar 2024 01:59:12 +0000 Subject: [PATCH 31/89] kubebuilder: 3.14.0 -> 3.14.1 --- .../applications/networking/cluster/kubebuilder/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/kubebuilder/default.nix b/pkgs/applications/networking/cluster/kubebuilder/default.nix index 55f29f0deb47..b50320d7c1a0 100644 --- a/pkgs/applications/networking/cluster/kubebuilder/default.nix +++ b/pkgs/applications/networking/cluster/kubebuilder/default.nix @@ -12,16 +12,16 @@ buildGoModule rec { pname = "kubebuilder"; - version = "3.14.0"; + version = "3.14.1"; src = fetchFromGitHub { owner = "kubernetes-sigs"; repo = "kubebuilder"; rev = "v${version}"; - hash = "sha256-em+I2YICcqljaaNQ+zOAnOZ552elmV6Ywbfla8buwaY="; + hash = "sha256-TMKixwZonYGPXIqOtgnuilbH7BaIRyqJU6uKtp9ANKM="; }; - vendorHash = "sha256-iBwhpVs9u5AQAvmzb69SaewdYHmmaV19Bstd0Tux9CA="; + vendorHash = "sha256-Hl01dFSffYv59zensKTjXWLXxwfkQYAO5xadlc5iBJY="; subPackages = ["cmd"]; From 331e45496ef1296d3f933e8c9b5024d2fc189589 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 31 Mar 2024 13:29:20 +0200 Subject: [PATCH 32/89] nuclei-templates: init at 9.8.0 Templates for the nuclei engine to find security vulnerabilities https://github.com/projectdiscovery/nuclei-templates --- pkgs/by-name/nu/nuclei-templates/package.nix | 35 ++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 pkgs/by-name/nu/nuclei-templates/package.nix diff --git a/pkgs/by-name/nu/nuclei-templates/package.nix b/pkgs/by-name/nu/nuclei-templates/package.nix new file mode 100644 index 000000000000..1d0c1c6c90bb --- /dev/null +++ b/pkgs/by-name/nu/nuclei-templates/package.nix @@ -0,0 +1,35 @@ +{ lib +, stdenvNoCC +, fetchFromGitHub +}: + +stdenvNoCC.mkDerivation rec { + pname = "nuclei-templates"; + version = "9.8.0"; + + src = fetchFromGitHub { + owner = "projectdiscovery"; + repo = "nuclei-templates"; + rev = "refs/tags/v${version}"; + hash = "sha256-1aLy8wNWMFouZRjhCSiwSq1uo20C9wN7LPxyBqK6K0k="; + }; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/nuclei-templates + cp -R cloud code config dns file headless helpers http javascript network ssl \ + $out/share/nuclei-templates/ + + runHook postInstall + ''; + + meta = with lib; { + description = "Templates for the nuclei engine to find security vulnerabilities"; + homepage = "https://github.com/projectdiscovery/nuclei-templates"; + changelog = "https://github.com/projectdiscovery/nuclei-templates/releases/tag/v${version}"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + platforms = platforms.all; + }; +} From d29b0ef97debe62f0d36ef79a25018682930f8be Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 31 Mar 2024 20:40:02 +0000 Subject: [PATCH 33/89] python311Packages.pywbem: 1.6.2 -> 1.6.3 --- pkgs/development/python-modules/pywbem/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pywbem/default.nix b/pkgs/development/python-modules/pywbem/default.nix index e13aafe71485..bba152dd4367 100644 --- a/pkgs/development/python-modules/pywbem/default.nix +++ b/pkgs/development/python-modules/pywbem/default.nix @@ -24,14 +24,14 @@ buildPythonPackage rec { pname = "pywbem"; - version = "1.6.2"; + version = "1.6.3"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-JugXm8F+MXa0zVdrn1p3MPhI1RvgUTdo/X8x/ZsnCpY="; + hash = "sha256-eN8w3umMUIYgtZm4lR8yKoHGwKnXt4/+XgF7lBfNl7k="; }; propagatedBuildInputs = [ From 5135d6aba344e9ed0b0bc70ea2a56470d95ed16b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 31 Mar 2024 23:46:42 +0200 Subject: [PATCH 34/89] teler: 2.0.0-dev.3 -> 2.0.0 Diff: https://github.com/kitabisa/teler/compare/v2.0.0-dev.3...v2.0.0 Changelog: https://github.com/kitabisa/teler/releases/tag/v2.0.0 --- pkgs/tools/security/teler/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/teler/default.nix b/pkgs/tools/security/teler/default.nix index 9232f4f88206..e43de418d78e 100644 --- a/pkgs/tools/security/teler/default.nix +++ b/pkgs/tools/security/teler/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "teler"; - version = "2.0.0-dev.3"; + version = "2.0.0"; src = fetchFromGitHub { owner = "kitabisa"; repo = "teler"; rev = "v${version}"; - hash = "sha256-2QrHxToHxHTjSl76q9A8fXCkOZkCwh1fu1h+HDUGsGA="; + hash = "sha256-3+A1QloZQlH31snWfwYa6rprpKUf3fQc/HQgmKQgV9c="; }; vendorHash = "sha256-gV/PJFcANeYTYUJG3PYNsApYaeBLx76+vVBvcuKDYO4="; From 46844b146a62238ffb4cd38effcf5c9430ed63ca Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 31 Mar 2024 23:49:12 +0200 Subject: [PATCH 35/89] teler: refactor --- pkgs/tools/security/teler/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/teler/default.nix b/pkgs/tools/security/teler/default.nix index e43de418d78e..82183323de8a 100644 --- a/pkgs/tools/security/teler/default.nix +++ b/pkgs/tools/security/teler/default.nix @@ -10,7 +10,7 @@ buildGoModule rec { src = fetchFromGitHub { owner = "kitabisa"; repo = "teler"; - rev = "v${version}"; + rev = "refs/tags/v${version}"; hash = "sha256-3+A1QloZQlH31snWfwYa6rprpKUf3fQc/HQgmKQgV9c="; }; @@ -19,7 +19,7 @@ buildGoModule rec { ldflags = [ "-s" "-w" - "-X ktbs.dev/teler/common.Version=${version}" + "-X=ktbs.dev/teler/common.Version=${version}" ]; # test require internet access @@ -27,7 +27,6 @@ buildGoModule rec { meta = with lib; { description = "Real-time HTTP Intrusion Detection"; - mainProgram = "teler.app"; longDescription = '' teler is an real-time intrusion detection and threat alert based on web log that runs in a terminal with resources that @@ -37,5 +36,6 @@ buildGoModule rec { changelog = "https://github.com/kitabisa/teler/releases/tag/v${version}"; license = licenses.asl20; maintainers = with maintainers; [ fab ]; + mainProgram = "teler.app"; }; } From 843f1557b38ef2c3108cdc2c27dbe93b7a41991c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 31 Mar 2024 23:36:45 +0000 Subject: [PATCH 36/89] signalbackup-tools: 20240320 -> 20240328-1 --- .../instant-messengers/signalbackup-tools/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix index 8dd3a1713955..7af592f0a8a1 100644 --- a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix +++ b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "signalbackup-tools"; - version = "20240320"; + version = "20240328-1"; src = fetchFromGitHub { owner = "bepaald"; repo = pname; rev = version; - hash = "sha256-2H+VGVPnSHdsx62hPygWc5uz5vH6DS7AfmYSlBZuB4A="; + hash = "sha256-oEwWbTs8Orpo+qRCKVvkeJYEob8O/qkKmv/iA5JUpfQ="; }; postPatch = '' From 6bad74edafa8c056e6d3fe03908e6cbb7c52d5d3 Mon Sep 17 00:00:00 2001 From: aleksana Date: Mon, 1 Apr 2024 10:49:28 +0800 Subject: [PATCH 37/89] boxbuddy: 2.1.5 -> 2.2.0 --- pkgs/by-name/bo/boxbuddy/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/bo/boxbuddy/package.nix b/pkgs/by-name/bo/boxbuddy/package.nix index db19ca5b3998..d57286e76a0b 100644 --- a/pkgs/by-name/bo/boxbuddy/package.nix +++ b/pkgs/by-name/bo/boxbuddy/package.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage rec { pname = "boxbuddy"; - version = "2.1.5"; + version = "2.2.0"; src = fetchFromGitHub { owner = "Dvlv"; repo = "BoxBuddyRS"; rev = version; - hash = "sha256-XMLgUYOv2ObHqYxqPch5i0Q1/BvfDuC1Lti5FYAVmnk="; + hash = "sha256-Fb3Df+P2ovSVQhtDxhed/hH06UKnJY/iugt3Pi9/Jp0="; }; - cargoHash = "sha256-zbhdGpF3TonGlvRXCWF00PhIc0k1ZO2xIMXuwYD90mY="; + cargoHash = "sha256-dmBQdE4rsL8ygXOGupjtZrWuXjVAy5m1p/xJlUdUwkY="; # The software assumes it is installed either in flatpak or in the home directory # so the xdg data path needs to be patched here From 2c10fcd44f4f7cb42ed6ddd145b8fec4fbf88580 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Mon, 1 Apr 2024 04:20:00 +0000 Subject: [PATCH 38/89] go-toml: exclude gotoml-test-encoder package `gotoml-test-encoder` is only used for development --- pkgs/development/tools/go-toml/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/go-toml/default.nix b/pkgs/development/tools/go-toml/default.nix index fa36ca7eee1a..a6f75db9426e 100644 --- a/pkgs/development/tools/go-toml/default.nix +++ b/pkgs/development/tools/go-toml/default.nix @@ -13,7 +13,11 @@ buildGoModule rec { vendorHash = "sha256-4t/ft3XTfc7yrsFVMSfjdCur8QULho3NI2ym6gqjexI="; - excludedPackages = [ "cmd/gotoml-test-decoder" "cmd/tomltestgen" ]; + excludedPackages = [ + "cmd/gotoml-test-decoder" + "cmd/gotoml-test-encoder" + "cmd/tomltestgen" + ]; ldflags = [ "-s" "-w" ]; From 2f0ef551f80068fa11c35b4b72867e044255bcca Mon Sep 17 00:00:00 2001 From: sinavir Date: Fri, 23 Feb 2024 22:13:21 +0100 Subject: [PATCH 39/89] castopod: Add breaking changes to release notes --- nixos/doc/manual/release-notes/rl-2405.section.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index 06d6ebbd2b0a..8408f2e3492b 100644 --- a/nixos/doc/manual/release-notes/rl-2405.section.md +++ b/nixos/doc/manual/release-notes/rl-2405.section.md @@ -466,6 +466,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m - `services.zfs.zed.enableMail` now uses the global `sendmail` wrapper defined by an email module (such as msmtp or Postfix). It no longer requires using a special ZFS build with email support. +- `castopod` has some migration actions to be taken in case of a S3 setup. Some new features may also need some manual migration actions. See [https://code.castopod.org/adaures/castopod/-/releases](https://code.castopod.org/adaures/castopod/-/releases) for more informations. + - `nextcloud-setup.service` no longer changes the group of each file & directory inside `/var/lib/nextcloud/{config,data,store-apps}` if one of these directories has the wrong owner group. This was part of transitioning the group used for `/var/lib/nextcloud`, but isn't necessary anymore. - `services.kavita` now uses the freeform option `services.kavita.settings` for the application settings file. From 14377d6b82e24b55fba4f599f2602f0d1eeb294b Mon Sep 17 00:00:00 2001 From: toastal Date: Mon, 1 Apr 2024 17:00:42 +0700 Subject: [PATCH 40/89] =?UTF-8?q?zfs=5Funstable:=202.2.3-unstable-2024-03-?= =?UTF-8?q?21=20=E2=86=92=202.2.3-unstable-2024-03-30?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/os-specific/linux/zfs/unstable.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/zfs/unstable.nix b/pkgs/os-specific/linux/zfs/unstable.nix index b75de560b1d5..9ef4abcdcd7b 100644 --- a/pkgs/os-specific/linux/zfs/unstable.nix +++ b/pkgs/os-specific/linux/zfs/unstable.nix @@ -22,13 +22,13 @@ callPackage ./generic.nix args { # IMPORTANT: Always use a tagged release candidate or commits from the # zfs--staging branch, because this is tested by the OpenZFS # maintainers. - version = "2.2.3-unstable-2024-03-21"; - rev = "58211157bf866bbcdd8720e92c27297db3ba75d6"; + version = "2.2.3-unstable-2024-03-30"; + rev = "deb7a84231aff8d772bb4ce9fa486d1886f1a2b6"; isUnstable = true; tests = [ nixosTests.zfs.unstable ]; - hash = "sha256-zTTzHo/UDsTGp/b7BmCmy/m115HVipSG8Id/pnkUrvQ="; + hash = "sha256-d9ZoUFuHPmJmIBbJKENVTCTJ5U3As+3NYHk9ghWxCCA="; } From 6740627dc2a6a72b9d03297308dd25a03f9a48fb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 10:29:21 +0000 Subject: [PATCH 41/89] python311Packages.google-cloud-container: 2.44.0 -> 2.45.0 --- .../python-modules/google-cloud-container/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-cloud-container/default.nix b/pkgs/development/python-modules/google-cloud-container/default.nix index 0125fbe66c12..5283cb448d26 100644 --- a/pkgs/development/python-modules/google-cloud-container/default.nix +++ b/pkgs/development/python-modules/google-cloud-container/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "google-cloud-container"; - version = "2.44.0"; + version = "2.45.0"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-heNvRcepXqayn/impyP5h4L+eOJjGV1hMrZyg96aZKU="; + hash = "sha256-8vaSLR+cIKohDpbC679cKydLsnBKhewtTpdBDymxjss="; }; build-system = [ From fe57668bca7864c44c948ce209dfaf4a1180759b Mon Sep 17 00:00:00 2001 From: itslychee Date: Sun, 24 Mar 2024 07:25:38 -0500 Subject: [PATCH 42/89] pythonPackages.jishaku: patch hardcoded /bin/bash default to /bin/sh Co-Authored-By: a-n-n-a-l-e-e --- pkgs/development/python-modules/jishaku/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/python-modules/jishaku/default.nix b/pkgs/development/python-modules/jishaku/default.nix index e758f4c691eb..a5bf87fbdd4a 100644 --- a/pkgs/development/python-modules/jishaku/default.nix +++ b/pkgs/development/python-modules/jishaku/default.nix @@ -1,5 +1,6 @@ { lib, + bash, buildPythonPackage, fetchFromGitHub, fetchpatch, @@ -33,6 +34,11 @@ buildPythonPackage rec { }) ]; + postPatch = '' + substituteInPlace jishaku/shell.py \ + --replace-fail '"/bin/bash"' '"${lib.getExe bash}"' + ''; + nativeBuildInputs = [ setuptools ]; propagatedBuildInputs = [ From 8b3d5801867c185d5eb51cc2dcaeed11bb63afde Mon Sep 17 00:00:00 2001 From: itslychee Date: Sun, 24 Mar 2024 07:42:37 -0500 Subject: [PATCH 43/89] pythonPackages.jishaku: update attributes Uses the recent `build-system` and `dependencies` changes made to the python wrapper for clarity. --- pkgs/development/python-modules/jishaku/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/jishaku/default.nix b/pkgs/development/python-modules/jishaku/default.nix index a5bf87fbdd4a..4501ffc68e6b 100644 --- a/pkgs/development/python-modules/jishaku/default.nix +++ b/pkgs/development/python-modules/jishaku/default.nix @@ -39,9 +39,9 @@ buildPythonPackage rec { --replace-fail '"/bin/bash"' '"${lib.getExe bash}"' ''; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ discordpy click braceexpand From 607ab8d9f1fcf1bd35b9bcffdf2a94b9b6e4497e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 12:46:22 +0000 Subject: [PATCH 44/89] pinentry-rofi: 2.0.5 -> 2.1.0 --- pkgs/tools/security/pinentry-rofi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/pinentry-rofi/default.nix b/pkgs/tools/security/pinentry-rofi/default.nix index e0fffff7cedf..45c817c69795 100644 --- a/pkgs/tools/security/pinentry-rofi/default.nix +++ b/pkgs/tools/security/pinentry-rofi/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "pinentry-rofi"; - version = "2.0.5"; + version = "2.1.0"; src = fetchFromGitHub { owner = "plattfot"; repo = pname; rev = version; - sha256 = "sha256-6dhzzxjE3GE5JZTirMLeMh91BS2wzDZoubgf4Wefe1o="; + sha256 = "sha256-J6aQTIFHlg21M9niBYdVih11heIPCLsGv0HOPaeguew="; }; nativeBuildInputs = [ From 86e364dfc0b4b9d8a16a06ec3b77928aeb31eb46 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 13:01:11 +0000 Subject: [PATCH 45/89] gojq: 0.12.14 -> 0.12.15 --- pkgs/development/tools/gojq/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/gojq/default.nix b/pkgs/development/tools/gojq/default.nix index af7bc42ca751..8d8ad98481ba 100644 --- a/pkgs/development/tools/gojq/default.nix +++ b/pkgs/development/tools/gojq/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "gojq"; - version = "0.12.14"; + version = "0.12.15"; src = fetchFromGitHub { owner = "itchyny"; repo = pname; rev = "v${version}"; - hash = "sha256-mgmgOi3nMPwmcofEAVIN9nTE2oXnNN89lqT+Vi+sjzY="; + hash = "sha256-2Og1Ek8Hnzd4KTgJurWtPaqm0W6ruoJ1RN2G+l/5yIY="; }; - vendorHash = "sha256-dv4k2dIFnlJrGDTDM4mXBOpr4MF7oxms0y02ml50YyY="; + vendorHash = "sha256-tZB52w15MpAO3UnrDkhmL1M3EIcm/QwrPy9gvJycuD0="; ldflags = [ "-s" "-w" ]; From ca3558c2db98036329e391f46a4fdd859afb963f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 13:28:03 +0000 Subject: [PATCH 46/89] ergo: 5.0.20 -> 5.0.21 --- pkgs/applications/blockchains/ergo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/blockchains/ergo/default.nix b/pkgs/applications/blockchains/ergo/default.nix index 73acf782e813..b3ff8ccce2c2 100644 --- a/pkgs/applications/blockchains/ergo/default.nix +++ b/pkgs/applications/blockchains/ergo/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "ergo"; - version = "5.0.20"; + version = "5.0.21"; src = fetchurl { url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar"; - sha256 = "sha256-wC3KnuKHsUw1jt7EXVAgPhB6Sk8630sVaM3yn6CGPqs="; + sha256 = "sha256-WtBsChSHnYbRBojxRUGdMnXlG+45hp4ZSd8GLx5n/88="; }; nativeBuildInputs = [ makeWrapper ]; From 6a3b34f81cc10b59e4bcd4489d16360e92625392 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 13:28:16 +0000 Subject: [PATCH 47/89] orchis-theme: 2023-10-20 -> 2024-04-01 --- pkgs/data/themes/orchis-theme/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/themes/orchis-theme/default.nix b/pkgs/data/themes/orchis-theme/default.nix index 351c1c22207c..100599b34c3c 100644 --- a/pkgs/data/themes/orchis-theme/default.nix +++ b/pkgs/data/themes/orchis-theme/default.nix @@ -26,13 +26,13 @@ lib.checkListOfEnum "${pname}: theme tweaks" validTweaks tweaks stdenvNoCC.mkDerivation rec { inherit pname; - version = "2023-10-20"; + version = "2024-04-01"; src = fetchFromGitHub { repo = "Orchis-theme"; owner = "vinceliuice"; rev = version; - hash = "sha256-GhSzTtbuvbAuXxKNm29sJX5kXE2s2jMDB6Ww6Q7GNSo="; + hash = "sha256-gszyUZGWlgrBTQnaz6Ws7jzfTN5KAfX5SjVwmVrP9QE="; }; nativeBuildInputs = [ gtk3 sassc ]; From 699b06c3da2840677ea8e8035c2a5ec5c74d4968 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 13:41:47 +0000 Subject: [PATCH 48/89] lxgw-neoxihei: 1.120.1 -> 1.120.2 --- pkgs/data/fonts/lxgw-neoxihei/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/fonts/lxgw-neoxihei/default.nix b/pkgs/data/fonts/lxgw-neoxihei/default.nix index 3832ba8d510b..aa8df5a62547 100644 --- a/pkgs/data/fonts/lxgw-neoxihei/default.nix +++ b/pkgs/data/fonts/lxgw-neoxihei/default.nix @@ -5,11 +5,11 @@ stdenvNoCC.mkDerivation rec { pname = "lxgw-neoxihei"; - version = "1.120.1"; + version = "1.120.2"; src = fetchurl { url = "https://github.com/lxgw/LxgwNeoXiHei/releases/download/v${version}/LXGWNeoXiHei.ttf"; - hash = "sha256-shzJ5y2mjvodtSHct9gm+09CludxUpR38qi9zvewjaQ="; + hash = "sha256-RN0OmNS3aSRMK19nNiqXYJ4PIAQh6u5W/+L8DCeqMcE="; }; dontUnpack = true; From a9ec17a25916dff71cf3acae45423edea84c8983 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 14:13:51 +0000 Subject: [PATCH 49/89] python312Packages.ezyrb: 1.3.0.post2403 -> 1.3.0.post2404 --- pkgs/development/python-modules/ezyrb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/ezyrb/default.nix b/pkgs/development/python-modules/ezyrb/default.nix index 44d49ee16edd..ee9b16acdbe1 100644 --- a/pkgs/development/python-modules/ezyrb/default.nix +++ b/pkgs/development/python-modules/ezyrb/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "ezyrb"; - version = "1.3.0.post2403"; + version = "1.3.0.post2404"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "mathLab"; repo = "EZyRB"; rev = "refs/tags/v${version}"; - hash = "sha256-t0Mv8Kae6N+jHeQx57ljDR5lmmbW2mqrlqygtrwGWhY="; + hash = "sha256-nu75Geyeu1nTLoGaohXB9pmbUWKgdgch9Z5OJqz9xKQ="; }; propagatedBuildInputs = [ From d25514add11b6199de3afcf2518cccd446d4cdc4 Mon Sep 17 00:00:00 2001 From: linsui Date: Mon, 1 Apr 2024 23:16:45 +0800 Subject: [PATCH 50/89] sing-geosite: add rule-set --- pkgs/data/misc/sing-geosite/default.nix | 1 + pkgs/data/misc/sing-geosite/main.go | 33 +++++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/pkgs/data/misc/sing-geosite/default.nix b/pkgs/data/misc/sing-geosite/default.nix index ac521f3ec280..8540eb534001 100644 --- a/pkgs/data/misc/sing-geosite/default.nix +++ b/pkgs/data/misc/sing-geosite/default.nix @@ -38,6 +38,7 @@ buildGoModule { installPhase = '' runHook preInstall install -Dm644 geosite.db $out/share/sing-box/geosite.db + install -Dm644 rule-set/* -t $out/share/sing-box/rule-set runHook postInstall ''; diff --git a/pkgs/data/misc/sing-geosite/main.go b/pkgs/data/misc/sing-geosite/main.go index d059d99ffe1e..e6ca57275adb 100644 --- a/pkgs/data/misc/sing-geosite/main.go +++ b/pkgs/data/misc/sing-geosite/main.go @@ -16,4 +16,37 @@ func main() { if err != nil { panic(err) } + + ruleSetOutput := "rule-set" + err = os.MkdirAll(ruleSetOutput, 0o755) + if err != nil { + panic(err) + } + for code, domains := range domainMap { + var headlessRule option.DefaultHeadlessRule + defaultRule := geosite.Compile(domains) + headlessRule.Domain = defaultRule.Domain + headlessRule.DomainSuffix = defaultRule.DomainSuffix + headlessRule.DomainKeyword = defaultRule.DomainKeyword + headlessRule.DomainRegex = defaultRule.DomainRegex + var plainRuleSet option.PlainRuleSet + plainRuleSet.Rules = []option.HeadlessRule{ + { + Type: C.RuleTypeDefault, + DefaultOptions: headlessRule, + }, + } + srsPath, _ := filepath.Abs(filepath.Join(ruleSetOutput, "geosite-"+code+".srs")) + os.Stderr.WriteString("write " + srsPath + "\n") + outputRuleSet, err := os.Create(srsPath) + if err != nil { + panic(err) + } + err = srs.Write(outputRuleSet, plainRuleSet) + if err != nil { + outputRuleSet.Close() + panic(err) + } + outputRuleSet.Close() + } } From 1524ca45646f105484c31e8c1fea5c6e3804caf0 Mon Sep 17 00:00:00 2001 From: DontEatOreo <57304299+DontEatOreo@users.noreply.github.com> Date: Mon, 1 Apr 2024 19:07:47 +0300 Subject: [PATCH 51/89] stats: 2.10.5 -> 2.10.6 Diff: https://github.com/exelban/stats/compare/v2.10.5...v2.10.6 Changelog: https://github.com/exelban/stats/releases/tag/v2.10.6 --- pkgs/by-name/st/stats/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/st/stats/package.nix b/pkgs/by-name/st/stats/package.nix index 76bc6b84735b..5cc91cde455d 100644 --- a/pkgs/by-name/st/stats/package.nix +++ b/pkgs/by-name/st/stats/package.nix @@ -6,11 +6,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "stats"; - version = "2.10.5"; + version = "2.10.6"; src = fetchurl { url = "https://github.com/exelban/stats/releases/download/v${finalAttrs.version}/Stats.dmg"; - hash = "sha256-IBliS0RSWlCSLYeSHTapW9B2mPJtZqL7k8jskpXy1F4="; + hash = "sha256-5FjxEBZ+HbiWVR/8DBfVPeWACRwrw+Kcn1jld/CR+Ck="; }; sourceRoot = "."; From ab48a1b5953a2504bc6cebed4e01b885d896b7fe Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Mon, 1 Apr 2024 09:15:27 -0700 Subject: [PATCH 52/89] clpm: remove It doesn't build, there hasn't been a release in two years, and attempting to upgrade to the most recent tag (`v0.4.2-rc.2`) reveals that it immediately returns exit code 1 without output. --- pkgs/development/compilers/sbcl/default.nix | 10 -- .../sbcl/search-for-binaries-in-PATH.patch | 108 ------------------ pkgs/development/tools/clpm/default.nix | 73 ------------ pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 2 - 5 files changed, 1 insertion(+), 193 deletions(-) delete mode 100644 pkgs/development/compilers/sbcl/search-for-binaries-in-PATH.patch delete mode 100644 pkgs/development/tools/clpm/default.nix diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix index 1e3e04d72f4e..f22a455e4503 100644 --- a/pkgs/development/compilers/sbcl/default.nix +++ b/pkgs/development/compilers/sbcl/default.nix @@ -19,11 +19,6 @@ let versionMap = { - # Only kept around for BCLM. Remove once unneeded there. - "2.1.9" = { - sha256 = "189gjqzdz10xh3ybiy4ch1r98bsmkcb4hpnrmggd4y2g5kqnyx4y"; - }; - "2.4.2" = { sha256 = "sha256-/APLUtEqr+h1nmMoRQogG73fibFwcaToPznoC0Pd7w8="; }; @@ -103,11 +98,6 @@ stdenv.mkDerivation (self: rec { [ zstd ] ); - patches = lib.optionals (lib.versionOlder self.version "2.4.2") [ - # Fixed in 2.4.2 - ./search-for-binaries-in-PATH.patch - ]; - # I don’t know why these are failing (on ofBorg), and I’d rather just disable # them and move forward with the succeeding tests than block testing # altogether. One by one hopefully we can fix these (on ofBorg, diff --git a/pkgs/development/compilers/sbcl/search-for-binaries-in-PATH.patch b/pkgs/development/compilers/sbcl/search-for-binaries-in-PATH.patch deleted file mode 100644 index 95263ec85753..000000000000 --- a/pkgs/development/compilers/sbcl/search-for-binaries-in-PATH.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 35856b09e3606361b17f21225c759632be1cdf34 Mon Sep 17 00:00:00 2001 -From: Hraban Luyat -Date: Wed, 24 Jan 2024 14:58:53 -0500 -Subject: [PATCH] Search for binaries in tests in PATH, not /usr/bin -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Same as 8ed662fbfeb5dde35eb265f390b55b01f79f70c1 but for tests, and for more -than just ‘cat’. For the same reasons as that diff. ---- - tests/run-program.impure.lisp | 18 ++++++++++-------- - tests/run-program.test.sh | 9 ++++----- - 2 files changed, 14 insertions(+), 13 deletions(-) - -diff --git a/tests/run-program.impure.lisp b/tests/run-program.impure.lisp -index 0eab8884c..b07d1e4fb 100644 ---- a/tests/run-program.impure.lisp -+++ b/tests/run-program.impure.lisp -@@ -15,7 +15,7 @@ - - (defun bin-pwd-ignoring-result () - (let ((initially-open-fds (directory "/proc/self/fd/*" :resolve-symlinks nil))) -- (sb-ext:run-program "/usr/bin/pwd" nil :input :stream :output :stream :wait nil) -+ (sb-ext:run-program "pwd" nil :search t :input :stream :output :stream :wait nil) - (length initially-open-fds))) - - (with-test (:name (run-program :autoclose-streams) -@@ -49,7 +49,7 @@ - (with-test (:name (run-program :cat 2) - :skipped-on (or (not :sb-thread) :win32)) - ;; Tests that reading from a FIFO is interruptible. -- (let* ((process (run-program "/bin/cat" '() -+ (let* ((process (run-program "cat" '() :search t - :wait nil :output :stream :input :stream)) - (in (process-input process)) - (out (process-output process)) -@@ -167,7 +167,7 @@ - (defparameter *cat-out* (make-synonym-stream '*cat-out-pipe*))) - - (with-test (:name (run-program :cat 5) :fails-on :win32) -- (let ((cat (run-program "/bin/cat" nil :input *cat-in* :output *cat-out* -+ (let ((cat (run-program "cat" nil :search t :input *cat-in* :output *cat-out* - :wait nil))) - (dolist (test '("This is a test!" - "This is another test!" -@@ -310,14 +310,16 @@ - (let ((had-error-p nil)) - (flet ((barf (&optional (format :default)) - (with-output-to-string (stream) -- (run-program #-netbsd "/usr/bin/perl" #+netbsd "/usr/pkg/bin/perl" -+ (run-program #-netbsd "perl" #+netbsd "/usr/pkg/bin/perl" - '("-e" "print \"\\x20\\xfe\\xff\\x0a\"") -+ :search #-netbsd t #+netbsd nil - :output stream - :external-format format))) - (no-barf () - (with-output-to-string (stream) -- (run-program "/bin/echo" -+ (run-program "echo" - '("This is a test") -+ :search t - :output stream)))) - (handler-case - (barf :utf-8) -@@ -353,9 +355,9 @@ - ;; If the permitted inputs are :ANY then leave it be - (listp (symbol-value 'run-tests::*allowed-inputs*))) - (push (namestring file) (symbol-value 'run-tests::*allowed-inputs*))) -- (assert (null (run-program "/bin/cat" '() :input file))) -- (assert (null (run-program "/bin/cat" '() :output #.(or *compile-file-truename* -- *load-truename*) -+ (assert (null (run-program "cat" '() :search t :input file))) -+ (assert (null (run-program "cat" '() :search t :output #.(or *compile-file-truename* -+ *load-truename*) - :if-output-exists nil))))) - - -diff --git a/tests/run-program.test.sh b/tests/run-program.test.sh -index 48eaef889..c926e5a05 100755 ---- a/tests/run-program.test.sh -+++ b/tests/run-program.test.sh -@@ -39,9 +39,8 @@ run_sbcl --eval "(defvar *exit-ok* $EXIT_LISP_WIN)" <<'EOF' - (assert (not (zerop (sb-ext:process-exit-code - (sb-ext:run-program "false" () :search t :wait t))))) - (let ((string (with-output-to-string (stream) -- (our-run-program "/bin/echo" -- '("foo" "bar") -- :output stream)))) -+ (run-program "echo" '("foo" "bar") -+ :search t :output stream)))) - (assert (string= string "foo bar - "))) - (format t ";;; Smoke tests: PASS~%") -@@ -103,8 +102,8 @@ run_sbcl --eval "(defvar *exit-ok* $EXIT_LISP_WIN)" <<'EOF' - ;; make sure that a stream input argument is basically reasonable. - (let ((string (let ((i (make-string-input-stream "abcdef"))) - (with-output-to-string (stream) -- (our-run-program "/bin/cat" () -- :input i :output stream))))) -+ (run-program "cat" () -+ :search t :input i :output stream))))) - (assert (= (length string) 6)) - (assert (string= string "abcdef"))) - --- -2.43.0 - diff --git a/pkgs/development/tools/clpm/default.nix b/pkgs/development/tools/clpm/default.nix deleted file mode 100644 index 1a6262913aa4..000000000000 --- a/pkgs/development/tools/clpm/default.nix +++ /dev/null @@ -1,73 +0,0 @@ -{ lib -, stdenv -, fetchgit -, wrapLisp -, openssl -, sbcl -}: - -# Broken on newer versions: -# "https://gitlab.common-lisp.net/clpm/clpm/-/issues/51". Once that bug is -# fixed, remove this, and all 2.1.9 references from the SBCL build file. -with rec { - sbcl_2_1_9 = sbcl.override (_: { - version = "2.1.9"; - }); -}; - - -stdenv.mkDerivation rec { - pname = "clpm"; - version = "0.4.1"; - - src = fetchgit { - url = "https://gitlab.common-lisp.net/clpm/clpm"; - rev = "v${version}"; - fetchSubmodules = true; - sha256 = "sha256-UhaLmbdsIPj6O+s262HUMxuz/5t43JR+TlOjq8Y2CDs="; - }; - - propagatedBuildInputs = [ - openssl - ]; - - postPatch = '' - # patch cl-plus-ssl to ensure that it finds libssl and libcrypto - sed 's|libssl.so|${lib.getLib openssl}/lib/libssl.so|' -i ext/cl-plus-ssl/src/reload.lisp - sed 's|libcrypto.so|${lib.getLib openssl}/lib/libcrypto.so|' -i ext/cl-plus-ssl/src/reload.lisp - # patch dexador to avoid error due to dexador being loaded multiple times - sed -i 's/defpackage/uiop:define-package/g' ext/dexador/src/dexador.lisp - ''; - - buildPhase = '' - runHook preBuild - - # exporting home to avoid using /homeless-shelter/.cache/ as this will cause - # ld to complaing about `impure path used in link`. - export HOME=$TMP - - ${sbcl_2_1_9}/bin/sbcl --script scripts/build-release.lisp - - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - - cd build/release-staging/dynamic/clpm-${version}*/ - INSTALL_ROOT=$out/ bash install.sh - - runHook postInstall - ''; - - # Stripping binaries results in fatal error in SBCL, `Can't find sbcl.core` - dontStrip = true; - - meta = with lib; { - description = "Common Lisp Package Manager"; - homepage = "https://www.clpm.dev/"; - license = licenses.bsd2; - maintainers = [ maintainers.petterstorvik ]; - platforms = [ "i686-linux" "x86_64-linux" ]; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 228cff8fde7a..8640b42830d0 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -172,6 +172,7 @@ mapAliases ({ citra-canary = throw "citra-canary has been removed from nixpkgs, as it has been taken down upstream"; # added 2024-03-04 clang-ocl = throw "'clang-ocl' has been replaced with 'rocmPackages.clang-ocl'"; # Added 2023-10-08 inherit (libsForQt5.mauiPackages) clip; # added 2022-05-17 + clpm = throw "'clpm' has been removed from nixpkgs"; # Added 2024-04-01 collada-dom = opencollada; # added 2024-02-21 composable_kernel = throw "'composable_kernel' has been replaced with 'rocmPackages.composable_kernel'"; # Added 2023-10-08 cpp-ipfs-api = cpp-ipfs-http-client; # Project has been renamed. Added 2022-05-15 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cd69d18656c7..7350f7280ba0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18579,8 +18579,6 @@ with pkgs; cloudfoundry-cli = callPackage ../applications/networking/cluster/cloudfoundry-cli { }; - clpm = callPackage ../development/tools/clpm { }; - coan = callPackage ../development/tools/analysis/coan { }; coder = callPackage ../development/tools/coder { }; From 2d7c7457fa95e1ce402c1d10c03f027c9a575525 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 16:18:31 +0000 Subject: [PATCH 53/89] twilio-cli: 5.19.1 -> 5.19.2 --- pkgs/development/tools/twilio-cli/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/twilio-cli/default.nix b/pkgs/development/tools/twilio-cli/default.nix index f93643de351c..554f6a2db8f6 100644 --- a/pkgs/development/tools/twilio-cli/default.nix +++ b/pkgs/development/tools/twilio-cli/default.nix @@ -2,11 +2,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "twilio-cli"; - version = "5.19.1"; + version = "5.19.2"; src = fetchzip { url = "https://twilio-cli-prod.s3.amazonaws.com/twilio-v${finalAttrs.version}/twilio-v${finalAttrs.version}.tar.gz"; - hash = "sha256-8IZaEL+F0FMR44KCnxYNC/8mLKBlAGdmgHG7Lv90thE="; + hash = "sha256-9bb9cVd40h3b88pRw+S+wK8AG/436aCVyTTlzyCtH9w="; }; buildInputs = [ nodejs-slim ]; From b251520084787661f12dd976acf4314225d9fdc7 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sat, 30 Mar 2024 11:04:38 -0700 Subject: [PATCH 54/89] sunshine: use pkgs.autoAddDriverRunpath --- pkgs/servers/sunshine/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/sunshine/default.nix b/pkgs/servers/sunshine/default.nix index a401f318a911..dc0503d8194d 100644 --- a/pkgs/servers/sunshine/default.nix +++ b/pkgs/servers/sunshine/default.nix @@ -1,7 +1,7 @@ { lib , stdenv , fetchFromGitHub -, autoPatchelfHook +, autoAddDriverRunpath , makeWrapper , buildNpmPackage , cmake @@ -84,10 +84,11 @@ stdenv'.mkDerivation rec { nativeBuildInputs = [ cmake pkg-config - autoPatchelfHook makeWrapper + # Avoid fighting upstream's usage of vendored ffmpeg libraries + autoPatchelfHook ] ++ lib.optionals cudaSupport [ - cudaPackages.autoAddDriverRunpath + autoAddDriverRunpath ]; buildInputs = [ From 0df9f80d634b09b84de8b919dc82c16c2d7286b7 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sun, 31 Mar 2024 10:32:05 -0700 Subject: [PATCH 55/89] sunshine: Add comment about autoPatchelfHook's usage --- pkgs/servers/sunshine/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/servers/sunshine/default.nix b/pkgs/servers/sunshine/default.nix index dc0503d8194d..c5cad2a89166 100644 --- a/pkgs/servers/sunshine/default.nix +++ b/pkgs/servers/sunshine/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitHub +, autoPatchelfHook , autoAddDriverRunpath , makeWrapper , buildNpmPackage From f47f68a7fb0428f1133fcf38fddc2fb617555fe4 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sat, 30 Mar 2024 11:06:48 -0700 Subject: [PATCH 56/89] openai-whisper-cpp: use pkgs.autoAddDriverRunpath --- pkgs/tools/audio/openai-whisper-cpp/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/audio/openai-whisper-cpp/default.nix b/pkgs/tools/audio/openai-whisper-cpp/default.nix index 20d2a23d1dd5..ab1cbb77e97b 100644 --- a/pkgs/tools/audio/openai-whisper-cpp/default.nix +++ b/pkgs/tools/audio/openai-whisper-cpp/default.nix @@ -12,6 +12,7 @@ , MetalKit , config +, autoAddDriverRunpath , cudaSupport ? config.cudaSupport , cudaPackages ? {} }: @@ -42,11 +43,10 @@ effectiveStdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ which makeWrapper - ] ++ lib.optionals cudaSupport ( with cudaPackages ;[ - cuda_nvcc - + ] ++ lib.optionals cudaSupport [ + cudaPackages.cuda_nvcc autoAddDriverRunpath - ]); + ]; buildInputs = [ SDL2 From 47bd04c9d8efa90ba1f854e9e0250dfc8f3392e2 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sat, 30 Mar 2024 11:08:39 -0700 Subject: [PATCH 57/89] colmap: use pkgs.autoAddDriverRunpath --- pkgs/applications/science/misc/colmap/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/misc/colmap/default.nix b/pkgs/applications/science/misc/colmap/default.nix index 64a7952be4cc..d071c90562cd 100644 --- a/pkgs/applications/science/misc/colmap/default.nix +++ b/pkgs/applications/science/misc/colmap/default.nix @@ -1,7 +1,9 @@ { mkDerivation, lib, fetchFromGitHub, cmake, boost179, ceres-solver, eigen, freeimage, glog, libGLU, glew, qtbase, + autoAddDriverRunpath, config, - cudaSupport ? config.cudaSupport, cudaPackages }: + cudaSupport ? config.cudaSupport, cudaPackages +}: assert cudaSupport -> cudaPackages != { }; @@ -37,7 +39,7 @@ mkDerivation rec { nativeBuildInputs = [ cmake ] ++ lib.optionals cudaSupport [ - cudaPackages.autoAddDriverRunpath + autoAddDriverRunpath ]; meta = with lib; { From 89a0e10340a1a855a4f460a68ef3b4a1a9af1ce9 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sat, 30 Mar 2024 11:14:57 -0700 Subject: [PATCH 58/89] ucx: use pkgs.autoAddDriverRunpath --- pkgs/development/libraries/ucx/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/ucx/default.nix b/pkgs/development/libraries/ucx/default.nix index 8e0772479ccb..35574d7c788a 100644 --- a/pkgs/development/libraries/ucx/default.nix +++ b/pkgs/development/libraries/ucx/default.nix @@ -1,6 +1,7 @@ { lib, stdenv, fetchFromGitHub, autoreconfHook, doxygen, numactl , rdma-core, libbfd, libiberty, perl, zlib, symlinkJoin, pkg-config , config +, autoAddDriverRunpath , enableCuda ? config.cudaSupport , cudaPackages , enableRocm ? config.rocmSupport @@ -36,7 +37,7 @@ stdenv.mkDerivation rec { ] ++ lib.optionals enableCuda [ cudaPackages.cuda_nvcc - cudaPackages.autoAddDriverRunpath + autoAddDriverRunpath ]; buildInputs = [ From 552043a34dcf84a327295a30b92034292f4d8975 Mon Sep 17 00:00:00 2001 From: Alexander Tomokhov Date: Tue, 3 Oct 2023 22:19:36 +0400 Subject: [PATCH 59/89] nixos/castopod: fix startup, displaying images, uploads up to 500 MiB - new maxUploadSize option - new dataDir option (with ReadWritePaths systemd support) - admin page reports correct free disk space (instead of /nix/store) - fix example configuration in documentation - now podcast creation and file upload are tested during NixOS test - move castopod from audio to web-apps folder - verbose logging from the browser test --- nixos/modules/module-list.nix | 2 +- .../services/{audio => web-apps}/castopod.md | 1 + .../services/{audio => web-apps}/castopod.nix | 60 ++-- nixos/tests/castopod.nix | 272 ++++++++++++++---- pkgs/applications/audio/castopod/default.nix | 13 +- 5 files changed, 260 insertions(+), 88 deletions(-) rename nixos/modules/services/{audio => web-apps}/castopod.md (89%) rename nixos/modules/services/{audio => web-apps}/castopod.nix (80%) diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 0a15360f6ea5..71ef594809a8 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -342,7 +342,6 @@ ./services/amqp/rabbitmq.nix ./services/audio/alsa.nix ./services/audio/botamusique.nix - ./services/audio/castopod.nix ./services/audio/gmediarender.nix ./services/audio/gonic.nix ./services/audio/goxlr-utility.nix @@ -1302,6 +1301,7 @@ ./services/web-apps/bookstack.nix ./services/web-apps/c2fmzq-server.nix ./services/web-apps/calibre-web.nix + ./services/web-apps/castopod.nix ./services/web-apps/coder.nix ./services/web-apps/changedetection-io.nix ./services/web-apps/chatgpt-retrieval-plugin.nix diff --git a/nixos/modules/services/audio/castopod.md b/nixos/modules/services/web-apps/castopod.md similarity index 89% rename from nixos/modules/services/audio/castopod.md rename to nixos/modules/services/web-apps/castopod.md index 40838cc77aa6..5ecd807686fd 100644 --- a/nixos/modules/services/audio/castopod.md +++ b/nixos/modules/services/web-apps/castopod.md @@ -4,6 +4,7 @@ Castopod is an open-source hosting platform made for podcasters who want to enga ## Quickstart {#module-services-castopod-quickstart} +Configure ACME (https://nixos.org/manual/nixos/unstable/#module-security-acme). Use the following configuration to start a public instance of Castopod on `castopod.example.com` domain: ```nix diff --git a/nixos/modules/services/audio/castopod.nix b/nixos/modules/services/web-apps/castopod.nix similarity index 80% rename from nixos/modules/services/audio/castopod.nix rename to nixos/modules/services/web-apps/castopod.nix index b782b5489147..f195482a0450 100644 --- a/nixos/modules/services/audio/castopod.nix +++ b/nixos/modules/services/web-apps/castopod.nix @@ -4,7 +4,6 @@ let fpm = config.services.phpfpm.pools.castopod; user = "castopod"; - stateDirectory = "/var/lib/castopod"; # https://docs.castopod.org/getting-started/install.html#requirements phpPackage = pkgs.php.withExtensions ({ enabled, all }: with all; [ @@ -29,6 +28,15 @@ in defaultText = lib.literalMD "pkgs.castopod"; description = lib.mdDoc "Which Castopod package to use."; }; + dataDir = lib.mkOption { + type = lib.types.path; + default = "/var/lib/castopod"; + description = lib.mdDoc '' + The path where castopod stores all data. This path must be in sync + with the castopod package (where it is hardcoded during the build in + accordance with its own `dataDir` argument). + ''; + }; database = { createLocally = lib.mkOption { type = lib.types.bool; @@ -111,6 +119,18 @@ in Options for Castopod's PHP pool. See the documentation on `php-fpm.conf` for details on configuration directives. ''; }; + maxUploadSize = lib.mkOption { + type = lib.types.str; + default = "512M"; + description = lib.mdDoc '' + Maximum supported size for a file upload in. Maximum HTTP body + size is set to this value for nginx and PHP (because castopod doesn't + support chunked uploads yet: + https://code.castopod.org/adaures/castopod/-/issues/330). Note, that + practical upload size limit is smaller. For example, with 512 MiB + setting - around 500 MiB is possible. + ''; + }; }; }; @@ -120,13 +140,13 @@ in sslEnabled = with config.services.nginx.virtualHosts.${cfg.localDomain}; addSSL || forceSSL || onlySSL || enableACME || useACMEHost != null; baseURL = "http${lib.optionalString sslEnabled "s"}://${cfg.localDomain}"; in - lib.mapAttrs (name: lib.mkDefault) { + lib.mapAttrs (_: lib.mkDefault) { "app.forceGlobalSecureRequests" = sslEnabled; "app.baseURL" = baseURL; - "media.baseURL" = "/"; + "media.baseURL" = baseURL; "media.root" = "media"; - "media.storage" = stateDirectory; + "media.storage" = cfg.dataDir; "admin.gateway" = "admin"; "auth.gateway" = "auth"; @@ -142,13 +162,13 @@ in services.phpfpm.pools.castopod = { inherit user; group = config.services.nginx.group; - phpPackage = phpPackage; + inherit phpPackage; phpOptions = '' - # https://code.castopod.org/adaures/castopod/-/blob/main/docker/production/app/uploads.ini + # https://code.castopod.org/adaures/castopod/-/blob/develop/docker/production/common/uploads.template.ini file_uploads = On memory_limit = 512M - upload_max_filesize = 500M - post_max_size = 512M + upload_max_filesize = ${cfg.maxUploadSize} + post_max_size = ${cfg.maxUploadSize} max_execution_time = 300 max_input_time = 300 ''; @@ -165,25 +185,25 @@ in path = [ pkgs.openssl phpPackage ]; script = let - envFile = "${stateDirectory}/.env"; + envFile = "${cfg.dataDir}/.env"; media = "${cfg.settings."media.storage"}/${cfg.settings."media.root"}"; in '' - mkdir -p ${stateDirectory}/writable/{cache,logs,session,temp,uploads} + mkdir -p ${cfg.dataDir}/writable/{cache,logs,session,temp,uploads} if [ ! -d ${lib.escapeShellArg media} ]; then cp --no-preserve=mode,ownership -r ${cfg.package}/share/castopod/public/media ${lib.escapeShellArg media} fi - if [ ! -f ${stateDirectory}/salt ]; then - openssl rand -base64 33 > ${stateDirectory}/salt + if [ ! -f ${cfg.dataDir}/salt ]; then + openssl rand -base64 33 > ${cfg.dataDir}/salt fi cat <<'EOF' > ${envFile} ${lib.generators.toKeyValue { } cfg.settings} EOF - echo "analytics.salt=$(cat ${stateDirectory}/salt)" >> ${envFile} + echo "analytics.salt=$(cat ${cfg.dataDir}/salt)" >> ${envFile} ${if (cfg.database.passwordFile != null) then '' echo "database.default.password=$(cat ${lib.escapeShellArg cfg.database.passwordFile})" >> ${envFile} @@ -192,10 +212,10 @@ in ''} ${lib.optionalString (cfg.environmentFile != null) '' - cat ${lib.escapeShellArg cfg.environmentFile}) >> ${envFile} + cat ${lib.escapeShellArg cfg.environmentFile} >> ${envFile} ''} - php spark castopod:database-update + php ${cfg.package}/share/castopod/spark castopod:database-update ''; serviceConfig = { StateDirectory = "castopod"; @@ -204,6 +224,7 @@ in RemainAfterExit = true; User = user; Group = config.services.nginx.group; + ReadWritePaths = cfg.dataDir; }; }; @@ -212,9 +233,7 @@ in wantedBy = [ "multi-user.target" ]; path = [ phpPackage ]; script = '' - php public/index.php scheduled-activities - php public/index.php scheduled-websub-publish - php public/index.php scheduled-video-clips + php ${cfg.package}/share/castopod/spark tasks:run ''; serviceConfig = { StateDirectory = "castopod"; @@ -222,6 +241,8 @@ in Type = "oneshot"; User = user; Group = config.services.nginx.group; + ReadWritePaths = cfg.dataDir; + LogLevelMax = "notice"; # otherwise periodic tasks flood the journal }; }; @@ -251,6 +272,7 @@ in extraConfig = '' try_files $uri $uri/ /index.php?$args; index index.php index.html; + client_max_body_size ${cfg.maxUploadSize}; ''; locations."^~ /${cfg.settings."media.root"}/" = { @@ -278,7 +300,7 @@ in }; }; - users.users.${user} = lib.mapAttrs (name: lib.mkDefault) { + users.users.${user} = lib.mapAttrs (_: lib.mkDefault) { description = "Castopod user"; isSystemUser = true; group = config.services.nginx.group; diff --git a/nixos/tests/castopod.nix b/nixos/tests/castopod.nix index 4435ec617d4e..241705aebd72 100644 --- a/nixos/tests/castopod.nix +++ b/nixos/tests/castopod.nix @@ -4,74 +4,218 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: meta = with lib.maintainers; { maintainers = [ alexoundos misuzu ]; }; + nodes.castopod = { nodes, ... }: { + # otherwise 500 MiB file upload fails! + virtualisation.diskSize = 512 + 3 * 512; + networking.firewall.allowedTCPPorts = [ 80 ]; - networking.extraHosts = '' - 127.0.0.1 castopod.example.com - ''; + networking.extraHosts = + lib.strings.concatStringsSep "\n" + (lib.attrsets.mapAttrsToList + (name: _: "127.0.0.1 ${name}") + nodes.castopod.services.nginx.virtualHosts); + services.castopod = { enable = true; database.createLocally = true; localDomain = "castopod.example.com"; + maxUploadSize = "512M"; }; - environment.systemPackages = - let - username = "admin"; - email = "admin@castood.example.com"; - password = "v82HmEp5"; - testRunner = pkgs.writers.writePython3Bin "test-runner" - { - libraries = [ pkgs.python3Packages.selenium ]; - flakeIgnore = [ - "E501" - ]; - } '' - from selenium.webdriver.common.by import By - from selenium.webdriver import Firefox - from selenium.webdriver.firefox.options import Options - from selenium.webdriver.support.ui import WebDriverWait - from selenium.webdriver.support import expected_conditions as EC - - options = Options() - options.add_argument('--headless') - driver = Firefox(options=options) - try: - driver.implicitly_wait(20) - driver.get('http://castopod.example.com/cp-install') - - wait = WebDriverWait(driver, 10) - - wait.until(EC.title_contains("installer")) - - driver.find_element(By.CSS_SELECTOR, '#username').send_keys( - '${username}' - ) - driver.find_element(By.CSS_SELECTOR, '#email').send_keys( - '${email}' - ) - driver.find_element(By.CSS_SELECTOR, '#password').send_keys( - '${password}' - ) - driver.find_element(By.XPATH, "//button[contains(., 'Finish install')]").click() - - wait.until(EC.title_contains("Auth")) - - driver.find_element(By.CSS_SELECTOR, '#email').send_keys( - '${email}' - ) - driver.find_element(By.CSS_SELECTOR, '#password').send_keys( - '${password}' - ) - driver.find_element(By.XPATH, "//button[contains(., 'Login')]").click() - - wait.until(EC.title_contains("Admin dashboard")) - finally: - driver.close() - driver.quit() - ''; - in - [ pkgs.firefox-unwrapped pkgs.geckodriver testRunner ]; }; + + nodes.client = { nodes, pkgs, lib, ... }: + let + domain = nodes.castopod.services.castopod.localDomain; + + getIP = node: + (builtins.head node.networking.interfaces.eth1.ipv4.addresses).address; + + targetPodcastSize = 500 * 1024 * 1024; + lameMp3Bitrate = 348300; + lameMp3FileAdjust = -800; + targetPodcastDuration = toString + ((targetPodcastSize + lameMp3FileAdjust) / (lameMp3Bitrate / 8)); + bannerWidth = 3000; + banner = pkgs.runCommand "gen-castopod-cover.jpg" { } '' + ${pkgs.imagemagick}/bin/magick ` + `-background green -bordercolor white -gravity northwest xc:black ` + `-duplicate 99 ` + `-seed 1 -resize "%[fx:rand()*72+24]" ` + `-seed 0 -rotate "%[fx:rand()*360]" -border 6x6 -splice 16x36 ` + `-seed 0 -rotate "%[fx:floor(rand()*4)*90]" -resize "150x50!" ` + `+append -crop 10x1@ +repage -roll "+%[fx:(t%2)*72]+0" -append ` + `-resize ${toString bannerWidth} -quality 1 $out + ''; + + coverWidth = toString 3000; + cover = pkgs.runCommand "gen-castopod-banner.jpg" { } '' + ${pkgs.imagemagick}/bin/magick ` + `-background white -bordercolor white -gravity northwest xc:black ` + `-duplicate 99 ` + `-seed 1 -resize "%[fx:rand()*72+24]" ` + `-seed 0 -rotate "%[fx:rand()*360]" -border 6x6 -splice 36x36 ` + `-seed 0 -rotate "%[fx:floor(rand()*4)*90]" -resize "144x144!" ` + `+append -crop 10x1@ +repage -roll "+%[fx:(t%2)*72]+0" -append ` + `-resize ${coverWidth} -quality 1 $out + ''; + in + { + networking.extraHosts = + lib.strings.concatStringsSep "\n" + (lib.attrsets.mapAttrsToList + (name: _: "${getIP nodes.castopod} ${name}") + nodes.castopod.services.nginx.virtualHosts); + + environment.systemPackages = + let + username = "admin"; + email = "admin@${domain}"; + password = "Abcd1234"; + podcastTitle = "Some Title"; + episodeTitle = "Episode Title"; + browser-test = pkgs.writers.writePython3Bin "browser-test" + { + libraries = [ pkgs.python3Packages.selenium ]; + flakeIgnore = [ "E124" "E501" ]; + } '' + from selenium.webdriver.common.by import By + from selenium.webdriver import Firefox + from selenium.webdriver.firefox.options import Options + from selenium.webdriver.firefox.service import Service + from selenium.webdriver.support.ui import WebDriverWait + from selenium.webdriver.support import expected_conditions as EC + from subprocess import STDOUT + import logging + + selenium_logger = logging.getLogger("selenium") + selenium_logger.setLevel(logging.DEBUG) + selenium_logger.addHandler(logging.StreamHandler()) + + options = Options() + options.add_argument('--headless') + service = Service(log_output=STDOUT) + driver = Firefox(options=options, service=service) + driver = Firefox(options=options) + driver.implicitly_wait(30) + + # install ########################################################## + + driver.get('http://${domain}/cp-install') + + wait = WebDriverWait(driver, 10) + + wait.until(EC.title_contains("installer")) + + driver.find_element(By.CSS_SELECTOR, '#username').send_keys( + '${username}' + ) + driver.find_element(By.CSS_SELECTOR, '#email').send_keys( + '${email}' + ) + driver.find_element(By.CSS_SELECTOR, '#password').send_keys( + '${password}' + ) + driver.find_element(By.XPATH, + "//button[contains(., 'Finish install')]" + ).click() + + wait.until(EC.title_contains("Auth")) + + driver.find_element(By.CSS_SELECTOR, '#email').send_keys( + '${email}' + ) + driver.find_element(By.CSS_SELECTOR, '#password').send_keys( + '${password}' + ) + driver.find_element(By.XPATH, + "//button[contains(., 'Login')]" + ).click() + + wait.until(EC.title_contains("Admin dashboard")) + + # create podcast ################################################### + + driver.get('http://${domain}/admin/podcasts/new') + + wait.until(EC.title_contains("Create podcast")) + + driver.find_element(By.CSS_SELECTOR, '#cover').send_keys( + '${cover}' + ) + driver.find_element(By.CSS_SELECTOR, '#banner').send_keys( + '${banner}' + ) + driver.find_element(By.CSS_SELECTOR, '#title').send_keys( + '${podcastTitle}' + ) + driver.find_element(By.CSS_SELECTOR, '#handle').send_keys( + 'some_handle' + ) + driver.find_element(By.CSS_SELECTOR, '#description').send_keys( + 'Some description' + ) + driver.find_element(By.CSS_SELECTOR, '#owner_name').send_keys( + 'Owner Name' + ) + driver.find_element(By.CSS_SELECTOR, '#owner_email').send_keys( + 'owner@email.xyz' + ) + driver.find_element(By.XPATH, + "//button[contains(., 'Create podcast')]" + ).click() + + wait.until(EC.title_contains("${podcastTitle}")) + + driver.find_element(By.XPATH, + "//span[contains(., 'Add an episode')]" + ).click() + + wait.until(EC.title_contains("Add an episode")) + + # upload podcast ################################################### + + driver.find_element(By.CSS_SELECTOR, '#audio_file').send_keys( + '/tmp/podcast.mp3' + ) + driver.find_element(By.CSS_SELECTOR, '#cover').send_keys( + '${cover}' + ) + driver.find_element(By.CSS_SELECTOR, '#description').send_keys( + 'Episode description' + ) + driver.find_element(By.CSS_SELECTOR, '#title').send_keys( + '${episodeTitle}' + ) + driver.find_element(By.XPATH, + "//button[contains(., 'Create episode')]" + ).click() + + wait.until(EC.title_contains("${episodeTitle}")) + + driver.close() + driver.quit() + ''; + in + [ + pkgs.firefox-unwrapped + pkgs.geckodriver + browser-test + (pkgs.writeShellApplication { + name = "build-mp3"; + runtimeInputs = with pkgs; [ sox lame ]; + text = '' + out=/tmp/podcast.mp3 + sox -n -r 48000 -t wav - synth ${targetPodcastDuration} sine 440 ` + `| lame --noreplaygain -cbr -q 9 -b 320 - $out + FILESIZE="$(stat -c%s $out)" + [ "$FILESIZE" -gt 0 ] + [ "$FILESIZE" -le "${toString targetPodcastSize}" ] + ''; + }) + ]; + }; + testScript = '' start_all() castopod.wait_for_unit("castopod-setup.service") @@ -79,9 +223,11 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: castopod.wait_for_unit("nginx.service") castopod.wait_for_open_port(80) castopod.wait_until_succeeds("curl -sS -f http://castopod.example.com") - castopod.succeed("curl -s http://localhost/cp-install | grep 'Create your Super Admin account' > /dev/null") - with subtest("Create superadmin and log in"): - castopod.succeed("PYTHONUNBUFFERED=1 systemd-cat -t test-runner test-runner") + client.succeed("build-mp3") + + with subtest("Create superadmin, log in, create and upload a podcast"): + client.succeed(\ + "PYTHONUNBUFFERED=1 systemd-cat -t browser-test browser-test") ''; }) diff --git a/pkgs/applications/audio/castopod/default.nix b/pkgs/applications/audio/castopod/default.nix index 801368a131cf..13bb4afe8e2d 100644 --- a/pkgs/applications/audio/castopod/default.nix +++ b/pkgs/applications/audio/castopod/default.nix @@ -3,7 +3,7 @@ , ffmpeg-headless , lib , nixosTests -, stateDirectory ? "/var/lib/castopod" +, dataDir ? "/var/lib/castopod" }: stdenv.mkDerivation { pname = "castopod"; @@ -20,13 +20,16 @@ stdenv.mkDerivation { postPatch = '' # not configurable at runtime unfortunately: substituteInPlace app/Config/Paths.php \ - --replace "__DIR__ . '/../../writable'" "'${stateDirectory}/writable'" + --replace "__DIR__ . '/../../writable'" "'${dataDir}/writable'" - # configuration file must be writable, place it to ${stateDirectory} + substituteInPlace modules/Admin/Controllers/DashboardController.php \ + --replace "disk_total_space('./')" "disk_total_space('${dataDir}')" + + # configuration file must be writable, place it to ${dataDir} substituteInPlace modules/Install/Controllers/InstallController.php \ - --replace "ROOTPATH" "'${stateDirectory}/'" + --replace "ROOTPATH" "'${dataDir}/'" substituteInPlace public/index.php spark \ - --replace "DotEnv(ROOTPATH)" "DotEnv('${stateDirectory}')" + --replace "DotEnv(ROOTPATH)" "DotEnv('${dataDir}')" # ffmpeg is required for Video Clips feature substituteInPlace modules/MediaClipper/VideoClipper.php \ From 8d3698e8f307890354e4321ee4adb64c8b660993 Mon Sep 17 00:00:00 2001 From: Alexander Tomokhov Date: Mon, 11 Dec 2023 09:00:26 +0400 Subject: [PATCH 60/89] nixos/castopod: little documentation fix --- nixos/modules/services/web-apps/castopod.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/web-apps/castopod.nix b/nixos/modules/services/web-apps/castopod.nix index f195482a0450..23206ad6c3fd 100644 --- a/nixos/modules/services/web-apps/castopod.nix +++ b/nixos/modules/services/web-apps/castopod.nix @@ -126,9 +126,10 @@ in Maximum supported size for a file upload in. Maximum HTTP body size is set to this value for nginx and PHP (because castopod doesn't support chunked uploads yet: - https://code.castopod.org/adaures/castopod/-/issues/330). Note, that - practical upload size limit is smaller. For example, with 512 MiB - setting - around 500 MiB is possible. + https://code.castopod.org/adaures/castopod/-/issues/330). + + Note, that practical upload size limit is smaller. For example, with + 512 MiB setting - around 500 MiB is possible. ''; }; }; From 1bd3ab39c4f6af7a0f73c303873c678066d24f17 Mon Sep 17 00:00:00 2001 From: sinavir Date: Fri, 23 Feb 2024 22:27:24 +0100 Subject: [PATCH 61/89] nixos/castopod: use LoadCredentials --- nixos/modules/services/web-apps/castopod.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/web-apps/castopod.nix b/nixos/modules/services/web-apps/castopod.nix index 23206ad6c3fd..0ccba217be4d 100644 --- a/nixos/modules/services/web-apps/castopod.nix +++ b/nixos/modules/services/web-apps/castopod.nix @@ -67,6 +67,8 @@ in description = lib.mdDoc '' A file containing the password corresponding to [](#opt-services.castopod.database.user). + + This file is loaded using systemd LoadCredentials. ''; }; }; @@ -93,6 +95,8 @@ in Environment file to inject e.g. secrets into the configuration. See [](https://code.castopod.org/adaures/castopod/-/blob/main/.env.example) for available environment variables. + + This file is loaded using systemd LoadCredentials. ''; }; configureNginx = lib.mkOption { @@ -207,19 +211,23 @@ in echo "analytics.salt=$(cat ${cfg.dataDir}/salt)" >> ${envFile} ${if (cfg.database.passwordFile != null) then '' - echo "database.default.password=$(cat ${lib.escapeShellArg cfg.database.passwordFile})" >> ${envFile} + echo "database.default.password=$(cat "$CREDENTIALS_DIRECTORY/dbpasswordfile)" >> ${envFile} '' else '' echo "database.default.password=" >> ${envFile} ''} ${lib.optionalString (cfg.environmentFile != null) '' - cat ${lib.escapeShellArg cfg.environmentFile} >> ${envFile} + cat "$CREDENTIALS_DIRECTORY/envfile" >> ${envFile} ''} php ${cfg.package}/share/castopod/spark castopod:database-update ''; serviceConfig = { StateDirectory = "castopod"; + LoadCredential = lib.optional (cfg.environmentFile != null) + "envfile:${cfg.environmentFile}" + ++ (lib.optional (cfg.database.passwordFile != null) + "dbpasswordfile:${cfg.database.passwordFile}"); WorkingDirectory = "${cfg.package}/share/castopod"; Type = "oneshot"; RemainAfterExit = true; From 301a66e8ea54cbfce2ca09a77eff7bf8066464b6 Mon Sep 17 00:00:00 2001 From: sinavir Date: Sat, 2 Mar 2024 18:04:35 +0100 Subject: [PATCH 62/89] nixos/castopod: Increase test timeouts --- nixos/tests/castopod.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/castopod.nix b/nixos/tests/castopod.nix index 241705aebd72..29bf8e8cacd8 100644 --- a/nixos/tests/castopod.nix +++ b/nixos/tests/castopod.nix @@ -103,7 +103,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: driver.get('http://${domain}/cp-install') - wait = WebDriverWait(driver, 10) + wait = WebDriverWait(driver, 20) wait.until(EC.title_contains("installer")) From c81631a41b0e70621c5649f51f172f89e30388b4 Mon Sep 17 00:00:00 2001 From: aleksana Date: Tue, 2 Apr 2024 00:53:01 +0800 Subject: [PATCH 63/89] badwolf: 1.2.2 -> 1.3.0 --- .../networking/browsers/badwolf/default.nix | 36 ++++++++++++------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/pkgs/applications/networking/browsers/badwolf/default.nix b/pkgs/applications/networking/browsers/badwolf/default.nix index 2200f878172b..e5ca10a83670 100644 --- a/pkgs/applications/networking/browsers/badwolf/default.nix +++ b/pkgs/applications/networking/browsers/badwolf/default.nix @@ -1,39 +1,49 @@ -{ stdenv -, lib +{ lib +, stdenv , fetchgit +, ninja , pkg-config +, ed , wrapGAppsHook , webkitgtk , libxml2 -, glib , glib-networking , gettext }: + stdenv.mkDerivation rec { pname = "badwolf"; - version = "1.2.2"; + version = "1.3.0"; src = fetchgit { - url = "git://hacktivis.me/git/badwolf.git"; + url = "https://hacktivis.me/git/badwolf.git"; rev = "v${version}"; - hash = "sha256-HfAsq6z+1kqMAsNxJjWJx9nd2cbv0XN4KRS8cYuhOsQ="; + hash = "sha256-feWSxK9TJ5MWxUKutuTcdmMk5IbLjNseUAvfm20kQ1U="; }; - preConfigure = '' - export PREFIX=$out - ''; + # configure script not accepting '--prefix' + prefixKey = "PREFIX="; - nativeBuildInputs = [ pkg-config wrapGAppsHook ]; + nativeBuildInputs = [ + ninja + pkg-config + ed + wrapGAppsHook + ]; - buildInputs = [ webkitgtk libxml2 gettext glib glib-networking ]; + buildInputs = [ + webkitgtk + libxml2 + gettext + glib-networking + ]; meta = with lib; { description = "Minimalist and privacy-oriented WebKitGTK+ browser"; mainProgram = "badwolf"; homepage = "https://hacktivis.me/projects/badwolf"; - license = licenses.bsd3; + license = with licenses; [ bsd3 cc-by-sa-40 ]; platforms = platforms.linux; maintainers = with maintainers; [ laalsaas ]; }; - } From eb373d0539ab6880dff869856e82f378249d9b8e Mon Sep 17 00:00:00 2001 From: aleksana Date: Tue, 2 Apr 2024 00:56:44 +0800 Subject: [PATCH 64/89] badwolf: add aleksana as maintainer --- pkgs/applications/networking/browsers/badwolf/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/networking/browsers/badwolf/default.nix b/pkgs/applications/networking/browsers/badwolf/default.nix index e5ca10a83670..5772586d8d4e 100644 --- a/pkgs/applications/networking/browsers/badwolf/default.nix +++ b/pkgs/applications/networking/browsers/badwolf/default.nix @@ -44,6 +44,6 @@ stdenv.mkDerivation rec { homepage = "https://hacktivis.me/projects/badwolf"; license = with licenses; [ bsd3 cc-by-sa-40 ]; platforms = platforms.linux; - maintainers = with maintainers; [ laalsaas ]; + maintainers = with maintainers; [ laalsaas aleksana ]; }; } From 7b9dc63ae0a39780af3d70bb80d6eda8937a2c27 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Mon, 1 Apr 2024 19:33:03 +0200 Subject: [PATCH 65/89] bee: move to pkgs/by-name --- .../networking/bee/bee.nix => by-name/be/bee/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{applications/networking/bee/bee.nix => by-name/be/bee/package.nix} (100%) diff --git a/pkgs/applications/networking/bee/bee.nix b/pkgs/by-name/be/bee/package.nix similarity index 100% rename from pkgs/applications/networking/bee/bee.nix rename to pkgs/by-name/be/bee/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e8abbe288ae7..09ca5b151504 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6560,8 +6560,6 @@ with pkgs; beanstalkd = callPackage ../servers/beanstalkd { }; - bee = callPackage ../applications/networking/bee/bee.nix { }; - beetsPackages = lib.recurseIntoAttrs (callPackage ../tools/audio/beets { }); inherit (beetsPackages) beets beets-unstable; From 47be91f8d31bfcd15b8a4db0027ce2b3dd069388 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Mon, 1 Apr 2024 19:35:50 +0200 Subject: [PATCH 66/89] bee: fix version --- pkgs/by-name/be/bee/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/be/bee/package.nix b/pkgs/by-name/be/bee/package.nix index 9fd7752b2c2e..a1f9e469b1ef 100644 --- a/pkgs/by-name/be/bee/package.nix +++ b/pkgs/by-name/be/bee/package.nix @@ -21,11 +21,11 @@ buildGoModule rec { ldflags = [ "-s" "-w" - "-X github.com/ethersphere/bee.version=${version}" - "-X github.com/ethersphere/bee/pkg/api.Version=5.2.0" - "-X github.com/ethersphere/bee/pkg/api.DebugVersion=4.1.0" - "-X github.com/ethersphere/bee/pkg/p2p/libp2p.reachabilityOverridePublic=false" - "-X github.com/ethersphere/bee/pkg/postage/listener.batchFactorOverridePublic=5" + "-X github.com/ethersphere/bee/v2.version=${version}" + "-X github.com/ethersphere/bee/v2/pkg/api.Version=5.2.0" + "-X github.com/ethersphere/bee/v2/pkg/api.DebugVersion=4.1.1" + "-X github.com/ethersphere/bee/v2/pkg/p2p/libp2p.reachabilityOverridePublic=false" + "-X github.com/ethersphere/bee/v2/pkg/postage/listener.batchFactorOverridePublic=5" ]; CGO_ENABLED = 0; From a6ae6b07d75060f2d38f7a035d575a7f9a41d1a7 Mon Sep 17 00:00:00 2001 From: David McFarland Date: Tue, 26 Mar 2024 22:51:32 -0300 Subject: [PATCH 67/89] duplicity: 0.8.23 -> 2.2.3 Fixes: #286749 --- pkgs/tools/backup/duplicity/default.nix | 96 ++++++++++--------- .../backup/duplicity/gnutar-in-test.patch | 20 ---- .../keep-pythonpath-in-testing.patch | 15 +++ .../linux-disable-timezone-test.patch | 16 ---- .../use-installed-scripts-in-test.patch | 63 ------------ 5 files changed, 66 insertions(+), 144 deletions(-) delete mode 100644 pkgs/tools/backup/duplicity/gnutar-in-test.patch create mode 100644 pkgs/tools/backup/duplicity/keep-pythonpath-in-testing.patch delete mode 100644 pkgs/tools/backup/duplicity/linux-disable-timezone-test.patch delete mode 100644 pkgs/tools/backup/duplicity/use-installed-scripts-in-test.patch diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix index 452fab128e14..6e216341da9d 100644 --- a/pkgs/tools/backup/duplicity/default.nix +++ b/pkgs/tools/backup/duplicity/default.nix @@ -11,40 +11,47 @@ , rsync , makeWrapper , gettext +, getconf +, testers }: -python3.pkgs.buildPythonApplication rec { +let self = python3.pkgs.buildPythonApplication rec { pname = "duplicity"; - version = "0.8.23"; + version = "2.2.3"; src = fetchFromGitLab { owner = "duplicity"; repo = "duplicity"; rev = "rel.${version}"; - sha256 = "0my015zc8751smjgbsysmca7hvdm96cjw5zilqn3zq971nmmrksb"; + hash = "sha256-4IwKqXlG7jh1siuPT5pVgiYB+KlmCzF6+OMPT3I3yTQ="; }; patches = [ - # We use the tar binary on all platforms. - ./gnutar-in-test.patch - - # Our Python infrastructure runs test in installCheckPhase so we need - # to make the testing code stop assuming it is run from the source directory. - ./use-installed-scripts-in-test.patch - ] ++ lib.optionals stdenv.isLinux [ - # Broken on Linux in Nix' build environment - ./linux-disable-timezone-test.patch + ./keep-pythonpath-in-testing.patch ]; - preConfigure = '' - # fix version displayed by duplicity --version - # see SourceCopy in setup.py - ls - for i in bin/*.1 duplicity/__init__.py; do - substituteInPlace "$i" --replace '$version' "${version}" - done + postPatch = '' + patchShebangs duplicity/__main__.py + + # don't try to use gtar on darwin/bsd + substituteInPlace testing/functional/test_restart.py \ + --replace-fail 'tarcmd = "gtar"' 'tarcmd = "tar"' + '' + lib.optionalString stdenv.isDarwin '' + # tests try to access these files in the sandbox, but can't deal with EPERM + substituteInPlace testing/unit/test_globmatch.py \ + --replace-fail /var/log /test/log + substituteInPlace testing/unit/test_selection.py \ + --replace-fail /usr/bin /dev + # don't use /tmp/ in tests + substituteInPlace duplicity/backends/_testbackend.py \ + --replace-fail '"/tmp/' 'os.environ.get("TMPDIR")+"/' ''; + disabledTests = lib.optionals stdenv.isDarwin [ + # uses /tmp/ + "testing/unit/test_cli_main.py::CommandlineTest::test_intermixed_args" + ]; + nativeBuildInputs = [ makeWrapper gettext @@ -80,46 +87,43 @@ python3.pkgs.buildPythonApplication rec { par2cmdline # Add 'par2' to PATH. ] ++ lib.optionals stdenv.isLinux [ util-linux # Add 'setsid' to PATH. + ] ++ lib.optionals stdenv.isDarwin [ + getconf ] ++ (with python3.pkgs; [ lockfile mock pexpect pytest pytest-runner + fasteners ]); - postInstall = '' + postInstall = let + binPath = lib.makeBinPath ([ + gnupg + ncftp + rsync + ] ++ lib.optionals stdenv.isDarwin [ + getconf + ]); in '' wrapProgram $out/bin/duplicity \ - --prefix PATH : "${lib.makeBinPath [ gnupg ncftp rsync ]}" + --prefix PATH : "${binPath}" ''; preCheck = '' + # tests need writable $HOME + HOME=$PWD/.home + wrapPythonProgramsIn "$PWD/testing/overrides/bin" "$pythonPath" - - # Add 'duplicity' to PATH for tests. - # Normally, 'setup.py test' adds 'build/scripts-2.7/' to PATH before running - # tests. However, 'build/scripts-2.7/duplicity' is not wrapped, so its - # shebang is incorrect and it fails to run inside Nix' sandbox. - # In combination with use-installed-scripts-in-test.patch, make 'setup.py - # test' use the installed 'duplicity' instead. - PATH="$out/bin:$PATH" - - # Don't run developer-only checks (pep8, etc.). - export RUN_CODE_TESTS=0 - - # check version string - duplicity --version | grep ${version} - '' + lib.optionalString stdenv.isDarwin '' - # Work around the following error when running tests: - # > Max open files of 256 is too low, should be >= 1024. - # > Use 'ulimit -n 1024' or higher to correct. - ulimit -n 1024 ''; - # TODO: Fix test failures on macOS 10.13: - # - # > OSError: out of pty devices - doCheck = !stdenv.isDarwin; + doCheck = true; + + passthru = { + tests.version = testers.testVersion { + package = self; + }; + }; meta = with lib; { description = "Encrypted bandwidth-efficient backup using the rsync algorithm"; @@ -127,4 +131,6 @@ python3.pkgs.buildPythonApplication rec { license = licenses.gpl2Plus; maintainers = with maintainers; [ ]; }; -} +}; + +in self diff --git a/pkgs/tools/backup/duplicity/gnutar-in-test.patch b/pkgs/tools/backup/duplicity/gnutar-in-test.patch deleted file mode 100644 index ee95b68e2abb..000000000000 --- a/pkgs/tools/backup/duplicity/gnutar-in-test.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/testing/functional/test_restart.py b/testing/functional/test_restart.py -index 6d972c82..e8435fd5 100644 ---- a/testing/functional/test_restart.py -+++ b/testing/functional/test_restart.py -@@ -350,14 +350,7 @@ class RestartTestWithoutEncryption(RestartTest): - https://launchpad.net/bugs/929067 - """ - -- if platform.system().startswith(u'Linux'): -- tarcmd = u"tar" -- elif platform.system().startswith(u'Darwin'): -- tarcmd = u"gtar" -- elif platform.system().endswith(u'BSD'): -- tarcmd = u"gtar" -- else: -- raise Exception(u"Platform %s not supported by tar/gtar." % platform.platform()) -+ tarcmd = u"tar" - - # Intial normal backup - self.backup(u"full", u"{0}/testfiles/blocktartest".format(_runtest_dir)) diff --git a/pkgs/tools/backup/duplicity/keep-pythonpath-in-testing.patch b/pkgs/tools/backup/duplicity/keep-pythonpath-in-testing.patch new file mode 100644 index 000000000000..c0cc6a2226d1 --- /dev/null +++ b/pkgs/tools/backup/duplicity/keep-pythonpath-in-testing.patch @@ -0,0 +1,15 @@ +diff --git a/testing/functional/__init__.py b/testing/functional/__init__.py +index 6c82d2c7..22163fa3 100644 +--- a/testing/functional/__init__.py ++++ b/testing/functional/__init__.py +@@ -94,8 +94,8 @@ class FunctionalTestCase(DuplicityTestCase): + for item in passphrase_input: + assert isinstance(item, str), f"item {os.fsdecode(item)} in passphrase_input is not unicode" + +- # set python path to be dev directory +- os.environ["PYTHONPATH"] = _top_dir ++ # prepend dev directory to python path ++ os.environ["PYTHONPATH"] = _top_dir + ":" + os.environ["PYTHONPATH"] + + cmd_list = [] + diff --git a/pkgs/tools/backup/duplicity/linux-disable-timezone-test.patch b/pkgs/tools/backup/duplicity/linux-disable-timezone-test.patch deleted file mode 100644 index e322625cdbf4..000000000000 --- a/pkgs/tools/backup/duplicity/linux-disable-timezone-test.patch +++ /dev/null @@ -1,16 +0,0 @@ -commit f0142706c377b7c133753db57b5c4c90baa2de30 -Author: Guillaume Girol -Date: Sun Jul 11 17:48:15 2021 +0200 - -diff --git a/testing/unit/test_statistics.py b/testing/unit/test_statistics.py -index 4be5000c..80545853 100644 ---- a/testing/unit/test_statistics.py -+++ b/testing/unit/test_statistics.py -@@ -63,6 +63,7 @@ class StatsObjTest(UnitTestCase): - s1 = StatsDeltaProcess() - assert s1.get_stat(u'SourceFiles') == 0 - -+ @unittest.skip("Broken on Linux in Nix' build environment") - def test_get_stats_string(self): - u"""Test conversion of stat object into string""" - s = StatsObj() diff --git a/pkgs/tools/backup/duplicity/use-installed-scripts-in-test.patch b/pkgs/tools/backup/duplicity/use-installed-scripts-in-test.patch deleted file mode 100644 index a5ddc4381bd8..000000000000 --- a/pkgs/tools/backup/duplicity/use-installed-scripts-in-test.patch +++ /dev/null @@ -1,63 +0,0 @@ -commit ccd4dd92cd37acce1da20966ad9e4e0c7bcf1709 -Author: Guillaume Girol -Date: Sun Jul 11 12:00:00 2021 +0000 - - use installed duplicity when running tests - -diff --git a/setup.py b/setup.py -index fa474f20..604a242a 100755 ---- a/setup.py -+++ b/setup.py -@@ -205,10 +205,6 @@ class TestCommand(test): - except Exception: - pass - -- os.environ[u'PATH'] = u"%s:%s" % ( -- os.path.abspath(build_scripts_cmd.build_dir), -- os.environ.get(u'PATH')) -- - test.run(self) - - -diff --git a/testing/functional/__init__.py b/testing/functional/__init__.py -index 4221576d..3cf44945 100644 ---- a/testing/functional/__init__.py -+++ b/testing/functional/__init__.py -@@ -111,7 +111,7 @@ class FunctionalTestCase(DuplicityTestCase): - run_coverage = os.environ.get(u'RUN_COVERAGE', None) - if run_coverage is not None: - cmd_list.extend([u"-m", u"coverage", u"run", u"--source=duplicity", u"-p"]) -- cmd_list.extend([u"{0}/bin/duplicity".format(_top_dir)]) -+ cmd_list.extend([u"duplicity"]) - cmd_list.extend(options) - cmd_list.extend([u"-v0"]) - cmd_list.extend([u"--no-print-statistics"]) -diff --git a/testing/functional/test_log.py b/testing/functional/test_log.py -index 9dfc86a6..b9cb55db 100644 ---- a/testing/functional/test_log.py -+++ b/testing/functional/test_log.py -@@ -49,9 +49,9 @@ class LogTest(FunctionalTestCase): - # Run actual duplicity command (will fail, because no arguments passed) - basepython = os.environ.get(u'TOXPYTHON', None) - if basepython is not None: -- os.system(u"{0} {1}/bin/duplicity --log-file={2} >/dev/null 2>&1".format(basepython, _top_dir, self.logfile)) -+ os.system(u"{0} duplicity --log-file={1} >/dev/null 2>&1".format(basepython, self.logfile)) - else: -- os.system(u"{0}/bin/duplicity --log-file={1} >/dev/null 2>&1".format(_top_dir, self.logfile)) -+ os.system(u"duplicity --log-file={0} >/dev/null 2>&1".format(self.logfile)) - - # The format of the file should be: - # """ERROR 2 -diff --git a/testing/functional/test_rdiffdir.py b/testing/functional/test_rdiffdir.py -index 0cbfdb33..47acd029 100644 ---- a/testing/functional/test_rdiffdir.py -+++ b/testing/functional/test_rdiffdir.py -@@ -44,7 +44,7 @@ class RdiffdirTest(FunctionalTestCase): - basepython = os.environ.get(u'TOXPYTHON', None) - if basepython is not None: - cmd_list.extend([basepython]) -- cmd_list.extend([u"{0}/bin/rdiffdir".format(_top_dir)]) -+ cmd_list.extend([u"rdiffdir"]) - cmd_list.extend(argstring.split()) - cmdline = u" ".join([u'"%s"' % x for x in cmd_list]) - self.run_cmd(cmdline) From 8398980c8acea5782bbdff0c03121e2f1af5d219 Mon Sep 17 00:00:00 2001 From: David McFarland Date: Wed, 27 Mar 2024 13:09:26 -0300 Subject: [PATCH 68/89] duplicity: add corngood as maintainer --- pkgs/tools/backup/duplicity/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix index 6e216341da9d..9ecc6f4d6e0c 100644 --- a/pkgs/tools/backup/duplicity/default.nix +++ b/pkgs/tools/backup/duplicity/default.nix @@ -129,7 +129,7 @@ let self = python3.pkgs.buildPythonApplication rec { description = "Encrypted bandwidth-efficient backup using the rsync algorithm"; homepage = "https://duplicity.gitlab.io/duplicity-web/"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ corngood ]; }; }; From 74228bb627b33782c3122f35f5913b7a8e8baa7c Mon Sep 17 00:00:00 2001 From: David McFarland Date: Wed, 27 Mar 2024 16:19:13 -0300 Subject: [PATCH 69/89] duplicity: add update script --- pkgs/tools/backup/duplicity/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix index 9ecc6f4d6e0c..1da3131f85b0 100644 --- a/pkgs/tools/backup/duplicity/default.nix +++ b/pkgs/tools/backup/duplicity/default.nix @@ -13,6 +13,7 @@ , gettext , getconf , testers +, nix-update-script }: let self = python3.pkgs.buildPythonApplication rec { @@ -120,6 +121,10 @@ let self = python3.pkgs.buildPythonApplication rec { doCheck = true; passthru = { + updateScript = nix-update-script { + extraArgs = [ "--version-regex" "rel\.(.*)" ]; + }; + tests.version = testers.testVersion { package = self; }; From 9655bfc721e353e76876632c898eac08a03c2e56 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Mon, 1 Apr 2024 19:48:04 +0200 Subject: [PATCH 70/89] lxgw-neoxihei: move to pkgs/by-name --- .../default.nix => by-name/lx/lxgw-neoxihei/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{data/fonts/lxgw-neoxihei/default.nix => by-name/lx/lxgw-neoxihei/package.nix} (100%) diff --git a/pkgs/data/fonts/lxgw-neoxihei/default.nix b/pkgs/by-name/lx/lxgw-neoxihei/package.nix similarity index 100% rename from pkgs/data/fonts/lxgw-neoxihei/default.nix rename to pkgs/by-name/lx/lxgw-neoxihei/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a910dd75a624..0a8679613816 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -29099,8 +29099,6 @@ with pkgs; inherit (plasma5Packages) breeze-icons; }; - lxgw-neoxihei = callPackage ../data/fonts/lxgw-neoxihei { }; - lxgw-wenkai = callPackage ../data/fonts/lxgw-wenkai { }; maia-icon-theme = libsForQt5.callPackage ../data/icons/maia-icon-theme { }; From 83ea7cf15be9cbe76dbc5235091d82b6fce3bc16 Mon Sep 17 00:00:00 2001 From: superherointj <5861043+superherointj@users.noreply.github.com> Date: Mon, 1 Apr 2024 15:29:58 -0300 Subject: [PATCH 71/89] cilium-cli: 0.16.3 -> 0.16.4 Release: https://github.com/cilium/cilium-cli/releases/tag/v0.16.4 - Add superherointj as maintainer --- .../networking/cluster/cilium/default.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/networking/cluster/cilium/default.nix b/pkgs/applications/networking/cluster/cilium/default.nix index c9052133e5d9..5502c5c582f1 100644 --- a/pkgs/applications/networking/cluster/cilium/default.nix +++ b/pkgs/applications/networking/cluster/cilium/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "cilium-cli"; - version = "0.16.3"; + version = "0.16.4"; src = fetchFromGitHub { owner = "cilium"; repo = pname; rev = "v${version}"; - hash = "sha256-WD0CUPl9Qkalhog2IbefMkiLiVZFW59X21sYH4hUqZs="; + hash = "sha256-fhTjYhRCtJu18AGYF6hiTdRMEdlNO+DmDwh2hZBXzPk="; }; vendorHash = null; @@ -37,11 +37,12 @@ buildGoModule rec { --zsh <($out/bin/cilium completion zsh) ''; - meta = with lib; { + meta = { + changelog = "https://github.com/cilium/cilium-cli/releases/tag/v${version}"; description = "CLI to install, manage & troubleshoot Kubernetes clusters running Cilium"; - license = licenses.asl20; + license = lib.licenses.asl20; homepage = "https://www.cilium.io/"; - maintainers = with maintainers; [ humancalico bryanasdev000 qjoly ]; + maintainers = with lib.maintainers; [ bryanasdev000 humancalico qjoly superherointj ]; mainProgram = "cilium"; }; } From 53b703a3459f3c7ccc255b3f5a751282c3fa90d8 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 1 Apr 2024 20:35:51 +0200 Subject: [PATCH 72/89] python312Packages.fastapi-sso: 0.13.0 -> 0.13.1 Diff: https://github.com/tomasvotava/fastapi-sso/compare/refs/tags/0.13.0...0.13.1 Changelog: https://github.com/tomasvotava/fastapi-sso/releases/tag/0.13.1 --- pkgs/development/python-modules/fastapi-sso/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/fastapi-sso/default.nix b/pkgs/development/python-modules/fastapi-sso/default.nix index 3af37ecd587d..ac02d25151f8 100644 --- a/pkgs/development/python-modules/fastapi-sso/default.nix +++ b/pkgs/development/python-modules/fastapi-sso/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "fastapi-sso"; - version = "0.13.0"; + version = "0.13.1"; pyproject = true; disabled = pythonOlder "3.8"; @@ -25,7 +25,7 @@ buildPythonPackage rec { owner = "tomasvotava"; repo = "fastapi-sso"; rev = "refs/tags/${version}"; - hash = "sha256-7gBJ6Etb9X2mJzrWYpNGAl3NFoI1bz+PcGfUsMgRlN8="; + hash = "sha256-gblxjunXNerbC+7IYkGrO/PJak0MCoxdmWfo7iVeV7g="; }; postPatch = '' From d9e1aa9a7e2fb935d6412fa91e41e38e805306a2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 1 Apr 2024 20:36:21 +0200 Subject: [PATCH 73/89] python312Packages.fastapi-sso: refactor --- pkgs/development/python-modules/fastapi-sso/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/fastapi-sso/default.nix b/pkgs/development/python-modules/fastapi-sso/default.nix index ac02d25151f8..e2e61ecd1781 100644 --- a/pkgs/development/python-modules/fastapi-sso/default.nix +++ b/pkgs/development/python-modules/fastapi-sso/default.nix @@ -32,11 +32,11 @@ buildPythonPackage rec { sed -i "/--cov/d" pyproject.toml ''; - nativeBuildInputs = [ + build-system = [ poetry-core ]; - propagatedBuildInputs = [ + dependencies = [ fastapi httpx oauthlib From f2e2c0cdf89a5336e84a8b36f92a4c752debd1fe Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 1 Apr 2024 20:37:19 +0200 Subject: [PATCH 74/89] python312Packages.opower: 0.4.1 -> 0.4.2 Diff: https://github.com/tronikos/opower/compare/refs/tags/v0.4.1...v0.4.2 Changelog: https://github.com/tronikos/opower/releases/tag/v0.4.2 --- pkgs/development/python-modules/opower/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/opower/default.nix b/pkgs/development/python-modules/opower/default.nix index 0d25314befdf..4a0eb17999e3 100644 --- a/pkgs/development/python-modules/opower/default.nix +++ b/pkgs/development/python-modules/opower/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "opower"; - version = "0.4.1"; + version = "0.4.2"; pyproject = true; disabled = pythonOlder "3.9"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "tronikos"; repo = "opower"; rev = "refs/tags/v${version}"; - hash = "sha256-PB6t1ltxJs7aYn/OthCORHbyRXqMkTZ6YE2He0k/2mc="; + hash = "sha256-mQE3WypB//OPilx4vA8b8V+eO0MJ/cSa3wILLW+Jk4Y="; }; nativeBuildInputs = [ From 0309aeaf234c2839e9f4c908925d7d182bcc0a3a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 1 Apr 2024 20:37:47 +0200 Subject: [PATCH 75/89] python312Packages.opower: refactor --- pkgs/development/python-modules/opower/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/opower/default.nix b/pkgs/development/python-modules/opower/default.nix index 4a0eb17999e3..1747389cc972 100644 --- a/pkgs/development/python-modules/opower/default.nix +++ b/pkgs/development/python-modules/opower/default.nix @@ -24,11 +24,11 @@ buildPythonPackage rec { hash = "sha256-mQE3WypB//OPilx4vA8b8V+eO0MJ/cSa3wILLW+Jk4Y="; }; - nativeBuildInputs = [ + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ aiohttp arrow pyotp From f310b9feab2e0e529732cdb328ccb31ea15b9e18 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 1 Apr 2024 20:38:33 +0200 Subject: [PATCH 76/89] python312Packages.openrgb-python: 0.2.15 -> 0.3.0 Changelog: https://github.com/jath03/openrgb-python/releases/tag/v0.3.0 --- pkgs/development/python-modules/openrgb-python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/openrgb-python/default.nix b/pkgs/development/python-modules/openrgb-python/default.nix index 106a2f7533ea..d78b17d92b8f 100644 --- a/pkgs/development/python-modules/openrgb-python/default.nix +++ b/pkgs/development/python-modules/openrgb-python/default.nix @@ -6,14 +6,14 @@ buildPythonPackage rec { pname = "openrgb-python"; - version = "0.2.15"; + version = "0.3.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-rTfpqMM+IUd8rMmw/r15sICLoPHL6KLaRrmUjWTfUkA="; + hash = "sha256-2eeb2XHYvBaHkHHs9KxZKDGXtcLaT28c/aLC9pxrRmM="; }; # Module has no tests From e9bcd7ca7858ff6a875ff3d89b5e0f08b8e10f4b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 1 Apr 2024 20:39:28 +0200 Subject: [PATCH 77/89] python312Packages.openrgb-python: refactor --- pkgs/development/python-modules/openrgb-python/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/openrgb-python/default.nix b/pkgs/development/python-modules/openrgb-python/default.nix index d78b17d92b8f..c41c1d9760b5 100644 --- a/pkgs/development/python-modules/openrgb-python/default.nix +++ b/pkgs/development/python-modules/openrgb-python/default.nix @@ -2,12 +2,13 @@ , buildPythonPackage , fetchPypi , pythonOlder +, setuptools }: buildPythonPackage rec { pname = "openrgb-python"; version = "0.3.0"; - format = "setuptools"; + pyproject = true; disabled = pythonOlder "3.7"; @@ -16,6 +17,10 @@ buildPythonPackage rec { hash = "sha256-2eeb2XHYvBaHkHHs9KxZKDGXtcLaT28c/aLC9pxrRmM="; }; + build-system = [ + setuptools + ]; + # Module has no tests doCheck = false; From 76a7969fbd2f00433a1ad58305b491a03f8f3fd0 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 1 Apr 2024 20:44:50 +0200 Subject: [PATCH 78/89] python312Packages.aiolyric: 1.1.1 -> 2.0.0 Changelog: https://github.com/timmo001/aiolyric/releases/tag/v2.0.0 --- pkgs/development/python-modules/aiolyric/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/aiolyric/default.nix b/pkgs/development/python-modules/aiolyric/default.nix index 989c704d3659..6577382138f9 100644 --- a/pkgs/development/python-modules/aiolyric/default.nix +++ b/pkgs/development/python-modules/aiolyric/default.nix @@ -8,15 +8,15 @@ buildPythonPackage rec { pname = "aiolyric"; - version = "1.1.1"; + version = "2.0.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "timmo001"; - repo = pname; - rev = "refs/tags/v${version}"; + repo = "aiolyric"; + rev = "refs/tags/${version}"; hash = "sha256-FZhLjVrLzLv6CZz/ROlvbtBK9XnpO8pG48aSIoBxhCo="; }; From 9d2281c81063adc784d10019ce3dcb58f1f8171d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 1 Apr 2024 20:45:56 +0200 Subject: [PATCH 79/89] python312Packages.aiolyric: refactor --- pkgs/development/python-modules/aiolyric/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aiolyric/default.nix b/pkgs/development/python-modules/aiolyric/default.nix index 6577382138f9..916754dc8c67 100644 --- a/pkgs/development/python-modules/aiolyric/default.nix +++ b/pkgs/development/python-modules/aiolyric/default.nix @@ -4,12 +4,13 @@ , fetchFromGitHub , pythonOlder , pytestCheckHook +, setuptools }: buildPythonPackage rec { pname = "aiolyric"; version = "2.0.0"; - format = "setuptools"; + pyproject = true; disabled = pythonOlder "3.7"; @@ -20,7 +21,11 @@ buildPythonPackage rec { hash = "sha256-FZhLjVrLzLv6CZz/ROlvbtBK9XnpO8pG48aSIoBxhCo="; }; - propagatedBuildInputs = [ + build-system = [ + setuptools + ]; + + dependencies = [ aiohttp ]; From 3ed0e099281c6a478d648b943e6c68764ccd584e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 19:15:41 +0000 Subject: [PATCH 80/89] flexget: 3.11.25 -> 3.11.27 --- 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 92d7c73eb697..e17fd5d6916e 100644 --- a/pkgs/applications/networking/flexget/default.nix +++ b/pkgs/applications/networking/flexget/default.nix @@ -6,7 +6,7 @@ python3.pkgs.buildPythonApplication rec { pname = "flexget"; - version = "3.11.25"; + version = "3.11.27"; pyproject = true; # Fetch from GitHub in order to use `requirements.in` @@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec { owner = "Flexget"; repo = "Flexget"; rev = "refs/tags/v${version}"; - hash = "sha256-bvCogSBB990LIkk273EMTlqNN303JKr5WCI8g7hLU9Q="; + hash = "sha256-0ENBUOH+/pe4OsVQ6cu1xLTPPHtUMNARQGVyxOk60X0="; }; postPatch = '' From 700db686fdd9bab4829b1413db8c223e79f4c9f0 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 1 Apr 2024 15:30:01 +0200 Subject: [PATCH 81/89] vimPlugins.vim-godot: init at 2024-02-17 --- pkgs/applications/editors/vim/plugins/generated.nix | 12 ++++++++++++ .../editors/vim/plugins/vim-plugin-names | 1 + 2 files changed, 13 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index ded569df4d8d..e159e30f2f54 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -17081,5 +17081,17 @@ final: prev: meta.homepage = "https://github.com/codethread/qmk.nvim/"; }; + vim-godot = buildVimPlugin { + pname = "vim-godot"; + version = "2024-02-18"; + src = fetchFromGitHub { + owner = "habamax"; + repo = "vim-godot"; + rev = "f9c0b36b299efcc4aa4cb119a2be36a83fe10388"; + sha256 = "sha256-HKp3CQwAOs+7TL8MjWZ2EHLHMZ3Ss7AckAZ5eOjTDEg="; + }; + meta.homepage = "https://github.com/habamax/vim-godot/"; + }; + } diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 720593f0487b..a63adaaea340 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -1100,6 +1100,7 @@ https://github.com/junegunn/vim-github-dashboard/,, https://github.com/tikhomirov/vim-glsl/,, https://github.com/jamessan/vim-gnupg/,, https://github.com/fatih/vim-go/,, +https://github.com/habamax/vim-godot/,HEAD, https://github.com/rhysd/vim-grammarous/,, https://github.com/jparise/vim-graphql/,, https://github.com/mhinz/vim-grepper/,, From 1847067c39275875550b3a7b98556ad039e193bd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 20:33:53 +0000 Subject: [PATCH 82/89] uxn: unstable-2024-03-18 -> unstable-2024-03-30 --- pkgs/by-name/ux/uxn/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ux/uxn/package.nix b/pkgs/by-name/ux/uxn/package.nix index 2ce14ff19f80..36986fd17272 100644 --- a/pkgs/by-name/ux/uxn/package.nix +++ b/pkgs/by-name/ux/uxn/package.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "uxn"; - version = "unstable-2024-03-18"; + version = "unstable-2024-03-30"; src = fetchFromSourcehut { owner = "~rabbits"; repo = "uxn"; - rev = "250aecc920a6f12d2d5479a5230a31630dac2a1e"; - hash = "sha256-nhKlcuhXkrhecRwVIuSf+jOmFbX0NMhmmc5pj6MCNdQ="; + rev = "fc6ec0b387723940868133fade8854ad37648881"; + hash = "sha256-Ver8oI3IzxwF6KeZ85d3mmiCwARVoH+RZoFNCxhGFDc="; }; outputs = [ "out" "projects" ]; From 03caf08d76970c77bed7e0a67628495196ee437e Mon Sep 17 00:00:00 2001 From: Kiskae Date: Mon, 1 Apr 2024 22:35:10 +0200 Subject: [PATCH 83/89] linuxPackages.nvidiaPackages.vulkan_beta: 550.40.55 -> 550.40.59 --- pkgs/os-specific/linux/nvidia-x11/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 9bfbe18f16ab..dfa92cc8a361 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -64,11 +64,11 @@ rec { # Vulkan developer beta driver # See here for more information: https://developer.nvidia.com/vulkan-driver vulkan_beta = generic rec { - version = "550.40.55"; + version = "550.40.59"; persistencedVersion = "550.54.14"; settingsVersion = "550.54.14"; - sha256_64bit = "sha256-i9FYgSZW0vLMEORg16+LxFBOacXXrAfWKbtCFuD8+IQ="; - openSha256 = "sha256-slb058rNKk/TEltGkdw6Shn/3SF3kjgsXQc8IyFMUB8="; + sha256_64bit = "sha256-hVwYC454vkxcK8I9bj1kp6iFS667em0c+Ral243C0J8="; + openSha256 = "sha256-/v1iVcmHhdvib54LDktNBHkcmgFxZVwQxwPdWSi0l/U="; settingsSha256 = "sha256-m2rNASJp0i0Ez2OuqL+JpgEF0Yd8sYVCyrOoo/ln2a4="; persistencedSha256 = "sha256-XaPN8jVTjdag9frLPgBtqvO/goB5zxeGzaTU0CdL6C4="; url = "https://developer.nvidia.com/downloads/vulkan-beta-${lib.concatStrings (lib.splitVersion version)}-linux"; From ac2b58c45992896abfa23eea4652a8882ee86b15 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Mon, 1 Apr 2024 14:55:19 -0700 Subject: [PATCH 84/89] miniflux: 2.1.1 -> 2.1.2 https://github.com/miniflux/v2/releases/tag/2.1.2 https://github.com/miniflux/v2/blob/2.1.2/ChangeLog diff: https://github.com/miniflux/v2/compare/2.1.1...2.1.2 --- pkgs/servers/miniflux/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/miniflux/default.nix b/pkgs/servers/miniflux/default.nix index 423a23e87885..cfc7ee8e5303 100644 --- a/pkgs/servers/miniflux/default.nix +++ b/pkgs/servers/miniflux/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "miniflux"; - version = "2.1.1"; + version = "2.1.2"; src = fetchFromGitHub { owner = "miniflux"; repo = "v2"; rev = "refs/tags/${version}"; - hash = "sha256-vXSOHZt6Ov5g4fQBg0bubCfn76aaVrjw2b+LRebbV6s="; + hash = "sha256-ArGoSb4gL0Mpul9wQJWW0aaCpSgtBxqnEiv5wS1eIFY="; }; - vendorHash = "sha256-p31kwJZQMYff5Us6mXpPmxbPrEXyxU6Sipf4LKSG3wU="; + vendorHash = "sha256-FcUKlvIdXJ3fSvf02zZu4lYa6943s3l2LwFBQ/EqtyY="; nativeBuildInputs = [ installShellFiles ]; From 91feb4b6f3571cf82e4511f9312711e3d7ef1019 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Thu, 14 Mar 2024 14:37:50 -0700 Subject: [PATCH 85/89] Avoid top-level `with ...;` in pkgs/development/compilers/gerbil/gerbil-support.nix The set of names to inherit was generated by running this in a loop until it did not error: ``` nix-instantiate --parse pkgs/development/compilers/gerbil/gerbil-support.nix ``` --- .../compilers/gerbil/gerbil-support.nix | 75 ++++++++++++++----- 1 file changed, 58 insertions(+), 17 deletions(-) diff --git a/pkgs/development/compilers/gerbil/gerbil-support.nix b/pkgs/development/compilers/gerbil/gerbil-support.nix index 230126ade007..e395d8ca1dec 100644 --- a/pkgs/development/compilers/gerbil/gerbil-support.nix +++ b/pkgs/development/compilers/gerbil/gerbil-support.nix @@ -1,11 +1,52 @@ { pkgs, lib, callPackage, ... }: -with pkgs.gerbil-support; { +let + inherit (builtins) filterSource; - pppToName = ppp: lib.removeSuffix ".nix" (baseNameOf ppp); # from pre-package path to name + inherit (lib) + commitIdFromGitRepo + concatStringsSep + elem + elemAt + hasSuffix + listToAttrs + mapAttrs + optionalString + pathExists + readFile + removeSuffix + substring + traceSeqN + ; + + inherit (lib.strings) match; + + # Implicitly calls through to this file, similar to `let .. in` or `rec`. + inherit (pkgs.gerbil-support) + callPpp + gerbilLoadPath + gerbilPackage + gerbilPackages-unstable + gerbilSkippableFiles + gerbilSourceFilter + overrideSrcIfShaDiff + ppaToPl + pppToKV + pppToName + ppplToPpa + prePackage-defaults + prePackages-unstable + resolve-pre-src + sha256-of-pre-src + view + ; +in + +{ + pppToName = ppp: removeSuffix ".nix" (baseNameOf ppp); # from pre-package path to name callPpp = ppp: callPackage ppp prePackage-defaults; # from pre-package path to pre-package pppToKV = ppp: { name = pppToName ppp; value = callPpp ppp; }; # from pre-package path to name - ppplToPpa = ppps: builtins.listToAttrs (map pppToKV ppps); # from pre-package path list to name/pre-package attr + ppplToPpa = ppps: listToAttrs (map pppToKV ppps); # from pre-package path list to name/pre-package attr prePackages-unstable = ppplToPpa @@ -32,37 +73,37 @@ with pkgs.gerbil-support; { softwareName = ""; }; - ppaToPl = builtins.mapAttrs (_: gerbilPackage); + ppaToPl = mapAttrs (_: gerbilPackage); gerbilPackages-unstable = ppaToPl prePackages-unstable; resolve-pre-src = pre-src: pre-src.fun (removeAttrs pre-src ["fun"]); gerbilVersionFromGit = srcDir: version-path: let version-file = "${srcDir}/${version-path}.ss"; in - if builtins.pathExists version-file then + if pathExists version-file then let m = - builtins.match "\\(import :clan/versioning.*\\)\n\\(register-software \"([-_.A-Za-z0-9]+)\" \"([-_.A-Za-z0-9]+)\"\\) ;; ([-0-9]+)\n" - (builtins.readFile version-file); in - { version = "${builtins.elemAt m 2}-git"; git-version = builtins.elemAt m 1; } + match "\\(import :clan/versioning.*\\)\n\\(register-software \"([-_.A-Za-z0-9]+)\" \"([-_.A-Za-z0-9]+)\"\\) ;; ([-0-9]+)\n" + (readFile version-file); in + { version = "${elemAt m 2}-git"; git-version = elemAt m 1; } else { version = "0.0-git"; git-version = let gitpath = "${srcDir}/.git"; in - if builtins.pathExists gitpath then lib.commitIdFromGitRepo gitpath else "0"; }; + if pathExists gitpath then commitIdFromGitRepo gitpath else "0"; }; gerbilSkippableFiles = [".git" ".build" ".build_outputs" "run" "result" "dep" "BLAH" "tmp.nix"]; gerbilSourceFilter = path: type: let baseName = baseNameOf path; in - ! (builtins.elem baseName gerbilSkippableFiles || lib.hasSuffix "~" baseName); + ! (elem baseName gerbilSkippableFiles || hasSuffix "~" baseName); - gerbilFilterSource = builtins.filterSource gerbilSourceFilter; + gerbilFilterSource = filterSource gerbilSourceFilter; # Use this function in any package that uses Gerbil libraries, to define the GERBIL_LOADPATH. gerbilLoadPath = - gerbilInputs: builtins.concatStringsSep ":" (map (x: x + "/gerbil/lib") gerbilInputs); + gerbilInputs: concatStringsSep ":" (map (x: x + "/gerbil/lib") gerbilInputs); path-src = path: { fun = _: path; }; - view = lib.debug.traceSeqN 4; + view = traceSeqN 4; sha256-of-pre-src = pre-src: if pre-src ? sha256 then pre-src.sha256 else "none"; @@ -75,7 +116,7 @@ with pkgs.gerbil-support; { pre-src = new-pre-src; version = "override"; git-version = if new-pre-src ? rev - then lib.substring 0 7 new-pre-src.rev + then substring 0 7 new-pre-src.rev else "unknown";}; }; @@ -102,10 +143,10 @@ with pkgs.gerbil-support; { postPatch = '' set -e ; - ${lib.optionalString (version-path != "") - ''echo -e '(import :clan/versioning${builtins.concatStringsSep "" + ${optionalString (version-path != "") + ''echo -e '(import :clan/versioning${concatStringsSep "" (map (x: let px = x.passthru.pre-pkg; in - lib.optionalString (px.version-path != "") + optionalString (px.version-path != "") " :${px.gerbil-package}/${px.version-path}") gerbilInputs) })\n(register-software "${softwareName}" "v${git-version}")\n' > "${version-path}.ss"''} From 273a1531d2ded1d04288216e33945cbb2ee3f627 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Thu, 14 Mar 2024 12:24:05 -0700 Subject: [PATCH 86/89] Avoid top-level `with ...;` in pkgs/development/compilers/dotnet/combine-deps.nix --- pkgs/development/compilers/dotnet/combine-deps.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/dotnet/combine-deps.nix b/pkgs/development/compilers/dotnet/combine-deps.nix index a7c4356b34b0..90db947667a8 100644 --- a/pkgs/development/compilers/dotnet/combine-deps.nix +++ b/pkgs/development/compilers/dotnet/combine-deps.nix @@ -4,11 +4,22 @@ otherRids, pkgs ? import ../../../.. {} }: -with pkgs.lib; let inherit (pkgs) writeText; + inherit (pkgs.lib) + concatMap + concatMapStringsSep + generators + optionals + replaceStrings + sortOn + strings + unique + ; + fns = map (file: import file) list; + packages = unique (concatMap (fn: fn { fetchNuGet = package: package; }) fns); From 807ecb95eb2d49aebea41d391eb42717830c6cbd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 23:38:07 +0000 Subject: [PATCH 87/89] slack: 4.36.140 -> 4.37.94 --- .../networking/instant-messengers/slack/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix index b19d1f6f8a01..f406181b4511 100644 --- a/pkgs/applications/networking/instant-messengers/slack/default.nix +++ b/pkgs/applications/networking/instant-messengers/slack/default.nix @@ -45,14 +45,14 @@ let pname = "slack"; - x86_64-darwin-version = "4.36.140"; - x86_64-darwin-sha256 = "0w1fxza3aglh7513znv190gsha12rk7k1ybdp4ml2pffwmm8diad"; + x86_64-darwin-version = "4.37.94"; + x86_64-darwin-sha256 = "01v7v977fq8mfsl0lipdc7ig55p2sknxzr1jmh8qxiq4f4y0rj5g"; - x86_64-linux-version = "4.36.140"; - x86_64-linux-sha256 = "0zahhhpcb1dxdhfmam32iqr5w3pspzbmcdv53ciqfnbkmwzkc3xr"; + x86_64-linux-version = "4.37.94"; + x86_64-linux-sha256 = "1f1spl767ldrarvpxrayry2d0nyr22b8xacxl4g1r8raryvnyz0x"; - aarch64-darwin-version = "4.36.140"; - aarch64-darwin-sha256 = "118mzkpk431dcm61gkbj5m4sdxkwnk6fvmxg9f96xiv6n22n7pnx"; + aarch64-darwin-version = "4.37.94"; + aarch64-darwin-sha256 = "0gh45gvlbjzxh0fn24z15glxqih5lggam8w6kpawsxgivkw6rjcc"; version = { x86_64-darwin = x86_64-darwin-version; From abe7e2fa5790f00a9fb21cae5df932a6506b2e83 Mon Sep 17 00:00:00 2001 From: Hraban Date: Mon, 1 Apr 2024 19:55:04 -0400 Subject: [PATCH 88/89] kdiff3: mark as supported on darwin (#299553) Tested this on aarch64 and x86_64 and it works. --- pkgs/tools/text/kdiff3/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/text/kdiff3/default.nix b/pkgs/tools/text/kdiff3/default.nix index 73fa2ed1baea..c852a4baf794 100644 --- a/pkgs/tools/text/kdiff3/default.nix +++ b/pkgs/tools/text/kdiff3/default.nix @@ -27,12 +27,16 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ "-Wno-dev" ]; + postInstall = lib.optionalString stdenv.isDarwin '' + ln -s "$out/Applications/KDE/kdiff3.app/Contents/MacOS" "$out/bin" + ''; + meta = with lib; { description = "Compares and merges 2 or 3 files or directories"; mainProgram = "kdiff3"; homepage = "https://invent.kde.org/sdk/kdiff3"; license = licenses.gpl2Plus; maintainers = with maintainers; [ peterhoeg ]; - platforms = with platforms; linux; + platforms = with platforms; linux ++ darwin; }; }) From ebde306504e278e4ab153474786091f9ffdfa1e4 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Mon, 1 Apr 2024 16:58:23 -0700 Subject: [PATCH 89/89] nixos/lib, doc: remove references to mdDoc (#300738) * doc: remove references to mdDoc in nixos/doc/manual/development/option-declarations.section.md * nixos/lib: remove mdDoc in nixos/lib/make-options-doc/default.nix * nixos/lib: remove mdDoc in nixos/lib/systemd-types.nix * nixos/lib: remove mdDoc in nixos/lib/systemd-unit-options.nix * nixos/lib: remove mdDoc in nixos/lib/testing/driver.nix * nixos/lib: remove mdDoc in nixos/lib/testing/interactive.nix * nixos/lib: remove mdDoc in nixos/lib/testing/meta.nix * nixos/lib: remove mdDoc in nixos/lib/testing/name.nix * nixos/lib: remove mdDoc in nixos/lib/testing/network.nix * nixos/lib: remove mdDoc in nixos/lib/testing/nodes.nix * nixos/lib: remove mdDoc in nixos/lib/testing/run.nix * nixos/lib: remove mdDoc in nixos/lib/testing/testScript.nix --- .../option-declarations.section.md | 19 ++- nixos/lib/make-options-doc/default.nix | 4 +- nixos/lib/systemd-types.nix | 9 +- nixos/lib/systemd-unit-options.nix | 109 +++++++++--------- nixos/lib/testing/driver.nix | 20 ++-- nixos/lib/testing/interactive.nix | 4 +- nixos/lib/testing/meta.nix | 10 +- nixos/lib/testing/name.nix | 4 +- nixos/lib/testing/network.nix | 5 +- nixos/lib/testing/nodes.nix | 15 ++- nixos/lib/testing/run.nix | 8 +- nixos/lib/testing/testScript.nix | 6 +- 12 files changed, 102 insertions(+), 111 deletions(-) diff --git a/nixos/doc/manual/development/option-declarations.section.md b/nixos/doc/manual/development/option-declarations.section.md index ad5857b11a2e..325f4d11cb08 100644 --- a/nixos/doc/manual/development/option-declarations.section.md +++ b/nixos/doc/manual/development/option-declarations.section.md @@ -12,7 +12,7 @@ looks like this: type = type specification; default = default value; example = example value; - description = lib.mdDoc "Description for use in the NixOS manual."; + description = "Description for use in the NixOS manual."; }; }; } @@ -58,12 +58,9 @@ The function `mkOption` accepts the following arguments. `description` -: A textual description of the option, in [Nixpkgs-flavored Markdown]( - https://nixos.org/nixpkgs/manual/#sec-contributing-markup) format, that will be - included in the NixOS manual. During the migration process from DocBook - it is necessary to mark descriptions written in CommonMark with `lib.mdDoc`. - The description may still be written in DocBook (without any marker), but this - is discouraged and will be deprecated in the future. +: A textual description of the option in [Nixpkgs-flavored Markdown]( + https://nixos.org/nixpkgs/manual/#sec-contributing-markup) format that will be + included in the NixOS manual. ## Utility functions for common option patterns {#sec-option-declarations-util} @@ -81,13 +78,13 @@ For example: ::: {#ex-options-declarations-util-mkEnableOption-magic .example} ### `mkEnableOption` usage ```nix -lib.mkEnableOption (lib.mdDoc "magic") +lib.mkEnableOption "magic" # is like lib.mkOption { type = lib.types.bool; default = false; example = true; - description = lib.mdDoc "Whether to enable magic."; + description = "Whether to enable magic."; } ``` ::: @@ -135,7 +132,7 @@ lib.mkOption { type = lib.types.package; default = pkgs.hello; defaultText = lib.literalExpression "pkgs.hello"; - description = lib.mdDoc "The hello package to use."; + description = "The hello package to use."; } ``` ::: @@ -153,7 +150,7 @@ lib.mkOption { default = pkgs.ghc; defaultText = lib.literalExpression "pkgs.ghc"; example = lib.literalExpression "pkgs.haskell.packages.ghc92.ghc.withPackages (hkgs: [ hkgs.primes ])"; - description = lib.mdDoc "The GHC package to use."; + description = "The GHC package to use."; } ``` ::: diff --git a/nixos/lib/make-options-doc/default.nix b/nixos/lib/make-options-doc/default.nix index 4ae9d018e96f..17e03baf3bb7 100644 --- a/nixos/lib/make-options-doc/default.nix +++ b/nixos/lib/make-options-doc/default.nix @@ -117,9 +117,7 @@ # deprecated since 23.11. # TODO remove in a while. , allowDocBook ? false -# whether lib.mdDoc is required for descriptions to be read as markdown. -# deprecated since 23.11. -# TODO remove in a while. +# TODO remove in a while (see https://github.com/NixOS/nixpkgs/issues/300735) , markdownByDefault ? true }: diff --git a/nixos/lib/systemd-types.nix b/nixos/lib/systemd-types.nix index ba8bed35e1c0..c4c5771cff82 100644 --- a/nixos/lib/systemd-types.nix +++ b/nixos/lib/systemd-types.nix @@ -31,7 +31,6 @@ let ; inherit (lib) - mdDoc mkDefault mkDerivedConfig mkEnableOption @@ -81,11 +80,11 @@ rec { initrdContents = attrsOf (submodule ({ config, options, name, ... }: { options = { - enable = mkEnableOption (mdDoc "copying of this file and symlinking it") // { default = true; }; + enable = (mkEnableOption "copying of this file and symlinking it") // { default = true; }; target = mkOption { type = path; - description = mdDoc '' + description = '' Path of the symlink. ''; default = name; @@ -94,12 +93,12 @@ rec { text = mkOption { default = null; type = nullOr lines; - description = mdDoc "Text of the file."; + description = "Text of the file."; }; source = mkOption { type = path; - description = mdDoc "Path of the source file."; + description = "Path of the source file."; }; }; diff --git a/nixos/lib/systemd-unit-options.nix b/nixos/lib/systemd-unit-options.nix index db644e006552..fc990a87f0c2 100644 --- a/nixos/lib/systemd-unit-options.nix +++ b/nixos/lib/systemd-unit-options.nix @@ -17,7 +17,6 @@ let concatMap filterOverrides isList - mdDoc mergeEqualOption mkIf mkMerge @@ -55,7 +54,7 @@ in rec { enable = mkOption { default = true; type = types.bool; - description = mdDoc '' + description = '' If set to false, this unit will be a symlink to /dev/null. This is primarily useful to prevent specific template instances @@ -69,7 +68,7 @@ in rec { overrideStrategy = mkOption { default = "asDropinIfExists"; type = types.enum [ "asDropinIfExists" "asDropin" ]; - description = mdDoc '' + description = '' Defines how unit configuration is provided for systemd: `asDropinIfExists` creates a unit file when no unit file is provided by the package @@ -85,7 +84,7 @@ in rec { requiredBy = mkOption { default = []; type = types.listOf unitNameType; - description = mdDoc '' + description = '' Units that require (i.e. depend on and need to go down with) this unit. As discussed in the `wantedBy` option description this also creates `.requires` symlinks automatically. @@ -95,7 +94,7 @@ in rec { upheldBy = mkOption { default = []; type = types.listOf unitNameType; - description = mdDoc '' + description = '' Keep this unit running as long as the listed units are running. This is a continuously enforced version of wantedBy. ''; @@ -104,7 +103,7 @@ in rec { wantedBy = mkOption { default = []; type = types.listOf unitNameType; - description = mdDoc '' + description = '' Units that want (i.e. depend on) this unit. The default method for starting a unit by default at boot time is to set this option to `["multi-user.target"]` for system services. Likewise for user units @@ -122,7 +121,7 @@ in rec { aliases = mkOption { default = []; type = types.listOf unitNameType; - description = mdDoc "Aliases of that unit."; + description = "Aliases of that unit."; }; }; @@ -132,12 +131,12 @@ in rec { text = mkOption { type = types.nullOr types.str; default = null; - description = mdDoc "Text of this systemd unit."; + description = "Text of this systemd unit."; }; unit = mkOption { internal = true; - description = mdDoc "The generated unit."; + description = "The generated unit."; }; }; @@ -148,19 +147,19 @@ in rec { description = mkOption { default = ""; type = types.singleLineStr; - description = mdDoc "Description of this unit used in systemd messages and progress indicators."; + description = "Description of this unit used in systemd messages and progress indicators."; }; documentation = mkOption { default = []; type = types.listOf types.str; - description = mdDoc "A list of URIs referencing documentation for this unit or its configuration."; + description = "A list of URIs referencing documentation for this unit or its configuration."; }; requires = mkOption { default = []; type = types.listOf unitNameType; - description = mdDoc '' + description = '' Start the specified units when this unit is started, and stop this unit when the specified units are stopped or fail. ''; @@ -169,7 +168,7 @@ in rec { wants = mkOption { default = []; type = types.listOf unitNameType; - description = mdDoc '' + description = '' Start the specified units when this unit is started. ''; }; @@ -177,7 +176,7 @@ in rec { upholds = mkOption { default = []; type = types.listOf unitNameType; - description = mdDoc '' + description = '' Keeps the specified running while this unit is running. A continuous version of `wants`. ''; }; @@ -185,7 +184,7 @@ in rec { after = mkOption { default = []; type = types.listOf unitNameType; - description = mdDoc '' + description = '' If the specified units are started at the same time as this unit, delay this unit until they have started. ''; @@ -194,7 +193,7 @@ in rec { before = mkOption { default = []; type = types.listOf unitNameType; - description = mdDoc '' + description = '' If the specified units are started at the same time as this unit, delay them until this unit has started. ''; @@ -203,7 +202,7 @@ in rec { bindsTo = mkOption { default = []; type = types.listOf unitNameType; - description = mdDoc '' + description = '' Like ‘requires’, but in addition, if the specified units unexpectedly disappear, this unit will be stopped as well. ''; @@ -212,7 +211,7 @@ in rec { partOf = mkOption { default = []; type = types.listOf unitNameType; - description = mdDoc '' + description = '' If the specified units are stopped or restarted, then this unit is stopped or restarted as well. ''; @@ -221,7 +220,7 @@ in rec { conflicts = mkOption { default = []; type = types.listOf unitNameType; - description = mdDoc '' + description = '' If the specified units are started, then this unit is stopped and vice versa. ''; @@ -230,7 +229,7 @@ in rec { requisite = mkOption { default = []; type = types.listOf unitNameType; - description = mdDoc '' + description = '' Similar to requires. However if the units listed are not started, they will not be started and the transaction will fail. ''; @@ -240,7 +239,7 @@ in rec { default = {}; example = { RequiresMountsFor = "/data"; }; type = types.attrsOf unitOption; - description = mdDoc '' + description = '' Each attribute in this set specifies an option in the `[Unit]` section of the unit. See {manpage}`systemd.unit(5)` for details. @@ -250,7 +249,7 @@ in rec { onFailure = mkOption { default = []; type = types.listOf unitNameType; - description = mdDoc '' + description = '' A list of one or more units that are activated when this unit enters the "failed" state. ''; @@ -259,7 +258,7 @@ in rec { onSuccess = mkOption { default = []; type = types.listOf unitNameType; - description = mdDoc '' + description = '' A list of one or more units that are activated when this unit enters the "inactive" state. ''; @@ -267,7 +266,7 @@ in rec { startLimitBurst = mkOption { type = types.int; - description = mdDoc '' + description = '' Configure unit start rate limiting. Units which are started more than startLimitBurst times within an interval time interval are not permitted to start any more. @@ -276,7 +275,7 @@ in rec { startLimitIntervalSec = mkOption { type = types.int; - description = mdDoc '' + description = '' Configure unit start rate limiting. Units which are started more than startLimitBurst times within an interval time interval are not permitted to start any more. @@ -295,7 +294,7 @@ in rec { restartTriggers = mkOption { default = []; type = types.listOf types.unspecified; - description = mdDoc '' + description = '' An arbitrary list of items such as derivations. If any item in the list changes between reconfigurations, the service will be restarted. @@ -305,7 +304,7 @@ in rec { reloadTriggers = mkOption { default = []; type = types.listOf unitOption; - description = mdDoc '' + description = '' An arbitrary list of items such as derivations. If any item in the list changes between reconfigurations, the service will be reloaded. If anything but a reload trigger changes in the @@ -323,13 +322,13 @@ in rec { default = {}; type = with types; attrsOf (nullOr (oneOf [ str path package ])); example = { PATH = "/foo/bar/bin"; LANG = "nl_NL.UTF-8"; }; - description = mdDoc "Environment variables passed to the service's processes."; + description = "Environment variables passed to the service's processes."; }; path = mkOption { default = []; type = with types; listOf (oneOf [ package str ]); - description = mdDoc '' + description = '' Packages added to the service's {env}`PATH` environment variable. Both the {file}`bin` and {file}`sbin` subdirectories of each @@ -343,7 +342,7 @@ in rec { { RestartSec = 5; }; type = types.addCheck (types.attrsOf unitOption) checkService; - description = mdDoc '' + description = '' Each attribute in this set specifies an option in the `[Service]` section of the unit. See {manpage}`systemd.service(5)` for details. @@ -353,14 +352,14 @@ in rec { script = mkOption { type = types.lines; default = ""; - description = mdDoc "Shell commands executed as the service's main process."; + description = "Shell commands executed as the service's main process."; }; scriptArgs = mkOption { type = types.str; default = ""; example = "%i"; - description = mdDoc '' + description = '' Arguments passed to the main process script. Can contain specifiers (`%` placeholders expanded by systemd, see {manpage}`systemd.unit(5)`). ''; @@ -369,7 +368,7 @@ in rec { preStart = mkOption { type = types.lines; default = ""; - description = mdDoc '' + description = '' Shell commands executed before the service's main process is started. ''; @@ -378,7 +377,7 @@ in rec { postStart = mkOption { type = types.lines; default = ""; - description = mdDoc '' + description = '' Shell commands executed after the service's main process is started. ''; @@ -387,7 +386,7 @@ in rec { reload = mkOption { type = types.lines; default = ""; - description = mdDoc '' + description = '' Shell commands executed when the service's main process is reloaded. ''; @@ -396,7 +395,7 @@ in rec { preStop = mkOption { type = types.lines; default = ""; - description = mdDoc '' + description = '' Shell commands executed to stop the service. ''; }; @@ -404,7 +403,7 @@ in rec { postStop = mkOption { type = types.lines; default = ""; - description = mdDoc '' + description = '' Shell commands executed after the service's main process has exited. ''; @@ -413,7 +412,7 @@ in rec { jobScripts = mkOption { type = with types; coercedTo path singleton (listOf path); internal = true; - description = mdDoc "A list of all job script derivations of this unit."; + description = "A list of all job script derivations of this unit."; default = []; }; @@ -458,7 +457,7 @@ in rec { restartIfChanged = mkOption { type = types.bool; default = true; - description = mdDoc '' + description = '' Whether the service should be restarted during a NixOS configuration switch if its definition has changed. ''; @@ -467,7 +466,7 @@ in rec { reloadIfChanged = mkOption { type = types.bool; default = false; - description = mdDoc '' + description = '' Whether the service should be reloaded during a NixOS configuration switch if its definition has changed. If enabled, the value of {option}`restartIfChanged` is @@ -483,7 +482,7 @@ in rec { stopIfChanged = mkOption { type = types.bool; default = true; - description = mdDoc '' + description = '' If set, a changed unit is restarted by calling {command}`systemctl stop` in the old configuration, then {command}`systemctl start` in the new one. @@ -499,7 +498,7 @@ in rec { type = with types; either str (listOf str); default = []; example = "Sun 14:00:00"; - description = mdDoc '' + description = '' Automatically start this unit at the given date/time, which must be in the format described in {manpage}`systemd.time(7)`. This is equivalent @@ -526,7 +525,7 @@ in rec { default = []; type = types.listOf types.str; example = [ "0.0.0.0:993" "/run/my-socket" ]; - description = mdDoc '' + description = '' For each item in this list, a `ListenStream` option in the `[Socket]` section will be created. ''; @@ -536,7 +535,7 @@ in rec { default = []; type = types.listOf types.str; example = [ "0.0.0.0:993" "/run/my-socket" ]; - description = mdDoc '' + description = '' For each item in this list, a `ListenDatagram` option in the `[Socket]` section will be created. ''; @@ -546,7 +545,7 @@ in rec { default = {}; example = { ListenStream = "/run/my-socket"; }; type = types.attrsOf unitOption; - description = mdDoc '' + description = '' Each attribute in this set specifies an option in the `[Socket]` section of the unit. See {manpage}`systemd.socket(5)` for details. @@ -578,7 +577,7 @@ in rec { default = {}; example = { OnCalendar = "Sun 14:00:00"; Unit = "foo.service"; }; type = types.attrsOf unitOption; - description = mdDoc '' + description = '' Each attribute in this set specifies an option in the `[Timer]` section of the unit. See {manpage}`systemd.timer(5)` and @@ -611,7 +610,7 @@ in rec { default = {}; example = { PathChanged = "/some/path"; Unit = "changedpath.service"; }; type = types.attrsOf unitOption; - description = mdDoc '' + description = '' Each attribute in this set specifies an option in the `[Path]` section of the unit. See {manpage}`systemd.path(5)` for details. @@ -642,13 +641,13 @@ in rec { what = mkOption { example = "/dev/sda1"; type = types.str; - description = mdDoc "Absolute path of device node, file or other resource. (Mandatory)"; + description = "Absolute path of device node, file or other resource. (Mandatory)"; }; where = mkOption { example = "/mnt"; type = types.str; - description = mdDoc '' + description = '' Absolute path of a directory of the mount point. Will be created if it doesn't exist. (Mandatory) ''; @@ -658,21 +657,21 @@ in rec { default = ""; example = "ext4"; type = types.str; - description = mdDoc "File system type."; + description = "File system type."; }; options = mkOption { default = ""; example = "noatime"; type = types.commas; - description = mdDoc "Options used to mount the file system."; + description = "Options used to mount the file system."; }; mountConfig = mkOption { default = {}; example = { DirectoryMode = "0775"; }; type = types.attrsOf unitOption; - description = mdDoc '' + description = '' Each attribute in this set specifies an option in the `[Mount]` section of the unit. See {manpage}`systemd.mount(5)` for details. @@ -702,7 +701,7 @@ in rec { where = mkOption { example = "/mnt"; type = types.str; - description = mdDoc '' + description = '' Absolute path of a directory of the mount point. Will be created if it doesn't exist. (Mandatory) ''; @@ -712,7 +711,7 @@ in rec { default = {}; example = { DirectoryMode = "0775"; }; type = types.attrsOf unitOption; - description = mdDoc '' + description = '' Each attribute in this set specifies an option in the `[Automount]` section of the unit. See {manpage}`systemd.automount(5)` for details. @@ -743,7 +742,7 @@ in rec { default = {}; example = { MemoryMax = "2G"; }; type = types.attrsOf unitOption; - description = mdDoc '' + description = '' Each attribute in this set specifies an option in the `[Slice]` section of the unit. See {manpage}`systemd.slice(5)` for details. diff --git a/nixos/lib/testing/driver.nix b/nixos/lib/testing/driver.nix index b6f01c38191d..7eb06e023918 100644 --- a/nixos/lib/testing/driver.nix +++ b/nixos/lib/testing/driver.nix @@ -1,6 +1,6 @@ { config, lib, hostPkgs, ... }: let - inherit (lib) mkOption types literalMD mdDoc; + inherit (lib) mkOption types literalMD; # Reifies and correctly wraps the python test driver for # the respective qemu version and with or without ocr support @@ -104,13 +104,13 @@ in options = { driver = mkOption { - description = mdDoc "Package containing a script that runs the test."; + description = "Package containing a script that runs the test."; type = types.package; defaultText = literalMD "set by the test framework"; }; hostPkgs = mkOption { - description = mdDoc "Nixpkgs attrset used outside the nodes."; + description = "Nixpkgs attrset used outside the nodes."; type = types.raw; example = lib.literalExpression '' import nixpkgs { inherit system config overlays; } @@ -118,14 +118,14 @@ in }; qemu.package = mkOption { - description = mdDoc "Which qemu package to use for the virtualisation of [{option}`nodes`](#test-opt-nodes)."; + description = "Which qemu package to use for the virtualisation of [{option}`nodes`](#test-opt-nodes)."; type = types.package; default = hostPkgs.qemu_test; defaultText = "hostPkgs.qemu_test"; }; globalTimeout = mkOption { - description = mdDoc '' + description = '' A global timeout for the complete test, expressed in seconds. Beyond that timeout, every resource will be killed and released and the test will fail. @@ -137,7 +137,7 @@ in }; enableOCR = mkOption { - description = mdDoc '' + description = '' Whether to enable Optical Character Recognition functionality for testing graphical programs. See [Machine objects](`ssec-machine-objects`). ''; @@ -146,7 +146,7 @@ in }; extraPythonPackages = mkOption { - description = mdDoc '' + description = '' Python packages to add to the test driver. The argument is a Python package set, similar to `pkgs.pythonPackages`. @@ -159,7 +159,7 @@ in }; extraDriverArgs = mkOption { - description = mdDoc '' + description = '' Extra arguments to pass to the test driver. They become part of [{option}`driver`](#test-opt-driver) via `wrapProgram`. @@ -171,7 +171,7 @@ in skipLint = mkOption { type = types.bool; default = false; - description = mdDoc '' + description = '' Do not run the linters. This may speed up your iteration cycle, but it is not something you should commit. ''; }; @@ -179,7 +179,7 @@ in skipTypeCheck = mkOption { type = types.bool; default = false; - description = mdDoc '' + description = '' Disable type checking. This must not be enabled for new NixOS tests. This may speed up your iteration cycle, unless you're working on the [{option}`testScript`](#test-opt-testScript). diff --git a/nixos/lib/testing/interactive.nix b/nixos/lib/testing/interactive.nix index 317ed4241882..0b1209669282 100644 --- a/nixos/lib/testing/interactive.nix +++ b/nixos/lib/testing/interactive.nix @@ -1,11 +1,11 @@ { config, lib, moduleType, hostPkgs, ... }: let - inherit (lib) mkOption types mdDoc; + inherit (lib) mkOption types; in { options = { interactive = mkOption { - description = mdDoc '' + description = '' Tests [can be run interactively](#sec-running-nixos-tests-interactively) using the program in the test derivation's `.driverInteractive` attribute. diff --git a/nixos/lib/testing/meta.nix b/nixos/lib/testing/meta.nix index 805b7520edff..8d053ce86d88 100644 --- a/nixos/lib/testing/meta.nix +++ b/nixos/lib/testing/meta.nix @@ -1,11 +1,11 @@ { lib, ... }: let - inherit (lib) types mkOption mdDoc; + inherit (lib) types mkOption; in { options = { meta = lib.mkOption { - description = mdDoc '' + description = '' The [`meta`](https://nixos.org/manual/nixpkgs/stable/#chap-meta) attributes that will be set on the returned derivations. Not all [`meta`](https://nixos.org/manual/nixpkgs/stable/#chap-meta) attributes are supported, but more can be added as desired. @@ -16,21 +16,21 @@ in maintainers = lib.mkOption { type = types.listOf types.raw; default = []; - description = mdDoc '' + description = '' The [list of maintainers](https://nixos.org/manual/nixpkgs/stable/#var-meta-maintainers) for this test. ''; }; timeout = lib.mkOption { type = types.nullOr types.int; default = 3600; # 1 hour - description = mdDoc '' + description = '' The [{option}`test`](#test-opt-test)'s [`meta.timeout`](https://nixos.org/manual/nixpkgs/stable/#var-meta-timeout) in seconds. ''; }; broken = lib.mkOption { type = types.bool; default = false; - description = mdDoc '' + description = '' Sets the [`meta.broken`](https://nixos.org/manual/nixpkgs/stable/#var-meta-broken) attribute on the [{option}`test`](#test-opt-test) derivation. ''; }; diff --git a/nixos/lib/testing/name.nix b/nixos/lib/testing/name.nix index 0af593169eec..0682873c7bcd 100644 --- a/nixos/lib/testing/name.nix +++ b/nixos/lib/testing/name.nix @@ -1,10 +1,10 @@ { lib, ... }: let - inherit (lib) mkOption types mdDoc; + inherit (lib) mkOption types; in { options.name = mkOption { - description = mdDoc '' + description = '' The name of the test. This is used in the derivation names of the [{option}`driver`](#test-opt-driver) and [{option}`test`](#test-opt-test) runner. diff --git a/nixos/lib/testing/network.nix b/nixos/lib/testing/network.nix index 1edc9e276530..0f1615a0ad3b 100644 --- a/nixos/lib/testing/network.nix +++ b/nixos/lib/testing/network.nix @@ -5,7 +5,6 @@ let attrNames concatMap concatMapStrings flip forEach head listToAttrs mkDefault mkOption nameValuePair optionalString range toLower types zipListsWith zipLists - mdDoc ; nodeNumbers = @@ -89,7 +88,7 @@ let default = name; # We need to force this in specilisations, otherwise it'd be # readOnly = true; - description = mdDoc '' + description = '' The `name` in `nodes.`; stable across `specialisations`. ''; }; @@ -98,7 +97,7 @@ let type = types.int; readOnly = true; default = nodeNumbers.${config.virtualisation.test.nodeName}; - description = mdDoc '' + description = '' A unique number assigned for each node in `nodes`. ''; }; diff --git a/nixos/lib/testing/nodes.nix b/nixos/lib/testing/nodes.nix index 7941d69e38d2..9aecca10ac6b 100644 --- a/nixos/lib/testing/nodes.nix +++ b/nixos/lib/testing/nodes.nix @@ -5,7 +5,6 @@ let literalExpression literalMD mapAttrs - mdDoc mkDefault mkIf mkOption mkForce @@ -76,7 +75,7 @@ in nodes = mkOption { type = types.lazyAttrsOf config.node.type; visible = "shallow"; - description = mdDoc '' + description = '' An attribute set of NixOS configuration modules. The configurations are augmented by the [`defaults`](#test-opt-defaults) option. @@ -88,7 +87,7 @@ in }; defaults = mkOption { - description = mdDoc '' + description = '' NixOS configuration that is applied to all [{option}`nodes`](#test-opt-nodes). ''; type = types.deferredModule; @@ -96,7 +95,7 @@ in }; extraBaseModules = mkOption { - description = mdDoc '' + description = '' NixOS configuration that, like [{option}`defaults`](#test-opt-defaults), is applied to all [{option}`nodes`](#test-opt-nodes) and can not be undone with [`specialisation..inheritParentConfig`](https://search.nixos.org/options?show=specialisation.%3Cname%3E.inheritParentConfig&from=0&size=50&sort=relevance&type=packages&query=specialisation). ''; type = types.deferredModule; @@ -104,7 +103,7 @@ in }; node.pkgs = mkOption { - description = mdDoc '' + description = '' The Nixpkgs to use for the nodes. Setting this will make the `nixpkgs.*` options read-only, to avoid mistakenly testing with a Nixpkgs configuration that diverges from regular use. @@ -117,7 +116,7 @@ in }; node.pkgsReadOnly = mkOption { - description = mdDoc '' + description = '' Whether to make the `nixpkgs.*` options read-only. This is only relevant when [`node.pkgs`](#test-opt-node.pkgs) is set. Set this to `false` when any of the [`nodes`](#test-opt-nodes) needs to configure any of the `nixpkgs.*` options. This will slow down evaluation of your test a bit. @@ -130,7 +129,7 @@ in node.specialArgs = mkOption { type = types.lazyAttrsOf types.raw; default = { }; - description = mdDoc '' + description = '' An attribute set of arbitrary values that will be made available as module arguments during the resolution of module `imports`. Note that it is not possible to override these from within the NixOS configurations. If you argument is not relevant to `imports`, consider setting {option}`defaults._module.args.` instead. @@ -139,7 +138,7 @@ in nodesCompat = mkOption { internal = true; - description = mdDoc '' + description = '' Basically `_module.args.nodes`, but with backcompat and warnings added. This will go away. diff --git a/nixos/lib/testing/run.nix b/nixos/lib/testing/run.nix index de5a9b97e61d..218292121ee7 100644 --- a/nixos/lib/testing/run.nix +++ b/nixos/lib/testing/run.nix @@ -1,12 +1,12 @@ { config, hostPkgs, lib, ... }: let - inherit (lib) types mkOption mdDoc; + inherit (lib) types mkOption; in { options = { passthru = mkOption { type = types.lazyAttrsOf types.raw; - description = mdDoc '' + description = '' Attributes to add to the returned derivations, which are not necessarily part of the build. @@ -18,7 +18,7 @@ in rawTestDerivation = mkOption { type = types.package; - description = mdDoc '' + description = '' Unfiltered version of `test`, for troubleshooting the test framework and `testBuildFailure` in the test framework's test suite. This is not intended for general use. Use `test` instead. ''; @@ -28,7 +28,7 @@ in test = mkOption { type = types.package; # TODO: can the interactive driver be configured to access the network? - description = mdDoc '' + description = '' Derivation that runs the test as its "build" process. This implies that NixOS tests run isolated from the network, making them diff --git a/nixos/lib/testing/testScript.nix b/nixos/lib/testing/testScript.nix index 5c36d754d79d..09964777bd92 100644 --- a/nixos/lib/testing/testScript.nix +++ b/nixos/lib/testing/testScript.nix @@ -1,13 +1,13 @@ testModuleArgs@{ config, lib, hostPkgs, nodes, moduleType, ... }: let - inherit (lib) mkOption types mdDoc; + inherit (lib) mkOption types; inherit (types) either str functionTo; in { options = { testScript = mkOption { type = either str (functionTo str); - description = mdDoc '' + description = '' A series of python declarations and statements that you write to perform the test. ''; @@ -25,7 +25,7 @@ in }; withoutTestScriptReferences = mkOption { type = moduleType; - description = mdDoc '' + description = '' A parallel universe where the testScript is invalid and has no references. ''; internal = true;