Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2026-03-14 18:08:06 +00:00
committed by GitHub
55 changed files with 229 additions and 502 deletions
-6
View File
@@ -718,12 +718,6 @@
"module-services-suwayomi-server-extra-config": [
"index.html#module-services-suwayomi-server-extra-config"
],
"module-services-immich": [
"index.html#module-services-immich"
],
"module-services-immich-vectorchord-migration": [
"index.html#module-services-immich-vectorchord-migration"
],
"module-services-paisa": [
"index.html#module-services-paisa"
],
@@ -382,7 +382,7 @@
- `linux_libre` & `linux_latest_libre` have been removed due to a lack of maintenance.
- Immich now has support for [VectorChord](https://github.com/tensorchord/VectorChord) when using the PostgreSQL configuration provided by `services.immich.database.enable`, which replaces `pgvecto-rs`. VectorChord support can be toggled with the option `services.immich.database.enableVectorChord`. Additionally, `pgvecto-rs` support is now disabled from NixOS 25.11 onwards using the option `services.immich.database.enableVectors`. This option will be removed fully in the future once Immich drops support for `pgvecto-rs` fully. See [Immich migration instructions](#module-services-immich-vectorchord-migration).
- Immich now has support for [VectorChord](https://github.com/tensorchord/VectorChord) when using the PostgreSQL configuration provided by `services.immich.database.enable`, which replaces `pgvecto-rs`. VectorChord support can be toggled with the option `services.immich.database.enableVectorChord`. Additionally, `pgvecto-rs` support is now disabled from NixOS 25.11 onwards using the option `services.immich.database.enableVectors`. This option will be removed fully in the future once Immich drops support for `pgvecto-rs` fully. See [Immich migration instructions](https://github.com/NixOS/nixpkgs/blob/nixos-25.11/nixos/modules/services/web-apps/immich.md#migrating-from-pgvecto-rs-to-vectorchord-pre-2511-installations-module-services-immich-vectorchord-migration).
- It is now possible to configure the default source address using the new options [networking.defaultGateway.source](#opt-networking.defaultGateway.source),
[networking.defaultGateway6.source](#opt-networking.defaultGateway6.source).
@@ -138,6 +138,10 @@ of pulling the upstream container image from Docker Hub. If you want the old beh
- Ethercalc and its associated module have been removed, as the package is unmaintained and cannot be installed from source with npm now.
- `services.immich` no longer supports pgvecto.rs since the package has been removed from nixpkgs.
As a result, options `services.immich.database.enableVectors` and `services.immich.database.enableVectorchord` have been removed, and VectorChord is now always used.
If you have not completed the migration yet, ensure you completely remove the extension from your database before upgrading by following the [migration guide](https://github.com/NixOS/nixpkgs/blob/nixos-25.11/nixos/modules/services/web-apps/immich.md#migrating-from-pgvecto-rs-to-vectorchord-pre-2511-installations-module-services-immich-vectorchord-migration).
- `services.cgit` before always had the git-http-backend and its "export all" setting enabled, which sidestepped any access control configured in cgit's settings. Now you have to make a decision and either enable or disable `services.cgit.gitHttpBackend.checkExportOkFiles` (or disable the git-http-backend).
- `rocmPackages_6` has been removed. `rocmPackages` has been updated to ROCm 7.x. Out of tree packages may rely on obsolete hipblas APIs or compile time constant warp size and need to be updated.
+10 -7
View File
@@ -75,13 +75,16 @@ in
};
config = lib.mkIf cfg.enable {
environment = {
systemPackages = [ cfg.package ];
etc."xdg/foot/foot.ini".source = settingsFormat.generate "foot.ini" cfg.settings;
etc."xdg/autostart/foot-server.desktop".source =
lib.mkIf cfg.xdg.serverAutostart "${cfg.package}/share/applications/foot-server.desktop";
};
environment = lib.mkMerge [
{
systemPackages = [ cfg.package ];
etc."xdg/foot/foot.ini".source = settingsFormat.generate "foot.ini" cfg.settings;
}
(lib.mkIf cfg.xdg.serverAutostart {
etc."xdg/autostart/foot-server.desktop".source =
"${cfg.package}/share/applications/foot-server.desktop";
})
];
programs = {
foot.settings.main.include = lib.optionals (cfg.theme != null) [
-32
View File
@@ -1,32 +0,0 @@
# Immich {#module-services-immich}
[Immich](https://immich.app/) is a self-hosted photo and video management
solution, similar to SaaS offerings like Google Photos.
## Migrating from `pgvecto-rs` to VectorChord (pre-25.11 installations) {#module-services-immich-vectorchord-migration}
Immich instances that were setup before 25.11 (as in
`system.stateVersion = 25.11;`) will be automatically migrated to VectorChord.
Note that this migration is not reversible, so database dumps should be created
if desired.
See [Immich documentation][vectorchord-migration-docs] for more details about
the automatic migration.
After a successful migration, `pgvecto-rs` should be removed from the database
installation, unless other applications depend on it.
1. Make sure VectorChord is enabled ([](#opt-services.immich.database.enableVectorChord)) and Immich has completed the migration. Refer to the [Immich documentation][vectorchord-migration-docs] for details.
2. Run the following two statements in the PostgreSQL database using a superuser role in Immich's database.
```sql
DROP EXTENSION vectors;
DROP SCHEMA vectors;
```
- You may use the following command to run these statements against the database: `sudo -u postgres psql immich` (Replace `immich` with the value of [](#opt-services.immich.database.name))
3. Disable `pgvecto-rs` by setting [](#opt-services.immich.database.enableVectors) to `false`.
4. Rebuild and switch.
[vectorchord-migration-docs]: https://immich.app/docs/administration/postgres-standalone/#migrating-to-vectorchord
+46 -65
View File
@@ -69,6 +69,30 @@ in
`services.immich.settings.oauth.clientSecret._secret = "/path/to/secret/file";`
''
)
(lib.mkRemovedOptionModule
[
"services"
"immich"
"database"
"enableVectorChord"
]
''
`database.enableVectorChord` has been deprecated as the pgvecto.rs alternative
is no longer available. From now on, vectorchord is always enabled.
''
)
(lib.mkRemovedOptionModule
[
"services"
"immich"
"database"
"enableVectors"
]
''
`database.enableVectors` has been deprecated as pgvecto.rs is no longer available.
From now on, vectorchord is used instead.
''
)
];
options.services.immich = {
@@ -203,17 +227,6 @@ in
// {
default = true;
};
enableVectorChord =
mkEnableOption "the new VectorChord extension for full-text search in Postgres"
// {
default = true;
};
enableVectors =
mkEnableOption "pgvecto.rs in the database. You may disable this, if you have migrated to VectorChord and deleted the `vectors` schema."
// {
default = lib.versionOlder config.system.stateVersion "25.11";
defaultText = lib.literalExpression "lib.versionOlder config.system.stateVersion \"25.11\"";
};
createDB = mkEnableOption "the automatic creation of the database for immich." // {
default = true;
};
@@ -263,17 +276,6 @@ in
assertion = !isPostgresUnixSocket -> cfg.secretsFile != null;
message = "A secrets file containing at least the database password must be provided when unix sockets are not used.";
}
{
# When removing this assertion, please adjust the nixosTests accordingly.
assertion =
(cfg.database.enable && cfg.database.enableVectors)
-> lib.versionOlder config.services.postgresql.package.version "17";
message = "Immich doesn't support PostgreSQL 17+ when using pgvecto.rs. Consider disabling it using services.immich.database.enableVectors if it is not needed anymore.";
}
{
assertion = cfg.database.enable -> (cfg.database.enableVectorChord || cfg.database.enableVectors);
message = "At least one of services.immich.database.enableVectorChord and services.immich.database.enableVectors has to be enabled.";
}
];
services.postgresql = mkIf cfg.database.enable {
@@ -286,19 +288,12 @@ in
ensureClauses.login = true;
}
];
extensions =
ps:
lib.optionals cfg.database.enableVectors [ ps.pgvecto-rs ]
++ lib.optionals cfg.database.enableVectorChord [
ps.pgvector
ps.vectorchord
];
extensions = ps: [
ps.pgvector
ps.vectorchord
];
settings = {
shared_preload_libraries =
lib.optionals cfg.database.enableVectors [
"vectors.so"
]
++ lib.optionals cfg.database.enableVectorChord [ "vchord.so" ];
shared_preload_libraries = [ "vchord.so" ];
search_path = "\"$user\", public, vectors";
};
};
@@ -310,40 +305,27 @@ in
"cube"
"earthdistance"
"pg_trgm"
]
++ lib.optionals cfg.database.enableVectors [
"vectors"
]
++ lib.optionals cfg.database.enableVectorChord [
"vector"
"vchord"
];
sqlFile = pkgs.writeText "immich-pgvectors-setup.sql" (
# save previous version of vectorchord to trigger reindex on update
lib.optionalString cfg.database.enableVectorChord ''
SELECT COALESCE(installed_version, ''') AS vchord_version_before FROM pg_available_extensions WHERE name = 'vchord' \gset
''
+ ''
${lib.concatMapStringsSep "\n" (ext: "CREATE EXTENSION IF NOT EXISTS \"${ext}\";") extensions}
${lib.concatMapStringsSep "\n" (ext: "ALTER EXTENSION \"${ext}\" UPDATE;") extensions}
ALTER SCHEMA public OWNER TO ${cfg.database.user};
''
+ lib.optionalString cfg.database.enableVectors ''
ALTER SCHEMA vectors OWNER TO ${cfg.database.user};
GRANT SELECT ON TABLE pg_vector_index_stat TO ${cfg.database.user};
''
# trigger reindex if vectorchord updates
# https://docs.immich.app/administration/postgres-standalone/#updating-vectorchord
+ lib.optionalString cfg.database.enableVectorChord ''
SELECT COALESCE(installed_version, ''') AS vchord_version_after FROM pg_available_extensions WHERE name = 'vchord' \gset
sqlFile = pkgs.writeText "immich-pgvectors-setup.sql" ''
-- save previous version of vectorchord to trigger reindex on update
SELECT COALESCE(installed_version, ''') AS vchord_version_before FROM pg_available_extensions WHERE name = 'vchord' \gset
SELECT (:'vchord_version_before' != ''' AND :'vchord_version_before' != :'vchord_version_after') AS has_vchord_updated \gset
\if :has_vchord_updated
REINDEX INDEX face_index;
REINDEX INDEX clip_index;
\endif
''
);
${lib.concatMapStringsSep "\n" (ext: "CREATE EXTENSION IF NOT EXISTS \"${ext}\";") extensions}
${lib.concatMapStringsSep "\n" (ext: "ALTER EXTENSION \"${ext}\" UPDATE;") extensions}
ALTER SCHEMA public OWNER TO ${cfg.database.user};
-- trigger reindex if vectorchord updates
-- https://docs.immich.app/administration/postgres-standalone/#updating-vectorchord
SELECT COALESCE(installed_version, ''') AS vchord_version_after FROM pg_available_extensions WHERE name = 'vchord' \gset
SELECT (:'vchord_version_before' != ''' AND :'vchord_version_before' != :'vchord_version_after') AS has_vchord_updated \gset
\if :has_vchord_updated
REINDEX INDEX face_index;
REINDEX INDEX clip_index;
\endif
'';
in
[
''
@@ -480,6 +462,5 @@ in
};
meta = {
maintainers = with lib.maintainers; [ jvanbruegge ];
doc = ./immich.md;
};
}
-1
View File
@@ -772,7 +772,6 @@ in
immich = runTest ./web-apps/immich.nix;
immich-kiosk = runTest ./web-apps/immich-kiosk.nix;
immich-public-proxy = runTest ./web-apps/immich-public-proxy.nix;
immich-vectorchord-migration = runTest ./web-apps/immich-vectorchord-migration.nix;
immich-vectorchord-reindex = runTest ./web-apps/immich-vectorchord-reindex.nix;
immichframe = runTest ./web-apps/immichframe.nix;
incron = runTest ./incron.nix;
@@ -1,71 +0,0 @@
{ ... }:
{
name = "immich-vectorchord-migration";
nodes.machine =
{ lib, pkgs, ... }:
{
# These tests need a little more juice
virtualisation = {
cores = 2;
memorySize = 2048;
diskSize = 4096;
};
environment.systemPackages = with pkgs; [ immich-cli ];
services.immich = {
enable = true;
environment.IMMICH_LOG_LEVEL = "verbose";
# Simulate an existing setup
database.enableVectorChord = lib.mkDefault false;
database.enableVectors = lib.mkDefault true;
};
# TODO: Remove when PostgreSQL 17 is supported.
services.postgresql.package = pkgs.postgresql_16;
specialisation."immich-vectorchord-enabled".configuration = {
services.immich.database.enableVectorChord = true;
};
specialisation."immich-vectorchord-only".configuration = {
services.immich.database = {
enableVectorChord = true;
enableVectors = false;
};
};
};
testScript =
{ nodes, ... }:
let
specBase = "${nodes.machine.system.build.toplevel}/specialisation";
vectorchordEnabled = "${specBase}/immich-vectorchord-enabled";
vectorchordOnly = "${specBase}/immich-vectorchord-only";
in
''
def psql(command: str):
machine.succeed(f"sudo -u postgres psql -d ${nodes.machine.services.immich.database.name} -c '{command}'")
def immich_works():
machine.wait_for_unit("immich-server.service")
machine.wait_for_open_port(2283) # Server
machine.wait_for_open_port(3003) # Machine learning
machine.succeed("curl --fail http://localhost:2283/")
immich_works()
machine.succeed("${vectorchordEnabled}/bin/switch-to-configuration test")
immich_works()
psql("DROP EXTENSION vectors;")
psql("DROP SCHEMA vectors;")
machine.succeed("${vectorchordOnly}/bin/switch-to-configuration test")
immich_works()
'';
}
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "gambatte";
version = "0-unstable-2026-01-16";
version = "0-unstable-2026-03-13";
src = fetchFromGitHub {
owner = "libretro";
repo = "gambatte-libretro";
rev = "9fe223d9c4b615c55840170c6e85e6e9fa4bd1d2";
hash = "sha256-BBFT8+TLf5qbwo36BudPjeMRPLdSj2+0m4RnfeFrlOc=";
rev = "d3c39fa18476ddce05027db3d29abba813fa74e2";
hash = "sha256-FkvO03x6oRqdeaot8vq5C15VjQXJ7tUoJtal7/z09rU=";
};
meta = {
@@ -1,10 +1,10 @@
{
"chromium": {
"version": "146.0.7680.75",
"version": "146.0.7680.80",
"chromedriver": {
"version": "146.0.7680.76",
"hash_darwin": "sha256-zCICFkv0dXZYIIp8xnqEbxBR4Q9+GlCEY6yoJHsqcVg=",
"hash_darwin_aarch64": "sha256-UzawlFfX/lIATPL8j6XMkurE1SzhNwyB/jn4v6tWY/g="
"version": "146.0.7680.80",
"hash_darwin": "sha256-sjCEvFWV07GNhXJ9CfGVtZ6nCeqsqtNtY4sPj/gq13w=",
"hash_darwin_aarch64": "sha256-kTxZJiF7mJlVbkDDFP4ZUB2htBn45se1Wuz28RP8pr8="
},
"deps": {
"depot_tools": {
@@ -21,8 +21,8 @@
"DEPS": {
"src": {
"url": "https://chromium.googlesource.com/chromium/src.git",
"rev": "d865c3fe495882da3a7c6575337a02867c4536b1",
"hash": "sha256-/hjpcI4GTw0bGqZ5/9gzM4Pc6/5fhk5dmdtw5EfidiY=",
"rev": "f08938029c887ea624da7a1717059788ed95034d",
"hash": "sha256-PCQeTdc6Fl74TLyvxjli4scIUIm0GgZ3e9wbC18Tclw=",
"recompress": true
},
"src/third_party/clang-format/script": {
@@ -652,8 +652,8 @@
},
"src/third_party/skia": {
"url": "https://skia.googlesource.com/skia.git",
"rev": "50841da4a7b7064b3cea8a851e60ef921c87a103",
"hash": "sha256-RoLgaE5mj9UqePhnfH+BOTit04TyiAvgF7/2PLuBG4Y="
"rev": "248acd90d9a35ac46b2ec30201ae50f301b8a173",
"hash": "sha256-zOL5j9X72ZvYmS8MzQ+pqSkT8AWBz2IwmaH7I3LN1IE="
},
"src/third_party/smhasher/src": {
"url": "https://chromium.googlesource.com/external/smhasher.git",
@@ -65,8 +65,8 @@ rec {
thunderbird = thunderbird-latest;
thunderbird-latest = common {
version = "148.0";
sha512 = "ec5e586206ef217f37eb6985356994e7e7c9db6090f57d5b4c43a3a5dc0e1f5a56c0e7080d86fb895446845f9c9b948284f7417afebcf6e6120eca0e1ed238f3";
version = "148.0.1";
sha512 = "4f6e721b0858bece740f04744d10d8bb0b0673d2ebfe5624d3797e28e394510a8518dc31fc6a121ba7ed8a5a44953efefe3a74071e9f967c22be17cee45b3faf";
updateScript = callPackage ./update.nix {
attrPath = "thunderbirdPackages.thunderbird-latest";
@@ -15,11 +15,11 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "angular-language-server";
version = "21.2.0";
version = "21.2.2";
src = fetchurl {
name = "angular-language-server-${finalAttrs.version}.zip";
url = "https://github.com/angular/angular/releases/download/vsix-${finalAttrs.version}/ng-template-${finalAttrs.version}.vsix";
hash = "sha256-q9ywNxdKLz431nCEzPs2sB8IDPveoUWAthmDKkBAkHI=";
hash = "sha256-rpll3EsTGEuynrw7EsP3GeltG/vtYqgO8mvTCVyU1ao=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -7,13 +7,13 @@
buildGoModule (finalAttrs: {
pname = "atproto-goat";
version = "0.2.2";
version = "0.2.3";
src = fetchFromGitHub {
owner = "bluesky-social";
repo = "goat";
tag = "v${finalAttrs.version}";
hash = "sha256-jSwlKKMrUsb0stcPvC9i7dgH4DrlnUTwp+HYTwendB0=";
hash = "sha256-mI7GC0ElE+FxT7v29V/a+UZBI1d6os+HpEO5WYWxm6A=";
};
postPatch = ''
@@ -22,7 +22,7 @@ buildGoModule (finalAttrs: {
--replace-fail '"github.com/earthboundkid/versioninfo/v2"' ""
'';
vendorHash = "sha256-rqnCFBSmHaZWWc1MrK8udQLkK5MP4Yv2TTlozQqW0fc=";
vendorHash = "sha256-QVnpISwYri8aL4umZWi2LJ0X13CXXK7JygaBh1Sq5PA=";
passthru.updateScript = nix-update-script { };
+3 -3
View File
@@ -11,16 +11,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "biome";
version = "2.4.6";
version = "2.4.7";
src = fetchFromGitHub {
owner = "biomejs";
repo = "biome";
rev = "@biomejs/biome@${finalAttrs.version}";
hash = "sha256-xwnNTefv3E6Y27G8cSRNs9adXwzP2w3XK6xX1QEs60g=";
hash = "sha256-Ca1a8Q6YJpGUMZ3cbQkIndmeE10V7myB/3EQ4r3fa1o=";
};
cargoHash = "sha256-Uf+W+f17DMKOYR/KYiyEd+RU/bPMq+itbpHfCAq+7R4=";
cargoHash = "sha256-z2JtrZkvlvfQGhhY3T3PIiXUq53bSb7Z8rgvGZPzPag=";
nativeBuildInputs = [ pkg-config ];
+5 -3
View File
@@ -22,7 +22,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "ccache";
version = "4.12.3";
version = "4.13.1";
src = fetchFromGitHub {
owner = "ccache";
@@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
exit 1
fi
'';
hash = "sha256-oX7qG3jjrLm4gKZd8w7Bc7uE5U5sIa35//PDRJ/XHcM=";
hash = "sha256-8Qw5nkY86wGJ7B2hrNk9jIoz18nJ2FK+EbPH5fS5aEc=";
};
outputs = [
@@ -62,6 +62,7 @@ stdenv.mkDerivation (finalAttrs: {
];
postPatch = ''
patchShebangs --build doc/scripts
patchShebangs --build test/fake-compilers
'';
@@ -98,8 +99,9 @@ stdenv.mkDerivation (finalAttrs: {
];
disabledTests = [
"test.trim_dir" # flaky on hydra (possibly filesystem-specific?)
"test.direct" # https://github.com/ccache/ccache/issues/1699
"test.fileclone" # flaky on hydra, also seems to fail on zfs
"test.trim_dir" # flaky on hydra (possibly filesystem-specific?)
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
"test.basedir"
+2 -2
View File
@@ -55,13 +55,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "dolphin-emu";
version = "2512";
version = "2603";
src = fetchFromGitHub {
owner = "dolphin-emu";
repo = "dolphin";
tag = finalAttrs.version;
hash = "sha256-VmDhYZfYyzf08FXZTeBYmdEp9P8AugUpiOxNj8aEJqw=";
hash = "sha256-9kB5hFAJwLkFi2y5c5ZavwcnXRDE5bxerg5E1hPAutY=";
fetchSubmodules = true;
leaveDotGit = true;
postFetch = ''
+2 -2
View File
@@ -27,7 +27,7 @@
}:
let
version = "1.26.0";
version = "1.26.1";
# build stimuli file for PGO build and the script to generate it
# independently of the foot's build, so we can cache the result
@@ -103,7 +103,7 @@ stdenv.mkDerivation {
owner = "dnkl";
repo = "foot";
tag = version;
hash = "sha256-XnGNrQVdSyg5CVBZBwrqDPbf4/+9yyerGBrZArbh6xI=";
hash = "sha256-N9/lxbz9nLIGC7VyuRbNbuX0K0XAxhytLzsU16BMCWY=";
};
separateDebugInfo = true;
+4 -4
View File
@@ -9,15 +9,15 @@
buildGoModule (finalAttrs: {
pname = "goperf";
version = "0-unstable-2026-02-09";
version = "0-unstable-2026-03-11";
src = fetchgit {
url = "https://go.googlesource.com/perf";
rev = "b57e4e371b65454dd44026af9d45c69605bc0c3c";
hash = "sha256-Sz7Fq0H+ikccAfaJirKHLIA+P4ZqMPS3S/Vj7WrGFy4=";
rev = "16a31bc5fbd0f58f2e8e2a496d8e035bdc4a2e06";
hash = "sha256-be0vWFJUXTPWKapd+rX3Stnzra9LUGNEw+4P+fWzjyk=";
};
vendorHash = "sha256-kGF184E+rOWncQsvjk1iCpF26/3Ll/IY9CPEh6vhRBQ=";
vendorHash = "sha256-oBSd0D66BGfanCADtrpyIoUit8c+yHk8Nm6o2GmKoZg=";
passthru.updateScript = writeShellScript "update-goperf" ''
export UPDATE_NIX_ATTR_PATH=goperf
+2 -2
View File
@@ -25,11 +25,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "got";
version = "0.121";
version = "0.123";
src = fetchurl {
url = "https://gameoftrees.org/releases/portable/got-portable-${finalAttrs.version}.tar.gz";
hash = "sha256-1A6+69IkCAzalhEVcuhj6KO/IjXIqVOifiRRGomIIJo=";
hash = "sha256-U655XwPi7k9Glr+FdoqafWSkc/IGIvzIUI+iRswohSY=";
};
nativeBuildInputs = [
@@ -6,19 +6,19 @@
buildGoModule (finalAttrs: {
pname = "grafana-image-renderer";
version = "5.6.2";
version = "5.7.1";
src = fetchFromGitHub {
owner = "grafana";
repo = "grafana-image-renderer";
tag = "v${finalAttrs.version}";
hash = "sha256-rbR+TGkTWIpHeGxOQtVQFIeTv1/p8rGfbFp6hSSXQco=";
hash = "sha256-0n9esm8j3zRMUzFPrXrcllEen+F6XpL3yPY5KBY8H9g=";
};
vendorHash = "sha256-nRwd1luj8AFjDM67KtinVxRd31lUO+Vv3PDnsv2BMZU=";
postPatch = ''
substituteInPlace go.mod --replace-fail 'go 1.25.6' 'go 1.25.5'
substituteInPlace go.mod --replace-fail 'go 1.26.1' 'go 1.25.7'
'';
subPackages = [ "." ];
+1 -1
View File
@@ -224,7 +224,7 @@ stdenv.mkDerivation (finalAttrs: {
passthru = {
tests = {
inherit (nixosTests) immich immich-vectorchord-migration immich-vectorchord-reindex;
inherit (nixosTests) immich immich-vectorchord-reindex;
};
machine-learning = immich-machine-learning.override {
+24 -6
View File
@@ -13,8 +13,31 @@
# compatibility.
stripPrefix ? stdenv.hostPlatform.isDarwin,
disableInitExecTls ? false,
# Page size in KiB to configure jemalloc for.
# Defaults to 64 on architectures where 64KB pages are common, 4 otherwise.
# Note that a higher value is compatible with lower page sizes but may waste memory.
pageSizeKiB ?
if
(
stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isLoongArch64 || stdenv.hostPlatform.isPower64
)
then
64
else
4,
}:
let
pageSizeMap = {
"4" = 12;
"16" = 14;
"64" = 16;
};
in
assert lib.asserts.assertOneOf "pageSizeKiB" (toString pageSizeKiB) (
builtins.attrNames pageSizeMap
);
stdenv.mkDerivation (finalAttrs: {
pname = "jemalloc";
version = "5.3.0-unstable-2025-09-12";
@@ -54,12 +77,7 @@ stdenv.mkDerivation (finalAttrs: {
# https://github.com/jemalloc/jemalloc/issues/467
# https://sources.debian.org/src/jemalloc/5.3.0-3/debian/rules/
++ [
(
if (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isLoongArch64) then
"--with-lg-page=16"
else
"--with-lg-page=12"
)
"--with-lg-page=${toString pageSizeMap."${toString pageSizeKiB}"}"
]
# See https://github.com/jemalloc/jemalloc/issues/1997
# Using a value of 48 should work on both emulated and native x86_64-darwin.
+16 -6
View File
@@ -1,7 +1,10 @@
{
lib,
stdenv,
fetchurl,
fetchFromGitHub,
autoconf-archive,
autoreconfHook,
mate-common,
pkg-config,
gettext,
itstool,
@@ -11,27 +14,35 @@
vte,
pcre2,
wrapGAppsHook3,
yelp-tools,
gitUpdater,
nixosTests,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mate-terminal";
version = "1.28.1";
version = "1.28.2";
src = fetchurl {
url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor finalAttrs.version}/mate-terminal-${finalAttrs.version}.tar.xz";
sha256 = "8TXrGp4q4ieY7LLcGRT9tM/XdOa7ZcAVK+N8xslGnpI=";
src = fetchFromGitHub {
owner = "mate-desktop";
repo = "mate-terminal";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-tyYHMn+qwytpSNUZg4xfwnuVClxj2IcyB4C4Dsn+1Nc=";
};
strictDeps = true;
nativeBuildInputs = [
autoconf-archive
autoreconfHook
gettext
itstool
mate-common # mate-common.m4 macros
pkg-config
libxml2 # xmllint
wrapGAppsHook3
yelp-tools
];
buildInputs = [
@@ -44,7 +55,6 @@ stdenv.mkDerivation (finalAttrs: {
enableParallelBuilding = true;
passthru.updateScript = gitUpdater {
url = "https://git.mate-desktop.org/mate-terminal";
odd-unstable = true;
rev-prefix = "v";
};
+2 -2
View File
@@ -12,11 +12,11 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "metabase";
version = "0.59.1";
version = "0.59.2";
src = fetchurl {
url = "https://downloads.metabase.com/v${finalAttrs.version}/metabase.jar";
hash = "sha256-pPJdFljzzNuhRvH6ofPkNGq0Ly/RpHcqeQQh3JTG08I=";
hash = "sha256-k1UfpSHOBsFZF85q0LhuiC9L5R8fbSnZBRB5MjBUh+M=";
};
nativeBuildInputs = [ makeWrapper ];
+3 -3
View File
@@ -7,16 +7,16 @@
}:
buildGoModule (finalAttrs: {
pname = "mpls";
version = "0.17.1";
version = "0.20.0";
src = fetchFromGitHub {
owner = "mhersson";
repo = "mpls";
tag = "v${finalAttrs.version}";
hash = "sha256-RJadJEIwBdDtZZxPSm12WYVKrIAOc1EvSxLrkhs4sx4=";
hash = "sha256-a33XbUw6H2EKfGZnpV6L00iab6AoXqPiNTMw/OaouHs=";
};
vendorHash = "sha256-QtNQnJtYLmSTTLwKKQ8P6O6wyctgwN8OcGZkMXa+Ark=";
vendorHash = "sha256-pi7KBA/313cG0AYWM/mUDng2M9L2tMLkonY4LI5XiW0=";
ldflags = [
"-s"
+2 -2
View File
@@ -48,13 +48,13 @@ let
in
buildGo126Module (finalAttrs: {
pname = "nezha";
version = "2.0.4";
version = "2.0.5";
src = fetchFromGitHub {
owner = "nezhahq";
repo = "nezha";
tag = "v${finalAttrs.version}";
hash = "sha256-JzdjIAeWswW/6ZnwfRZAexzl/ehvzKmyiNyzCHBDqgA=";
hash = "sha256-g5mXt0NfRFezLmQ27FAE+wU+a+sSHlCzx2oh/z1Xz+I=";
};
proxyVendor = true;
+3 -3
View File
@@ -9,16 +9,16 @@
buildGoModule (finalAttrs: {
pname = "nfpm";
version = "2.45.0";
version = "2.45.1";
src = fetchFromGitHub {
owner = "goreleaser";
repo = "nfpm";
rev = "v${finalAttrs.version}";
hash = "sha256-sz6+oUvEi3iYKLRxHaeP2T+9m5CavgIzZIz8wuSfM+M=";
hash = "sha256-ThoCDsuz52odVLVJuT4F96sjtqOOzjqq7JIE5Idzl1k=";
};
vendorHash = "sha256-tEuNOBBUnJNjk1Mao8A7KtuPIdkxsmj+yp8fuovOK0s=";
vendorHash = "sha256-cq0pcbC0T3klh3D9l0e0u5JPYv1kWYlpeNYyGczGX+A=";
ldflags = [
"-s"
+3 -3
View File
@@ -12,16 +12,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "oxlint";
version = "1.51.0";
version = "1.55.0";
src = fetchFromGitHub {
owner = "oxc-project";
repo = "oxc";
tag = "oxlint_v${finalAttrs.version}";
hash = "sha256-J5EChGADug+SEvhjStyS1s5kek5QNc2VrjEa5MEWTpA=";
hash = "sha256-A2cq1WgZg8csNGB3yFNo21450f46n4ZVblke1yqlBCc=";
};
cargoHash = "sha256-chNxYraN9upILXCqDQ/TrN3xiKhxKhZlN2HGrPF4qT8=";
cargoHash = "sha256-Oz9u2+5lq+z9A81BEn2T4jvVMqf1uNXip+OH4AxiTG0=";
nativeBuildInputs = [
cmake
+5 -5
View File
@@ -8,7 +8,7 @@
let
pname = "postman";
version = "11.82.1";
version = "11.87.4";
src =
let
@@ -27,10 +27,10 @@ let
name = "postman-${version}.${if stdenvNoCC.hostPlatform.isLinux then "tar.gz" else "zip"}";
url = "https://dl.pstmn.io/download/version/${version}/${system}";
hash = selectSystem {
aarch64-darwin = "sha256-7n/9ezPgpon3AEQXmoK/iazOPvRh/pDVy/YBVUwjbkI=";
aarch64-linux = "sha256-nn6Krn3/z7FkPRJDO7wNhny50YvuWwWWQ9lf9mk8ZGo=";
x86_64-darwin = "sha256-jN6TbPRkEFH9KyU3owcsrWbJvyIqMT0f8zV9OymiNzY=";
x86_64-linux = "sha256-PEPMrWrm57SAdaHL6ZWES0Ao7J7vn0TAX9WZ/WCFq6U=";
aarch64-darwin = "sha256-1ilYfvduHTh5tvIrIXmrwQgfiWnYhdXhNv/o19wUNrE=";
aarch64-linux = "sha256-JdO/gBT7B+FQ8mguyw7oD2hfQACfyDVxF714iVkTW2I=";
x86_64-darwin = "sha256-Sb66zJQJzixk032fsdAfU88Yw9t7xeFoPBlQ+pRcdmU=";
x86_64-linux = "sha256-a8jsIFlJD12tydTZM9Mibv+m7bcSqAN4JVQgQxB4WJo=";
};
};
@@ -19,16 +19,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rusty-path-of-building";
version = "0.2.13";
version = "0.2.14";
src = fetchFromGitHub {
owner = "meehl";
repo = "rusty-path-of-building";
tag = "v${finalAttrs.version}";
hash = "sha256-4lxMQfENucDaDZov82iZD5DMgksLuJ/2nXUKYYf/m/w=";
hash = "sha256-rgXxy1r4ZyFFG5BiodogeHnCcppw79xzb0MsQDZxL4E=";
};
cargoHash = "sha256-PeVVDOWFYoDKkCy+UV5ikFwrHTK93zt2WZ3Oxp0ez1Y=";
cargoHash = "sha256-IZ5+Dvr1u/X278U6WCD6CNu4HBh5uLRWFbPeZ6EXryo=";
nativeBuildInputs = [
pkg-config
@@ -121,7 +121,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
homepage = "https://github.com/meehl/rusty-path-of-building";
changelog = "https://github.com/meehl/rusty-path-of-building/blob/${finalAttrs.src.rev}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ k900 ];
maintainers = with lib.maintainers; [
k900
cholli
];
mainProgram = "rusty-path-of-building";
};
})
+5 -5
View File
@@ -2,24 +2,24 @@
stdenv,
lib,
fetchFromGitHub,
buildGoModule,
buildGo126Module,
installShellFiles,
versionCheckHook,
writableTmpDirAsHomeHook,
}:
buildGoModule (finalAttrs: {
buildGo126Module (finalAttrs: {
pname = "scaleway-cli";
version = "2.52.0";
version = "2.53.0";
src = fetchFromGitHub {
owner = "scaleway";
repo = "scaleway-cli";
tag = "v${finalAttrs.version}";
hash = "sha256-92OSk0oJQrLAllbfsJB9FUC8C+0jLQLjw9wYHG+Lc98=";
hash = "sha256-IxnDmmvWH17xd2djroikwrQq0bLexWeN8VHMPiNEBhU=";
};
vendorHash = "sha256-1pi9WQZ6dwCVsJbpA+seIzRn5lFFOjYUvt8MKUHKcVg=";
vendorHash = "sha256-/UEE3XSbpwlywF8TMmp90bS537RRZG0yN0oq1sbrcPQ=";
env.CGO_ENABLED = 0;
+3 -3
View File
@@ -15,13 +15,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "sioyek";
version = "2.0.0-unstable-2026-02-21";
version = "2.0.0-unstable-2026-03-13";
src = fetchFromGitHub {
owner = "ahrm";
repo = "sioyek";
rev = "b526a54a98e16275b118dfba73171177008d6970";
hash = "sha256-/ZYSiSuEGrbaWU7ZYXQl5ztL5AMGhOkDFyR2ftfEuVw=";
rev = "13a37e0e0ab77a76f8dbe3adf599ee916615b3db";
hash = "sha256-3bMVoF4f1+pZV3tdti8KNS17wWK1tmIgjKQUQS+Rzt8=";
};
buildInputs = [
+3 -3
View File
@@ -36,20 +36,20 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "siyuan";
version = "3.5.9";
version = "3.5.10";
src = fetchFromGitHub {
owner = "siyuan-note";
repo = "siyuan";
rev = "v${finalAttrs.version}";
hash = "sha256-lQtgVYYinkgxgwnxyhsebt8CpdCDClcS+qo0tQaTD94=";
hash = "sha256-IJKWrveUn7kvJjSu0YYGargGFY8T8gxAAh2fr0BnbUE=";
};
kernel = buildGoModule {
name = "${finalAttrs.pname}-${finalAttrs.version}-kernel";
inherit (finalAttrs) src;
sourceRoot = "${finalAttrs.src.name}/kernel";
vendorHash = "sha256-Qz2LAtznJ8MxPQ6bSuMuvCDWt+8JSe0MawNWH70X/5k=";
vendorHash = "sha256-JwtXllLj6+ALrDZMjFoX5TDwE3yMaij2a9t+T1F1hG0=";
patches = [
(replaceVars ./set-pandoc-path.patch {
+2 -2
View File
@@ -14,13 +14,13 @@ let
iconame = "STM32CubeMX";
package = stdenvNoCC.mkDerivation rec {
pname = "stm32cubemx";
version = "6.15.0";
version = "6.17.0";
src = fetchzip {
url = "https://sw-center.st.com/packs/resource/library/stm32cube_mx_v${
builtins.replaceStrings [ "." ] [ "" ] version
}-lin.zip";
hash = "sha256-50P+/uvNH3NN1UN+T3RxGgR8QYBIgBDA56mAEU4BipI=";
hash = "sha256-OroIcdvNzCm7lyL62zNm4sbDgUb+GgJW50mqE1M1KT4=";
stripRoot = false;
};
+3 -3
View File
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "versatiles";
version = "3.8.0";
version = "3.8.1";
src = fetchFromGitHub {
owner = "versatiles-org";
repo = "versatiles-rs";
tag = "v${finalAttrs.version}";
hash = "sha256-+NMS4sHT47E8SuFcCHnUDBBpsA+6X4zLXvzVWc7yWGI=";
hash = "sha256-P1r+UzqMiu1BqXv+ORhUojKzjcl0kb9gBTBi6PseP0s=";
};
cargoHash = "sha256-jzbaQw+Ez2PiLAYxqadvdWEGvsMlSkjECk0k3zPUni8=";
cargoHash = "sha256-fju6aWh6HfVnVN60M0+LmGDBxdgDSaLl+iQ358vmYm8=";
__darwinAllowLocalNetworking = true;
+4 -4
View File
@@ -23,23 +23,23 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "vicinae";
version = "0.20.3";
version = "0.20.5";
src = fetchFromGitHub {
owner = "vicinaehq";
repo = "vicinae";
tag = "v${finalAttrs.version}";
hash = "sha256-9xE2izQakApB+cgibErwyY3KAlc6F26UhgCw/Tak43c=";
hash = "sha256-k3rmWZlUYLMOT33AvwZ56eZfjNc6KXH2AN5Fe8LDKFM=";
};
apiDeps = fetchNpmDeps {
src = "${finalAttrs.src}/src/typescript/api";
hash = "sha256-UsTpMR23UQBRseRo33nbT6z/UCjZByryWfn2AQSgm6U=";
hash = "sha256-Tr+m8MLaWR8wq+cYpQwZTIzRt2tgDIyc8vVda2x+k4k=";
};
extensionManagerDeps = fetchNpmDeps {
src = "${finalAttrs.src}/src/typescript/extension-manager";
hash = "sha256-wl8FDFB6Vl1zD0/s2EbU6l1KX4rwUW6dOZof4ebMMO8=";
hash = "sha256-8ONawCmKxHwWS0Tx04MCpQmtWfIpJYU8RcqMtQiT/Sw=";
};
cmakeFlags = lib.mapAttrsToList lib.cmakeFeature {
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule (finalAttrs: {
pname = "webdav";
version = "5.11.1";
version = "5.11.2";
src = fetchFromGitHub {
owner = "hacdias";
repo = "webdav";
tag = "v${finalAttrs.version}";
hash = "sha256-YkVw5hlN6Sl7gUzJdmELRkabFUwS+9ILaOUUBbdO0tY=";
hash = "sha256-OVR+64g02bT7K1LDKCW7O7kGjhkjovIDIrDUXNK189k=";
};
vendorHash = "sha256-pI4VJQeYz5/6N7wLpwxKw5754DQyINFlu3WGR2aCdAQ=";
vendorHash = "sha256-OmYXNpzx3GWw0hxMdMyQARE89JXeiamwOS4KclLjRwU=";
__darwinAllowLocalNetworking = true;
+2 -2
View File
@@ -29,13 +29,13 @@
clangStdenv.mkDerivation (finalAttrs: {
pname = "zlsplitter";
version = "0.2.1";
version = "0.3.0";
src = fetchFromGitHub {
owner = "ZL-Audio";
repo = "ZLSplitter";
tag = finalAttrs.version;
hash = "sha256-6ICXL1jX6MMYf5VasTW9osJ2BNb6jqWfeAtmmEp6L/4=";
hash = "sha256-QNTSxvp4trbdm6wbl0u187LTjRMIp1tvoo06+m2z+8Y=";
fetchSubmodules = true;
};
@@ -1281,18 +1281,6 @@ with haskellLib;
# https://github.com/emilypi/Base32/issues/24
base32 = doJailbreak super.base32;
# Djinn's last release was 2014, incompatible with Semigroup-Monoid Proposal
# https://github.com/augustss/djinn/pull/8
djinn = overrideSrc {
version = "unstable-2023-11-20";
src = pkgs.fetchFromGitHub {
owner = "augustss";
repo = "djinn";
rev = "69b3fbad9f42f0b1b2c49977976b8588c967d76e";
hash = "sha256-ibxn6DXk4pqsOsWhi8KcrlH/THnuMWvIu5ENOn3H3So=";
};
} super.djinn;
# https://github.com/Philonous/hs-stun/pull/1
# Remove if a version > 0.1.0.1 ever gets released.
stunclient = overrideCabal (drv: {
@@ -18,7 +18,7 @@ buildPecl {
src = fetchFromGitHub {
owner = "openswoole";
repo = "swoole-src";
rev = "v${version}";
tag = "v${version}";
hash = "sha256-fTr7CuWZt902YnTtEriWL8wjHni71N/u5upJqY+UvYs=";
};
@@ -10,26 +10,23 @@
pytestCheckHook,
setuptools-scm,
setuptools,
pythonOlder,
}:
buildPythonPackage rec {
pname = "django-flags";
version = "5.0.14";
version = "5.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "cfpb";
repo = "django-flags";
tag = version;
hash = "sha256-0IOcpl8OamNlalqNqMvmx/bkuIkaNnLwCD7nFclR8S4=";
hash = "sha256-4UOueNXfDouTqpLpG391zcGHTTJ8GfznYmEl33YKdv8=";
};
dependencies = [
django
];
disabled = pythonOlder "3.8";
build-system = [
setuptools
setuptools-scm
@@ -12,14 +12,14 @@
}:
buildPythonPackage rec {
pname = "django-markdownify";
version = "0.9.5";
version = "0.9.6";
pyproject = true;
src = fetchFromGitHub {
owner = "erwinmatijsen";
repo = "django-markdownify";
tag = version;
hash = "sha256-KYU8p8NRD4EIS/KhOk9nvmXCf0RWEc+IFZ57YtsDSWE=";
hash = "sha256-L/N0jjxBz7aQletOg+qairgq4utifPz4oqjT9AcljLI=";
};
dependencies = [
@@ -9,22 +9,19 @@
pytestCheckHook,
pytest-django,
pytest-cov,
pythonOlder,
}:
buildPythonPackage rec {
pname = "django-money";
version = "3.5.4";
version = "3.6.0";
pyproject = true;
src = fetchFromGitHub {
owner = "django-money";
repo = "django-money";
tag = version;
hash = "sha256-JqAZaiJ2zCb7Jwvumqi16IrQ6clmcw71WpPzbhE2Fms=";
hash = "sha256-VxAKTtrbDMRhiLxqjVYt7pLGl0sy9F1iwswP/hxQ01k=";
};
disabled = pythonOlder "3.7";
dependencies = [
django
certifi
@@ -5,22 +5,19 @@
setuptools,
python,
pkgs,
pythonOlder,
}:
buildPythonPackage rec {
pname = "django-structlog";
version = "9.1.1";
version = "10.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "jrobichaud";
repo = "django-structlog";
tag = version;
hash = "sha256-SEigOdlXZtfLAgRgGkv/eDNDAiiHd7YthRJ/H6e1v5U=";
hash = "sha256-BNZ+nk2NK5x2YsTDZjH5BVizXAyLZhKp8zRvkWi068k=";
};
disabled = pythonOlder "3.9";
dependencies = with python.pkgs; [
colorama
django
@@ -72,6 +69,8 @@ buildPythonPackage rec {
pytestCheckHook
];
__darwinAllowLocalNetworking = true;
meta = with lib; {
description = "Structured Logging for Django";
homepage = "https://github.com/jrobichaud/django-structlog";
@@ -4,22 +4,19 @@
setuptools-scm,
lib,
django,
pythonOlder,
}:
buildPythonPackage rec {
pname = "django-user-sessions";
version = "2.0.0";
version = "3.0.3";
pyproject = true;
src = fetchFromGitHub {
owner = "jazzband";
repo = "django-user-sessions";
tag = version;
hash = "sha256-Wexy6G2pZ8LTnqtJkBZIePV7qhQW8gu/mKiQfZtgf/o=";
hash = "sha256-vHLeEmlVil1iJi+YkxL5c04Vq/b5b43tjC2ZcjH4/Ys=";
};
disabled = pythonOlder "3.7";
dependencies = [
django
];
@@ -3,17 +3,19 @@
stdenv,
buildPythonPackage,
fetchFromGitHub,
fetchpatch2,
# build-system
setuptools,
# dependencies
aiohttp,
cloudevents,
cryptography,
fastapi,
grpc-interceptor,
grpcio,
grpcio-tools,
h11,
httpx,
kubernetes,
numpy,
@@ -24,10 +26,13 @@
psutil,
pydantic,
python-dateutil,
python-multipart,
pyyaml,
six,
starlette,
tabulate,
timing-asgi,
urllib3,
uvicorn,
# optional-dependencies
@@ -54,37 +59,29 @@
buildPythonPackage (finalAttrs: {
pname = "kserve";
version = "0.16.0";
version = "0.17.0";
pyproject = true;
src = fetchFromGitHub {
owner = "kserve";
repo = "kserve";
tag = "v${finalAttrs.version}";
hash = "sha256-f6ILZMLxfckEpy7wSgCqUx89JWSnn0DbQiqRSHcQHms=";
hash = "sha256-gLYYuIy43cuXrCvjjXLHMim0m/EAwaivLdFhKuUdeX0=";
};
patches = [
# Fix vllm imports in python/kserve/kserve/protocol/rest/openai/types/__init__.py
# Submitted upstream: https://github.com/kserve/kserve/pull/4882
(fetchpatch2 {
name = "update-vllm-imports-to-fix-compat";
url = "https://github.com/kserve/kserve/commit/dd1575501e56f588103f448efca684bc54569b81.patch";
stripLen = 2;
hash = "sha256-K0ImsDADhH6G3R+27nRX/sD7UdRXptYIkLaoxuwB8+M=";
})
];
sourceRoot = "${finalAttrs.src.name}/python/kserve";
pythonRelaxDeps = [
"cryptography"
"fastapi"
"httpx"
"numpy"
"prometheus-client"
"protobuf"
"uvicorn"
"psutil"
"python-multipart"
"starlette"
"uvicorn"
];
build-system = [
@@ -92,11 +89,14 @@ buildPythonPackage (finalAttrs: {
];
dependencies = [
aiohttp
cloudevents
cryptography
fastapi
grpc-interceptor
grpcio
grpcio-tools
h11
httpx
kubernetes
numpy
@@ -107,10 +107,13 @@ buildPythonPackage (finalAttrs: {
psutil
pydantic
python-dateutil
python-multipart
pyyaml
six
starlette
tabulate
timing-asgi
urllib3
uvicorn
]
++ uvicorn.optional-dependencies.standard;
@@ -23,14 +23,14 @@
buildPythonPackage (finalAttrs: {
pname = "ome-zarr-models";
version = "1.5";
version = "1.6";
pyproject = true;
src = fetchFromGitHub {
owner = "ome-zarr-models";
repo = "ome-zarr-models-py";
tag = "v${finalAttrs.version}";
hash = "sha256-lEzYP4AcEV6EtE+E8yqNHJPIPJ0RwWtzm77fcdxYGYk=";
hash = "sha256-z2qBQhgijJB8O5smlJ4Y0FMS6UoMZcHVIJn5JuYq/IU=";
};
build-system = [
@@ -23,14 +23,14 @@
buildPythonPackage (finalAttrs: {
pname = "pymc";
version = "5.28.1";
version = "5.28.2";
pyproject = true;
src = fetchFromGitHub {
owner = "pymc-devs";
repo = "pymc";
tag = "v${finalAttrs.version}";
hash = "sha256-6P171KjWvSgtiYxsGNvVxs4Pfqs3S7gxg6aGRbQ/Zcw=";
hash = "sha256-D2s7gMyJcOYZAYjRsnqcPeSJ8i5TQBVL+SF9PCvnMO0=";
};
build-system = [
@@ -27,14 +27,14 @@
buildPythonPackage (finalAttrs: {
pname = "uproot";
version = "5.7.1";
version = "5.7.2";
pyproject = true;
src = fetchFromGitHub {
owner = "scikit-hep";
repo = "uproot5";
tag = "v${finalAttrs.version}";
hash = "sha256-06pMcL2o5hHZLEbi8vdYhAAs5BBkHAskNHUB1o48KDU=";
hash = "sha256-5FTGUYn+wveNA10ccIVmDuAmAuCZ5DdMAhRXRIgExg8=";
};
build-system = [
@@ -1,11 +1,5 @@
# nixpkgs-update: no auto update
{
cargo-pgrx_0_12_0_alpha_1 = {
version = "0.12.0-alpha.1";
hash = "sha256-0m9oaqjU42RYyttkTihADDrRMjr2WoK/8sInZALeHws=";
cargoHash = "sha256-zYjqE7LZLnTaVxWAPWC1ncEjCMlrhy4THtgecB7wBYY=";
};
cargo-pgrx_0_12_6 = {
version = "0.12.6";
hash = "sha256-7aQkrApALZe6EoQGVShGBj0UIATnfOy2DytFj9IWdEA=";
+1
View File
@@ -23,4 +23,5 @@ in
// lib.optionalAttrs config.allowAliases {
cstore_fdw = throw "PostgreSQL extension `cstore_fdw` has been removed due to being broken for more than a year; see RFC 180"; # Added 2026-02-05
pg_embedding = throw "PostgreSQL extension `pg_embedding` has been removed since the project has been abandoned. Upstream's recommendation is to use pgvector instead (https://neon.tech/docs/extensions/pg_embedding#migrate-from-pg_embedding-to-pgvector)";
pgvecto-rs = throw "PostgreSQL extension `pgvecto-rs` has been removed since the project has been abandoned. Upstream's recommendation is to use vectorchord instead (https://docs.vectorchord.ai/vectorchord/admin/migration.html#from-pgvecto-rs) "; # Added 2026-03-13
}
@@ -1,19 +0,0 @@
diff --git a/crates/c/build.rs b/crates/c/build.rs
index 8d822e5..8b7e371 100644
--- a/crates/c/build.rs
+++ b/crates/c/build.rs
@@ -1,9 +1,13 @@
fn main() {
println!("cargo:rerun-if-changed=src/f16.h");
println!("cargo:rerun-if-changed=src/f16.c");
+ println!("cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS");
cc::Build::new()
- .compiler("clang-16")
+ .compiler("@clang@")
.file("./src/f16.c")
+ // read env var set by rustPlatform.bindgenHook
+ .try_flags_from_environment("BINDGEN_EXTRA_CLANG_ARGS")
+ .expect("the BINDGEN_EXTRA_CLANG_ARGS environment variable must be specified and UTF-8")
.opt_level(3)
.debug(true)
.compile("vectorsc");
@@ -1,21 +0,0 @@
diff --git a/crates/common/src/lib.rs b/crates/common/src/lib.rs
index 18172b9..6fc7e82 100644
--- a/crates/common/src/lib.rs
+++ b/crates/common/src/lib.rs
@@ -1,3 +1,4 @@
+#![warn(dangerous_implicit_autorefs)]
pub mod clean;
pub mod dir_ops;
pub mod file_atomic;
diff --git a/src/lib.rs b/src/lib.rs
index 068c65d..82609e9 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -6,6 +6,7 @@
#![allow(clippy::needless_range_loop)]
#![allow(clippy::single_match)]
#![allow(clippy::too_many_arguments)]
+#![warn(dangerous_implicit_autorefs)]
mod bgworker;
mod datatype;
@@ -1,119 +0,0 @@
{
buildPgrxExtension,
cargo-pgrx_0_12_0_alpha_1,
clang,
fetchFromGitHub,
lib,
nix-update-script,
openssl,
pkg-config,
postgresql,
postgresqlTestExtension,
replaceVars,
}:
buildPgrxExtension (finalAttrs: {
inherit postgresql;
cargo-pgrx = cargo-pgrx_0_12_0_alpha_1;
pname = "pgvecto-rs";
version = "0.3.0";
buildInputs = [ openssl ];
nativeBuildInputs = [ pkg-config ];
patches = [
# Tell the `c` crate to use the flags from the rust bindgen hook
(replaceVars ./0001-read-clang-flags-from-environment.diff {
clang = lib.getExe clang;
})
# Rust 1.89 denies implicit autorefs by default, making the compilation fail.
# This restores the behaviour of previous rust versions by making the lint throw a warning instead.
./0002-allow-dangerous-implicit-autorefs.diff
];
src = fetchFromGitHub {
owner = "tensorchord";
repo = "pgvecto.rs";
tag = "v${finalAttrs.version}";
hash = "sha256-X7BY2Exv0xQNhsS/GA7GNvj9OeVDqVCd/k3lUkXtfgE=";
};
cargoHash = "sha256-8otJ1uqGrCmlxAqvfAL3OjhBI4I6dAu6EoajstO46Sw=";
# Set appropriate version on vectors.control, otherwise it won't show up on PostgreSQL
postPatch = ''
substituteInPlace ./vectors.control --subst-var-by CARGO_VERSION ${finalAttrs.version}
'';
# Include upgrade scripts in the final package
# https://github.com/tensorchord/pgvecto.rs/blob/v0.2.0/scripts/ci_package.sh#L6-L8
postInstall = ''
cp sql/upgrade/* $out/share/postgresql/extension/
'';
env = {
# Needed to get openssl-sys to use pkg-config.
OPENSSL_NO_VENDOR = 1;
# Bypass rust nightly features not being available on rust stable
RUSTC_BOOTSTRAP = 1;
};
# This crate does not have the "pg_test" feature
usePgTestCheckFeature = false;
passthru = {
updateScript = nix-update-script { };
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 = {
# Upstream removed support for PostgreSQL 13 on 0.3.0: https://github.com/tensorchord/pgvecto.rs/issues/343
broken =
(lib.versionOlder postgresql.version "14")
||
# PostgreSQL 17 support issue upstream: https://github.com/tensorchord/pgvecto.rs/issues/607
# Check after next package update.
lib.versionAtLeast postgresql.version "17" && finalAttrs.version == "0.3.0";
description = "Scalable, Low-latency and Hybrid-enabled Vector Search in Postgres";
homepage = "https://github.com/tensorchord/pgvecto.rs";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
diogotcorreia
esclear
];
};
})
-1
View File
@@ -4678,7 +4678,6 @@ with pkgs;
defaultCrateOverrides = callPackage ../build-support/rust/default-crate-overrides.nix { };
inherit (callPackages ../development/tools/rust/cargo-pgrx { })
cargo-pgrx_0_12_0_alpha_1
cargo-pgrx_0_12_6
cargo-pgrx_0_16_0
cargo-pgrx_0_16_1