From 57b5c192cd37d38dfa98553b95752d5e9b46ab6c Mon Sep 17 00:00:00 2001 From: Pavel Sobolev Date: Sat, 8 Mar 2025 17:09:51 +0300 Subject: [PATCH 01/44] flaresolverr: 3.3.21 -> 3.3.21-unstable-2025-03-04 --- pkgs/by-name/fl/flaresolverr/package.nix | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/fl/flaresolverr/package.nix b/pkgs/by-name/fl/flaresolverr/package.nix index 85b2d93857c1..8ee30bdfc468 100644 --- a/pkgs/by-name/fl/flaresolverr/package.nix +++ b/pkgs/by-name/fl/flaresolverr/package.nix @@ -32,13 +32,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "flaresolverr"; - version = "3.3.21"; + version = "3.3.21-unstable-2025-03-04"; src = fetchFromGitHub { owner = "FlareSolverr"; repo = "FlareSolverr"; - rev = "v${finalAttrs.version}"; - hash = "sha256-M/snpYKZK3pgzlhYjRYEiAPlK9DUKYRiiu43KcrAy9g="; + rev = "ce5369dd413cd71a81ce38a5ccd379f6c9352e23"; + hash = "sha256-cZ/YT4H2OU5l3AosROnkoyT5qrva5lxKshQMS626f2E="; }; nativeBuildInputs = [ makeWrapper ]; @@ -79,7 +79,5 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "flaresolverr"; maintainers = with maintainers; [ paveloom ]; inherit (undetected-chromedriver.meta) platforms; - # See https://github.com/NixOS/nixpkgs/issues/332776 - broken = true; }; }) From 263e266c2716e7acc94e36c16986e38d19a27e3e Mon Sep 17 00:00:00 2001 From: phaer Date: Tue, 8 Apr 2025 10:25:49 +0200 Subject: [PATCH 02/44] nixos/release: drop amazonImageAutomaticSize This was added to test https://github.com/NixOS/nixpkgs/issues/121354 almost 4 years ago, but does not seem to be in actual use anymore. At least I couldn't find a use and @arianvp, the amazon images maintainer does not know about one either. --- nixos/release.nix | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/nixos/release.nix b/nixos/release.nix index 316b66d9bd4e..b7b550fb4721 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -339,32 +339,6 @@ rec { ); - # Test job for https://github.com/NixOS/nixpkgs/issues/121354 to test - # automatic sizing without blocking the channel. - amazonImageAutomaticSize = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] ( - system: - - with import ./.. { inherit system; }; - - hydraJob ( - (import lib/eval-config.nix { - inherit system; - modules = [ - configuration - versionModule - ./maintainers/scripts/ec2/amazon-image.nix - ( - { ... }: - { - virtualisation.diskSize = "auto"; - } - ) - ]; - }).config.system.build.amazonImage - ) - - ); - # An image that can be imported into incus and used for container creation incusContainerImage = forMatchingSystems From 8e0197e582136dcf46aa8e5c4b3b159ce164bd73 Mon Sep 17 00:00:00 2001 From: Aaron Jheng Date: Tue, 1 Apr 2025 16:49:12 +0800 Subject: [PATCH 03/44] okteto: 3.4.0 -> 3.6.0 --- pkgs/by-name/ok/okteto/package.nix | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/ok/okteto/package.nix b/pkgs/by-name/ok/okteto/package.nix index 487b28c0d990..9fe02312a2e4 100644 --- a/pkgs/by-name/ok/okteto/package.nix +++ b/pkgs/by-name/ok/okteto/package.nix @@ -7,18 +7,18 @@ okteto, }: -buildGoModule rec { +buildGoModule (finalAttrs: { pname = "okteto"; - version = "3.4.0"; + version = "3.6.0"; src = fetchFromGitHub { owner = "okteto"; repo = "okteto"; - rev = version; - hash = "sha256-vi2ow95a3btiR4yINunEa56SUGWlbgNdMdS/T747a+U="; + rev = finalAttrs.version; + hash = "sha256-EPo8pSGh6NHeVrVwHkLUfmpB/O4aqtlC7SrPKnMz05Q="; }; - vendorHash = "sha256-tlZr1IOGOSbahd0Wh3yozbBrVL3RAWQLKNv/3XlMKqM="; + vendorHash = "sha256-1psVUpfRRg+86gniVg1i7RsgmEO12o0pCIQZ0roDDFc="; postPatch = '' # Disable some tests that need file system & network access. @@ -36,7 +36,7 @@ buildGoModule rec { ldflags = [ "-s" "-w" - "-X github.com/okteto/okteto/pkg/config.VersionString=${version}" + "-X github.com/okteto/okteto/pkg/config.VersionString=${finalAttrs.version}" ]; tags = [ @@ -61,6 +61,7 @@ buildGoModule rec { "Test_translateJobWithoutVolumes" "Test_translateJobWithVolumes" "Test_translateService" + "TestProtobufTranslator_Translate_Success" ]; in [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ]; @@ -84,4 +85,4 @@ buildGoModule rec { maintainers = with lib.maintainers; [ aaronjheng ]; mainProgram = "okteto"; }; -} +}) From 08e859c8e01f4cda388a69c55f708c8fa4860d05 Mon Sep 17 00:00:00 2001 From: Tom Hubrecht Date: Mon, 18 Dec 2023 10:40:16 +0100 Subject: [PATCH 04/44] nixos/nextcloud: S3: Rename autocreate (a no-op) to verify_bucket_exists C.f. https://github.com/nextcloud/documentation/issues/10436 Co-authored-by: Tom Herbers Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com> --- nixos/modules/services/web-apps/nextcloud.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index 4b3be5e9fda3..f5da5222d515 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -205,7 +205,7 @@ let 'class' => '\\OC\\Files\\ObjectStore\\S3', 'arguments' => [ 'bucket' => '${s3.bucket}', - 'autocreate' => ${boolToString s3.autocreate}, + 'verify_bucket_exists' => ${boolToString s3.verify_bucket_exists}, 'key' => '${s3.key}', 'secret' => nix_read_secret('s3_secret'), ${optionalString (s3.hostname != null) "'hostname' => '${s3.hostname}',"} @@ -344,6 +344,10 @@ in [ "services" "nextcloud" "extraOptions" ] [ "services" "nextcloud" "settings" ] ) + (mkRenamedOptionModule + [ "services" "nextcloud" "config" "objectstore" "s3" "autocreate" ] + [ "services" "nextcloud" "config" "objectstore" "s3" "verify_bucket_exists" ] + ) ]; options.services.nextcloud = { @@ -654,10 +658,11 @@ in The name of the S3 bucket. ''; }; - autocreate = mkOption { + verify_bucket_exists = mkOption { type = types.bool; + default = true; description = '' - Create the objectstore if it does not exist. + Create the objectstore bucket if it does not exist. ''; }; key = mkOption { From 76155d0133261b8cf4db2202b18f0f35fe78dd27 Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Fri, 18 Apr 2025 11:59:05 +0200 Subject: [PATCH 05/44] libint: 2.9.0 -> 2.10.2 --- pkgs/development/libraries/libint/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libint/default.nix b/pkgs/development/libraries/libint/default.nix index 04510dc5bca0..00fc01bd5d8d 100644 --- a/pkgs/development/libraries/libint/default.nix +++ b/pkgs/development/libraries/libint/default.nix @@ -128,7 +128,7 @@ assert ( let pname = "libint"; - version = "2.9.0"; + version = "2.10.2"; meta = { description = "Library for the evaluation of molecular integrals of many-body operators over Gaussian functions"; @@ -151,7 +151,7 @@ let owner = "evaleev"; repo = pname; rev = "v${version}"; - hash = "sha256-y+Mo8J/UWDrkkNEDAoostb/k6jrhYYeU0u9Incrd2cE="; + hash = "sha256-pxSqW3K76RURy1nhWJKtFNWsiSpU8jPtd+ZMICEr0IY="; }; # Replace hardcoded "/bin/rm" with normal "rm" From ff7c0ae99c53a1957809f7c9ff3014bf7c9629bc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 18 Apr 2025 20:52:57 +0000 Subject: [PATCH 06/44] python312Packages.coiled: 1.90.4 -> 1.92.0 --- pkgs/development/python-modules/coiled/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/coiled/default.nix b/pkgs/development/python-modules/coiled/default.nix index b8d5504d66de..93d4182ec564 100644 --- a/pkgs/development/python-modules/coiled/default.nix +++ b/pkgs/development/python-modules/coiled/default.nix @@ -39,12 +39,12 @@ buildPythonPackage rec { pname = "coiled"; - version = "1.90.4"; + version = "1.92.0"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-wICWij2mdXlV3aYNeK+vITicEKbiuaO2PcZE+h9QDBo="; + hash = "sha256-dwHPhXro/E0XOR2iJJkSKYIRlFi2OhD2qXO4GmzDg2I="; }; build-system = [ From 756dda5cd13a59177ed8dfca8a0b4f5db12b1da1 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Sat, 19 Apr 2025 03:37:12 +0000 Subject: [PATCH 07/44] nixVersions.nix_2_28: 2.28.1 -> 2.28.2 Diff: https://github.com/NixOS/nix/compare/2.28.1...2.28.2 --- pkgs/tools/package-management/nix/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 700cf33e4d4d..1a49e9a4cd64 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -183,8 +183,8 @@ lib.makeExtensible ( }; nix_2_28 = commonMeson { - version = "2.28.1"; - hash = "sha256-R+HAPvD+AjiyRHZP/elkvka33G499EKT8ntyF/EPPRI="; + version = "2.28.2"; + hash = "sha256-yl+hlZ/VFHIZwPIDEs4ysOYgprW4VEORfSyvScF7Cwg="; self_attribute_name = "nix_2_28"; }; From e5b760b14f736e3f26fd351b619dd775ec963515 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Sat, 19 Apr 2025 03:37:13 +0000 Subject: [PATCH 08/44] nix: update nix-fallback-paths to 2.28.2 --- nixos/modules/installer/tools/nix-fallback-paths.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix index 9d35d0f4fad8..062db2ac3b9d 100644 --- a/nixos/modules/installer/tools/nix-fallback-paths.nix +++ b/nixos/modules/installer/tools/nix-fallback-paths.nix @@ -1,8 +1,8 @@ { - x86_64-linux = "/nix/store/ppvbj1hzk77il5wd5g6q5ibyyd4jsnrl-nix-2.28.1"; - i686-linux = "/nix/store/5lb00s5p37715jh8y9nw6ihdjlzrs2bq-nix-2.28.1"; - aarch64-linux = "/nix/store/2zy7z2ablw09s0fj511x6d6za2vswv09-nix-2.28.1"; - riscv64-linux = "/nix/store/m4fw1gfzx7z3lp2pra1x1bajjb5d4fvi-nix-riscv64-unknown-linux-gnu-2.28.1"; - x86_64-darwin = "/nix/store/yi9ysd086218v1k1i16ilkmnkavgrxsi-nix-2.28.1"; - aarch64-darwin = "/nix/store/v4g8bccvg56b8y4r93c6w1f8125qs3cm-nix-2.28.1"; + x86_64-linux = "/nix/store/pzwdmrz94mya45m1jnsf294c0g3cwy9m-nix-2.28.2"; + i686-linux = "/nix/store/vzqxry2dwq9nzr2y0jk1q7qv3ygv14m1-nix-2.28.2"; + aarch64-linux = "/nix/store/52zak9psh00w8c8iz8x0ny33in5wwr83-nix-2.28.2"; + riscv64-linux = "/nix/store/rkggav1j9wb55zc8jsl1vg81s831aqj8-nix-riscv64-unknown-linux-gnu-2.28.2"; + x86_64-darwin = "/nix/store/afwsvhzqf936zx5v4i7ynqah2qhq7qyj-nix-2.28.2"; + aarch64-darwin = "/nix/store/djcysgb0pgrigaqfnmraviv6nix786zi-nix-2.28.2"; } From 1eaa411e3dd3b96da2407e5be0ddfc69cc9c5f39 Mon Sep 17 00:00:00 2001 From: Katherine Jamison Date: Thu, 10 Apr 2025 16:49:12 -0600 Subject: [PATCH 09/44] linuxKernel.kernels.linux_zen: 6.14.1-zen1 -> 6.14.3-zen1 --- pkgs/os-specific/linux/kernel/zen-kernels.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix index 4ff673a89752..75ed6f4ffe6b 100644 --- a/pkgs/os-specific/linux/kernel/zen-kernels.nix +++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix @@ -16,9 +16,9 @@ let variants = { # ./update-zen.py zen zen = { - version = "6.14.1"; # zen + version = "6.14.3"; # zen suffix = "zen1"; # zen - sha256 = "07fif9yj33lidp7dp8r66bsqyyh6fckjb3nhxynaikgb17hx9w5b"; # zen + sha256 = "17r4gmxbgs0aizlp35pdq515ag50zc3q20fxapbya4yp5qs6ncz0"; # zen isLqx = false; }; # ./update-zen.py lqx From 17beb475f69af5de545cdfff78576a8d20b14648 Mon Sep 17 00:00:00 2001 From: Katherine Jamison Date: Thu, 10 Apr 2025 16:52:22 -0600 Subject: [PATCH 10/44] linuxKernel.kernels.linux_lqx: 6.14.1-lqx1 -> 6.14.3-lqx1 --- pkgs/os-specific/linux/kernel/zen-kernels.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix index 75ed6f4ffe6b..ddb4f41b8688 100644 --- a/pkgs/os-specific/linux/kernel/zen-kernels.nix +++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix @@ -23,9 +23,9 @@ let }; # ./update-zen.py lqx lqx = { - version = "6.14.1"; # lqx + version = "6.14.3"; # lqx suffix = "lqx1"; # lqx - sha256 = "0gga9xrdp9q5jdzl3mjbx140wnwxibavvvdgxvqz9f2g3f20d69y"; # lqx + sha256 = "1xqhjvi7a6gbsm3zq3gwc5hl8xw17afqx1b1db0p1cp5c9xn3vxa"; # lqx isLqx = true; }; }; From 5466abe59355394287c7321e9526408611d9425f Mon Sep 17 00:00:00 2001 From: fzdslr-nw Date: Mon, 21 Apr 2025 05:23:23 +0000 Subject: [PATCH 11/44] criu: support cross-compile for loongarch64-linux --- pkgs/by-name/cr/criu/package.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/cr/criu/package.nix b/pkgs/by-name/cr/criu/package.nix index 728a1ad28939..a07fb3169214 100644 --- a/pkgs/by-name/cr/criu/package.nix +++ b/pkgs/by-name/cr/criu/package.nix @@ -48,7 +48,6 @@ stdenv.mkDerivation rec { asciidoc xmlto libpaper - libuuid docbook_xsl which makeWrapper @@ -64,6 +63,7 @@ stdenv.mkDerivation rec { libnet nftables libbsd + libuuid ]; propagatedBuildInputs = [ @@ -95,6 +95,7 @@ stdenv.mkDerivation rec { "powerpc" = "ppc64"; "s390" = "s390"; "mips" = "mips"; + "loongarch" = "loongarch64"; }; in [ @@ -146,6 +147,7 @@ stdenv.mkDerivation rec { "x86_64-linux" "aarch64-linux" "armv7l-linux" + "loongarch64-linux" ]; maintainers = [ maintainers.thoughtpolice ]; }; From 1efc79cccaca2061c3c93488aeae45d2df053315 Mon Sep 17 00:00:00 2001 From: provokateurin Date: Fri, 11 Apr 2025 19:57:27 +0200 Subject: [PATCH 12/44] nextcloud29: drop --- doc/release-notes/rl-2505.section.md | 2 +- nixos/modules/services/web-apps/nextcloud.nix | 4 +- nixos/tests/nextcloud/default.nix | 1 - pkgs/servers/nextcloud/default.nix | 7 - pkgs/servers/nextcloud/packages/29.json | 462 ------------------ .../nextcloud/packages/apps/recognize.nix | 5 - pkgs/top-level/aliases.nix | 12 + pkgs/top-level/all-packages.nix | 2 - 8 files changed, 14 insertions(+), 481 deletions(-) delete mode 100644 pkgs/servers/nextcloud/packages/29.json diff --git a/doc/release-notes/rl-2505.section.md b/doc/release-notes/rl-2505.section.md index 45940bd6b88a..ebf93af9a6e1 100644 --- a/doc/release-notes/rl-2505.section.md +++ b/doc/release-notes/rl-2505.section.md @@ -126,7 +126,7 @@ - `binwalk` was updated to 3.1.0, which has been rewritten in rust. The python module is no longer available. See the release notes of [3.1.0](https://github.com/ReFirmLabs/binwalk/releases/tag/v3.1.0) for more information. -- `pkgs.nextcloud28` has been removed since it's out of support upstream. +- `pkgs.nextcloud28` and `pkgs.nextcloud29` have been removed since they are out of support upstream. - `centrifugo` was updated to v6, which uses a new config format. See [upstream documentation](https://centrifugal.dev/docs/getting-started/migration_v6) for migration. diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index 4b3be5e9fda3..511d63cf902b 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -420,7 +420,6 @@ in type = types.package; description = "Which package to use for the Nextcloud instance."; relatedPackages = [ - "nextcloud29" "nextcloud30" "nextcloud31" ]; @@ -1041,8 +1040,7 @@ in nextcloud31 ); - services.nextcloud.phpPackage = - if versionOlder cfg.package.version "29" then pkgs.php82 else pkgs.php83; + services.nextcloud.phpPackage = pkgs.php83; services.nextcloud.phpOptions = mkMerge [ (mapAttrs (const mkOptionDefault) defaultPHPSettings) diff --git a/nixos/tests/nextcloud/default.nix b/nixos/tests/nextcloud/default.nix index a5a5e49d3145..dc0bd933f21d 100644 --- a/nixos/tests/nextcloud/default.nix +++ b/nixos/tests/nextcloud/default.nix @@ -139,7 +139,6 @@ let in listToAttrs ( concatMap genTests [ - 29 30 31 ] diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix index f3ed67b07248..ea9d5b7e70ef 100644 --- a/pkgs/servers/nextcloud/default.nix +++ b/pkgs/servers/nextcloud/default.nix @@ -3,7 +3,6 @@ stdenvNoCC, fetchurl, nixosTests, - nextcloud29Packages, nextcloud30Packages, nextcloud31Packages, }: @@ -53,12 +52,6 @@ let }; in { - nextcloud29 = generic { - version = "29.0.16"; - hash = "sha256-SZv2GrGe3NTlQq+GYJJDxbT0QOtbsGwrp9oML6pSUyI="; - packages = nextcloud29Packages; - }; - nextcloud30 = generic { version = "30.0.10"; hash = "sha256-40ldF8X1yRZFQtk/Y21pasyPOLYL7HDPGtLnnHbZlbo="; diff --git a/pkgs/servers/nextcloud/packages/29.json b/pkgs/servers/nextcloud/packages/29.json deleted file mode 100644 index e74c8b8e33c2..000000000000 --- a/pkgs/servers/nextcloud/packages/29.json +++ /dev/null @@ -1,462 +0,0 @@ -{ - "app_api": { - "hash": "sha256-UIfvm81+PlhzyAqO5yic7rA0gEvlaYi+VaqZR0YJU2Q=", - "url": "https://github.com/nextcloud-releases/app_api/releases/download/v3.2.3/app_api-v3.2.3.tar.gz", - "version": "3.2.3", - "description": "### Boost your Nextcloud with AppAPI and its specially designed applications.\n\n\nThe AppAPI is a project within the Nextcloud ecosystem designed to streamline and enhance the process of\napplication development, deployment, and management.\n\nIt introduces a new methodology that allows developers to create\napplications using a variety of programming languages, not limited to PHP, which was traditionally used in Nextcloud development.\n\n### Bundled App\n\n**Starting with Nextcloud 30.0.1, this application is included in the default Nextcloud package.**\n\n### Support\n\nWe appreciate any support for this project:\n\n- โญ Star our work on GitHub\n- โ— Create an Issue or feature request\n- ๐Ÿ’ Resolve an Issue and create a Pull Request\n- ๐Ÿง‘โ€๐Ÿ’ป Develop your own application using AppAPI\n\nWe are genuinely excited about the future of the AppAPI project and its potential to transform\nthe way applications are developed and experienced within Nextcloud.\n\nAs we embark on this journey, we warmly invite you - developers, thinkers, creators, and visionaries -\nto join us in shaping a more versatile, stable, and secure app landscape.\n\n*Your insights, suggestions, and contributions are invaluable to us.*", - "homepage": "https://github.com/nextcloud/app_api", - "licenses": [ - "agpl" - ] - }, - "bookmarks": { - "hash": "sha256-T0XDgDnAAI3ifOwz6BNCtjj6ZDXOhhUSLRIJKdD4qaQ=", - "url": "https://github.com/nextcloud/bookmarks/releases/download/v14.2.7/bookmarks-14.2.7.tar.gz", - "version": "14.2.7", - "description": "- ๐Ÿ“‚ Sort bookmarks into folders\n- ๐Ÿท Add tags and personal notes\n- โ˜  Find broken links and duplicates\n- ๐Ÿ“ฒ Synchronize with all your browsers and devices\n- ๐Ÿ“” Store archived versions of your links in case they are depublished\n- ๐Ÿ” Full-text search on site contents\n- ๐Ÿ‘ช Share bookmarks with other users, groups and teams or via public links\n- โš› Generate RSS feeds of your collections\n- ๐Ÿ“ˆ Stats on how often you access which links\n- ๐Ÿ”’ Automatic backups of your bookmarks collection\n- ๐Ÿ’ผ Built-in Dashboard widgets for frequent and recent links\n\nRequirements:\n - PHP extensions:\n - intl: *\n - mbstring: *\n - when using MySQL, use at least v8.0", - "homepage": "https://github.com/nextcloud/bookmarks", - "licenses": [ - "agpl" - ] - }, - "calendar": { - "hash": "sha256-NwXTuSHl278Q2Wko4DC3rzqvNHnDI513UJ+8/3Rp5/U=", - "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.7.16/calendar-v4.7.16.tar.gz", - "version": "4.7.16", - "description": "The Calendar app is a user interface for Nextcloud's CalDAV server. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* ๐Ÿš€ **Integration with other Nextcloud apps!** Currently Contacts - more to come.\n* ๐ŸŒ **WebCal Support!** Want to see your favorite teamโ€™s matchdays in your calendar? No problem!\n* ๐Ÿ™‹ **Attendees!** Invite people to your events\n* โŒš๏ธ **Free/Busy!** See when your attendees are available to meet\n* โฐ **Reminders!** Get alarms for events inside your browser and via email\n* ๐Ÿ” Search! Find your events at ease\n* โ˜‘๏ธ Tasks! See tasks with a due date directly in the calendar\n* ๐Ÿ™ˆ **Weโ€™re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.", - "homepage": "https://github.com/nextcloud/calendar/", - "licenses": [ - "agpl" - ] - }, - "collectives": { - "hash": "sha256-1BEK5T+6w8yLSXyj/Me8QMls/LSWaor5TpvC2HK3/4U=", - "url": "https://github.com/nextcloud/collectives/releases/download/v2.16.1/collectives-2.16.1.tar.gz", - "version": "2.16.1", - "description": "Collectives is a Nextcloud App for activist and community projects to organize together.\nCome and gather in collectives to build shared knowledge.\n\n* ๐Ÿ‘ฅ **Collective and non-hierarchical workflow by heart**: Collectives are\n tied to a [Nextcloud Team](https://github.com/nextcloud/circles) and\n owned by the collective.\n* ๐Ÿ“ **Collaborative page editing** like known from Etherpad thanks to the\n [Text app](https://github.com/nextcloud/text).\n* ๐Ÿ”ค **Well-known [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax**\n for page formatting.\n\n## Installation\n\nIn your Nextcloud instance, simply navigate to **ยปAppsยซ**, find the\n**ยปTeamsยซ** and **ยปCollectivesยซ** apps and enable them.", - "homepage": "https://github.com/nextcloud/collectives", - "licenses": [ - "agpl" - ] - }, - "contacts": { - "hash": "sha256-NctHwZmGw3eF0DhreHAqVd87En1PTNfJ0CyL8nZeQKU=", - "url": "https://github.com/nextcloud-releases/contacts/releases/download/v6.0.4/contacts-v6.0.4.tar.gz", - "version": "6.0.4", - "description": "The Nextcloud contacts app is a user interface for Nextcloud's CardDAV server. Easily sync contacts from various devices with your Nextcloud and edit them online.\n\n* ๐Ÿš€ **Integration with other Nextcloud apps!** Currently Mail and Calendar โ€“ more to come.\n* ๐ŸŽ‰ **Never forget a birthday!** You can sync birthdays and other recurring events with your Nextcloud Calendar.\n* ๐Ÿ‘ฅ **Sharing of Adressbooks!** You want to share your contacts with your friends or coworkers? No problem!\n* ๐Ÿ™ˆ **Weโ€™re not reinventing the wheel!** Based on the great and open SabreDAV library.", - "homepage": "https://github.com/nextcloud/contacts#readme", - "licenses": [ - "agpl" - ] - }, - "cookbook": { - "hash": "sha256-EWLBypv588IkO1wx0vFv26NSk5GKx1pqSWTlAcW2mwE=", - "url": "https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.3/cookbook-0.11.3.tar.gz", - "version": "0.11.3", - "description": "A library for all your recipes. It uses JSON files following the schema.org recipe format. To add a recipe to the collection, you can paste in the URL of the recipe, and the provided web page will be parsed and downloaded to whichever folder you specify in the app settings.", - "homepage": "https://github.com/nextcloud/cookbook/", - "licenses": [ - "agpl" - ] - }, - "cospend": { - "hash": "sha256-J6w+ZqFNZbJeaPuZOZ4OQ+O+VhIQ0XajqYZuHqvjL24=", - "url": "https://github.com/julien-nc/cospend-nc/releases/download/v1.6.1/cospend-1.6.1.tar.gz", - "version": "1.6.1", - "description": "# Nextcloud Cospend ๐Ÿ’ฐ\n\nNextcloud Cospend is a group/shared budget manager. It was inspired by the great [IHateMoney](https://github.com/spiral-project/ihatemoney/).\n\nYou can use it when you share a house, when you go on vacation with friends, whenever you share expenses with a group of people.\n\nIt lets you create projects with members and bills. Each member has a balance computed from the project bills. Balances are not an absolute amount of money at members disposal but rather a relative information showing if a member has spent more for the group than the group has spent for her/him, independently of exactly who spent money for whom. This way you can see who owes the group and who the group owes. Ultimately you can ask for a settlement plan telling you which payments to make to reset members balances.\n\nProject members are independent from Nextcloud users. Projects can be shared with other Nextcloud users or via public links.\n\n[MoneyBuster](https://gitlab.com/eneiluj/moneybuster) Android client is [available in F-Droid](https://f-droid.org/packages/net.eneiluj.moneybuster/) and on the [Play store](https://play.google.com/store/apps/details?id=net.eneiluj.moneybuster).\n\n[PayForMe](https://github.com/mayflower/PayForMe) iOS client is currently under developpement!\n\nThe private and public APIs are documented using [the Nextcloud OpenAPI extractor](https://github.com/nextcloud/openapi-extractor/). This documentation can be accessed directly in Nextcloud. All you need is to install Cospend (>= v1.6.0) and use the [the OCS API Viewer app](https://apps.nextcloud.com/apps/ocs_api_viewer) to browse the OpenAPI documentation.\n\n## Features\n\n* โœŽ Create/edit/delete projects, members, bills, bill categories, currencies\n* โš– Check member balances\n* ๐Ÿ—  Display project statistics\n* โ™ป Display settlement plan\n* Move bills from one project to another\n* Move bills to trash before actually deleting them\n* Archive old projects before deleting them\n* ๐ŸŽ‡ Automatically create reimbursement bills from settlement plan\n* ๐Ÿ—“ Create recurring bills (day/week/month/year)\n* ๐Ÿ“Š Optionally provide custom amount for each member in new bills\n* ๐Ÿ”— Link personal files to bills (picture of physical receipt for example)\n* ๐Ÿ‘ฉ Public links for people outside Nextcloud (can be password protected)\n* ๐Ÿ‘ซ Share projects with Nextcloud users/groups/circles\n* ๐Ÿ–ซ Import/export projects as csv (compatible with csv files from IHateMoney and SplitWise)\n* ๐Ÿ”— Generate link/QRCode to easily add projects in MoneyBuster\n* ๐Ÿ—ฒ Implement Nextcloud notifications and activity stream\n\nThis app usually support the 2 or 3 last major versions of Nextcloud.\n\nThis app is under development.\n\n๐ŸŒ Help us to translate this app on [Nextcloud-Cospend/MoneyBuster Crowdin project](https://crowdin.com/project/moneybuster).\n\nโš’ Check out other ways to help in the [contribution guidelines](https://github.com/julien-nc/cospend-nc/blob/master/CONTRIBUTING.md).\n\n## Documentation\n\n* [User documentation](https://github.com/julien-nc/cospend-nc/blob/master/docs/user.md)\n* [Admin documentation](https://github.com/julien-nc/cospend-nc/blob/master/docs/admin.md)\n* [Developer documentation](https://github.com/julien-nc/cospend-nc/blob/master/docs/dev.md)\n* [CHANGELOG](https://github.com/julien-nc/cospend-nc/blob/master/CHANGELOG.md#change-log)\n* [AUTHORS](https://github.com/julien-nc/cospend-nc/blob/master/AUTHORS.md#authors)\n\n## Known issues\n\n* It does not make you rich\n\nAny feedback will be appreciated.\n\n\n\n## Donation\n\nI develop this app during my free time.\n\n* [Donate with Paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66PALMY8SF5JE) (you don't need a paypal account)\n* [Donate with Liberapay : ![Donate using Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/eneiluj/donate)", - "homepage": "https://github.com/julien-nc/cospend-nc", - "licenses": [ - "agpl" - ] - }, - "deck": { - "hash": "sha256-n+d5WdVuXJIyor/Ko5tVd5r7ew6Htn/spu5g6jv06NY=", - "url": "https://github.com/nextcloud-releases/deck/releases/download/v1.13.5/deck-v1.13.5.tar.gz", - "version": "1.13.5", - "description": "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- ๐Ÿ“ฅ Add your tasks to cards and put them in order\n- ๐Ÿ“„ Write down additional notes in Markdown\n- ๐Ÿ”– Assign labels for even better organization\n- ๐Ÿ‘ฅ Share with your team, friends or family\n- ๐Ÿ“Ž Attach files and embed them in your Markdown description\n- ๐Ÿ’ฌ Discuss with your team using comments\n- โšก Keep track of changes in the activity stream\n- ๐Ÿš€ Get your project organized", - "homepage": "https://github.com/nextcloud/deck", - "licenses": [ - "agpl" - ] - }, - "end_to_end_encryption": { - "hash": "sha256-yqdu04S5o7koJQIlwwyL1KfIIxEWoZ/9H8ePGV/urjU=", - "url": "https://github.com/nextcloud-releases/end_to_end_encryption/releases/download/v1.15.2/end_to_end_encryption-v1.15.2.tar.gz", - "version": "1.15.2", - "description": "This app provides all the necessary APIs to implement End-to-End encryption on the client side.\nAdditionally it implements Secure FileDrop and makes sure that End-to-End encrypted files are neither accessible via the web interface nor other WebDAV clients.", - "homepage": "https://github.com/nextcloud/end_to_end_encryption", - "licenses": [ - "agpl" - ] - }, - "files_automatedtagging": { - "hash": "sha256-j6NYZga+ygbwsCoTm9B3TvSir/hQLIbGY5HvpVBsWNY=", - "url": "https://github.com/nextcloud-releases/files_automatedtagging/releases/download/v1.19.0/files_automatedtagging-v1.19.0.tar.gz", - "version": "1.19.0", - "description": "An app for Nextcloud that automatically assigns tags to newly uploaded files based on some conditions.\n\nThe tags can later be used to control retention, file access, automatic script execution and more.\n\n## How it works\nTo define tags, administrators can create and manage a set of rule groups. Each rule group consists of one or more rules combined through operators. Rules can include criteria like file type, size, time and more. A request matches a group if all rules evaluate to true. On uploading a file all defined groups are evaluated and when matching, the given tags are assigned to the file.", - "homepage": "https://github.com/nextcloud/files_automatedtagging", - "licenses": [ - "agpl" - ] - }, - "files_mindmap": { - "hash": "sha256-SRHkK3oaSEBsrQPhjgWy9WSliubYkrOc89lix5O/fZM=", - "url": "https://github.com/ACTom/files_mindmap/releases/download/v0.0.33/files_mindmap-0.0.33.tar.gz", - "version": "0.0.33", - "description": "This application enables Nextcloud users to open, save and edit mind map files in the web browser. If enabled, an entry in the New button at the top of the web browser the Mindmap file entry appears. When clicked, a new mindmap file opens in the browser and the file can be saved into the current Nextcloud directory.", - "homepage": "https://github.com/ACTom/files_mindmap", - "licenses": [ - "agpl" - ] - }, - "files_retention": { - "hash": "sha256-VLgbz9zdEqXYEEvYfzHqWbnbDPyxtSzV8XYRb7M1axM=", - "url": "https://github.com/nextcloud-releases/files_retention/releases/download/v1.18.0/files_retention-v1.18.0.tar.gz", - "version": "1.18.0", - "description": "An app for Nextcloud to control automatic deletion of files after a given time.\nOptionally the users can be informed the day before.", - "homepage": "https://github.com/nextcloud/files_retention", - "licenses": [ - "agpl" - ] - }, - "forms": { - "hash": "sha256-5UWL9ePH6sdfrVcjAN+vP5cTkWGj1O1/5fx7UmyT92I=", - "url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.12/forms-v4.3.12.tar.gz", - "version": "4.3.12", - "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **๐Ÿ“ Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **๐Ÿ“Š View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **๐Ÿ”’ Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **๐Ÿง‘โ€๐Ÿ’ป Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **๐Ÿ™‹ Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!", - "homepage": "https://github.com/nextcloud/forms", - "licenses": [ - "agpl" - ] - }, - "gpoddersync": { - "hash": "sha256-PyyqE2mCClEQkW2cg3541VboCDtxKN2lwPRVRE9ewJs=", - "url": "https://github.com/thrillfall/nextcloud-gpodder/releases/download/3.12.0/gpoddersync.tar.gz", - "version": "3.12.0", - "description": "Expose GPodder API to sync podcast consumer apps like AntennaPod", - "homepage": "https://github.com/thrillfall/nextcloud-gpodder", - "licenses": [ - "agpl" - ] - }, - "groupfolders": { - "hash": "sha256-yfTZjAsmv2wdMNNP1Tm0fmzSIlUwRfMraNPgFEHW238=", - "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v17.0.10/groupfolders-v17.0.10.tar.gz", - "version": "17.0.10", - "description": "Admin configured folders shared with everyone in a team.\n\nFolders can be configured from *Team folders* in the admin settings.\n\nAfter a folder is created, the admin can give access to the folder to one or more teams, control their write/sharing permissions and assign a quota for the folder.", - "homepage": "https://github.com/nextcloud/groupfolders", - "licenses": [ - "agpl" - ] - }, - "impersonate": { - "hash": "sha256-7NCfm2c861E1ZOZhpqjbsw2LC9I7ypp2J1LamqmWvtU=", - "url": "https://github.com/nextcloud-releases/impersonate/releases/download/v1.16.0/impersonate-v1.16.0.tar.gz", - "version": "1.16.0", - "description": "By installing the impersonate app of your Nextcloud you enable administrators to impersonate other users on the Nextcloud server. This is especially useful for debugging issues reported by users.\n\nTo impersonate a user an administrator has to simply follow the following four steps:\n\n1. Login as administrator to Nextcloud.\n2. Open users administration interface.\n3. Select the impersonate button on the affected user.\n4. Confirm the impersonation.\n\nThe administrator is then logged-in as the user, to switch back to the regular user account they simply have to press the logout button.\n\n**Note:**\n\n- This app is not compatible with instances that have encryption enabled.\n- While impersonate actions are logged note that actions performed impersonated will be logged as the impersonated user.\n- Impersonating a user is only possible after their first login.\n- You can limit which users/groups can use impersonation in Administration settings > Additional settings.", - "homepage": "https://github.com/nextcloud/impersonate", - "licenses": [ - "agpl" - ] - }, - "integration_deepl": { - "hash": "sha256-FKlu1tlA/GxAHKFu4kfq8CsDvBrnMnLKDizisgb0IOQ=", - "url": "https://github.com/nextcloud-releases/integration_deepl/releases/download/v1.3.1/integration_deepl-v1.3.1.tar.gz", - "version": "1.3.1", - "description": "Deepl integration providing an translations through deepl.com with Nextcloud\n\nThis app integrates with [Nextcloud Assistant](https://apps.nextcloud.com/apps/assistant) to offer translation services We recommend to install Assistant additionally and activate Deepl as translation provider in the Artifical Intelligence admin settings.\n\nThis app also integrates with the translation API of Nextcloud server to offer translation services without Assistant. Currently this is available in Text and Talk.\n\nTo run translations and any other Task Processing tasks synchronously, run the following command in a background process (10 is the interval in seconds when the process should relaunch to use the latest php changes):\n\n```sh\nset -e; while true; do occ background-job:worker -v -t 10 \"OC\\TaskProcessing\\SynchronousBackgroundJob\"; done\n```\n\n## Ethical AI Rating\n### Rating: ๐Ÿ”ด\n\nNegative:\n* the software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* the trained model is not freely available, so the model can not be ran on-premises\n* the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the modelโ€™s performance and CO2 usage.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).", - "homepage": "https://github.com/nextcloud/integration_deepl", - "licenses": [ - "agpl" - ] - }, - "integration_openai": { - "hash": "sha256-qU86h6DHNetWOmt7yXCknQ3MBB9KdQ15UDJggqZgWMk=", - "url": "https://github.com/nextcloud-releases/integration_openai/releases/download/v2.0.3/integration_openai-v2.0.3.tar.gz", - "version": "2.0.3", - "description": "โš ๏ธ The smart pickers have been removed from this app\nas they are now included in the [Assistant app](https://apps.nextcloud.com/apps/assistant).\n\nThis app implements:\n\n* Text generation providers: Free prompt, Summarize, Headline, Context Write, Chat, and Reformulate (using any available large language model)\n* A Translation provider (using any available language model)\n* A SpeechToText provider (using Whisper)\n* An image generation provider\n\nโš ๏ธ Context Write, Summarize, Headline and Reformulate have mainly been tested with OpenAI.\nThey might work when connecting to other services, without any guarantee.\n\nInstead of connecting to the OpenAI API for these, you can also connect to a self-hosted [LocalAI](https://localai.io) instance or [Ollama](https://ollama.com/) instance\nor to any service that implements an API similar to the OpenAI one, for example:\n[IONOS AI Model Hub](https://docs.ionos.com/cloud/ai/ai-model-hub), [Plusserver](https://www.plusserver.com/en/ai-platform/) or [MistralAI](https://mistral.ai).\n\nโš ๏ธ This app is mainly tested with OpenAI. We do not guarantee it works perfectly\nwith other services that implement OpenAI-compatible APIs with slight differences.\n\n## Improve AI task pickup speed\n\nTo avoid task processing execution delay, setup at 4 background job workers in the main server (where Nextcloud is installed). The setup process is documented here: https://docs.nextcloud.com/server/latest/admin_manual/ai/overview.html#improve-ai-task-pickup-speed\n\n## Ethical AI Rating\n### Rating for Text generation using ChatGPT via the OpenAI API: ๐Ÿ”ด\n\nNegative:\n* The software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* The trained model is not freely available, so the model can not be run on-premises\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n\n### Rating for Translation using ChatGPT via the OpenAI API: ๐Ÿ”ด\n\nNegative:\n* The software for training and inference of this model is proprietary, limiting running it locally or training by yourself\n* The trained model is not freely available, so the model can not be run on-premises\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.\n\n### Rating for Image generation using DALLยทE via the OpenAI API: ๐Ÿ”ด\n\nNegative:\n* The software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself\n* The trained model is not freely available, so the model can not be ran on-premises\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the modelโ€™s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via the OpenAI API: ๐ŸŸก\n\nPositive:\n* The software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can run on-premise\n\nNegative:\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the modelโ€™s performance and CO2 usage.\n\n### Rating for Text generation via LocalAI: ๐ŸŸข\n\nPositive:\n* The software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can be ran on-premises\n* The training data is freely available, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n\n### Rating for Image generation using Stable Diffusion via LocalAI : ๐ŸŸก\n\nPositive:\n* The software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the modelโ€™s performance and CO2 usage.\n\n\n### Rating for Speech-To-Text using Whisper via LocalAI: ๐ŸŸก\n\nPositive:\n* The software for training and inferencing of this model is open source\n* The trained model is freely available, and thus can be ran on-premises\n\nNegative:\n* The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the modelโ€™s performance and CO2 usage.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).", - "homepage": "https://github.com/nextcloud/integration_openai", - "licenses": [ - "agpl" - ] - }, - "integration_paperless": { - "hash": "sha256-Tw0VZk+ByXLmFdNBgJdFnHUiFarDP+YyulzvCmE3ivw=", - "url": "https://github.com/nextcloud-releases/integration_paperless/releases/download/v1.0.6/integration_paperless-v1.0.6.tar.gz", - "version": "1.0.6", - "description": "Integration with the [Paperless](https://docs.paperless-ngx.com) Document Management System.\nIt adds a file action menu item that can be used to upload a file from your Nextcloud Files to Paperless.", - "homepage": "", - "licenses": [ - "agpl" - ] - }, - "mail": { - "hash": "sha256-4XLoP07M614QM2n86QvNlol3NVmrfQLBDLZCZ013Lsc=", - "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.7.24/mail-stable3.7.tar.gz", - "version": "3.7.24", - "description": "**๐Ÿ’Œ A mail app for Nextcloud**\n\n- **๐Ÿš€ Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files โ€“ more to come.\n- **๐Ÿ“ฅ Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **๐Ÿ”’ Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **๐Ÿ™ˆ Weโ€™re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **๐Ÿ“ฌ Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** ๐ŸŸข/๐ŸŸก/๐ŸŸ /๐Ÿ”ด\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).", - "homepage": "https://github.com/nextcloud/mail#readme", - "licenses": [ - "agpl" - ] - }, - "maps": { - "hash": "sha256-BmXs6Oepwnm+Cviy4awm3S8P9AiJTt1BnAQNb4TxVYE=", - "url": "https://github.com/nextcloud/maps/releases/download/v1.4.0/maps-1.4.0.tar.gz", - "version": "1.4.0", - "description": "**The whole world fits inside your cloud!**\n\n- **๐Ÿ—บ Beautiful map:** Using [OpenStreetMap](https://www.openstreetmap.org) and [Leaflet](https://leafletjs.com), you can choose between standard map, satellite, topographical, dark mode or even watercolor! ๐ŸŽจ\n- **โญ Favorites:** Save your favorite places, privately! Sync with [GNOME Maps](https://github.com/nextcloud/maps/issues/30) and mobile apps is planned.\n- **๐Ÿงญ Routing:** Possible using either [OSRM](http://project-osrm.org), [GraphHopper](https://www.graphhopper.com) or [Mapbox](https://www.mapbox.com).\n- **๐Ÿ–ผ Photos on the map:** No more boring slideshows, just show directly where you were!\n- **๐Ÿ™‹ Contacts on the map:** See where your friends live and plan your next visit.\n- **๐Ÿ“ฑ Devices:** Lost your phone? Check the map!\n- **ใ€ฐ Tracks:** Load GPS tracks or past trips. Recording with [PhoneTrack](https://f-droid.org/en/packages/net.eneiluj.nextcloud.phonetrack/) or [OwnTracks](https://owntracks.org) is planned.", - "homepage": "https://github.com/nextcloud/maps", - "licenses": [ - "agpl" - ] - }, - "memories": { - "hash": "sha256-BfxJDCGsiRJrZWkNJSQF3rSFm/G3zzQn7C6DCETSzw4=", - "url": "https://github.com/pulsejet/memories/releases/download/v7.5.2/memories.tar.gz", - "version": "7.5.2", - "description": "# Memories: Photo Management for Nextcloud\n\nMemories is a *batteries-included* photo management solution for Nextcloud with advanced features including:\n\n- **๐Ÿ“ธ Timeline**: Sort photos and videos by date taken, parsed from Exif data.\n- **โช Rewind**: Jump to any time in the past instantly and relive your memories.\n- **๐Ÿค– AI Tagging**: Group photos by people and objects, powered by [recognize](https://github.com/nextcloud/recognize) and [facerecognition](https://github.com/matiasdelellis/facerecognition).\n- **๐Ÿ–ผ๏ธ Albums**: Create albums to group photos and videos together. Then share these albums with others.\n- **๐Ÿซฑ๐Ÿปโ€๐Ÿซฒ๐Ÿป External Sharing**: Share photos and videos with people outside of your Nextcloud instance.\n- **๐Ÿ“ฑ Mobile Support**: Work from any device, of any shape and size through the web app.\n- **โœ๏ธ Edit Metadata**: Edit dates and other metadata on photos quickly and in bulk.\n- **๐Ÿ“ฆ Archive**: Store photos you don't want to see in your timeline in a separate folder.\n- **๐Ÿ“น Video Transcoding**: Transcode videos and use HLS for maximal performance.\n- **๐Ÿ—บ๏ธ Map**: View your photos on a map, tagged with accurate reverse geocoding.\n- **๐Ÿ“ฆ Migration**: Migrate easily from Nextcloud Photos and Google Takeout.\n- **โšก๏ธ Performance**: Do all this very fast.\n\n## ๐Ÿš€ Installation\n\n1. Install the app from the Nextcloud app store (try a demo [here](https://demo.memories.gallery/apps/memories/)).\n1. Perform the recommended [configuration steps](https://memories.gallery/config/).\n1. Run `php occ memories:index` to generate metadata indices for existing photos.\n1. Open the ๐Ÿ“ท Memories app in Nextcloud and set the directory containing your photos.", - "homepage": "https://memories.gallery", - "licenses": [ - "agpl" - ] - }, - "music": { - "hash": "sha256-h83Xc292/NQPWOTRIbUSgqHUH/Sp4fYJ8GAHSiJWHP0=", - "url": "https://github.com/owncloud/music/releases/download/v2.1.4/music_2.1.4_for_nextcloud.tar.gz", - "version": "2.1.4", - "description": "A stand-alone music player app and a \"lite\" player for the Files app\n\n- On modern browsers, supports audio types .mp3, .ogg, .m4a, .m4b, .flac, .wav, and more\n- Playlist support with import from m3u, m3u8, and pls files\n- Browse by artists, albums, genres, or folders\n- Gapless play\n- Filter the shown content with the search function\n- Advanced search to freely use and combine dozens of search criteria\n- Play internet radio and podcast channels\n- Setup Last.fm connection to see background information on artists, albums, and songs\n- Control with media control keys on the keyboard or OS\n- The app can handle libraries consisting of thousands of albums and tens of thousands of songs\n- Includes a server backend compatible with the Subsonic and Ampache protocols, allowing playback and browsing of your library on dozens of external apps on Android, iOS, Windows, Linux, etc.\n- Widget for the Nextcloud Dashboard", - "homepage": "https://github.com/owncloud/music", - "licenses": [ - "agpl" - ] - }, - "news": { - "hash": "sha256-trXnDSSFyr5HKXaS1S3XrlSAUiiT+8B+kP0lg+exLcs=", - "url": "https://github.com/nextcloud/news/releases/download/25.3.1/news.tar.gz", - "version": "25.3.1", - "description": "๐Ÿ“ฐ A RSS/Atom Feed reader App for Nextcloud\n\n- ๐Ÿ“ฒ Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- ๐Ÿ”„ Automatic updates of your news feeds\n- ๐Ÿ†“ Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)", - "homepage": "https://github.com/nextcloud/news", - "licenses": [ - "agpl" - ] - }, - "notes": { - "hash": "sha256-UdqK6DiC67YPcy84wFEZaT8AQLDhhNndLiEesQeBY7M=", - "url": "https://github.com/nextcloud-releases/notes/releases/download/v4.12.0/notes-v4.12.0.tar.gz", - "version": "4.12.0", - "description": "The Notes app is a distraction free notes taking app for [Nextcloud](https://www.nextcloud.com/). It provides categories for better organization and supports formatting using [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax. Notes are saved as files in your Nextcloud, so you can view and edit them with every Nextcloud client. Furthermore, a separate [REST API](https://github.com/nextcloud/notes/blob/master/docs/api/README.md) allows for an easy integration into apps ([Android](https://github.com/nextcloud/notes-android), [iOS](https://github.com/nextcloud/notes-ios), as well as [3rd-party apps](https://github.com/nextcloud/notes/wiki#3rd-party-clients) which allow convenient access to your Nextcloud notes). Further features include marking notes as favorites.", - "homepage": "https://github.com/nextcloud/notes", - "licenses": [ - "agpl" - ] - }, - "oidc_login": { - "hash": "sha256-RLYquOE83xquzv+s38bahOixQ+y4UI6OxP9HfO26faI=", - "url": "https://github.com/pulsejet/nextcloud-oidc-login/releases/download/v3.2.2/oidc_login.tar.gz", - "version": "3.2.2", - "description": "# OpenID Connect Login\n\nProvides user creation and login via one single OpenID Connect provider. Even though this is a fork of [nextcloud-social-login](https://github.com/zorn-v/nextcloud-social-login), it fundamentally differs in two ways - aims for simplistic, single provider login (and hence is very minimalistic), and it supports having LDAP as the primary user backend. This way, you can use OpenID Connect to login to Nextcloud while maintaining an LDAP backend with attributes with the LDAP plugin.\n\n### Features\n\n- Automatic [Identity provider endpoints discovery](https://openid.net/specs/openid-connect-discovery-1_0.html)\n- User creation at first login\n- User profile update at login (name, email, avatar, groups etc.)\n- Group creation\n- Automatic redirection from the nextcloud login page to the Identity Provider login page\n- WebDAV endpoints `Bearer` and `Basic` authentication", - "homepage": "https://github.com/pulsejet/nextcloud-single-openid-connect", - "licenses": [ - "agpl" - ] - }, - "onlyoffice": { - "hash": "sha256-lOkVGOo2ylTaRVDFGD31DMUb3IbteWgFkHEj0Ox0D84=", - "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v9.8.0/onlyoffice.tar.gz", - "version": "9.8.0", - "description": "ONLYOFFICE app allows you to view, edit and collaborate on text documents, spreadsheets and presentations within Nextcloud using ONLYOFFICE Docs. This will create a new Edit in ONLYOFFICE action within the document library for Office documents. This allows multiple users to co-author documents in real time from the familiar web interface and save the changes back to your file storage.", - "homepage": "https://www.onlyoffice.com", - "licenses": [ - "agpl" - ] - }, - "phonetrack": { - "hash": "sha256-fEJSGG4P+OC5f8PTATHurdUb0vnMaqMh6wwcVB+VcsA=", - "url": "https://github.com/julien-nc/phonetrack/releases/download/v0.8.2/phonetrack-0.8.2.tar.gz", - "version": "0.8.2", - "description": "# PhoneTrack Nextcloud application\n\n๐Ÿ“ฑ PhoneTrack is a Nextcloud application to track and store mobile device's locations.\n\n๐Ÿ—บ It receives information from mobile phone's logging apps and displays it dynamically on a map.\n\n๐ŸŒ Help us to translate this app on [PhoneTrack Crowdin project](https://crowdin.com/project/phonetrack).\n\nโš’ Check out other ways to help in the [contribution guidelines](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/CONTRIBUTING.md).\n\nHow to use PhoneTrack :\n\n* Create a tracking session.\n* Give the logging link\\* to the mobile devices. Choose the [logging method](https://gitlab.com/eneiluj/phonetrack-oc/wikis/userdoc#logging-methods) you prefer.\n* Watch the session's devices location in real time (or not) in PhoneTrack or share it with public pages.\n\n(\\*) Don't forget to set the device name in the link (rather than in the logging app settings). Replace \"yourname\" with the desired device name. Setting the device name in logging app settings only works with Owntracks, Traccar and OpenGTS.\n\nOn PhoneTrack main page, while watching a session, you can :\n\n* ๐Ÿ“ Display location history\n* โ›› Filter points\n* โœŽ Manually edit/add/delete points\n* โœŽ Edit devices (rename, change colour/shape, move to another session)\n* โ›ถ Define geofencing zones for devices\n* โš‡ Define proximity alerts for device pairs\n* ๐Ÿ–ง Share a session to other Nextcloud users or with a public link (read-only)\n* ๐Ÿ”— Generate public share links with optional restrictions (filters, device name, last positions only, geofencing simplification)\n* ๐Ÿ–ซ Import/export a session in GPX format (one file with one track per device or one file per device)\n* ๐Ÿ—  Display sessions statistics\n* ๐Ÿ”’ [Reserve a device name](https://gitlab.com/eneiluj/phonetrack-oc/wikis/userdoc#device-name-reservation) to make sure only authorised user can log with this name\n* ๐Ÿ—“ Toggle session auto export and auto purge (daily/weekly/monthly)\n* โ—” Choose what to do when point number quota is reached (block logging or delete oldest point)\n\nPublic page and public filtered page work like main page except there is only one session displayed, everything is read-only and there is no need to be logged in.\n\nThis app is tested on Nextcloud 17 with Firefox 57+ and Chromium.\n\nThis app is compatible with theming colours and accessibility themes !\n\nThis app is under development.\n\n## Install\n\nSee the [AdminDoc](https://gitlab.com/eneiluj/phonetrack-oc/wikis/admindoc) for installation details.\n\nCheck [CHANGELOG](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/CHANGELOG.md#change-log) file to see what's new and what's coming in next release.\n\nCheck [AUTHORS](https://gitlab.com/eneiluj/phonetrack-oc/blob/master/AUTHORS.md#authors) file to see complete list of authors.\n\n## Known issues\n\n* PhoneTrack **now works** with Nextcloud group restriction activated. See [admindoc](https://gitlab.com/eneiluj/phonetrack-oc/wikis/admindoc#issue-with-phonetrack-restricted-to-some-groups-in-nextcloud).\n\nAny feedback will be appreciated.\n\n## Donation\n\nI develop this app during my free time.\n\n* [Donate with Paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66PALMY8SF5JE) (you don't need a paypal account)\n* [Donate with Liberapay : ![Donate using Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/eneiluj/donate)", - "homepage": "https://github.com/julien-nc/phonetrack", - "licenses": [ - "agpl" - ] - }, - "polls": { - "hash": "sha256-zatPm8JY1WkeO2Uvm9BUVPXrJp0df12jspqSNNuZVh0=", - "url": "https://github.com/nextcloud-releases/polls/releases/download/v7.4.2/polls-v7.4.2.tar.gz", - "version": "7.4.2", - "description": "A polls app, similar to Doodle/Dudle with the possibility to restrict access (members, certain groups/users, hidden and public).", - "homepage": "https://github.com/nextcloud/polls", - "licenses": [ - "agpl" - ] - }, - "previewgenerator": { - "hash": "sha256-dPUvtVFtSqlG9M1RXZ8u7nL3wgK5yFU2/pL9pFLjisc=", - "url": "https://github.com/nextcloud-releases/previewgenerator/releases/download/v5.8.0/previewgenerator-v5.8.0.tar.gz", - "version": "5.8.0", - "description": "The Preview Generator app allows admins to pre-generate previews. The app listens to edit events and stores this information. Once a cron job is triggered it will generate start preview generation. This means that you can better utilize your system by pre-generating previews when your system is normally idle and thus putting less load on your machine when the requests are actually served.\n\nThe app does not replace on demand preview generation so if a preview is requested before it is pre-generated it will still be shown.\nThe first time you install this app, before using a cron job, you properly want to generate all previews via:\n**./occ preview:generate-all -vvv**\n\n**Important**: To enable pre-generation of previews you must add **php /var/www/nextcloud/occ preview:pre-generate** to a system cron job that runs at times of your choosing.", - "homepage": "https://github.com/nextcloud/previewgenerator", - "licenses": [ - "agpl" - ] - }, - "qownnotesapi": { - "hash": "sha256-P0wtnv2J0Q80ws/ih6xg7x16J87Oq5/oRVNQKg4wicU=", - "url": "https://github.com/pbek/qownnotesapi/releases/download/v25.2.0/qownnotesapi-nc.tar.gz", - "version": "25.2.0", - "description": "QOwnNotesAPI is the Nextcloud/ownCloud API for [QOwnNotes](http://www.qownnotes.org), the open source notepad for Linux, macOS and Windows, that works together with the notes application of Nextcloud/ownCloud.\n\nThe only purpose of this App is to provide API access to your Nextcloud/ownCloud server for your QOwnNotes desktop installation, you cannot use this App for anything else, if you don't have QOwnNotes installed on your desktop computer!", - "homepage": "https://github.com/pbek/qownnotesapi", - "licenses": [ - "agpl" - ] - }, - "quota_warning": { - "hash": "sha256-SG+UxfA6+6Tna8LiwGzM3zWZ2G5zYOq1VWFhJvXEYdc=", - "url": "https://github.com/nextcloud-releases/quota_warning/releases/download/v1.21.0/quota_warning-v1.21.0.tar.gz", - "version": "1.21.0", - "description": "This app sends notifications to users when they reached 85, 90 and 95% of their quota (checked once a day).\nIn addition an email can be sent to the users. The three percentages can be changed in the admin settings.\nIt is also possible to have a link in the email and the notification for upsell options.", - "homepage": "https://github.com/nextcloud/quota_warning", - "licenses": [ - "agpl" - ] - }, - "registration": { - "hash": "sha256-iskmm8s32Nj65dyhx1ZO/Rg6fPi+usF/O/dYou+Ujjk=", - "url": "https://github.com/nextcloud-releases/registration/releases/download/v2.7.0/registration-v2.7.0.tar.gz", - "version": "2.7.0", - "description": "User registration\n\nThis app allows users to register a new account.\n\n# Features\n\n- Add users to a given group\n- Allow-list with email domains (including wildcard) to register with\n- Administrator will be notified via email for new user creation or require approval\n- Supports Nextcloud's Client Login Flow v1 and v2 - allowing registration in the mobile Apps and Desktop clients\n\n# Web form registration flow\n\n1. User enters their email address\n2. Verification link is sent to the email address\n3. User clicks on the verification link\n4. User is lead to a form where they can choose their username and password\n5. New account is created and is logged in automatically", - "homepage": "https://github.com/nextcloud/registration", - "licenses": [ - "agpl" - ] - }, - "richdocuments": { - "hash": "sha256-2sO5lj0v73Zo1NB4HLxt+txwlzfs7kbnLXWAsyDriI0=", - "url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v8.4.11/richdocuments-v8.4.11.tar.gz", - "version": "8.4.11", - "description": "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store.", - "homepage": "https://collaboraoffice.com/", - "licenses": [ - "agpl" - ] - }, - "sociallogin": { - "hash": "sha256-DNf48YmVJ49v+lynTCIBTZhPi/S1mjyIF5OWf+UVKeY=", - "url": "https://github.com/zorn-v/nextcloud-social-login/releases/download/v6.0.1/release.tar.gz", - "version": "6.0.1", - "description": "# Social login\n\nMake possible create users and login via Telegram, OAuth or OpenID\n\nFor OAuth you must create app for certain providers. Login button appear at login page if app id specified. Settings are in \"Social login\" section of settings page.\n\n## Installation\n\nLogin to your NextCloud installation as an administrator and under \"Apps\" click \"Download and enable\" next to the \"Social Login\" app.\n\nSee below for setup and configuration instructions.\n\n\n\n## Custom OAuth2/OIDC groups\n\nYou can use groups from your custom provider. For that you should specify \"Groups claim\" in custom OAuth2/OIDC provider settings. That claim should be returned from provider in `id_token` or at user info endpoint. Format should be `array` or comma separated string. Eg (with claim named `roles`)\n\n```json\n{\"roles\": [\"admin\", \"user\"]}\n```\nor\n```json\n{\"roles\": \"admin,user\"}\n```\n\nAlso nested claims is supported. For example `resource_access.client-id.roles` for\n\n```json\n\"resource_access\": {\n \"client-id\": {\n \"roles\": [\n \"client-role-1\",\n \"client-role-2\"\n ]\n }\n}\n```\n\nThere is also support for setting the displayName:\n```\n{\"roles\": [{gid: 1, displayName: \"admin\"}, {gid: 2, displayName: \"user\"}]}\n```\n\n\nYou can use provider groups in two ways:\n\n1. Map provider groups to existing nextcloud groups\n2. Create provider groups in nextcloud and associate it to user (if appropriate option specified)\n\nIf you want sync groups on every login do not forget to check \"Update user profile every login\" setting\n\n## Examples for groups\n\n* You can find example how to configure WSO2IS for return roles claim with OIDC [here](https://medium.com/@dewni.matheesha/claim-mapping-and-retrieving-end-user-information-in-wso2is-cffd5f3937ff)\n* [GitLab OIDC allowing specific GitLab groups](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/gitlab.md)\n\n## Built-in OAuth providers\n\nYou can copy link of certain login button to get proper \"redirect url\" for OAuth app setting.\n\n* [Google](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/google.md)\n* [Amazon](https://developer.amazon.com/loginwithamazon/console/site/lwa/overview.html)\n* [Facebook](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/facebook.md)\n* [Twitter](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/twitter.md)\n* [GitHub](https://github.com/settings/developers)\n* [Discord](#configure-discord)\n* [Telegram](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/telegram.md)\n* PlexTv - you can use any title as app id\n* [Codeberg](https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/codeberg.md)\n\nDetails about \"Allow login only from specified domain\" google setting you can find here [#44](https://github.com/zorn-v/nextcloud-social-login/issues/44)\nYou can use comma separated list for multiple domains\n\n## Config\n\nYou can use `'social_login_auto_redirect' => true` setting in `config.php` for auto redirect unauthorized users to social login if only one provider is configured.\nIf you want to temporary disable this function (e.g. for login as local admin), you can add `noredir=1` query parameter in url for login page. Something like `https://cloud.domain.com/login?noredir=1`\n\nTo set options for http client, you can use\n```php\n 'social_login_http_client' => [\n 'timeout' => 45,\n 'proxy' => 'socks4://127.0.0.1:9050', // Check https://curl.se/libcurl/c/CURLOPT_PROXY.html for allowed variants\n ],\n```\nin `config.php`\n\n### Configurate a provider via CLI\n\nYou can configure everything from commandline by using the occ utility. To setup a oidc-provider replace the variables and URLs with values that match your deployment.\n```bash\nphp occ config:app:set sociallogin custom_providers --value='{\"custom_oidc\": [{\"name\": \"gitlab_oidc\", \"title\": \"Gitlab\", \"authorizeUrl\": \"https://gitlab.my-domain.org/oauth/authorize\", \"tokenUrl\": \"https://gitlab.my-domain.org/oauth/token\", \"userInfoUrl\": \"https://gitlab.my-domain.org/oauth/userinfo\", \"logoutUrl\": \"\", \"clientId\": \"$my_application_id\", \"clientSecret\": \"$my_super_secret_secret\", \"scope\": \"openid\", \"groupsClaim\": \"groups\", \"style\": \"gitlab\", \"defaultGroup\": \"\"}]}'\n```\nto do this with docker you just need to add `docker exec -t -uwww-data CONTAINER_NAME` in front of the command, or run it interactively from `docker exec -it -uwww-data CONTAINER_NAME sh`\n\nTo find out how to configure other providers, just configure them in the GUI and take a look at the database afterwards:\n```\nmysql -u nextcloud -p nextcloud\nPassword: \n\n> SELECT * FROM oc_appconfig WHERE appid='sociallogin';\n```\n\nOr just run\n\n`docker exec -t -uwww-data CONTAINER_NAME php occ config:app:get sociallogin custom_providers`\n\n### Configure Discord\n\nTo properly configure discord you have to:\n\n1. Create new discord application on [DiscordApp developers](https://discordapp.com/developers/applications/me#top)\n2. Open tab `Settings -> OAuth2 -> General`. In `Redirects` add new redirection link looking like this: `https://nextcloud.mydomain.com/apps/sociallogin/oauth/discord`.\n3. Copy `CLIENT ID` and generate and copy `CLIENT SECRET`\n4. Open in Nextcloud `Settings -> Social Login` and paste `CLIENT ID` into field `App id` and `CLIENT SECRET` into `Secret`.\n5. Select default group for users created this way.\n6. For group mapping check [#395](https://github.com/zorn-v/nextcloud-social-login/pull/395)\n\n## Hint\n\n### About Callback(Reply) Url\nYou can copy link from specific login button on login page and paste it on provider's website as callback url. To make proper button visible, just fill certain provider settings with random data and change it later.\n\nSome users may get strange reply(Callback) url error from provider even if you pasted the right url, that's because your nextcloud server may generate http urls when you are actually using https.\nPlease set 'overwriteprotocol' => 'https', in your config.php file.", - "homepage": "https://github.com/zorn-v/nextcloud-social-login", - "licenses": [ - "agpl" - ] - }, - "spreed": { - "hash": "sha256-j+TPhm7JO23wTVTcyEYXVKrrJcGIMDute3ANjmbscMg=", - "url": "https://github.com/nextcloud-releases/spreed/releases/download/v19.0.15/spreed-v19.0.15.tar.gz", - "version": "19.0.15", - "description": "Chat, video & audio-conferencing using WebRTC\n\n* ๐Ÿ’ฌ **Chat** Nextcloud Talk comes with a simple text chat, allowing you to share or upload files from your Nextcloud Files app or local device and mention other participants.\n* ๐Ÿ‘ฅ **Private, group, public and password protected calls!** Invite someone, a whole group or send a public link to invite to a call.\n* ๐ŸŒ **Federated chats** Chat with other Nextcloud users on their servers\n* ๐Ÿ’ป **Screen sharing!** Share your screen with the participants of your call.\n* ๐Ÿš€ **Integration with other Nextcloud apps** like Files, Calendar, User status, Dashboard, Flow, Maps, Smart picker, Contacts, Deck, and many more.\n* ๐ŸŒ‰ **Sync with other chat solutions** With [Matterbridge](https://github.com/42wim/matterbridge/) being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa.", - "homepage": "https://github.com/nextcloud/spreed", - "licenses": [ - "agpl" - ] - }, - "tasks": { - "hash": "sha256-Upa3dl+b97UV3KXLlcxeS6OzFBTIW+e3U/T9QJT6Pmw=", - "url": "https://github.com/nextcloud/tasks/releases/download/v0.16.1/tasks.tar.gz", - "version": "0.16.1", - "description": "Once enabled, a new Tasks menu will appear in your Nextcloud apps menu. From there you can add and delete tasks, edit their title, description, start and due dates and mark them as important. Tasks can be shared between users. Tasks can be synchronized using CalDav (each task list is linked to an Nextcloud calendar, to sync it to your local client: Thunderbird, Evolution, KDE Kontact, iCal โ€ฆ - just add the calendar as a remote calendar in your client). You can download your tasks as ICS files using the download button for each calendar.", - "homepage": "https://github.com/nextcloud/tasks/", - "licenses": [ - "agpl" - ] - }, - "twofactor_admin": { - "hash": "sha256-zZvH7xfSooKBG4CKvSuf8D/6KnKEunLa+DRLAkWGoow=", - "url": "https://github.com/nextcloud-releases/twofactor_admin/releases/download/v4.8.0/twofactor_admin.tar.gz", - "version": "4.8.0", - "description": "This two-factor auth (2FA) provider for Nextcloud allows admins to generate a one-time\n\t\tcode for users to log into a 2FA protected account. This is helpful in situations where\n\t\tusers have lost access to their other 2FA methods or mandatory 2FA without any previously\n\t\tenabled 2FA provider.", - "homepage": "", - "licenses": [ - "agpl" - ] - }, - "twofactor_nextcloud_notification": { - "hash": "sha256-4fXWgDeiup5/Gm9hdZDj/u07rp/Nzwly53aLUT/d0IU=", - "url": "https://github.com/nextcloud-releases/twofactor_nextcloud_notification/releases/download/v3.9.0/twofactor_nextcloud_notification-v3.9.0.tar.gz", - "version": "3.9.0", - "description": "Allows using any of your logged in devices as second factor", - "homepage": "https://github.com/nextcloud/twofactor_nextcloud_notification", - "licenses": [ - "agpl" - ] - }, - "twofactor_webauthn": { - "hash": "sha256-2qvP6xZO7ZdCZkOSP4FNqyjZ0GMcw/FDSy67JDrlM04=", - "url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v1.4.0/twofactor_webauthn-v1.4.0.tar.gz", - "version": "1.4.0", - "description": "A two-factor provider for WebAuthn devices", - "homepage": "https://github.com/nextcloud/twofactor_webauthn#readme", - "licenses": [ - "agpl" - ] - }, - "unroundedcorners": { - "hash": "sha256-sdgc2ENnRkcQnopbqsn/FHYDoiKqeKfYEontFy0cYU4=", - "url": "https://github.com/OliverParoczai/nextcloud-unroundedcorners/releases/download/v1.1.3/unroundedcorners-v1.1.3.tar.gz", - "version": "1.1.3", - "description": "# Unrounded Corners\nA Nextcloud app that restores the corners of buttons and widgets to their original looks by unrounding them.", - "homepage": "https://github.com/OliverParoczai/nextcloud-unroundedcorners", - "licenses": [ - "agpl" - ] - }, - "unsplash": { - "hash": "sha256-hUKpIGvu7aX45Pz/xCssOuyZ7E+kJ4cmqhhycX5DG6A=", - "url": "https://github.com/nextcloud/unsplash/releases/download/v3.0.3/unsplash.tar.gz", - "version": "3.0.3", - "description": "Show a new random featured nature photo in your nextcloud. Now with choosable motives!", - "homepage": "https://github.com/nextcloud/unsplash/", - "licenses": [ - "agpl" - ] - }, - "uppush": { - "hash": "sha256-3QD3gtCfhs9tWrbiiPPV7lYxpzGQhc31unSZukcrvN0=", - "url": "https://codeberg.org/NextPush/uppush/archive/2.3.0.tar.gz", - "version": "2.3.0", - "description": "Once the mobile phone is connected with NextPush, push notifications can be forwarded to applications implementing UnifiedPush.\n\nMore information about UnifiedPush at https://unifiedpush.org", - "homepage": "", - "licenses": [ - "agpl" - ] - }, - "user_oidc": { - "hash": "sha256-qEsUJG63j+VRZc+tqeX4iTEs9/GIVsTsyeFEOwSBYCg=", - "url": "https://github.com/nextcloud-releases/user_oidc/releases/download/v7.1.0/user_oidc-v7.1.0.tar.gz", - "version": "7.1.0", - "description": "Allows flexible configuration of an OIDC server as Nextcloud login user backend.", - "homepage": "https://github.com/nextcloud/user_oidc", - "licenses": [ - "agpl" - ] - }, - "user_saml": { - "hash": "sha256-i9V8fmmmed0rVKRNtYJysqJReuGPjE54GP5K5wN0+Ok=", - "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.5.0/user_saml-v6.5.0.tar.gz", - "version": "6.5.0", - "description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.", - "homepage": "https://github.com/nextcloud/user_saml", - "licenses": [ - "agpl" - ] - }, - "whiteboard": { - "hash": "sha256-hz8nviBUakDWH5ThDILoRFxyBFVpzJgXM6dgqry13tc=", - "url": "https://github.com/nextcloud-releases/whiteboard/releases/download/v1.0.5/whiteboard-v1.0.5.tar.gz", - "version": "1.0.5", - "description": "The official whiteboard app for Nextcloud. It allows users to create and share whiteboards with other users and collaborate in real-time.\n\n**Whiteboard requires a separate collaboration server to work.** Please see the [documentation](https://github.com/nextcloud/whiteboard?tab=readme-ov-file#backend) on how to install it.\n\n- ๐ŸŽจ Drawing shapes, writing text, connecting elements\n- ๐Ÿ“ Real-time collaboration\n- ๐Ÿ–ผ๏ธ Add images with drag and drop\n- ๐Ÿ“Š Easily add mermaid diagrams\n- โœจ Use the Smart Picker to embed other elements from Nextcloud\n- ๐Ÿ“ฆ Image export\n- ๐Ÿ’ช Strong foundation: We use Excalidraw as our base library", - "homepage": "https://github.com/nextcloud/whiteboard", - "licenses": [ - "agpl" - ] - } -} diff --git a/pkgs/servers/nextcloud/packages/apps/recognize.nix b/pkgs/servers/nextcloud/packages/apps/recognize.nix index 5c799daed73f..436d86d8cb50 100644 --- a/pkgs/servers/nextcloud/packages/apps/recognize.nix +++ b/pkgs/servers/nextcloud/packages/apps/recognize.nix @@ -26,11 +26,6 @@ let appHash = "sha256-CAORqBdxNQ0x+xIVY2zI07jvsKHaa7eH0jpVuP0eSW4="; modelHash = "sha256-s8MQOLU490/Vr/U4GaGlbdrykOAQOKeWE5+tCzn6Dew="; }; - "29" = { - version = "7.1.0"; - appHash = "sha256-qR4SrTHFAc4YWiZAsL94XcH4VZqYtkRLa0y+NdiFZus="; - modelHash = "sha256-M/j5wVOBLR7xMVJQWDUWAzLajRUBYEzHSNBsRSBUgfM="; - }; }; currentVersionInfo = latestVersionForNc.${ncVersion} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 566df1693f5f..1dad9bebfe33 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1203,6 +1203,18 @@ mapAliases { neocities-cli = neocities; # Added 2024-07-31 netbox_3_3 = throw "netbox 3.3 series has been removed as it was EOL"; # Added 2023-09-02 netbox_3_5 = throw "netbox 3.5 series has been removed as it was EOL"; # Added 2024-01-22 + nextcloud29 = throw '' + Nextcloud v29 has been removed from `nixpkgs` as the support for is dropped + by upstream in 2025-04. Please upgrade to at least Nextcloud v30 by declaring + + services.nextcloud.package = pkgs.nextcloud30; + + in your NixOS config. + + WARNING: if you were on Nextcloud 28 you have to upgrade to Nextcloud 29 + first on 24.11 because Nextcloud doesn't support upgrades across multiple major versions! + ''; # Added 2025-04-11 + nextcloud29Packages = throw "Nextcloud 29 is EOL!"; # Added 2025-04-11 nextcloud28 = throw '' Nextcloud v28 has been removed from `nixpkgs` as the support for is dropped by upstream in 2025-01. Please upgrade to at least Nextcloud v29 by declaring diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2cc78d7b1dfe..dae2f4566f54 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4481,12 +4481,10 @@ with pkgs; nm-tray = libsForQt5.callPackage ../tools/networking/networkmanager/tray.nix { }; inherit (callPackages ../servers/nextcloud { }) - nextcloud29 nextcloud30 nextcloud31 ; - nextcloud29Packages = callPackage ../servers/nextcloud/packages { ncVersion = "29"; }; nextcloud30Packages = callPackage ../servers/nextcloud/packages { ncVersion = "30"; }; nextcloud31Packages = callPackage ../servers/nextcloud/packages { ncVersion = "31"; }; From 73d046587a4cf95bec8b6588f5689e910b237520 Mon Sep 17 00:00:00 2001 From: emaryn Date: Mon, 21 Apr 2025 15:17:17 +0800 Subject: [PATCH 13/44] curlie: 1.7.2 -> 1.8.2 Diff: https://github.com/rs/curlie/compare/v1.7.2...v1.8.2 --- .../by-name/cu/curlie/bump-golang-x-sys.patch | 37 ------------------- pkgs/by-name/cu/curlie/package.nix | 28 ++++++-------- 2 files changed, 12 insertions(+), 53 deletions(-) delete mode 100644 pkgs/by-name/cu/curlie/bump-golang-x-sys.patch diff --git a/pkgs/by-name/cu/curlie/bump-golang-x-sys.patch b/pkgs/by-name/cu/curlie/bump-golang-x-sys.patch deleted file mode 100644 index 0de9769d2216..000000000000 --- a/pkgs/by-name/cu/curlie/bump-golang-x-sys.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git a/go.mod b/go.mod -index bebd23f..2ad575f 100644 ---- a/go.mod -+++ b/go.mod -@@ -1,8 +1,8 @@ - module github.com/rs/curlie - - require ( -- golang.org/x/crypto v0.1.0 -- golang.org/x/sys v0.1.0 -+ golang.org/x/crypto v0.0.0-20180524125353-159ae71589f3 -+ golang.org/x/sys v0.0.0-20211110154304-99a53858aa08 - ) - - go 1.13 -diff --git a/go.sum b/go.sum -index 6b2e5c3..452bcf9 100644 ---- a/go.sum -+++ b/go.sum -@@ -1,4 +1,6 @@ - github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -+golang.org/x/crypto v0.0.0-20180524125353-159ae71589f3 h1:mPCVkWhSH1DSDQg4ZwAFYMo/+evpqK1WzBt33b9TXRE= -+golang.org/x/crypto v0.0.0-20180524125353-159ae71589f3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= - golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= - golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= - golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU= -@@ -10,6 +12,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug - golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= - golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= - golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -+golang.org/x/sys v0.0.0-20211110154304-99a53858aa08 h1:WecRHqgE09JBkh/584XIE6PMz5KKE/vER4izNUi30AQ= -+golang.org/x/sys v0.0.0-20211110154304-99a53858aa08/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= - golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= - golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= - golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= --- -2.40.1 diff --git a/pkgs/by-name/cu/curlie/package.nix b/pkgs/by-name/cu/curlie/package.nix index b215a3dfb105..0d26874856cd 100644 --- a/pkgs/by-name/cu/curlie/package.nix +++ b/pkgs/by-name/cu/curlie/package.nix @@ -1,32 +1,28 @@ { + lib, buildGoModule, fetchFromGitHub, - lib, curlie, testers, }: -buildGoModule rec { +buildGoModule (finalAttrs: { pname = "curlie"; - version = "1.7.2"; + version = "1.8.2"; src = fetchFromGitHub { owner = "rs"; - repo = pname; - rev = "v${version}"; - hash = "sha256-YOsq3cB+Pn2eC1Dky3fobBRR7GMxcf/tvWr6i3Vq/BE="; + repo = "curlie"; + tag = "v${finalAttrs.version}"; + hash = "sha256-BlpIDik4hkU4c+KCyAmgUURIN362RDQID/qo6Ojp2Ek="; }; - patches = [ - ./bump-golang-x-sys.patch - ]; - - vendorHash = "sha256-VsPdMUfS4UVem6uJgFISfFHQEKtIumDQktHQFPC1muc="; + vendorHash = "sha256-GBccl8V87u26dtrGpHR+rKqRBqX6lq1SBwfsPvj/+44="; ldflags = [ "-s" "-w" - "-X main.version=${version}" + "-X main.version=${finalAttrs.version}" ]; passthru.tests.version = testers.testVersion { @@ -34,11 +30,11 @@ buildGoModule rec { command = "curlie version"; }; - meta = with lib; { + meta = { description = "Frontend to curl that adds the ease of use of httpie, without compromising on features and performance"; homepage = "https://curlie.io/"; - maintainers = with maintainers; [ ma27 ]; - license = licenses.mit; + maintainers = with lib.maintainers; [ ma27 ]; + license = lib.licenses.mit; mainProgram = "curlie"; }; -} +}) From 8d2b8de0a1f1b6965a4b2019112de3b3c512681d Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sat, 12 Apr 2025 21:45:51 +0200 Subject: [PATCH 14/44] postgresqlPackages: add "asserts" option to postgresqlTestExtension --- .../postgresql/ext/pgvectorscale/package.nix | 60 ++++++++----------- .../postgresql/postgresqlTestExtension.nix | 24 +++++++- 2 files changed, 47 insertions(+), 37 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/pgvectorscale/package.nix b/pkgs/servers/sql/postgresql/ext/pgvectorscale/package.nix index f25c7efc67b5..15b2ad9240bd 100644 --- a/pkgs/servers/sql/postgresql/ext/pgvectorscale/package.nix +++ b/pkgs/servers/sql/postgresql/ext/pgvectorscale/package.nix @@ -35,44 +35,32 @@ buildPgrxExtension (finalAttrs: { passthru.tests.extension = postgresqlTestExtension { inherit (finalAttrs) finalPackage; withPackages = [ "pgvector" ]; - sql = - let - genCheck = - id: compare: expected: - let - vecStr = "[${lib.concatMapStringsSep "," toString compare}]"; - in - '' - ASSERT ( - SELECT id - FROM document_embedding - WHERE ${toString expected} = (embedding <-> '${vecStr}') - ) = ${toString id}, - 'Expected vector of row with ID=${toString id} to have a euclidean distance from ${vecStr} of ${toString expected}'; - ''; - in - '' - CREATE EXTENSION vectorscale CASCADE; - CREATE TABLE IF NOT EXISTS document_embedding ( - id BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, - embedding VECTOR(3) - ); + sql = '' + CREATE EXTENSION vectorscale CASCADE; + CREATE TABLE document_embedding ( + id BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, + embedding VECTOR(3) + ); - INSERT INTO document_embedding (id, embedding) VALUES - (1, '[1,2,4]'), - (2, '[1,2,5]'); + INSERT INTO document_embedding (id, embedding) VALUES + (10, '[1,2,4]'), + (20, '[1,2,5]'); - CREATE INDEX document_embedding_idx ON document_embedding - USING diskann (embedding vector_cosine_ops); - - DO $$ - BEGIN - ${genCheck 1 [ 1 2 3 ] 1} - ${genCheck 2 [ 1 2 3 ] 2} - END; - $$ - LANGUAGE PLPGSQL; - ''; + CREATE INDEX document_embedding_idx ON document_embedding + USING diskann (embedding vector_cosine_ops); + ''; + asserts = [ + { + query = "SELECT id FROM document_embedding WHERE embedding <-> '[1,2,3]' = 1"; + expected = "10"; + description = "Expected vector of row with ID=10 to have an euclidean distance from [1,2,3] of 1."; + } + { + query = "SELECT id FROM document_embedding WHERE embedding <-> '[1,2,3]' = 2"; + expected = "20"; + description = "Expected vector of row with ID=20 to have an euclidean distance from [1,2,3] of 2."; + } + ]; }; meta = { diff --git a/pkgs/servers/sql/postgresql/postgresqlTestExtension.nix b/pkgs/servers/sql/postgresql/postgresqlTestExtension.nix index 468a89a3b2e2..fead59db740c 100644 --- a/pkgs/servers/sql/postgresql/postgresqlTestExtension.nix +++ b/pkgs/servers/sql/postgresql/postgresqlTestExtension.nix @@ -1,11 +1,14 @@ { + lib, postgresql, postgresqlTestHook, stdenvNoCC, }: { + asserts ? [ ], finalPackage, + sql, withPackages ? [ ], ... }@extraArgs: @@ -21,6 +24,20 @@ stdenvNoCC.mkDerivation ( failureHook = "postgresqlStop"; postgresqlTestUserOptions = "LOGIN SUPERUSER"; passAsFile = [ "sql" ]; + sql = + sql + + lib.concatMapStrings ( + { + query, + expected, + description, + }: + '' + DO $$ BEGIN + ASSERT (${query}) = (${expected}), '${lib.replaceStrings [ "'" ] [ "''" ] description}'; + END $$; + '' + ) asserts; checkPhase = '' runHook preCheck psql -a -v ON_ERROR_STOP=1 -f "$sqlPath" @@ -28,5 +45,10 @@ stdenvNoCC.mkDerivation ( ''; installPhase = "touch $out"; } - // extraArgs + // lib.removeAttrs extraArgs [ + "asserts" + "finalPackage" + "sql" + "withPackages" + ] ) From 3ebdd4913c66cd93a4388612b05a49e5e6f0b311 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sat, 12 Apr 2025 21:46:07 +0200 Subject: [PATCH 15/44] postgresqlPackages.pg_byteamagic: improve tests with assertion --- pkgs/servers/sql/postgresql/ext/pg_byteamagic.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/servers/sql/postgresql/ext/pg_byteamagic.nix b/pkgs/servers/sql/postgresql/ext/pg_byteamagic.nix index 8de8850d04eb..83bccbdf5cfa 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_byteamagic.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_byteamagic.nix @@ -29,6 +29,13 @@ postgresqlBuildExtension (finalAttrs: { CREATE EXTENSION byteamagic; SELECT byteamagic_mime('test'); ''; + asserts = [ + { + query = "SELECT byteamagic_mime('test')"; + expected = "'text/plain'"; + description = "`byteamagic_mime(...) should return proper mimetype."; + } + ]; }; }; From debf86e09e2a8c21a22c189baab94ba514356187 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sat, 12 Apr 2025 21:49:59 +0200 Subject: [PATCH 16/44] postgresqlPackages.rum: use postgresqlTestExtension helper --- pkgs/servers/sql/postgresql/ext/rum.nix | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/rum.nix b/pkgs/servers/sql/postgresql/ext/rum.nix index 1124ab9a445a..d6a11d6cec4a 100644 --- a/pkgs/servers/sql/postgresql/ext/rum.nix +++ b/pkgs/servers/sql/postgresql/ext/rum.nix @@ -3,7 +3,7 @@ lib, postgresql, postgresqlBuildExtension, - postgresqlTestHook, + postgresqlTestExtension, stdenv, }: @@ -20,32 +20,13 @@ postgresqlBuildExtension (finalAttrs: { makeFlags = [ "USE_PGXS=1" ]; - passthru.tests.extension = stdenv.mkDerivation { - inherit (finalAttrs) version; - pname = "rum-test"; - - dontUnpack = true; - doCheck = true; - nativeCheckInputs = [ - postgresqlTestHook - (postgresql.withPackages (_: [ finalAttrs.finalPackage ])) - ]; - failureHook = "postgresqlStop"; - postgresqlTestUserOptions = "LOGIN SUPERUSER"; - passAsFile = [ "sql" ]; + passthru.tests.extension = postgresqlTestExtension { + inherit (finalAttrs) finalPackage; sql = '' CREATE EXTENSION rum; CREATE TABLE test_table (t text, v tsvector); CREATE INDEX test_table_rumindex ON test_table USING rum (v rum_tsvector_ops); ''; - checkPhase = '' - runHook preCheck - - psql -a -v ON_ERROR_STOP=1 -f $sqlPath - - runHook postCheck - ''; - installPhase = "touch $out"; }; meta = { From 6cc89cd16e252f86e35004136f1d963b2dedae7f Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sat, 12 Apr 2025 22:12:44 +0200 Subject: [PATCH 17/44] postgresqlPackages.citus: move test from VM to postgresqlTestExtension --- nixos/tests/postgresql/citus.nix | 73 ----------------------- nixos/tests/postgresql/default.nix | 1 - pkgs/servers/sql/postgresql/ext/citus.nix | 28 +++++++++ 3 files changed, 28 insertions(+), 74 deletions(-) delete mode 100644 nixos/tests/postgresql/citus.nix diff --git a/nixos/tests/postgresql/citus.nix b/nixos/tests/postgresql/citus.nix deleted file mode 100644 index 6739b32d5642..000000000000 --- a/nixos/tests/postgresql/citus.nix +++ /dev/null @@ -1,73 +0,0 @@ -{ - pkgs, - makeTest, - genTests, -}: - -let - inherit (pkgs) lib; - - test-sql = pkgs.writeText "postgresql-test" '' - CREATE EXTENSION citus; - - CREATE TABLE examples ( - id bigserial, - shard_key int, - PRIMARY KEY (id, shard_key) - ); - - SELECT create_distributed_table('examples', 'shard_key'); - - INSERT INTO examples (shard_key) SELECT shard % 10 FROM generate_series(1,1000) shard; - ''; - - makeTestFor = - package: - makeTest { - name = "citus-${package.name}"; - meta = with lib.maintainers; { - maintainers = [ typetetris ]; - }; - - nodes.machine = - { ... }: - { - services.postgresql = { - inherit package; - enable = true; - enableJIT = lib.hasInfix "-jit-" package.name; - extensions = - ps: with ps; [ - citus - ]; - settings = { - shared_preload_libraries = "citus"; - }; - }; - }; - - testScript = '' - def check_count(statement, lines): - return 'test $(sudo -u postgres psql postgres -tAc "{}") -eq {}'.format( - statement, lines - ) - - - machine.start() - machine.wait_for_unit("postgresql") - - with subtest("Postgresql with extension citus is available just after unit start"): - machine.succeed( - "sudo -u postgres psql -f ${test-sql}" - ) - - machine.succeed(check_count("SELECT count(*) FROM examples;", 1000)) - - machine.shutdown() - ''; - }; -in -genTests { - inherit makeTestFor; - filter = _: p: !p.pkgs.citus.meta.broken; -} diff --git a/nixos/tests/postgresql/default.nix b/nixos/tests/postgresql/default.nix index 474f54a17201..91f7694208b1 100644 --- a/nixos/tests/postgresql/default.nix +++ b/nixos/tests/postgresql/default.nix @@ -36,7 +36,6 @@ in # extensions anonymizer = importWithArgs ./anonymizer.nix; - citus = importWithArgs ./citus.nix; pgjwt = importWithArgs ./pgjwt.nix; pgvecto-rs = importWithArgs ./pgvecto-rs.nix; timescaledb = importWithArgs ./timescaledb.nix; diff --git a/pkgs/servers/sql/postgresql/ext/citus.nix b/pkgs/servers/sql/postgresql/ext/citus.nix index 9298156aacd5..a0861ae0aebc 100644 --- a/pkgs/servers/sql/postgresql/ext/citus.nix +++ b/pkgs/servers/sql/postgresql/ext/citus.nix @@ -6,6 +6,7 @@ lz4, postgresql, postgresqlBuildExtension, + postgresqlTestExtension, stdenv, }: @@ -35,6 +36,33 @@ postgresqlBuildExtension (finalAttrs: { lz4 ]; + passthru.tests.extension = postgresqlTestExtension { + inherit (finalAttrs) finalPackage; + postgresqlExtraSettings = '' + shared_preload_libraries=citus + ''; + sql = '' + CREATE EXTENSION citus; + + CREATE TABLE examples ( + id bigserial, + shard_key int, + PRIMARY KEY (id, shard_key) + ); + + SELECT create_distributed_table('examples', 'shard_key'); + + INSERT INTO examples (shard_key) SELECT shard % 10 FROM generate_series(1,1000) shard; + ''; + asserts = [ + { + query = "SELECT count(*) FROM examples"; + expected = "1000"; + description = "Distributed table can be queried successfully."; + } + ]; + }; + meta = { # "Our soft policy for Postgres version compatibility is to support Citus' # latest release with Postgres' 3 latest releases." From e06b22b25468c790815aa3e6d897e2a4b6047c1f Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sat, 12 Apr 2025 22:13:13 +0200 Subject: [PATCH 18/44] postgresqlPackages.timescaledb: move test from VM to postgresqlTestExtension --- nixos/tests/postgresql/default.nix | 1 - nixos/tests/postgresql/timescaledb.nix | 98 ------------------- .../sql/postgresql/ext/timescaledb.nix | 46 ++++++++- 3 files changed, 45 insertions(+), 100 deletions(-) delete mode 100644 nixos/tests/postgresql/timescaledb.nix diff --git a/nixos/tests/postgresql/default.nix b/nixos/tests/postgresql/default.nix index 91f7694208b1..dade2542edb7 100644 --- a/nixos/tests/postgresql/default.nix +++ b/nixos/tests/postgresql/default.nix @@ -38,7 +38,6 @@ in anonymizer = importWithArgs ./anonymizer.nix; pgjwt = importWithArgs ./pgjwt.nix; pgvecto-rs = importWithArgs ./pgvecto-rs.nix; - timescaledb = importWithArgs ./timescaledb.nix; tsja = importWithArgs ./tsja.nix; wal2json = importWithArgs ./wal2json.nix; } diff --git a/nixos/tests/postgresql/timescaledb.nix b/nixos/tests/postgresql/timescaledb.nix deleted file mode 100644 index 7ad8b0fcc972..000000000000 --- a/nixos/tests/postgresql/timescaledb.nix +++ /dev/null @@ -1,98 +0,0 @@ -{ - pkgs, - makeTest, - genTests, -}: - -let - inherit (pkgs) lib; - - test-sql = pkgs.writeText "postgresql-test" '' - CREATE EXTENSION timescaledb; - CREATE EXTENSION timescaledb_toolkit; - - CREATE TABLE sth ( - time TIMESTAMPTZ NOT NULL, - value DOUBLE PRECISION - ); - - SELECT create_hypertable('sth', 'time'); - - INSERT INTO sth (time, value) VALUES - ('2003-04-12 04:05:06 America/New_York', 1.0), - ('2003-04-12 04:05:07 America/New_York', 2.0), - ('2003-04-12 04:05:08 America/New_York', 3.0), - ('2003-04-12 04:05:09 America/New_York', 4.0), - ('2003-04-12 04:05:10 America/New_York', 5.0) - ; - - WITH t AS ( - SELECT - time_bucket('1 day'::interval, time) AS dt, - stats_agg(value) AS stats - FROM sth - GROUP BY time_bucket('1 day'::interval, time) - ) - SELECT - average(stats) - FROM t; - - SELECT * FROM sth; - ''; - - makeTestFor = - package: - makeTest { - name = "timescaledb-${package.name}"; - meta = with lib.maintainers; { - maintainers = [ typetetris ]; - }; - - nodes.machine = - { ... }: - { - services.postgresql = { - inherit package; - enable = true; - enableJIT = lib.hasInfix "-jit-" package.name; - extensions = - ps: with ps; [ - timescaledb - timescaledb_toolkit - ]; - settings = { - shared_preload_libraries = "timescaledb, timescaledb_toolkit"; - }; - }; - }; - - testScript = '' - def check_count(statement, lines): - return 'test $(sudo -u postgres psql postgres -tAc "{}"|wc -l) -eq {}'.format( - statement, lines - ) - - - machine.start() - machine.wait_for_unit("postgresql") - - with subtest("Postgresql with extensions timescaledb and timescaledb_toolkit is available just after unit start"): - machine.succeed( - "sudo -u postgres psql -f ${test-sql}" - ) - - machine.fail(check_count("SELECT * FROM sth;", 3)) - machine.succeed(check_count("SELECT * FROM sth;", 5)) - machine.fail(check_count("SELECT * FROM sth;", 4)) - - machine.shutdown() - ''; - }; -in -# Not run by default, because this requires allowUnfree. -# To run these tests: -# NIXPKGS_ALLOW_UNFREE=1 nix-build -A nixosTests.postgresql.timescaledb -lib.dontRecurseIntoAttrs (genTests { - inherit makeTestFor; - filter = _: p: !p.pkgs.timescaledb.meta.broken; -}) diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix index 579706e1afa0..5997b18410bb 100644 --- a/pkgs/servers/sql/postgresql/ext/timescaledb.nix +++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix @@ -7,6 +7,7 @@ openssl, postgresql, postgresqlBuildExtension, + postgresqlTestExtension, stdenv, enableUnfree ? true, @@ -50,7 +51,50 @@ postgresqlBuildExtension (finalAttrs: { done ''; - passthru.tests = nixosTests.postgresql.timescaledb.passthru.override postgresql; + passthru.tests.extension = postgresqlTestExtension { + inherit (finalAttrs) finalPackage; + withPackages = [ "timescaledb_toolkit" ]; + postgresqlExtraSettings = '' + shared_preload_libraries='timescaledb,timescaledb_toolkit' + ''; + sql = '' + CREATE EXTENSION timescaledb; + CREATE EXTENSION timescaledb_toolkit; + + CREATE TABLE sth ( + time TIMESTAMPTZ NOT NULL, + value DOUBLE PRECISION + ); + + SELECT create_hypertable('sth', 'time'); + + INSERT INTO sth (time, value) VALUES + ('2003-04-12 04:05:06 America/New_York', 1.0), + ('2003-04-12 04:05:07 America/New_York', 2.0), + ('2003-04-12 04:05:08 America/New_York', 3.0), + ('2003-04-12 04:05:09 America/New_York', 4.0), + ('2003-04-12 04:05:10 America/New_York', 5.0) + ; + + WITH t AS ( + SELECT + time_bucket('1 day'::interval, time) AS dt, + stats_agg(value) AS stats + FROM sth + GROUP BY time_bucket('1 day'::interval, time) + ) + SELECT + average(stats) + FROM t; + ''; + asserts = [ + { + query = "SELECT count(*) FROM sth"; + expected = "5"; + description = "hypertable can be queried successfully."; + } + ]; + }; meta = { description = "Scales PostgreSQL for time-series data via automatic partitioning across time and space"; From e578ccc24344878382af4f0e320ef8d7e3bdb3aa Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Mon, 21 Apr 2025 11:34:25 +0100 Subject: [PATCH 19/44] =?UTF-8?q?prometheus:=203.1.0=20=E2=86=92=203.3.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/by-name/pr/prometheus/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/pr/prometheus/package.nix b/pkgs/by-name/pr/prometheus/package.nix index 0908777635bb..ba292c344d7e 100644 --- a/pkgs/by-name/pr/prometheus/package.nix +++ b/pkgs/by-name/pr/prometheus/package.nix @@ -32,10 +32,10 @@ }: let - version = "3.1.0"; + version = "3.3.0"; webUiStatic = fetchurl { url = "https://github.com/prometheus/prometheus/releases/download/v${version}/prometheus-web-ui-${version}.tar.gz"; - hash = "sha256-05DaaDIFtADnkLFqdHe5eUvo6LRz6BduMvGVmzOeurM="; + hash = "sha256-hF8eLIaef4Z5ZGyjqX1Wyd/DD4Bk571ODQ11b+nHTTA="; }; in buildGoModule rec { @@ -52,10 +52,10 @@ buildGoModule rec { owner = "prometheus"; repo = "prometheus"; tag = "v${version}"; - hash = "sha256-Q3f0L6cRVQRL1AHgUI3VNbMG9eTfcApbXfSjOTHr7Go="; + hash = "sha256-WZR6c7uN8I+egoqABaWay0MfA3tv3O74jlrkC/1zt10="; }; - vendorHash = "sha256-vQwBnSxoyIYTeWLk3GD9pKDuUjjsMfwPptgyVnzcTok="; + vendorHash = "sha256-xBopACaDrtGveVoza/WIge9m5bBAxnZC+qtsuAF20J4="; excludedPackages = [ "documentation/prometheus-mixin" From 3af009b416db3ced8119bf757b2af860d82c0047 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sat, 12 Apr 2025 22:13:30 +0200 Subject: [PATCH 20/44] postgresqlPackages.tsja: move test from VM to postgresqlTestExtension --- nixos/tests/postgresql/default.nix | 1 - nixos/tests/postgresql/tsja.nix | 48 ------------------------ pkgs/servers/sql/postgresql/ext/tsja.nix | 15 +++++++- 3 files changed, 14 insertions(+), 50 deletions(-) delete mode 100644 nixos/tests/postgresql/tsja.nix diff --git a/nixos/tests/postgresql/default.nix b/nixos/tests/postgresql/default.nix index dade2542edb7..8dd0619570cc 100644 --- a/nixos/tests/postgresql/default.nix +++ b/nixos/tests/postgresql/default.nix @@ -38,6 +38,5 @@ in anonymizer = importWithArgs ./anonymizer.nix; pgjwt = importWithArgs ./pgjwt.nix; pgvecto-rs = importWithArgs ./pgvecto-rs.nix; - tsja = importWithArgs ./tsja.nix; wal2json = importWithArgs ./wal2json.nix; } diff --git a/nixos/tests/postgresql/tsja.nix b/nixos/tests/postgresql/tsja.nix deleted file mode 100644 index 4cc5bd124139..000000000000 --- a/nixos/tests/postgresql/tsja.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ - pkgs, - makeTest, - genTests, -}: - -let - inherit (pkgs) lib; - - makeTestFor = - package: - makeTest { - name = "tsja-${package.name}"; - meta = { - maintainers = with lib.maintainers; [ chayleaf ]; - }; - - nodes.master = - { ... }: - { - services.postgresql = { - inherit package; - enable = true; - enableJIT = lib.hasInfix "-jit-" package.name; - extensions = - ps: with ps; [ - tsja - ]; - }; - }; - - testScript = '' - start_all() - master.wait_for_unit("postgresql") - master.succeed("sudo -u postgres psql -f /run/current-system/sw/share/postgresql/extension/libtsja_dbinit.sql") - # make sure "ๆ—ฅๆœฌ่ชž" is parsed as a separate lexeme - master.succeed(""" - sudo -u postgres \\ - psql -c "SELECT * FROM ts_debug('japanese', 'PostgreSQLใงๆ—ฅๆœฌ่ชžใฎใƒ†ใ‚ญใ‚นใƒˆๆคœ็ดขใŒใงใใพใ™ใ€‚')" \\ - | grep "{ๆ—ฅๆœฌ่ชž}" - """) - ''; - }; -in -genTests { - inherit makeTestFor; - filter = _: p: !p.pkgs.tsja.meta.broken; -} diff --git a/pkgs/servers/sql/postgresql/ext/tsja.nix b/pkgs/servers/sql/postgresql/ext/tsja.nix index 74517651b4b7..f9ea021b76b2 100644 --- a/pkgs/servers/sql/postgresql/ext/tsja.nix +++ b/pkgs/servers/sql/postgresql/ext/tsja.nix @@ -4,6 +4,7 @@ mecab, nixosTests, postgresql, + postgresqlTestExtension, stdenv, }: @@ -35,7 +36,19 @@ stdenv.mkDerivation (finalAttrs: { mv dbinit_libtsja.txt $out/share/postgresql/extension/libtsja_dbinit.sql ''; - passthru.tests = nixosTests.postgresql.tsja.passthru.override postgresql; + passthru.tests.extension = postgresqlTestExtension { + inherit (finalAttrs) finalPackage; + sql = '' + \i ${finalAttrs.finalPackage}/share/postgresql/extension/libtsja_dbinit.sql + ''; + asserts = [ + { + query = "EXISTS (SELECT 1 FROM ts_debug('japanese', 'PostgreSQLใงๆ—ฅๆœฌ่ชžใฎใƒ†ใ‚ญใ‚นใƒˆๆคœ็ดขใŒใงใใพใ™ใ€‚') WHERE lexemes = '{ๆ—ฅๆœฌ่ชž}')"; + expected = "true"; + description = "make sure 'ๆ—ฅๆœฌ่ชž' is parsed as a separate lexeme"; + } + ]; + }; meta = { description = "PostgreSQL extension implementing Japanese text search"; From 8ebdf3362434e2ed0c0786dc22af2a436e4a0d47 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sat, 12 Apr 2025 22:46:06 +0200 Subject: [PATCH 21/44] postgresqlPackages.postgis: use postgresqlTestExtension's asserts option --- pkgs/servers/sql/postgresql/ext/postgis.nix | 29 +++++++++------------ 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/postgis.nix b/pkgs/servers/sql/postgresql/ext/postgis.nix index 2317105dd130..067409a230ff 100644 --- a/pkgs/servers/sql/postgresql/ext/postgis.nix +++ b/pkgs/servers/sql/postgresql/ext/postgis.nix @@ -125,31 +125,15 @@ postgresqlBuildExtension (finalAttrs: { passthru.tests.extension = postgresqlTestExtension { inherit (finalAttrs) finalPackage; sql = - let - expectedVersion = "${lib.versions.major finalAttrs.version}.${lib.versions.minor finalAttrs.version} USE_GEOS=1 USE_PROJ=1 USE_STATS=1"; - in '' CREATE EXTENSION postgis; CREATE EXTENSION postgis_raster; CREATE EXTENSION postgis_topology; - select postgis_version(); - do $$ - begin - if postgis_version() <> '${expectedVersion}' then - raise '"%" does not match "${expectedVersion}"', postgis_version(); - end if; - end$$; -- st_makepoint goes through c code select st_makepoint(1, 1); '' + lib.optionalString withSfcgal '' CREATE EXTENSION postgis_sfcgal; - do $$ - begin - if postgis_sfcgal_version() <> '${sfcgal.version}' then - raise '"%" does not match "${sfcgal.version}"', postgis_sfcgal_version(); - end if; - end$$; CREATE TABLE geometries ( name varchar, geom geometry(PolygonZ) NOT NULL @@ -161,6 +145,19 @@ postgresqlBuildExtension (finalAttrs: { SELECT name from geometries where cg_isplanar(geom); ''; + asserts = + [ + { + query = "postgis_version()"; + expected = "'${lib.versions.major finalAttrs.version}.${lib.versions.minor finalAttrs.version} USE_GEOS=1 USE_PROJ=1 USE_STATS=1'"; + description = "postgis_version() returns correct values."; + } + ] + ++ lib.optional withSfcgal { + query = "postgis_sfcgal_version()"; + expected = "'${sfcgal.version}'"; + description = "postgis_sfcgal_version() returns correct value."; + }; }; meta = { From 722e4bf4ffa4ba34fb8dadfabfe073664eb6ebce Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Mon, 21 Apr 2025 12:56:19 +0200 Subject: [PATCH 22/44] postgresqlPackages.pgvecto-rs: move test from VM to postgresqlTestExtension --- nixos/tests/postgresql/default.nix | 1 - nixos/tests/postgresql/pgvecto-rs.nix | 79 ------------------- .../sql/postgresql/ext/pgvecto-rs/package.nix | 35 +++++++- 3 files changed, 34 insertions(+), 81 deletions(-) delete mode 100644 nixos/tests/postgresql/pgvecto-rs.nix diff --git a/nixos/tests/postgresql/default.nix b/nixos/tests/postgresql/default.nix index 8dd0619570cc..f7266c2e9db2 100644 --- a/nixos/tests/postgresql/default.nix +++ b/nixos/tests/postgresql/default.nix @@ -37,6 +37,5 @@ in # extensions anonymizer = importWithArgs ./anonymizer.nix; pgjwt = importWithArgs ./pgjwt.nix; - pgvecto-rs = importWithArgs ./pgvecto-rs.nix; wal2json = importWithArgs ./wal2json.nix; } diff --git a/nixos/tests/postgresql/pgvecto-rs.nix b/nixos/tests/postgresql/pgvecto-rs.nix deleted file mode 100644 index 506ef921acb7..000000000000 --- a/nixos/tests/postgresql/pgvecto-rs.nix +++ /dev/null @@ -1,79 +0,0 @@ -{ - pkgs, - makeTest, - genTests, -}: - -let - inherit (pkgs) lib; - - # Test cases from https://docs.vectorchord.ai/use-case/hybrid-search.html - test-sql = pkgs.writeText "postgresql-test" '' - CREATE EXTENSION vectors; - - CREATE TABLE items ( - id bigserial PRIMARY KEY, - content text NOT NULL, - embedding vectors.vector(3) NOT NULL -- 3 dimensions - ); - - INSERT INTO items (content, embedding) VALUES - ('a fat cat sat on a mat and ate a fat rat', '[1, 2, 3]'), - ('a fat dog sat on a mat and ate a fat rat', '[4, 5, 6]'), - ('a thin cat sat on a mat and ate a thin rat', '[7, 8, 9]'), - ('a thin dog sat on a mat and ate a thin rat', '[10, 11, 12]'); - ''; - - makeTestFor = - package: - makeTest { - name = "pgvecto-rs-${package.name}"; - meta = with lib.maintainers; { - maintainers = [ diogotcorreia ]; - }; - - nodes.machine = - { ... }: - { - services.postgresql = { - inherit package; - enable = true; - enableJIT = lib.hasInfix "-jit-" package.name; - extensions = - ps: with ps; [ - pgvecto-rs - ]; - settings.shared_preload_libraries = "vectors"; - }; - }; - - testScript = - { nodes, ... }: - let - inherit (nodes.machine.services.postgresql.package.pkgs) pgvecto-rs; - in - '' - def check_count(statement, lines): - return 'test $(sudo -u postgres psql postgres -tAc "{}"|wc -l) -eq {}'.format( - statement, lines - ) - - - machine.start() - machine.wait_for_unit("postgresql") - - with subtest("Postgresql with extension vectors is available just after unit start"): - machine.succeed(check_count("SELECT * FROM pg_available_extensions WHERE name = 'vectors' AND default_version = '${pgvecto-rs.version}';", 1)) - - machine.succeed("sudo -u postgres psql -f ${test-sql}") - - machine.succeed(check_count("SELECT content, embedding FROM items WHERE to_tsvector('english', content) @@ 'cat & rat'::tsquery;", 2)) - - machine.shutdown() - ''; - }; -in -genTests { - inherit makeTestFor; - filter = _: p: !p.pkgs.pgvecto-rs.meta.broken; -} diff --git a/pkgs/servers/sql/postgresql/ext/pgvecto-rs/package.nix b/pkgs/servers/sql/postgresql/ext/pgvecto-rs/package.nix index 1f0b4046fcd5..3f5be0b2e4a3 100644 --- a/pkgs/servers/sql/postgresql/ext/pgvecto-rs/package.nix +++ b/pkgs/servers/sql/postgresql/ext/pgvecto-rs/package.nix @@ -9,6 +9,7 @@ openssl, pkg-config, postgresql, + postgresqlTestExtension, replaceVars, rustPlatform, }: @@ -80,7 +81,39 @@ in passthru = { updateScript = nix-update-script { }; - tests = nixosTests.postgresql.pgvecto-rs.passthru.override postgresql; + tests.extension = postgresqlTestExtension { + inherit (finalAttrs) finalPackage; + postgresqlExtraSettings = '' + shared_preload_libraries='vectors' + ''; + sql = '' + CREATE EXTENSION vectors; + + CREATE TABLE items ( + id bigserial PRIMARY KEY, + content text NOT NULL, + embedding vectors.vector(3) NOT NULL -- 3 dimensions + ); + + INSERT INTO items (content, embedding) VALUES + ('a fat cat sat on a mat and ate a fat rat', '[1, 2, 3]'), + ('a fat dog sat on a mat and ate a fat rat', '[4, 5, 6]'), + ('a thin cat sat on a mat and ate a thin rat', '[7, 8, 9]'), + ('a thin dog sat on a mat and ate a thin rat', '[10, 11, 12]'); + ''; + asserts = [ + { + query = "SELECT default_version FROM pg_available_extensions WHERE name = 'vectors'"; + expected = "'${finalAttrs.version}'"; + description = "Extension vectors has correct version."; + } + { + query = "SELECT COUNT(embedding) FROM items WHERE to_tsvector('english', content) @@ 'cat & rat'::tsquery"; + expected = "2"; + description = "Stores and returns vectors."; + } + ]; + }; }; meta = { From d091c9452b27c93a1af7443e07345c332f8ad767 Mon Sep 17 00:00:00 2001 From: patka Date: Mon, 21 Apr 2025 18:00:26 +0200 Subject: [PATCH 23/44] fntsample: drop There is no nixpkgs maintainer for this package (there never was...). Upstream hasn't seen any activity for the last 4 years. Came across this while trying to upgrade pcre to pcre2, which isn't possible for this package. --- pkgs/by-name/fn/fntsample/package.nix | 87 --------------------------- pkgs/top-level/aliases.nix | 1 + 2 files changed, 1 insertion(+), 87 deletions(-) delete mode 100644 pkgs/by-name/fn/fntsample/package.nix diff --git a/pkgs/by-name/fn/fntsample/package.nix b/pkgs/by-name/fn/fntsample/package.nix deleted file mode 100644 index 6790f71a9503..000000000000 --- a/pkgs/by-name/fn/fntsample/package.nix +++ /dev/null @@ -1,87 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - fetchFromGitHub, - cmake, - pkg-config, - cairo, - fontconfig, - freetype, - glib, - libXdmcp, - makeWrapper, - pango, - pcre, - perlPackages, -}: - -let - ucd-blocks = fetchurl { - url = "https://www.unicode.org/Public/15.0.0/ucd/Blocks.txt"; - hash = "sha256-Up3F0PY4bVLy9W4AS7+rSM4tWH7qnTi6VGxAUkkb2CA="; - }; -in -stdenv.mkDerivation rec { - pname = "fntsample"; - version = "5.4"; - - src = fetchFromGitHub { - owner = "eugmes"; - repo = "fntsample"; - rev = "release/${version}"; - hash = "sha256-O5RT68wPWwzCb51JZWWNcIubWoM7NZw/MRiaHXPDmF0="; - }; - - cmakeFlags = [ - "-DUNICODE_BLOCKS=${ucd-blocks.outPath}" - ]; - - outputs = [ - "out" - "man" - ]; - - nativeBuildInputs = [ - cmake - makeWrapper - pkg-config - ]; - - buildInputs = [ - cairo - fontconfig - freetype - glib - libXdmcp - pango - perlPackages.perl - pcre - ]; - - postFixup = - let - perlPath = - with perlPackages; - makePerlPath [ - ExporterTiny - ListMoreUtils - PDFAPI2 - libintl-perl - ]; - in - '' - for cmd in pdfoutline pdf-extract-outline; do - wrapProgram "$out/bin/$cmd" --prefix PERL5LIB : "${perlPath}" - done - ''; - - meta = with lib; { - homepage = "https://github.com/eugmes/fntsample"; - description = "PDF and PostScript font samples generator"; - license = licenses.gpl3Plus; - maintainers = [ ]; - platforms = platforms.unix; - }; -} -# TODO: factor/package ucd-blocks diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index efce987e47f3..c1d2cf078984 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -637,6 +637,7 @@ mapAliases { flutter323 = throw "flutter323 has been removed because it isn't updated anymore, and no packages in nixpkgs use it. If you still need it, use flutter.mkFlutter to get a custom version"; # Added 2024-10-05 fluxus = throw "fluxus has been removed because it hasn't been updated in 9 years and depended on insecure Racket 7.9"; # Added 2024-12-06 fmt_8 = throw "fmt_8 has been removed as it is obsolete and was no longer used in the tree"; # Added 2024-11-12 + fntsample = throw "fntsample has been removed as it is unmaintained upstream"; # Added 2025-04-21 foldingathome = throw "'foldingathome' has been renamed to/replaced by 'fahclient'"; # Converted to throw 2024-10-17 forgejo-actions-runner = forgejo-runner; # Added 2024-04-04 fornalder = throw "'fornalder' has been removed as it is unmaintained upstream"; # Added 2025-01-25 From c414aeaeaf70ed8887bf7b721d7c947b385a7efd Mon Sep 17 00:00:00 2001 From: nikstur Date: Mon, 21 Apr 2025 22:06:24 +0200 Subject: [PATCH 24/44] lon: 0.2.0 -> 0.3.0 --- pkgs/by-name/lo/lon/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/lo/lon/package.nix b/pkgs/by-name/lo/lon/package.nix index 9fa33e864e1f..f2d36d41f957 100644 --- a/pkgs/by-name/lo/lon/package.nix +++ b/pkgs/by-name/lo/lon/package.nix @@ -6,19 +6,19 @@ rustPlatform.buildRustPackage rec { pname = "lon"; - version = "0.2.0"; + version = "0.3.0"; src = fetchFromGitHub { owner = "nikstur"; repo = "lon"; tag = version; - hash = "sha256-VGvK0ahBl440NMs03WqmP7T4a1DP13yfX47YI84rlGU="; + hash = "sha256-LtZhEfdO/kTbeDG/lhiH+9QPw3kgov72Xn1NelgNsE0="; }; sourceRoot = "source/rust/lon"; useFetchCargoVendor = true; - cargoHash = "sha256-YzQ6A1dH2D56/3inAmsE6G5rCnpWhDawxk6+FMWfhkc="; + cargoHash = "sha256-cr1+WBlq/uuOVDIbgN5UhsQ0ISLDYOxyGRnQ6ntEH5w="; meta = { description = "Lock & update Nix dependencies"; From 9dc10e198f63d643d2888f385859adcf8b297fa8 Mon Sep 17 00:00:00 2001 From: nikstur Date: Mon, 21 Apr 2025 22:06:58 +0200 Subject: [PATCH 25/44] lon: add myself (nikstur) as maintainer --- pkgs/by-name/lo/lon/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/lo/lon/package.nix b/pkgs/by-name/lo/lon/package.nix index f2d36d41f957..9bf790e13515 100644 --- a/pkgs/by-name/lo/lon/package.nix +++ b/pkgs/by-name/lo/lon/package.nix @@ -23,7 +23,10 @@ rustPlatform.buildRustPackage rec { meta = { description = "Lock & update Nix dependencies"; homepage = "https://github.com/nikstur/lon"; - maintainers = with lib.maintainers; [ ma27 ]; + maintainers = with lib.maintainers; [ + ma27 + nikstur + ]; license = lib.licenses.mit; mainProgram = "lon"; }; From 8f51d81fbb1af9dafe0234b29990261a1818d4e5 Mon Sep 17 00:00:00 2001 From: nikstur Date: Mon, 21 Apr 2025 22:11:00 +0200 Subject: [PATCH 26/44] long: add changelog --- pkgs/by-name/lo/lon/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/lo/lon/package.nix b/pkgs/by-name/lo/lon/package.nix index 9bf790e13515..9e99925cb537 100644 --- a/pkgs/by-name/lo/lon/package.nix +++ b/pkgs/by-name/lo/lon/package.nix @@ -23,6 +23,7 @@ rustPlatform.buildRustPackage rec { meta = { description = "Lock & update Nix dependencies"; homepage = "https://github.com/nikstur/lon"; + changelog = "https://github.com/nikstur/lon/blob/${version}/CHANGELOG.md"; maintainers = with lib.maintainers; [ ma27 nikstur From fa86a1c41921c3e081db17c59dc53b6be32b26ec Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Apr 2025 00:48:54 +0000 Subject: [PATCH 27/44] python312Packages.pdoc: 15.0.2 -> 15.0.3 --- pkgs/development/python-modules/pdoc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pdoc/default.nix b/pkgs/development/python-modules/pdoc/default.nix index 32008e7c3ac1..b679db5d6d91 100644 --- a/pkgs/development/python-modules/pdoc/default.nix +++ b/pkgs/development/python-modules/pdoc/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "pdoc"; - version = "15.0.2"; + version = "15.0.3"; disabled = pythonOlder "3.9"; pyproject = true; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "mitmproxy"; repo = "pdoc"; rev = "v${version}"; - hash = "sha256-5NOoe8TEqK+Zypv5eR/YLGwOmcigiP3RnuWQ6uC+DSI="; + hash = "sha256-qr0K+ZOmEPWMkm/cPisdw6gSPZI4FvICaKQNt/sef40="; }; build-system = [ setuptools ]; From e433aff705028433ae0f00b9ca98653856077466 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Apr 2025 01:44:37 +0000 Subject: [PATCH 28/44] pgbackrest: 2.54.2 -> 2.55.0 --- pkgs/by-name/pg/pgbackrest/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pg/pgbackrest/package.nix b/pkgs/by-name/pg/pgbackrest/package.nix index 49a072154414..b6b3567a5231 100644 --- a/pkgs/by-name/pg/pgbackrest/package.nix +++ b/pkgs/by-name/pg/pgbackrest/package.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation rec { pname = "pgbackrest"; - version = "2.54.2"; + version = "2.55.0"; src = fetchFromGitHub { owner = "pgbackrest"; repo = "pgbackrest"; rev = "release/${version}"; - sha256 = "sha256-Q0WZLbtn+qJLs2jop5S92NFC6QBtCQnU3AEEcm6MSVI="; + sha256 = "sha256-w4jgIyZPglmI0yj8eyoIvFgNX7izpo3lBixuv7qSAxM="; }; strictDeps = true; From 61319af6a41acf84583283dea2b63026e7dd3be8 Mon Sep 17 00:00:00 2001 From: Martin Rubli Date: Tue, 22 Apr 2025 09:30:48 +0200 Subject: [PATCH 29/44] stm32cubemx: fix broken software package database update For some reason, STM32CubeMX initially creates one of its database files with missing user-write permissions. When this happens, refreshing the package list in the Embedded Software Packages Manager seems to succeed but new packages don't become available. (As of the time of writing, this is the case with TouchGFX 4.25.0, which fails to appear, and 4.24.2 showing as the latest version.) To work around this problem, we run chmod u+w $HOME/.stm32cubemx/thirdparties/db/updaterThirdParties.xml when the startup wrapper script recognizes this problem. --- pkgs/by-name/st/stm32cubemx/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/st/stm32cubemx/package.nix b/pkgs/by-name/st/stm32cubemx/package.nix index d7966caec68e..bd0250accc8e 100644 --- a/pkgs/by-name/st/stm32cubemx/package.nix +++ b/pkgs/by-name/st/stm32cubemx/package.nix @@ -52,6 +52,11 @@ let cat << EOF > $out/bin/${pname} #!${stdenvNoCC.shell} + updater_xml="\$HOME/.stm32cubemx/thirdparties/db/updaterThirdParties.xml" + if [ -e "\$updater_xml" ] && [ ! -w "\$updater_xml" ]; then + echo "Warning: Unwritable \$updater_xml prevents CubeMX software packages from working correctly. Fixing that." + (set -x; chmod u+w "\$updater_xml") + fi ${jdk21}/bin/java -jar $out/opt/STM32CubeMX/STM32CubeMX "\$@" EOF chmod +x $out/bin/${pname} From 1c40626d789c61dbe64d9d55a42cd0ee9e833b26 Mon Sep 17 00:00:00 2001 From: Piotr Kwiecinski <2151333+piotrkwiecinski@users.noreply.github.com> Date: Sat, 19 Apr 2025 23:44:16 +0200 Subject: [PATCH 30/44] nixosTests.haproxy: migrate to runTest Part of #386873 --- nixos/tests/all-tests.nix | 2 +- nixos/tests/haproxy.nix | 232 +++++++++++++++++++------------------- 2 files changed, 116 insertions(+), 118 deletions(-) diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 22ff078c1cf5..bce5efb9346f 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -597,7 +597,7 @@ in }; haka = handleTest ./haka.nix { }; haste-server = handleTest ./haste-server.nix { }; - haproxy = handleTest ./haproxy.nix { }; + haproxy = runTest ./haproxy.nix; hardened = handleTest ./hardened.nix { }; harmonia = runTest ./harmonia.nix; headscale = handleTest ./headscale.nix { }; diff --git a/nixos/tests/haproxy.nix b/nixos/tests/haproxy.nix index b3cc19696d7c..bd8b9b288a22 100644 --- a/nixos/tests/haproxy.nix +++ b/nixos/tests/haproxy.nix @@ -1,140 +1,138 @@ -import ./make-test-python.nix ( - { lib, pkgs, ... }: - { - name = "haproxy"; - nodes = { - server = - { ... }: - { - services.haproxy = { - enable = true; - config = '' - global - limited-quic +{ lib, hostPkgs, ... }: +{ + name = "haproxy"; + nodes = { + server = + { pkgs, ... }: + { + services.haproxy = { + enable = true; + config = '' + global + limited-quic - defaults - mode http - timeout connect 10s - timeout client 10s - timeout server 10s + defaults + mode http + timeout connect 10s + timeout client 10s + timeout server 10s - log /dev/log local0 debug err - option logasap - option httplog - option httpslog + log /dev/log local0 debug err + option logasap + option httplog + option httpslog - backend http_server - server httpd [::1]:8000 alpn http/1.1 + backend http_server + server httpd [::1]:8000 alpn http/1.1 - frontend http - bind :80 - bind :443 ssl strict-sni crt /etc/ssl/fullchain.pem alpn h2,http/1.1 - bind quic4@:443 ssl strict-sni crt /etc/ssl/fullchain.pem alpn h3 allow-0rtt + frontend http + bind :80 + bind :443 ssl strict-sni crt /etc/ssl/fullchain.pem alpn h2,http/1.1 + bind quic4@:443 ssl strict-sni crt /etc/ssl/fullchain.pem alpn h3 allow-0rtt - http-after-response add-header alt-svc 'h3=":443"; ma=60' if { ssl_fc } + http-after-response add-header alt-svc 'h3=":443"; ma=60' if { ssl_fc } - http-request use-service prometheus-exporter if { path /metrics } - use_backend http_server + http-request use-service prometheus-exporter if { path /metrics } + use_backend http_server - frontend http-cert-auth - bind :8443 ssl strict-sni crt /etc/ssl/fullchain.pem verify required ca-file /etc/ssl/cacert.crt - bind quic4@:8443 ssl strict-sni crt /etc/ssl/fullchain.pem verify required ca-file /etc/ssl/cacert.crt alpn h3 + frontend http-cert-auth + bind :8443 ssl strict-sni crt /etc/ssl/fullchain.pem verify required ca-file /etc/ssl/cacert.crt + bind quic4@:8443 ssl strict-sni crt /etc/ssl/fullchain.pem verify required ca-file /etc/ssl/cacert.crt alpn h3 - use_backend http_server - ''; - }; - services.httpd = { - enable = true; - virtualHosts.localhost = { - documentRoot = pkgs.writeTextDir "index.txt" "We are all good!"; - adminAddr = "notme@yourhost.local"; - listen = [ - { - ip = "::1"; - port = 8000; - } - ]; - }; - }; - networking.firewall.allowedTCPPorts = [ - 80 - 443 - 8443 - ]; - networking.firewall.allowedUDPPorts = [ - 443 - 8443 - ]; + use_backend http_server + ''; }; - client = - { ... }: - { - environment.systemPackages = [ pkgs.curlHTTP3 ]; + services.httpd = { + enable = true; + virtualHosts.localhost = { + documentRoot = pkgs.writeTextDir "index.txt" "We are all good!"; + adminAddr = "notme@yourhost.local"; + listen = [ + { + ip = "::1"; + port = 8000; + } + ]; + }; }; - }; - testScript = '' - # Helpers - def cmd(command): - print(f"+{command}") - r = os.system(command) - if r != 0: - raise Exception(f"Command {command} failed with exit code {r}") + networking.firewall.allowedTCPPorts = [ + 80 + 443 + 8443 + ]; + networking.firewall.allowedUDPPorts = [ + 443 + 8443 + ]; + }; + client = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.curlHTTP3 ]; + }; + }; + testScript = '' + # Helpers + def cmd(command): + print(f"+{command}") + r = os.system(command) + if r != 0: + raise Exception(f"Command {command} failed with exit code {r}") - def openssl(command): - cmd(f"${pkgs.openssl}/bin/openssl {command}") + def openssl(command): + cmd(f"${lib.getExe hostPkgs.openssl} {command}") - # Generate CA. - openssl("req -new -newkey rsa:4096 -nodes -x509 -days 7 -subj '/C=ZZ/ST=Cloud/L=Unspecified/O=NixOS/OU=Tests/CN=CA Certificate' -keyout cacert.key -out cacert.crt") + # Generate CA. + openssl("req -new -newkey rsa:4096 -nodes -x509 -days 7 -subj '/C=ZZ/ST=Cloud/L=Unspecified/O=NixOS/OU=Tests/CN=CA Certificate' -keyout cacert.key -out cacert.crt") - # Generate and sign Server. - openssl("req -newkey rsa:4096 -nodes -subj '/CN=server/OU=Tests/O=NixOS' -keyout server.key -out server.csr") - openssl("x509 -req -in server.csr -out server.crt -CA cacert.crt -CAkey cacert.key -days 7") - cmd("cat server.crt server.key > fullchain.pem") + # Generate and sign Server. + openssl("req -newkey rsa:4096 -nodes -subj '/CN=server/OU=Tests/O=NixOS' -keyout server.key -out server.csr") + openssl("x509 -req -in server.csr -out server.crt -CA cacert.crt -CAkey cacert.key -days 7") + cmd("cat server.crt server.key > fullchain.pem") - # Generate and sign Client. - openssl("req -newkey rsa:4096 -nodes -subj '/CN=client/OU=Tests/O=NixOS' -keyout client.key -out client.csr") - openssl("x509 -req -in client.csr -out client.crt -CA cacert.crt -CAkey cacert.key -days 7") - cmd("cat client.crt client.key > client.pem") + # Generate and sign Client. + openssl("req -newkey rsa:4096 -nodes -subj '/CN=client/OU=Tests/O=NixOS' -keyout client.key -out client.csr") + openssl("x509 -req -in client.csr -out client.crt -CA cacert.crt -CAkey cacert.key -days 7") + cmd("cat client.crt client.key > client.pem") - # Start the actual test. - start_all() - server.copy_from_host("fullchain.pem", "/etc/ssl/fullchain.pem") - server.copy_from_host("cacert.crt", "/etc/ssl/cacert.crt") - server.succeed("chmod 0644 /etc/ssl/fullchain.pem /etc/ssl/cacert.crt") + # Start the actual test. + start_all() + server.copy_from_host("fullchain.pem", "/etc/ssl/fullchain.pem") + server.copy_from_host("cacert.crt", "/etc/ssl/cacert.crt") + server.succeed("chmod 0644 /etc/ssl/fullchain.pem /etc/ssl/cacert.crt") - client.copy_from_host("cacert.crt", "/etc/ssl/cacert.crt") - client.copy_from_host("client.pem", "/root/client.pem") + client.copy_from_host("cacert.crt", "/etc/ssl/cacert.crt") + client.copy_from_host("client.pem", "/root/client.pem") - server.wait_for_unit("multi-user.target") - server.wait_for_unit("haproxy.service") - server.wait_for_unit("httpd.service") + server.wait_for_unit("multi-user.target") + server.wait_for_unit("haproxy.service") + server.wait_for_unit("httpd.service") - assert "We are all good!" in client.succeed("curl -f http://server/index.txt") - assert "haproxy_process_pool_allocated_bytes" in client.succeed("curl -f http://server/metrics") + assert "We are all good!" in client.succeed("curl -f http://server/index.txt") + assert "haproxy_process_pool_allocated_bytes" in client.succeed("curl -f http://server/metrics") - with subtest("https"): - assert "We are all good!" in client.succeed("curl -f --cacert /etc/ssl/cacert.crt https://server/index.txt") + with subtest("https"): + assert "We are all good!" in client.succeed("curl -f --cacert /etc/ssl/cacert.crt https://server/index.txt") - with subtest("https-cert-auth"): - # Client must succeed in authenticating with the right certificate. - assert "We are all good!" in client.succeed("curl -f --cacert /etc/ssl/cacert.crt --cert-type pem --cert /root/client.pem https://server:8443/index.txt") - # Client must fail without certificate. - client.fail("curl --cacert /etc/ssl/cacert.crt https://server:8443/index.txt") + with subtest("https-cert-auth"): + # Client must succeed in authenticating with the right certificate. + assert "We are all good!" in client.succeed("curl -f --cacert /etc/ssl/cacert.crt --cert-type pem --cert /root/client.pem https://server:8443/index.txt") + # Client must fail without certificate. + client.fail("curl --cacert /etc/ssl/cacert.crt https://server:8443/index.txt") - with subtest("h3"): - assert "We are all good!" in client.succeed("curl -f --http3-only --cacert /etc/ssl/cacert.crt https://server/index.txt") + with subtest("h3"): + assert "We are all good!" in client.succeed("curl -f --http3-only --cacert /etc/ssl/cacert.crt https://server/index.txt") - with subtest("h3-cert-auth"): - # Client must succeed in authenticating with the right certificate. - assert "We are all good!" in client.succeed("curl -f --http3-only --cacert /etc/ssl/cacert.crt --cert-type pem --cert /root/client.pem https://server:8443/index.txt") - # Client must fail without certificate. - client.fail("curl -f --http3-only --cacert /etc/ssl/cacert.crt https://server:8443/index.txt") + with subtest("h3-cert-auth"): + # Client must succeed in authenticating with the right certificate. + assert "We are all good!" in client.succeed("curl -f --http3-only --cacert /etc/ssl/cacert.crt --cert-type pem --cert /root/client.pem https://server:8443/index.txt") + # Client must fail without certificate. + client.fail("curl -f --http3-only --cacert /etc/ssl/cacert.crt https://server:8443/index.txt") - with subtest("reload"): - server.succeed("systemctl reload haproxy") - # wait some time to ensure the following request hits the reloaded haproxy - server.sleep(5) - assert "We are all good!" in client.succeed("curl -f http://server/index.txt") - ''; - } -) + with subtest("reload"): + server.succeed("systemctl reload haproxy") + # wait some time to ensure the following request hits the reloaded haproxy + server.sleep(5) + assert "We are all good!" in client.succeed("curl -f http://server/index.txt") + ''; +} From 4c9860d83622236280063caeb91b2be45351d523 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Apr 2025 11:33:31 +0000 Subject: [PATCH 31/44] python312Packages.pycrdt: 0.12.13 -> 0.12.14 --- .../python-modules/pycrdt/Cargo.lock | 30 +++++++++---------- .../python-modules/pycrdt/default.nix | 4 +-- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/pkgs/development/python-modules/pycrdt/Cargo.lock b/pkgs/development/python-modules/pycrdt/Cargo.lock index 698d2fc51ecb..dc8a4f92e63a 100644 --- a/pkgs/development/python-modules/pycrdt/Cargo.lock +++ b/pkgs/development/python-modules/pycrdt/Cargo.lock @@ -236,16 +236,16 @@ checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" [[package]] name = "proc-macro2" -version = "1.0.94" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] [[package]] name = "pycrdt" -version = "0.12.13" +version = "0.12.14" dependencies = [ "pyo3", "yrs", @@ -253,9 +253,9 @@ dependencies = [ [[package]] name = "pyo3" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17da310086b068fbdcefbba30aeb3721d5bb9af8db4987d6735b2183ca567229" +checksum = "e5203598f366b11a02b13aa20cab591229ff0a89fd121a308a5df751d5fc9219" dependencies = [ "cfg-if", "indoc", @@ -271,9 +271,9 @@ dependencies = [ [[package]] name = "pyo3-build-config" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e27165889bd793000a098bb966adc4300c312497ea25cf7a690a9f0ac5aa5fc1" +checksum = "99636d423fa2ca130fa5acde3059308006d46f98caac629418e53f7ebb1e9999" dependencies = [ "once_cell", "target-lexicon", @@ -281,9 +281,9 @@ dependencies = [ [[package]] name = "pyo3-ffi" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05280526e1dbf6b420062f3ef228b78c0c54ba94e157f5cb724a609d0f2faabc" +checksum = "78f9cf92ba9c409279bc3305b5409d90db2d2c22392d443a87df3a1adad59e33" dependencies = [ "libc", "pyo3-build-config", @@ -291,9 +291,9 @@ dependencies = [ [[package]] name = "pyo3-macros" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c3ce5686aa4d3f63359a5100c62a127c9f15e8398e5fdeb5deef1fed5cd5f44" +checksum = "0b999cb1a6ce21f9a6b147dcf1be9ffedf02e0043aec74dc390f3007047cecd9" dependencies = [ "proc-macro2", "pyo3-macros-backend", @@ -303,9 +303,9 @@ dependencies = [ [[package]] name = "pyo3-macros-backend" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4cf6faa0cbfb0ed08e89beb8103ae9724eb4750e3a78084ba4017cbe94f3855" +checksum = "822ece1c7e1012745607d5cf0bcb2874769f0f7cb34c4cde03b9358eb9ef911a" dependencies = [ "heck", "proc-macro2", @@ -569,9 +569,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "yrs" -version = "0.23.0" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0189b51d8ab1283e7c1f1f515c610875262e629cf258bec530da5cd4aa115d59" +checksum = "4a7cab84724ae7f361a8c92465f5160922cbb941a499e1a8cacd103351ab9c78" dependencies = [ "arc-swap", "async-lock", diff --git a/pkgs/development/python-modules/pycrdt/default.nix b/pkgs/development/python-modules/pycrdt/default.nix index a6c481bd3ddc..9d84c80ffe06 100644 --- a/pkgs/development/python-modules/pycrdt/default.nix +++ b/pkgs/development/python-modules/pycrdt/default.nix @@ -19,14 +19,14 @@ buildPythonPackage rec { pname = "pycrdt"; - version = "0.12.13"; + version = "0.12.14"; pyproject = true; src = fetchFromGitHub { owner = "jupyter-server"; repo = "pycrdt"; tag = version; - hash = "sha256-EI8LrT5wddmmw3D5C+IhJnViGnSbHWMD3WFp/f1hY7M="; + hash = "sha256-QPA9ek0szYgN6R0mnnU5MN4cYa8DVqIw10DxQ/TzaH0="; }; postPatch = '' From 8d458da7307f5d0e4c2b368142ab5a87c538381d Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 22 Apr 2025 13:36:47 +0200 Subject: [PATCH 32/44] python312Packages.textual: 3.1.0 -> 3.1.1 Diff: https://github.com/Textualize/textual/compare/refs/tags/v3.1.0...refs/tags/v3.1.1 Changelog: https://github.com/Textualize/textual/blob/v3.1.1/CHANGELOG.md --- pkgs/development/python-modules/textual/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/textual/default.nix b/pkgs/development/python-modules/textual/default.nix index 183a2dd67b7b..7e1b3db373d3 100644 --- a/pkgs/development/python-modules/textual/default.nix +++ b/pkgs/development/python-modules/textual/default.nix @@ -29,14 +29,14 @@ buildPythonPackage rec { pname = "textual"; - version = "3.1.0"; + version = "3.1.1"; pyproject = true; src = fetchFromGitHub { owner = "Textualize"; repo = "textual"; tag = "v${version}"; - hash = "sha256-JBqzaSsLSCzUYdIjlPZdPJlRKrqtWWPqJPp85uMcMLc="; + hash = "sha256-emF6LpjVCgxC+Cf+LhFrawc3rxfMnZtyijmoVg0ZJbQ="; }; build-system = [ poetry-core ]; From 3fdb31837b453644802a9f0ef05d49bc8ff40ee4 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 22 Apr 2025 13:49:47 +0200 Subject: [PATCH 33/44] python312Packages.ollama: cleanup, allow networking in darwin sandbox --- .../python-modules/ollama/default.nix | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/ollama/default.nix b/pkgs/development/python-modules/ollama/default.nix index 0a3b6c857cdf..d200e098eecd 100644 --- a/pkgs/development/python-modules/ollama/default.nix +++ b/pkgs/development/python-modules/ollama/default.nix @@ -2,14 +2,19 @@ lib, buildPythonPackage, fetchFromGitHub, - httpx, - pillow, + + # build-system poetry-core, + + # dependencies + httpx, pydantic, + + # tests + pillow, pytest-asyncio, pytest-httpserver, pytestCheckHook, - pythonOlder, }: buildPythonPackage rec { @@ -17,8 +22,6 @@ buildPythonPackage rec { version = "0.4.8"; pyproject = true; - disabled = pythonOlder "3.8"; - src = fetchFromGitHub { owner = "ollama"; repo = "ollama-python"; @@ -47,13 +50,15 @@ buildPythonPackage rec { pytestCheckHook ]; + __darwinAllowLocalNetworking = true; + pythonImportsCheck = [ "ollama" ]; - meta = with lib; { + meta = { description = "Ollama Python library"; homepage = "https://github.com/ollama/ollama-python"; changelog = "https://github.com/ollama/ollama-python/releases/tag/${src.tag}"; - license = licenses.mit; - maintainers = with maintainers; [ fab ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; }; } From 4e6de4065092890204c7678ce92cf32d6e410038 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 22 Apr 2025 14:27:24 +0200 Subject: [PATCH 34/44] rich-cli: fix build --- pkgs/by-name/ri/rich-cli/package.nix | 32 +++++++++++++++++----------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/pkgs/by-name/ri/rich-cli/package.nix b/pkgs/by-name/ri/rich-cli/package.nix index 93b4f94c37c6..7b98a06d3f89 100644 --- a/pkgs/by-name/ri/rich-cli/package.nix +++ b/pkgs/by-name/ri/rich-cli/package.nix @@ -1,11 +1,13 @@ { lib, + python3Packages, fetchFromGitHub, fetchpatch, - python3, + versionCheckHook, + nix-update-script, }: -python3.pkgs.buildPythonApplication rec { +python3Packages.buildPythonApplication rec { pname = "rich-cli"; version = "1.8.0"; pyproject = true; @@ -32,17 +34,15 @@ python3.pkgs.buildPythonApplication rec { ]; pythonRelaxDeps = [ + "rich" "textual" ]; - build-system = with python3.pkgs; [ + build-system = with python3Packages; [ poetry-core ]; - nativeBuildInputs = with python3.pkgs; [ - ]; - - dependencies = with python3.pkgs; [ + dependencies = with python3Packages; [ click requests rich @@ -50,15 +50,23 @@ python3.pkgs.buildPythonApplication rec { textual ]; - pythonImportsCheck = [ - "rich_cli" - ]; + pythonImportsCheck = [ "rich_cli" ]; - meta = with lib; { + nativeCheckInputs = [ + versionCheckHook + ]; + versionCheckProgram = "${placeholder "out"}/bin/rich"; + versionCheckProgramArg = "--version"; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = { description = "Command Line Interface to Rich"; homepage = "https://github.com/Textualize/rich-cli"; changelog = "https://github.com/Textualize/rich-cli/releases/tag/v${version}"; - license = licenses.mit; + license = lib.licenses.mit; maintainers = [ ]; mainProgram = "rich"; }; From 76f3fb0d8807c6d4858a80a0c4457c499171c451 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 22 Apr 2025 14:11:37 +0200 Subject: [PATCH 35/44] seagoat: 0.54.6 -> 0.54.9 Diff: https://github.com/kantord/SeaGOAT/compare/refs/tags/v0.54.6...refs/tags/v0.54.9 Changelog: https://github.com/kantord/SeaGOAT/blob/v0.54.9/CHANGELOG.md --- pkgs/by-name/se/seagoat/package.nix | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/se/seagoat/package.nix b/pkgs/by-name/se/seagoat/package.nix index 2eedb9e44083..1333a7ed4f72 100644 --- a/pkgs/by-name/se/seagoat/package.nix +++ b/pkgs/by-name/se/seagoat/package.nix @@ -7,18 +7,21 @@ gitMinimal, ripgrep, writableTmpDirAsHomeHook, + + versionCheckHook, + nix-update-script, }: python3Packages.buildPythonApplication rec { pname = "seagoat"; - version = "0.54.6"; + version = "0.54.9"; pyproject = true; src = fetchFromGitHub { owner = "kantord"; repo = "SeaGOAT"; tag = "v${version}"; - hash = "sha256-KEFA1DUfsJpeNkWui/WKazImGCSwTFlPD8qsGFJNtr0="; + hash = "sha256-BfZbYQ6ylMj8cn7q2AavU570/ci83ffdDbeB+F/wZlk="; }; build-system = [ python3Packages.poetry-core ]; @@ -26,6 +29,7 @@ python3Packages.buildPythonApplication rec { pythonRelaxDeps = [ "chromadb" "psutil" + "setuptools" ]; dependencies = with python3Packages; [ @@ -59,8 +63,10 @@ python3Packages.buildPythonApplication rec { ++ [ gitMinimal ripgrep + versionCheckHook writableTmpDirAsHomeHook ]; + versionCheckProgramArg = "--version"; disabledTests = import ./failing_tests.nix; @@ -80,6 +86,10 @@ python3Packages.buildPythonApplication rec { --prefix PATH : "${ripgrep}/bin" ''; + passthru = { + updateScript = nix-update-script { }; + }; + meta = { description = "Local-first semantic code search engine"; homepage = "https://kantord.github.io/SeaGOAT/"; From 9f90ef1f5cb8c2a5d43c9c6467f180e249bf5be6 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 22 Apr 2025 14:46:03 +0200 Subject: [PATCH 36/44] wsrepl: cleanup, fix --- pkgs/by-name/ws/wsrepl/package.nix | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/ws/wsrepl/package.nix b/pkgs/by-name/ws/wsrepl/package.nix index 7ceb84628f59..3c4c12988942 100644 --- a/pkgs/by-name/ws/wsrepl/package.nix +++ b/pkgs/by-name/ws/wsrepl/package.nix @@ -1,10 +1,11 @@ { lib, + python3Packages, fetchFromGitHub, - python3, + nix-update-script, }: -python3.pkgs.buildPythonApplication rec { +python3Packages.buildPythonApplication rec { pname = "wsrepl"; version = "0.2.0"; pyproject = true; @@ -17,14 +18,15 @@ python3.pkgs.buildPythonApplication rec { }; pythonRelaxDeps = [ + "rich" "textual" ]; - build-system = with python3.pkgs; [ + build-system = with python3Packages; [ poetry-core ]; - dependencies = with python3.pkgs; [ + dependencies = with python3Packages; [ pygments pyperclip rich @@ -39,12 +41,16 @@ python3.pkgs.buildPythonApplication rec { "wsrepl" ]; - meta = with lib; { + passthru = { + updateScript = nix-update-script { }; + }; + + meta = { description = "WebSocket REPL"; homepage = "https://github.com/doyensec/wsrepl"; changelog = "https://github.com/doyensec/wsrepl/releases/tag/v${version}"; - license = licenses.mit; - maintainers = with maintainers; [ fab ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; mainProgram = "wsrepl"; }; } From f0887fbd7fd6c4eb22defcaaba4ef7a1b6c8b6cc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Apr 2025 13:10:40 +0000 Subject: [PATCH 37/44] keymapp: 1.3.5 -> 1.3.6 --- pkgs/by-name/ke/keymapp/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ke/keymapp/package.nix b/pkgs/by-name/ke/keymapp/package.nix index 5383f2ea61ee..ab67776b821d 100644 --- a/pkgs/by-name/ke/keymapp/package.nix +++ b/pkgs/by-name/ke/keymapp/package.nix @@ -25,11 +25,11 @@ let in stdenv.mkDerivation rec { pname = "keymapp"; - version = "1.3.5"; + version = "1.3.6"; src = fetchurl { url = "https://oryx.nyc3.cdn.digitaloceanspaces.com/keymapp/keymapp-${version}.tar.gz"; - hash = "sha256-GXmmQssrsEpsqfERSa8ZFGo0r72qsdsbFtmic8+SCfQ="; + hash = "sha256-LWO4aeNmGgZ+T41pb6HwC3tnwaiGviDIq63QMsrlkEc="; }; nativeBuildInputs = [ From 301e9a34a1728bf4dbcf994f98df202af41baad7 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 14 Apr 2025 15:58:54 +0200 Subject: [PATCH 38/44] pkgsStatic.bcachefs-tools: fix build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In pkgsStatic, there is no systemd.pc or udev.pc, so running make without setting these variables will fail. There's not really any reason to only set them for installing anyway โ€” in general it's best to set variables like this for all phases to minimize the risk of a mismatch between build and install behaviour. --- pkgs/by-name/bc/bcachefs-tools/package.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/bc/bcachefs-tools/package.nix b/pkgs/by-name/bc/bcachefs-tools/package.nix index 2c1ac93181b4..1963233ec231 100644 --- a/pkgs/by-name/bc/bcachefs-tools/package.nix +++ b/pkgs/by-name/bc/bcachefs-tools/package.nix @@ -70,6 +70,10 @@ stdenv.mkDerivation (finalAttrs: { "PREFIX=${placeholder "out"}" "VERSION=${finalAttrs.version}" "INITRAMFS_DIR=${placeholder "out"}/etc/initramfs-tools" + + # Tries to install to the 'systemd-minimal' and 'udev' nix installation paths + "PKGCONFIG_SERVICEDIR=$(out)/lib/systemd/system" + "PKGCONFIG_UDEVDIR=$(out)/lib/udev" ] ++ lib.optional fuseSupport "BCACHEFS_FUSE=1"; env = { @@ -90,12 +94,6 @@ stdenv.mkDerivation (finalAttrs: { ''; checkFlags = [ "BCACHEFS_TEST_USE_VALGRIND=no" ]; - # Tries to install to the 'systemd-minimal' and 'udev' nix installation paths - installFlags = [ - "PKGCONFIG_SERVICEDIR=$(out)/lib/systemd/system" - "PKGCONFIG_UDEVDIR=$(out)/lib/udev" - ]; - postInstall = '' substituteInPlace $out/libexec/bcachefsck_all \ From 4a75d43c310389e59aea0c77950907086a8ba144 Mon Sep 17 00:00:00 2001 From: Yaya Date: Tue, 22 Apr 2025 15:31:19 +0200 Subject: [PATCH 39/44] nixos/doc/rl2505: Fix a typo --- nixos/doc/manual/release-notes/rl-2505.section.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/doc/manual/release-notes/rl-2505.section.md b/nixos/doc/manual/release-notes/rl-2505.section.md index f1bb0394c6a8..6e0e1ef517b9 100644 --- a/nixos/doc/manual/release-notes/rl-2505.section.md +++ b/nixos/doc/manual/release-notes/rl-2505.section.md @@ -140,7 +140,7 @@ - [Zoxide](https://github.com/ajeetdsouza/zoxide), a smarter cd command, inspired by z and autojump. Available as [programs.zoxide](options.html#opt-programs.zoxide.enable) -- [victorialogs][https://docs.victoriametrics.com/victorialogs/], log database from VictoriaMetrics. Available as [services.victorialogs](#opt-services.victorialogs.enable) +- [victorialogs](https://docs.victoriametrics.com/victorialogs/), log database from VictoriaMetrics. Available as [services.victorialogs](#opt-services.victorialogs.enable) - [gokapi](https://github.com/Forceu/Gokapi), Lightweight selfhosted Firefox Send alternative without public upload. AWS S3 supported. Available with [services.gokapi](options.html#opt-services.gokapi.enable) From 14d626295851c1bb3513bd101edae6b694d6cba0 Mon Sep 17 00:00:00 2001 From: misilelab Date: Tue, 22 Apr 2025 22:32:18 +0900 Subject: [PATCH 40/44] uv: 0.6.14 -> 0.6.16 https://github.com/astral-sh/uv/blob/0.6.16/CHANGELOG.md Signed-off-by: misilelab --- pkgs/by-name/uv/uv/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/uv/uv/package.nix b/pkgs/by-name/uv/uv/package.nix index 6542c21fd422..10cab5638b88 100644 --- a/pkgs/by-name/uv/uv/package.nix +++ b/pkgs/by-name/uv/uv/package.nix @@ -20,17 +20,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "uv"; - version = "0.6.14"; + version = "0.6.16"; src = fetchFromGitHub { owner = "astral-sh"; repo = "uv"; tag = finalAttrs.version; - hash = "sha256-1ZmH757yqzXCYYRJoNGzh2Jy5ACWjNHugcY0szztBRQ="; + hash = "sha256-udghrau7ZpLngjwL4mOMvUJT8G609HuBL51Te+h66YY="; }; useFetchCargoVendor = true; - cargoHash = "sha256-zE6WP5rFUvx6B3ti5mlXPD4Z+1VQM0qpaScszKjTNmY="; + cargoHash = "sha256-1eq5gsHcf8iAR2z89WnZNdcoToE0Cpl4HgsiffSg1wk="; buildInputs = [ rust-jemalloc-sys From 7c1ef2ca629a13e772f8903236a56330fc0734a0 Mon Sep 17 00:00:00 2001 From: Justin Restivo Date: Tue, 22 Apr 2025 09:58:04 -0400 Subject: [PATCH 41/44] coqPackages_8_20.coq-hammer: init at v1.3.2 --- pkgs/development/coq-modules/coq-hammer/tactics.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/coq-modules/coq-hammer/tactics.nix b/pkgs/development/coq-modules/coq-hammer/tactics.nix index 893c8eb81b1a..49052b9ddf10 100644 --- a/pkgs/development/coq-modules/coq-hammer/tactics.nix +++ b/pkgs/development/coq-modules/coq-hammer/tactics.nix @@ -12,6 +12,10 @@ let defaultVersion = with lib.versions; lib.switch coq.coq-version [ + { + case = "8.20"; + out = "1.3.2+8.20"; + } { case = "8.19"; out = "1.3.2+8.19"; @@ -31,6 +35,7 @@ let ] null; release = { + "1.3.2+8.20".sha256 = "sha256-RuX2aInSjwebs/aEOoisNxqcIPqDA2kWehN9tFYqOx4="; "1.3.2+8.19".sha256 = "sha256-Zd7piAWlKPAZKEz7HVWxhnzOLbA/eR9C/E0T298MJVY="; "1.3.2+8.18".sha256 = "sha256-D+tQ+1YrSbbqc54U5UlxW1Hhly49TB2pu1LEPL2Eo64="; "1.3.2+8.17".sha256 = "sha256-2fw66z3yFKs5g+zNCeYXiEyxPzjUr+lGDciiQiuuMAs="; From ec9582b0c98f68ebd86fc57600602153ba5cd1cb Mon Sep 17 00:00:00 2001 From: Florian Brandes Date: Tue, 22 Apr 2025 17:13:03 +0200 Subject: [PATCH 42/44] python312Packages.sentry-sdk: disable test on darwin Signed-off-by: Florian Brandes --- pkgs/development/python-modules/sentry-sdk/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix index 19e2b920e68d..656079d0d43f 100644 --- a/pkgs/development/python-modules/sentry-sdk/default.nix +++ b/pkgs/development/python-modules/sentry-sdk/default.nix @@ -62,6 +62,7 @@ pytest-xdist, pytest-watch, responses, + stdenv, }: buildPythonPackage rec { @@ -167,6 +168,11 @@ buildPythonPackage rec { __darwinAllowLocalNetworking = true; + disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [ + # darwin: 'profiler should not be running' + "tests/profiler/test_continuous_profiler.py" + ]; + disabledTests = [ # depends on git revision "test_default_release" From ff1812f73cc59a2d902780018af2a57eae7edf68 Mon Sep 17 00:00:00 2001 From: Colin Date: Tue, 22 Apr 2025 15:51:11 +0000 Subject: [PATCH 43/44] clapper-unwrapped: fix cross compilation --- pkgs/by-name/cl/clapper-unwrapped/package.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/cl/clapper-unwrapped/package.nix b/pkgs/by-name/cl/clapper-unwrapped/package.nix index 15b6030d8bdb..c5bc14eea542 100644 --- a/pkgs/by-name/cl/clapper-unwrapped/package.nix +++ b/pkgs/by-name/cl/clapper-unwrapped/package.nix @@ -44,6 +44,7 @@ stdenv.mkDerivation (finalAttrs: { ninja pkg-config desktop-file-utils # for update-desktop-database + gtk4 # for gtk4-update-icon-cache shared-mime-info # for update-mime-database vala ]; @@ -69,7 +70,10 @@ stdenv.mkDerivation (finalAttrs: { preFixup = '' mkdir -p $out/share/gsettings-schemas - cp -r $lib/share/gsettings-schemas/clapper-unwrapped-$version $out/share/gsettings-schemas/clapper-$version + # alias clapper-unwrapped schemas to also provide clapper schemas. + # the precise schema patch can vary based on host platform. + schemas=$(basename $lib/share/gsettings-schemas/clapper-unwrapped-*) + cp -r $lib/share/gsettings-schemas/$schemas $out/share/gsettings-schemas/''${schemas/clapper-unwrapped-/clapper-} ''; meta = { From 43902beb574b5af8edeed554d5ee175fee4447e3 Mon Sep 17 00:00:00 2001 From: Gliczy <129636582+Gliczy@users.noreply.github.com> Date: Tue, 22 Apr 2025 18:08:13 +0200 Subject: [PATCH 44/44] Revert "alpaca: 5.2.0 -> 5.3.0" This reverts commit 0ac3557494365dd4d63b726de745128ce0b898ec. --- pkgs/by-name/al/alpaca/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/al/alpaca/package.nix b/pkgs/by-name/al/alpaca/package.nix index 1cfc94719116..8403c0b37c79 100644 --- a/pkgs/by-name/al/alpaca/package.nix +++ b/pkgs/by-name/al/alpaca/package.nix @@ -20,14 +20,14 @@ python3Packages.buildPythonApplication rec { pname = "alpaca"; - version = "5.3.0"; + version = "5.2.0"; pyproject = false; # Built with meson src = fetchFromGitHub { owner = "Jeffser"; repo = "Alpaca"; tag = version; - hash = "sha256-dp/v5PZoDqSp2h0gtZk97ImDKO201VZMiCBv2XnqoGQ="; + hash = "sha256-uUGsdHrqzA5fZ4LNtX04H4ue9n4JQrkTYW2PCCFYFHc="; }; nativeBuildInputs = [