Merge master into staging-next
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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) [
|
||||
|
||||
@@ -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
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 { };
|
||||
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = [ "." ];
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
-19
@@ -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");
|
||||
-21
@@ -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
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user