Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot] 2026-06-19 18:38:23 +00:00 committed by GitHub
commit bda47f89e2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
97 changed files with 2213 additions and 271 deletions

View file

@ -7,7 +7,7 @@ The `pnpmBuildHook` in Nixpkgs overrides the default build phase for building pa
:::{.example #ex-pnpm-build-hook}
## pnpmBuildHook example code snippet {#pnpm-build-hook-code-snippet}
```
```nix
{
lib,
stdenv,
@ -94,7 +94,7 @@ Controls the flags pass only to the pnpm build script invocation.
Disables automatically running `pnpmBuildHook`. The build can still be run manually if needed, for example:
```
```nix
{
lib,
rustPlatform,
@ -123,9 +123,9 @@ rustPlatform.buildRustPackage (finalAttrs: {
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherversion = 3;
fetcherversion = 4;
hash = lib.fakeHash;
}
};
dontPnpmBuild = true;
postBuild = ''

View file

@ -10,6 +10,7 @@
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- Paths under `/etc/xdg/` from packages in `environment.systemPackages` are no longer linked into the global `/etc/` by default. Modules depending on such directories must declare them explicitly using `environment.pathsToLink`.
- `databricks-cli` has been updated from `0.290.2` to `1.x.x`, the first major release. OAuth tokens for interactive logins (`auth_type = databricks-cli`) are now stored in the OS-native secure store by default (Secret Service on Linux) instead of `~/.databricks/token-cache.json`; cached tokens from older versions are not migrated, so run `databricks auth login` once per profile after upgrading. To keep the previous file-backed storage, set `DATABRICKS_AUTH_STORAGE=plaintext` or add `auth_storage = plaintext` under `[__settings__]` in `~/.databrickscfg`. Additionally, the `vector_search_endpoints` DABs resource renamed `min_qps` to `target_qps` (and the `vector-search-endpoints` command renamed `--min-qps` to `--target-qps`). See the [upstream changelog](https://github.com/databricks/cli/blob/main/CHANGELOG.md) for details.
- `hurl` has been updated to `8.x.x` which has some breaking changes. See [upstream changelog](https://github.com/Orange-OpenSource/hurl/releases/tag/8.0.0) for details.

View file

@ -14237,6 +14237,12 @@
githubId = 8211181;
name = "Kevin Kandlbinder";
};
kevinpita = {
email = "gitkevin@pm.me";
github = "kevinpita";
githubId = 69063372;
name = "Kevin Pita";
};
keyruu = {
name = "Lucas";
email = "me@keyruu.de";

View file

@ -52,4 +52,6 @@
- `boot.loader.systemd-boot` gained support for [Automatic Boot Assessment](https://systemd.io/AUTOMATIC_BOOT_ASSESSMENT/) via the new [`boot.loader.systemd-boot.bootCounting`](#opt-boot.loader.systemd-boot.bootCounting.enable) options, allowing automatic detection of and recovery from bad NixOS generations. As part of this change, boot loader entries on the ESP/XBOOTLDR partition are now named `nixos-<content-hash>.conf` instead of `nixos-generation-<n>.conf`; existing entries are migrated automatically on the next `nixos-rebuild boot`/`switch`.
- `security.polkit.settings` added for RFC42 style configuration of the polkitd daemon.
- The `newuidmap` and `newgidmap` security wrappers are now installed with `cap_setuid`/`cap_setgid` file capabilities instead of the setuid-root bit, matching shadow's `--with-fcaps` install mode and other major distributions. Rootless containers (podman, docker-rootless, unprivileged user namespaces) are unaffected. The only behavioural change is that mapping host uid 0 via `/etc/subuid` (which NixOS never configures by default) additionally requires `cap_setfcap`; users who explicitly grant uid 0 in a subuid range can restore the previous behaviour with `security.wrappers.newuidmap.capabilities = lib.mkForce "cap_setuid,cap_setfcap+ep";`.

View file

@ -187,7 +187,6 @@ in
environment.pathsToLink = [
"/bin"
"/etc/xdg"
"/etc/gtk-2.0"
"/etc/gtk-3.0"
"/lib" # FIXME: remove and update debug-info.nix

View file

@ -22,8 +22,6 @@
};
config = {
# FIXME this does not actually work because "/etc/xdg" is linked
# unconditionally in `nixos/modules/config/system-path.nix`
environment.pathsToLink = lib.mkIf config.xdg.autostart.install [
"/etc/xdg/autostart"
];

View file

@ -16,6 +16,8 @@ let
;
cfg = config.security.polkit;
iniFmt = pkgs.formats.ini { };
in
{
@ -30,6 +32,21 @@ in
package = mkPackageOption pkgs "polkit" { };
settings = mkOption {
description = ''
Options for polkitd.
See {manpage}`polkitd.conf(5)` for available options.
'';
type = types.submodule {
freeformType = iniFmt.type;
options.Polkitd.ExpirationSeconds = lib.mkOption {
description = "Expiration timeout of authenticated sesssions.";
type = types.ints.positive;
default = 300; # current polkit upstream default
};
};
};
extraArgs = mkOption {
type = types.listOf types.str;
default = [
@ -154,6 +171,7 @@ in
${cfg.extraConfig}
''; # TODO: validation on compilation (at least against typos)
environment.etc."polkit-1/polkitd.conf".source = iniFmt.generate "polkitd.conf" cfg.settings;
security.pam.services.polkit-1 = { };
security.wrappers.pkexec = {
@ -173,4 +191,7 @@ in
users.groups.polkituser = { };
};
meta = {
maintainers = with lib.maintainers; [ zimward ];
};
}

View file

@ -763,6 +763,7 @@ in
];
};
serviceConfig.Type = "oneshot";
serviceConfig.EnvironmentFile = "-/etc/switch-root.conf";
description = "NixOS Activation";
script = # bash
@ -770,6 +771,14 @@ in
set -uo pipefail
export PATH="/bin:${cfg.package.util-linux}/bin"
# A non-NixOS closure (e.g. init=/bin/sh) has no prepare-root;
# initrd-find-nixos-closure records this as a non-empty NEW_INIT.
# Skip activation and let initrd-switch-root hand over to it directly.
if [ -n "''${NEW_INIT:-}" ]; then
echo "$NEW_INIT is not a NixOS system - not activating"
exit 0
fi
closure="$(realpath /nixos-closure)"
# Initialize the system

View file

@ -71,6 +71,10 @@
RequiresMountsFor = [
"/sysroot/nix/store"
];
# find-etc only creates this symlink for a NixOS init. For a
# non-NixOS init= (e.g. init=/bin/sh) it is absent, so skip the
# mount instead of failing the whole initrd.
ConditionPathExists = "/etc-metadata-image";
};
requires = [
config.boot.initrd.systemd.services.initrd-find-etc.name
@ -123,6 +127,8 @@
"/run/nixos-etc-metadata"
];
DefaultDependencies = false;
# Skip for a non-NixOS init=, see the metadata mount above.
ConditionPathExists = "/etc-basedir";
};
}
];
@ -140,6 +146,8 @@
# before the overlay is mounted.
"/run/nixos-etc-metadata"
];
# Skip for a non-NixOS init=, see the metadata mount above.
ConditionPathExists = "/etc-metadata-image";
};
serviceConfig = {
Type = "oneshot";

View file

@ -1645,6 +1645,7 @@ in
"i686-linux"
] ./initrd-network-openvpn { systemdStage1 = true; };
systemd-initrd-networkd-ssh = runTest ./systemd-initrd-networkd-ssh.nix;
systemd-initrd-non-nixos = runTest ./systemd-initrd-non-nixos.nix;
systemd-initrd-shutdown = runTest {
imports = [ ./systemd-shutdown.nix ];
_module.args.systemdStage1 = true;

View file

@ -0,0 +1,68 @@
{ lib, pkgs, ... }:
let
marker = "REACHED NON-NIXOS INIT AS PID 1";
# A non-NixOS init (no prepare-root). We use a store path, not literal
# /bin/sh: a fresh disk has no /bin/sh yet (it is created by the activation a
# non-NixOS init skips), while the store is always mounted; init=/bin/sh works
# the same on a real system. Writes a marker, then stays alive so PID 1 lives.
nonNixosInit = pkgs.writeShellScriptBin "non-nixos" ''
echo "${marker}" > /dev/console
exec ${pkgs.coreutils}/bin/sleep infinity
'';
common = {
boot.initrd.systemd.enable = true;
virtualisation = {
# tmpfs root, like real non-NixOS closure init= microvm consumers.
diskImage = null;
graphics = false;
};
# Speed up wait_for_console.
boot.consoleLogLevel = lib.mkForce 3;
boot.initrd.systemd.managerEnvironment.SYSTEMD_LOG_LEVEL = "warning";
# switch-root needs an os-release on the target root. A real system has one
# on disk; our fresh tmpfs does not, so create it.
boot.initrd.systemd.tmpfiles.settings."10-os-release"."/sysroot/etc/os-release".f = {
mode = "0644";
argument = "ID=test-non-nixos";
};
};
in
{
name = "systemd-initrd-non-nixos";
nodes = {
bashActivation = common;
nixosInit = {
imports = [ common ];
system.nixos-init.enable = true;
system.etc.overlay.enable = true;
services.userborn.enable = true;
};
};
testScript = ''
import os
# The last init= on the cmdline wins; QEMU_KERNEL_PARAMS is appended after
# the default one, so this boots our non-NixOS init.
os.environ["QEMU_KERNEL_PARAMS"] = "init=${lib.getExe nonNixosInit}"
start_all()
# If a code path does not skip the non-NixOS init, switch-root is blocked and
# the machine drops to emergency mode: the marker never appears and the wait
# times out.
with subtest("bash initrd-nixos-activation skips a non-NixOS init"):
bashActivation.wait_for_console_text("${marker}", timeout=300)
with subtest("nixos-init switches to a non-NixOS init directly"):
nixosInit.wait_for_console_text("${marker}", timeout=300)
'';
}

View file

@ -1,6 +1,7 @@
{
lib,
stdenv,
blueprint-compiler,
desktop-file-utils,
fetchFromGitLab,
isocodes,
@ -17,17 +18,18 @@
stdenv.mkDerivation (finalAttrs: {
pname = "crosswords";
version = "0.3.15";
version = "0.3.17";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "jrb";
repo = "crosswords";
rev = finalAttrs.version;
hash = "sha256-KcHcTjPoQNA5TBXnKgudjBTV/0JbeVMJ09XVAL7SizI=";
hash = "sha256-VeiVuMEfMCVjSk52BGtlypapeW6CBW1VQsrtDS8aCoY=";
};
nativeBuildInputs = [
blueprint-compiler
desktop-file-utils
meson
ninja

View file

@ -0,0 +1,3 @@
{ python3Packages }:
python3Packages.toPythonApplication python3Packages.datalab-platform

View file

@ -273,6 +273,20 @@ python.pkgs.buildPythonApplication rec {
"-vv"
];
preCheck = lib.optionalString (enableBloat && stdenv.hostPlatform.isDarwin) ''
# h5dump is in hdf5's bin output, but its dylibs are in the out output.
export DYLD_LIBRARY_PATH="${lib.makeLibraryPath [ hdf5 ]}''${DYLD_LIBRARY_PATH:+:''${DYLD_LIBRARY_PATH}}"
'';
makeWrapperArgs = lib.optionals enableBloat (
[
"--prefix PATH : ${lib.makeBinPath [ hdf5 ]}"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
"--prefix DYLD_LIBRARY_PATH : ${lib.makeLibraryPath [ hdf5 ]}"
]
);
postInstall = ''
make -C doc
installManPage doc/diffoscope.1

View file

@ -0,0 +1,11 @@
--- a/folly/test/MemsetBenchmark.cpp
+++ b/folly/test/MemsetBenchmark.cpp
@@ -40,7 +40,7 @@
template <void* memset_impl(void*, int, size_t)>
void bmMemset(void* buf, size_t length, size_t iters) {
-#if !defined(__aarch64__)
+#if !defined(__aarch64__) && !defined(__APPLE__)
__asm__ volatile(".align 64\n");
#endif
#pragma unroll(1)

View file

@ -144,6 +144,11 @@ stdenv.mkDerivation (finalAttrs: {
# https://github.com/facebook/folly/pull/2561
./memset-memcpy-aarch64.patch
# `.align 64` is invalid on x86_64 Mach-O, where `.align` takes a
# power-of-two exponent (64 means 2^64). The guard only excluded
# aarch64, so add !__APPLE__ to also skip x86_64-darwin.
./memset-benchmark-darwin.patch
# Use feature detection directly instead of private standard library
# macros to detect the presence of ASAN and otherwise fallback to
# _not_ having ASAN.

View file

@ -0,0 +1,3 @@
{ python3Packages }:
python3Packages.toPythonApplication python3Packages.foss-flame

View file

@ -10,7 +10,7 @@
buildGoModule (finalAttrs: {
pname = "gh";
version = "2.94.0";
version = "2.95.0";
__structuredAttrs = true;
@ -18,10 +18,10 @@ buildGoModule (finalAttrs: {
owner = "cli";
repo = "cli";
tag = "v${finalAttrs.version}";
hash = "sha256-wv9hMep8dDKKpqzNI5We6KThOFX82ppzvkoGyhY21pk=";
hash = "sha256-Hzdod8dJuwFv3mNa4Nflqf8uy45RpoeO93sFSMq3D5E=";
};
vendorHash = "sha256-sRpHQTJNDPVe1jaLO9zMqtIMDE6JQB3vUL7AMxlcnJA=";
vendorHash = "sha256-tqbo791t7phe6ip5UzBiLer0rGcKqpKGF0bqwxr3j78=";
nativeBuildInputs = [
installShellFiles

View file

@ -56,24 +56,24 @@
let
pname = "gitkraken";
version = "12.2.0";
version = "12.2.1";
throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
srcs = {
x86_64-linux = fetchzip {
url = "https://api.gitkraken.dev/releases/production/linux/x64/${version}/gitkraken-amd64.tar.gz";
hash = "sha256-ep4ZLSYxIEqzI7eubMk1H8iTOuOuLJnW1ZjdlOe54eU=";
hash = "sha256-CX/NxvLrxia92vSIjWXzIiBdTfhZ8TW7a5g1hEt+Y/k=";
};
x86_64-darwin = fetchzip {
url = "https://api.gitkraken.dev/releases/production/darwin/x64/${version}/GitKraken-v${version}.zip";
hash = "sha256-qGnoBTG7i7SjLgZ1MzGNTNkvxg6uOzSX4tUwjrk2Yvw=";
hash = "sha256-B4vFDrDy3s/d5MyGOP3pv/pGpUfpJFhvI8EWSqJhiyg=";
};
aarch64-darwin = fetchzip {
url = "https://api.gitkraken.dev/releases/production/darwin/arm64/${version}/GitKraken-v${version}.zip";
hash = "sha256-5t2PV2CY6izw+6k0rS0GwZMxDmfmSWGi7A/YBTVa4cc=";
hash = "sha256-JEgqJ6smqDG/2KFApRSYTuL1Ch1sIkhGDMjqVsgQUmc=";
};
};

View file

@ -131,6 +131,11 @@ rustPlatform.buildRustPackage {
cp -r packaging/files/usr/lib $out/lib
substituteInPlace $out/lib/NetworkManager/dispatcher.d/pre-down.d/gpclient.down \
--replace-fail /usr/bin/gpclient $out/bin/gpclient
install -Dm644 packaging/files/usr/share/applications/gpgui.desktop \
$out/share/applications/gpgui.desktop
substituteInPlace $out/share/applications/gpgui.desktop \
--replace-fail /usr/bin/gpclient $out/bin/gpclient
'';
postFixup = ''

View file

@ -11,13 +11,13 @@
}:
buildNpmPackage (finalAttrs: {
pname = "gridtracker2";
version = "2.260609.0";
version = "2.260613.0";
src = fetchFromGitLab {
owner = "gridtracker.org";
repo = "gridtracker2";
tag = "v${finalAttrs.version}";
hash = "sha256-QlL8q5TaUizACr4uRbFZtl8hy/Eyq7d4v56ca3ckj4o=";
hash = "sha256-cwsZZXIMIX19u3qlAk5b0Gi339dtuoHKSC7/rBvccJs=";
};
npmDepsHash = "sha256-5h3bswjVf/8JHhwHRFTUfydN7XXtWbxNHTZ0mLL7RT8=";

View file

@ -0,0 +1,58 @@
{
lib,
rustPlatform,
fetchFromGitHub,
zig_0_15,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "herdr";
version = "0.7.0";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "ogulcancelik";
repo = "herdr";
tag = "v${finalAttrs.version}";
hash = "sha256-DjCSwhRMBRE9lSvjpX6m8IpoEgUbOP1jcmeXMlQlSQY=";
};
cargoHash = "sha256-NHVSdXlGsqhI/Mij28TvdW0f6IKOglNgpBNb2sFXocI=";
zigDeps = zig_0_15.fetchDeps {
inherit (finalAttrs) pname version;
src = "${finalAttrs.src}/vendor/libghostty-vt";
fetchAll = true;
hash = "sha256-pgGu8+NwvFcj6SrN4VaTHLeHdA7QY731ctyrHZwgFAc=";
};
nativeBuildInputs = [ zig_0_15.hook ];
# Upstream binary tests are renamed, added, or changed between releases and
# depend on host process details, so Nix-only patches for them are brittle.
doCheck = false;
dontUseZigBuild = true;
dontUseZigCheck = true;
dontUseZigInstall = true;
postConfigure = ''
export ZIG_GLOBAL_CACHE_DIR=$(mktemp -d)
cp -rL ${finalAttrs.zigDeps} "$ZIG_GLOBAL_CACHE_DIR/p"
chmod -R u+w "$ZIG_GLOBAL_CACHE_DIR/p"
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Agent multiplexer that lives in your terminal";
homepage = "https://github.com/ogulcancelik/herdr";
changelog = "https://github.com/ogulcancelik/herdr/releases/tag/v${finalAttrs.version}";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ kevinpita ];
mainProgram = "herdr";
platforms = lib.platforms.unix;
};
})

View file

@ -0,0 +1,3 @@
{ python3Packages }:
python3Packages.toPythonApplication python3Packages.intersphinx-registry

View file

@ -0,0 +1,3 @@
{ python3Packages }:
python3Packages.toPythonApplication python3Packages.jupyterlite-core

View file

@ -4,7 +4,6 @@
cargo,
fetchFromGitLab,
gi-docgen,
glib,
gobject-introspection,
json-glib,
meson,
@ -15,14 +14,14 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libipuz";
version = "0.5.2";
version = "0.5.4";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "jrb";
repo = "libipuz";
rev = finalAttrs.version;
hash = "sha256-8bFMtqRD90SF9uT39Wkjf0eUef+0HgyrqY+DFA/xutI=";
hash = "sha256-rUFYPtedcNqba2OLPo9nSjyGxuc3Q3RNoOmZx+RUOcU=";
};
cargoRoot = "libipuz/rust";
@ -33,13 +32,12 @@ stdenv.mkDerivation (finalAttrs: {
version
cargoRoot
;
hash = "sha256-Aw/caE5Z5JxoKLEr2Dr2wq6cyFleNNwtKM1yXM8ZWmU=";
hash = "sha256-NbK++me/tOrl0MyxvyTIK9UWyR0jU3pkJ6c5sNjuY2M=";
};
nativeBuildInputs = [
cargo
gi-docgen
glib
gobject-introspection
meson
ninja
@ -48,7 +46,6 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
glib
json-glib
];

View file

@ -13,6 +13,7 @@
pipewire,
virglrenderer,
libkrunfw,
nix-update-script,
rustc,
withBlk ? false,
withNet ? false,
@ -34,13 +35,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "libkrun" + lib.optionalString (variant != null) "-${variant}";
version = "1.18.1";
version = "1.19.0";
src = fetchFromGitHub {
owner = "libkrun";
repo = "libkrun";
tag = "v${finalAttrs.version}";
hash = "sha256-JXbCDByrWhmcEqwREX/kgVAtS4K8blfpjknTdJwQCLo=";
hash = "sha256-g4u34sGdgv6mRRry9b5TAXSx+pmVwCNSD3YNtr6qRxo=";
};
outputs = [
@ -50,7 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
hash = "sha256-dfIe2pl957MRcY1hIv6wPPX/4He+ou+eCZLbylVeGAE=";
hash = "sha256-rxdaqEKDDMxFwRuX6kLhqGyFXJTz+Bx4mJJhYL5nPgU=";
};
# Make sure libkrunfw can be found by dlopen()
@ -104,6 +105,10 @@ stdenv.mkDerivation (finalAttrs: {
env.OPENSSL_NO_VENDOR = true;
passthru.updateScript = nix-update-script {
attrPath = "libkrun";
};
meta = {
description = "Dynamic library providing Virtualization-based process isolation capabilities";
homepage = "https://github.com/libkrun/libkrun";

View file

@ -35,6 +35,7 @@ in
hythera
mBornand
thbemme
wolfgangwalther
];
platforms = lib.platforms.unix;
broken = stdenv.buildPlatform.is32bit;

View file

@ -13,14 +13,14 @@ rustPlatform.buildRustPackage (finalAttrs: {
pname = "libsignal-ffi";
# must match the version used in mautrix-signal
# see https://github.com/mautrix/signal/issues/401
version = "0.93.2";
version = "0.94.4";
src = fetchFromGitHub {
fetchSubmodules = true;
owner = "signalapp";
repo = "libsignal";
tag = "v${finalAttrs.version}";
hash = "sha256-U32vd5TzgA1LwlFgLUJU30gUeQoYnKI7kYnhy+d8eQk=";
hash = "sha256-Uh/j8cXUWgWgSo9UBfYOFuC8i+2YdMwGHcXf55PkGgU=";
};
postPatch =
@ -46,7 +46,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
NIX_LDFLAGS = if stdenv.hostPlatform.isDarwin then "-lc++" else "-lstdc++";
};
cargoHash = "sha256-5thq1MXL792u87fv6M5E1oi8gq6S8dnTsy3k26T7pgM=";
cargoHash = "sha256-st6zTKvxSsyMce22E8nFsJMGjQkk9sEAzSCmyZP8x20=";
cargoBuildFlags = [
"-p"

View file

@ -0,0 +1,3 @@
{ python3Packages }:
python3Packages.toPythonApplication python3Packages.licomp-toolkit

View file

@ -17,13 +17,13 @@ in
stdenv.mkDerivation rec {
pname = "lsof";
version = "4.99.6";
version = "4.99.7";
src = fetchFromGitHub {
owner = "lsof-org";
repo = "lsof";
rev = version;
hash = "sha256-M/2xcii8ibGAI/6f34AE7aEb9fmn+iSWqWqnyDhg4CI=";
tag = version;
hash = "sha256-o95osjMQvpOVx2b0lCXVp61x2GHQV+HW1iaamVhevng=";
};
postPatch = ''
@ -80,6 +80,7 @@ stdenv.mkDerivation rec {
meta = {
homepage = "https://github.com/lsof-org/lsof";
changelog = "https://github.com/lsof-org/lsof/releases/tag/${src.tag}";
description = "Tool to list open files";
mainProgram = "lsof";
longDescription = ''

View file

@ -13,14 +13,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lynx";
version = "2.9.2";
version = "2.9.3";
src = fetchurl {
urls = [
"https://invisible-island.net/archives/lynx/tarballs/lynx${finalAttrs.version}.tar.bz2"
"https://invisible-mirror.net/archives/lynx/tarballs/lynx${finalAttrs.version}.tar.bz2"
];
hash = "sha256-c3S4mTbZkWaeEB9Ol/LJWSA24ejNqnuvwlmnerb7B84=";
hash = "sha256-F0t/KGamDzJHunX1x9uxCxJK7eShNZMS3hXzv+vSBQ8=";
};
enableParallelBuilding = true;
@ -53,6 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
};
meta = {
changelog = "https://lynx.invisible-island.net/lynx${finalAttrs.version}/CHANGES.html";
description = "Text-mode web browser";
homepage = "https://lynx.invisible-island.net/";
mainProgram = "lynx";

View file

@ -5,16 +5,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "markdown-oxide";
version = "0.25.10";
version = "0.25.11";
src = fetchFromGitHub {
owner = "Feel-ix-343";
repo = "markdown-oxide";
tag = "v${finalAttrs.version}";
hash = "sha256-nzUje11rp6ByfajrxeEszi1mYs2Pu9Fq+blRdUECqT4=";
hash = "sha256-7hiZqdA9KfSv/IPwykRJB1qmyQThvie4QlCoQw7nFGo=";
};
cargoHash = "sha256-Zzo7lEGfzPpxODeVHm89q22aAmuN5h2nIdh2eF2jSpY=";
cargoHash = "sha256-Q0hY5YxV/se7vXf00nKTVkVcLCPzLSitEWtQENRskjc=";
meta = {
description = "Markdown LSP server inspired by Obsidian";

View file

@ -14,19 +14,19 @@
python3Packages.buildPythonApplication rec {
pname = "matrix-synapse";
version = "1.154.0";
version = "1.155.0";
pyproject = true;
src = fetchFromGitHub {
owner = "element-hq";
repo = "synapse";
rev = "v${version}";
hash = "sha256-4US6PPJAI0UUOmy12thjXKX3IRUCH9w/zkRD3ivQ9BE=";
hash = "sha256-ka92mJvm/7PaENPkQRWuw8c8BdzMvIuTsc3xSEmEms8=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-Cu5bXS6BprXr/dwkNXDjcP9hOfqQddoC5BxOus4rteM=";
hash = "sha256-+Z2GyHlVothtcTKHjbr+iKQG8wi5tgtoZr8+FHYJEFk=";
};
build-system =

View file

@ -20,14 +20,14 @@ let
in
buildGoModule rec {
pname = "mautrix-signal";
version = "26.05";
tag = "v0.2605.0";
version = "26.06";
tag = "v0.2606.0";
src = fetchFromGitHub {
owner = "mautrix";
repo = "signal";
inherit tag;
hash = "sha256-IGDVfauU+zRbwEN6FdI9t5TjnKAm22NsuxiUiDPhK2Q=";
hash = "sha256-DSOf6kyNcsknwKM77vUQs6pWX8hMo4mU9dOGai62QR0=";
};
buildInputs =
@ -46,7 +46,7 @@ buildGoModule rec {
CGO_LDFLAGS = toString [ cppStdLib ];
};
vendorHash = "sha256-Njl4kwhx+vlqQI8CeA8gfanEKClvMefoM3Sy3UUYllc=";
vendorHash = "sha256-e9Et97QEn12kkiqrQTaDtwECLhwvxwDUF6IcWoL/+Mg=";
ldflags = [
"-X"

View file

@ -9,16 +9,16 @@
}:
buildGoModule (finalAttrs: {
pname = "nelm";
version = "1.23.2";
version = "1.24.0";
src = fetchFromGitHub {
owner = "werf";
repo = "nelm";
tag = "v${finalAttrs.version}";
hash = "sha256-tP5NkuKmne+XthBnN36uorwMuM7yuJLvo4zzc1K1JBQ=";
hash = "sha256-2+jkNOCmxgFJ1hXk2/Q96JgbrFrIxu9USbWtM49znJ8=";
};
vendorHash = "sha256-Ux9fyezBXWVjmpa8WsEHvOUo/pokzFXvdpDAtNh0T/8=";
vendorHash = "sha256-jPc96Sehy1xv+G9GA6bUA3qfrgTaUt7ybK76ELyx4to=";
subPackages = [ "cmd/nelm" ];

View file

@ -3,7 +3,7 @@ use std::{os::unix, path::Path};
use anyhow::{Context, Result};
use crate::config::Config;
use crate::{SYSROOT_PATH, find_toplevel_in_prefix, resolve_in_prefix};
use crate::{SYSROOT_PATH, find_init_in_prefix, resolve_in_prefix, verify_init_is_nixos};
/// Entrypoint for the `find-etc` binary.
///
@ -12,7 +12,20 @@ use crate::{SYSROOT_PATH, find_toplevel_in_prefix, resolve_in_prefix};
/// This avoids needing a reference to the toplevel embedded in the initrd and thus reduces the
/// need to re-build it.
pub fn find_etc() -> Result<()> {
let toplevel = find_toplevel_in_prefix(SYSROOT_PATH)?;
let init_in_sysroot =
find_init_in_prefix(SYSROOT_PATH).context("Failed to find init in sysroot")?;
// A non-NixOS init= (e.g. init=/bin/sh) has no etc metadata image. Skip
// without creating the symlinks: the etc-overlay mounts are gated on them
// and so skip too, and initrd-init switches root to the init directly.
let Ok(toplevel) = verify_init_is_nixos(SYSROOT_PATH, &init_in_sysroot) else {
log::info!(
"{} is not a NixOS system - not setting up the etc overlay.",
init_in_sysroot.display()
);
return Ok(());
};
let config = Config::from_toplevel(&toplevel, SYSROOT_PATH)?;
let basedir = config

View file

@ -27,16 +27,6 @@ pub use crate::{
pub const SYSROOT_PATH: &str = "/sysroot";
/// Find the path to the toplevel closure of the system in a prefix.
///
/// Uses the `init=` parameter on the kernel command-line.
///
/// Returns the relative path of the init to the prefix, e.g. without the `/sysroot` prefix.
pub fn find_toplevel_in_prefix(prefix: &str) -> Result<PathBuf> {
let init_in_sysroot = find_init_in_prefix(prefix)?;
verify_init_is_nixos(prefix, init_in_sysroot)
}
/// Verify that an init path is inside a `NixOS` toplevel directory.
///
/// If the path is verified, returns the path to the toplevel.
@ -87,20 +77,16 @@ pub fn find_init_in_prefix(prefix: &str) -> Result<PathBuf> {
}
/// Extract the value of the `init` parameter from the given kernel `cmdline`.
///
/// If `init=` appears multiple times the last one wins, matching the kernel.
/// This is what makes appending `init=/bin/sh` at the boot prompt work even
/// though the boot entry already has an `init=`.
fn extract_init(cmdline: &str) -> Result<PathBuf> {
let init_params: Vec<&str> = cmdline
let init = cmdline
.split_ascii_whitespace()
.filter(|p| p.starts_with("init="))
.collect();
if init_params.len() != 1 {
bail!("Expected exactly one init param on kernel cmdline: {cmdline}")
}
let init = init_params
.first()
.and_then(|s| s.split('=').next_back())
.context("Failed to extract init path from kernel cmdline: {cmdline}")?;
.filter_map(|p| p.strip_prefix("init="))
.next_back()
.with_context(|| format!("No init= parameter on kernel cmdline: {cmdline}"))?;
Ok(PathBuf::from(init))
}
@ -129,4 +115,25 @@ mod tests {
Ok(())
}
#[test]
fn test_extract_init_single() {
assert_eq!(
extract_init("root=fstab init=/nix/store/xxx-nixos/init quiet").unwrap(),
PathBuf::from("/nix/store/xxx-nixos/init")
);
}
#[test]
fn test_extract_init_last_wins() {
assert_eq!(
extract_init("init=/nix/store/xxx-nixos/init init=/bin/sh").unwrap(),
PathBuf::from("/bin/sh")
);
}
#[test]
fn test_extract_init_missing() {
assert!(extract_init("root=fstab quiet").is_err());
}
}

View file

@ -8,17 +8,17 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
version = "0.15.0";
version = "0.16.0";
pname = "sccache";
src = fetchFromGitHub {
owner = "mozilla";
repo = "sccache";
rev = "v${finalAttrs.version}";
sha256 = "sha256-cisDCEevpF8tzdEQzgIN+OifdTDk2YXvuSLKyBQu+IE=";
sha256 = "sha256-OShSodMh3RWB/XWsUwW5jaJ5KLRCrcrPG1DsehDiKc4=";
};
cargoHash = "sha256-p08KXAnGyAbn4JzacphucV+OjZt0iKjnZEFtONkkDRs=";
cargoHash = "sha256-65wx8fQHqcRLWYQvbsPCEDxlOmaCs3azQCPYacHXYL8=";
buildFeatures = lib.optionals distributed [
"dist-client"

View file

@ -0,0 +1,3 @@
{ python3Packages }:
python3Packages.toPythonApplication python3Packages.sphinx-gallery

View file

@ -11,11 +11,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "strace";
version = "7.0";
version = "7.1";
src = fetchurl {
url = "https://strace.io/files/${finalAttrs.version}/strace-${finalAttrs.version}.tar.xz";
hash = "sha256-bJJBm+Py7FYLMXKKRlIhfFmGTIZCunsbN3GxsBOtB0s=";
hash = "sha256-gXQ+zypbRBhrL1A4r9yL7aflxwrtFbT7+8xuns4kSQ8=";
};
separateDebugInfo = true;

View file

@ -0,0 +1,71 @@
{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
pkg-config,
alsa-lib,
jack2,
libogg,
libopus,
libopusenc,
libshout,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "tau-radio";
version = "0.2.3";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "tau-org";
repo = "tau-radio";
tag = "v${finalAttrs.version}";
hash = "sha256-1SKlZ+htlCsO7ClZDbFbKyw8v9zgV5pKDEtL57D49f8=";
};
cargoHash = "sha256-X1uHKYgt9ddvr/cBDW9HaHawG5uv2sU416jyL/XTPF4=";
nativeBuildInputs = [
pkg-config
rustPlatform.bindgenHook
];
buildInputs = [
libogg
libopus
libopusenc
libshout
]
++ lib.optionals stdenv.hostPlatform.isLinux [
alsa-lib
jack2
];
# fatal error: 'opus.h' file not found
env.NIX_CFLAGS_COMPILE = "-I${libopus.dev}/include/opus";
postPatch = ''
# The opusenc crate hardcodes `*const i8`, but bindgen generates `*const c_char`,
# which is `u8` on `aarch64-linux`, causing a type mismatch on that platform
substituteInPlace $cargoDepsCopy/*/opusenc-*/src/comments.rs \
--replace-fail \
"picture.as_ptr() as *const i8," \
"picture.as_ptr() as *const std::ffi::c_char,"
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Web radio - Hijacks audio device using CLAP and Ogg/Opus";
homepage = "https://github.com/tau-org/tau-radio";
mainProgram = "tau-radio";
license = lib.licenses.eupl12;
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
};
})

View file

@ -0,0 +1,41 @@
{
lib,
rustPlatform,
fetchFromGitHub,
perl,
pkg-config,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "tau-tower";
version = "0.2.3";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "tau-org";
repo = "tau-tower";
tag = "v${finalAttrs.version}";
hash = "sha256-vbUR2ZfnomUkWdz2xdFReR6B0lzz4dKM88RonAWu994=";
};
cargoHash = "sha256-Qv97FTiccfQSBI2OBfl31p3oF/JCL/+UXkK+owuByDY=";
nativeBuildInputs = [
perl
pkg-config
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Webradio server - broadcasts audio source to clients";
homepage = "https://github.com/tau-org/tau-tower";
mainProgram = "tau-tower";
license = lib.licenses.eupl12;
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
};
})

View file

@ -7,7 +7,7 @@
stdenvNoCC.mkDerivation {
pname = "thunderkittens";
version = "0-unstable-2026-05-27";
version = "0-unstable-2026-06-15";
__structuredAttrs = true;
strictDeps = true;
@ -15,8 +15,8 @@ stdenvNoCC.mkDerivation {
src = fetchFromGitHub {
owner = "HazyResearch";
repo = "ThunderKittens";
rev = "34b15f7e7012de25ae162c8d9dc85296dd342676";
hash = "sha256-VN6AACu6LqOuCCvpNOeGGdYkQblxyWolBnCNeSxgiL4=";
rev = "02e9acbd8c330564357a9e2df929e938ac67d6d0";
hash = "sha256-GXrKCMKMDnQO7hNj4WZmmANSVJqEioIArwQWoE+/jVM=";
};
dontBuild = true;

View file

@ -0,0 +1,174 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-time
qt5,
# build-system
setuptools,
# dependencies
fastapi,
guidata,
numpy,
packaging,
pandas,
plotpy,
psutil,
pydantic,
pywavelets,
scikit-image,
scipy,
sigima,
uvicorn,
# optional-dependencies
babel,
build,
coverage,
pre-commit,
pylint,
ruff,
myst-parser,
pydata-sphinx-theme,
sphinx,
sphinx-copybutton,
sphinx-design,
sphinx-intl,
sphinx-sitemap,
sphinxcontrib-svg2pdfconverter,
opencv-python-headless,
pyinstaller,
pyqt5,
httpx,
pytest,
pytest-xvfb,
# tests
pytestCheckHook,
}:
buildPythonPackage (finalAttrs: {
pname = "datalab-platform";
version = "1.2.1";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "DataLab-Platform";
repo = "DataLab";
tag = "v${finalAttrs.version}";
hash = "sha256-rJDA5qYv2LYMyrckxNy63Gqn8HYU62qG0OAioztKGtA=";
};
# NOTE: DataLab is compatible with qt6, but it's apparently not perfect as
# the executable segfaults on startup. For now, let's use qt5 which works and
# migrate in the future.
nativeBuildInputs = [
qt5.wrapQtAppsHook
];
buildInputs = [
qt5.qtbase
];
build-system = [
setuptools
];
dependencies = [
fastapi
guidata
numpy
packaging
pandas
plotpy
psutil
pydantic
pywavelets
scikit-image
scipy
sigima
uvicorn
]
++ finalAttrs.passthru.optional-dependencies.qt
# required for `bin/datalab-{demo,tests}`
++ finalAttrs.passthru.optional-dependencies.test;
optional-dependencies = {
dev = [
babel
build
coverage
pre-commit
pylint
ruff
];
doc = [
myst-parser
pydata-sphinx-theme
sphinx
sphinx-copybutton
sphinx-design
sphinx-intl
sphinx-sitemap
sphinxcontrib-svg2pdfconverter
];
exe = [
opencv-python-headless
pyinstaller
pyqt5
];
opencv = [
opencv-python-headless
];
qt = [
pyqt5
];
test = [
httpx
pytest
pytest-xvfb
];
};
pythonRelaxDeps = [
"guidata"
"plotpy"
"scipy"
];
pythonImportsCheck = [
"datalab"
];
nativeCheckInputs = [
pytestCheckHook
]
++ finalAttrs.passthru.optional-dependencies.test;
pytestFlags = [
"--collect-only"
];
dontWrapQtApps = true;
preFixup = ''
# Python scripts need to be manually wrapped
for exe in "$out/bin"/datalab*; do
wrapQtApp "$exe"
done
'';
meta = {
description = "Open-source Platform for Scientific and Technical Data Processing and Visualization";
homepage = "https://github.com/DataLab-Platform/DataLab";
changelog = "https://github.com/DataLab-Platform/DataLab/releases/tag/${finalAttrs.src.tag}";
mainProgram = "datalab";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
};
})

View file

@ -0,0 +1,86 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
# dependencies
jsonschema,
license-expression,
osadl-matrix,
pyyaml,
spdx-license-list,
# tests
pytestCheckHook,
}:
buildPythonPackage (finalAttrs: {
pname = "foss-flame";
version = "0.21.8";
__structuredAttrs = true;
pyproject = true;
src = fetchFromGitHub {
owner = "hesa";
repo = "foss-licenses";
tag = finalAttrs.version;
hash = "sha256-vtiwY5l9zlNKQdoO3NSOG+9U1chqD5tvzBE20xSnGPA=";
postFetch = ''
# We have `CONSIDERATIONS.md` and `considerations.md` with almost the
# same contents, but because Darwin is case-insensitive, having both
# files results in a conflict, and therefore different source hashes than
# other platforms.
find $out -iname "considerations.md" -delete
'';
};
sourceRoot = "${finalAttrs.src.name}/python";
build-system = [
setuptools
];
dependencies = [
jsonschema
license-expression
osadl-matrix
pyyaml
spdx-license-list
];
nativeCheckInputs = [
pytestCheckHook
];
# Upstream setup.cfg has addopts, requiring pytest-{cov,forked,random-order}.
# Clearing it is simpler than replicating those plugins, especially since
# they only affect how tests run.
pytestFlags = [
"--override-ini=addopts="
];
preCheck = ''
ln -s ../tests .
'';
pythonImportsCheck = [
"flame"
];
meta = {
description = "License meta data: data and python module/cli";
homepage = "https://github.com/hesa/foss-licenses";
changelog = "https://github.com/hesa/foss-licenses/releases/tag/${finalAttrs.src.tag}";
mainProgram = "flame";
license = with lib.licenses; [
bsd2
cc-by-40
gpl3Plus
];
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
};
})

View file

@ -10,12 +10,12 @@
buildPythonPackage rec {
pname = "hepunits";
version = "2.4.5";
version = "2.4.6";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-iPpXyfNUWdam7iYYunPCFUxImjLiHVJbZ9qAYqIkLls=";
hash = "sha256-vKatqTcUcWbWbp+hUlZvI3iGjXmCEcrWmQCAOZVg+jQ=";
};
nativeBuildInputs = [

View file

@ -0,0 +1,77 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
flit-core,
# optional-dependencies
platformdirs,
requests,
requests-cache,
sphinx,
mypy,
pytest,
pytest-xdist,
types-requests,
# tests
pytestCheckHook,
}:
buildPythonPackage (finalAttrs: {
pname = "intersphinx-registry";
version = "0.2705.27";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "Quansight-labs";
repo = "intersphinx_registry";
tag = finalAttrs.version;
hash = "sha256-yFpk3NZO2iCjuJ43WvssbDYxNJ6G6KfY5pcTCilsGQs=";
};
build-system = [
flit-core
];
dependencies = finalAttrs.passthru.optional-dependencies.lookup;
optional-dependencies = {
lookup = [
platformdirs
requests
requests-cache
sphinx
];
tests = [
mypy
pytest
pytest-xdist
types-requests
];
};
nativeCheckInputs = [
mypy
pytestCheckHook
]
++ finalAttrs.passthru.optional-dependencies.tests;
# TODO: lots of failing tests
doCheck = false;
pythonImportsCheck = [
"intersphinx_registry"
];
meta = {
description = "Utility package that provides a default intersphinx mapping";
homepage = "https://github.com/Quansight-labs/intersphinx_registry";
mainProgram = "intersphinx-registry";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ eljamm ];
};
})

View file

@ -0,0 +1,55 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
hatchling,
# dependencies
doit,
jupyter-core,
pycparser,
}:
buildPythonPackage (finalAttrs: {
pname = "jupyterlite-core";
version = "0.7.6";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "jupyterlite";
repo = "jupyterlite";
tag = "v${finalAttrs.version}";
hash = "sha256-TSy0GUI/7NLsLOayBwZ/raTtOtFgs/t4v1ByytVG960=";
};
sourceRoot = "${finalAttrs.src.name}/py/jupyterlite-core";
build-system = [
hatchling
];
dependencies = [
doit
jupyter-core
pycparser
];
# upstream has no tests
doCheck = false;
pythonImportsCheck = [
"jupyterlite_core"
];
meta = {
description = "Wasm powered Jupyter running in the browser";
homepage = "https://github.com/jupyterlite/jupyterlite";
changelog = "https://github.com/jupyterlite/jupyterlite/blob/${finalAttrs.src.rev}/CHANGELOG.md";
mainProgram = "jupyter-lite";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ eljamm ];
};
})

View file

@ -0,0 +1,81 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
hatchling,
# dependencies
docutils,
jupyter-server,
jupyterlab-server,
jupyterlite-core,
jupytext,
nbformat,
sphinx,
# optional-dependencies
hatch,
myst-parser,
pydata-sphinx-theme,
}:
buildPythonPackage (finalAttrs: {
pname = "jupyterlite-sphinx";
version = "0.22.1";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "jupyterlite";
repo = "jupyterlite-sphinx";
tag = "v${finalAttrs.version}";
hash = "sha256-eww/VyHbAp78Bz2jg43XHmetEDrXEqXK45cnXHElG80=";
};
build-system = [
hatchling
];
dependencies = [
docutils
jupyter-server
jupyterlab-server
jupyterlite-core
finalAttrs.passthru.deps.jupytext
nbformat
sphinx
];
optional-dependencies = {
dev = [
hatch
];
docs = [
#jupyterlite-xeus # missing, but not important
myst-parser
pydata-sphinx-theme
];
};
# upstream has no tests
doCheck = false;
pythonImportsCheck = [
"jupyterlite_sphinx"
];
passthru.deps.jupytext = jupytext.overridePythonAttrs (oldAttrs: {
# FIX: lots of flaky tests
doCheck = false;
});
meta = {
description = "Sphinx extension that integrates JupyterLite within your Sphinx documentation";
homepage = "https://github.com/jupyterlite/jupyterlite-sphinx";
changelog = "https://github.com/jupyterlite/jupyterlite-sphinx/blob/${finalAttrs.src.rev}/CHANGELOG.md";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ eljamm ];
};
})

View file

@ -24,14 +24,15 @@
buildPythonPackage (finalAttrs: {
pname = "langchain-anthropic";
version = "1.4.3";
version = "1.4.6";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langchain";
tag = "langchain-anthropic==${finalAttrs.version}";
hash = "sha256-u0Ur2SZFI8NkiVMBFieZIkc3cJL2IvrFvB4ueCvGMEU=";
hash = "sha256-X+YS+T9mG+H4I2vHDYBi3Eev6OaCMgi56nKHEewgEXg=";
};
sourceRoot = "${finalAttrs.src.name}/libs/partners/anthropic";
@ -62,6 +63,8 @@ buildPythonPackage (finalAttrs: {
disabledTests = [
# Fails when langchain-core gets ahead of this
"test_serdes"
# KeyError: 'versions' in 1.4.6
"test_anthropic_model_params"
];
pythonImportsCheck = [ "langchain_anthropic" ];

View file

@ -29,14 +29,15 @@
buildPythonPackage (finalAttrs: {
pname = "langchain-aws";
version = "1.4.6";
version = "1.6.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langchain-aws";
tag = "langchain-aws==${finalAttrs.version}";
hash = "sha256-WSUwPEBZQRyHYDWs0j+RgeP3Mqer5dIRT7eKoRESpsU=";
hash = "sha256-EZNzP4myJTwkdyAHcUS2RCGPtaUlzt3bgZ4Qsw2RgBs=";
};
postPatch = ''

View file

@ -42,14 +42,15 @@
buildPythonPackage (finalAttrs: {
pname = "langchain-classic";
version = "1.0.4";
version = "1.0.8";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langchain";
tag = "langchain-classic==${finalAttrs.version}";
hash = "sha256-yIu0P1GJBTEJ/Sq2ZTn7btoLiBgDCaNXJT9/W4maYtg=";
hash = "sha256-Xskg6bPmRv7iLjppUF11rqmHg2YJWETVT1EMhzK7Svo=";
};
sourceRoot = "${finalAttrs.src.name}/libs/langchain";

View file

@ -37,14 +37,15 @@
buildPythonPackage (finalAttrs: {
pname = "langchain-core";
version = "1.3.2";
version = "1.4.8";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langchain";
tag = "langchain-core==${finalAttrs.version}";
hash = "sha256-7ugQnVnq/yW/7NVtqkAB1C3+XjLN3m+GQFKtv5uXw9E=";
hash = "sha256-fJKr1NlpCujGoVxxqjaEXGOVZO5NH9+71dWHyMuQ2jw=";
};
sourceRoot = "${finalAttrs.src.name}/libs/core";

View file

@ -29,14 +29,15 @@
buildPythonPackage (finalAttrs: {
pname = "langchain-google-genai";
version = "4.2.3";
version = "4.2.5";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langchain-google";
tag = "libs/genai/v${finalAttrs.version}";
hash = "sha256-OJQRYCzMa6y1F3gHFBAY+G3v3ZWzhw1ZqvbePTJyzr8=";
hash = "sha256-NgP3KyhFprlUoZUg69ZVqTwG9IW6nvX3k6VYz69LdrU=";
};
sourceRoot = "${finalAttrs.src.name}/libs/genai";
@ -68,6 +69,9 @@ buildPythonPackage (finalAttrs: {
# Fails when langchain-core gets ahead of this package
"test_serdes"
"test_serialize"
# pydantic_core._pydantic_core.ValidationError: 1 validation error for GenerateContentResponse
# extra inputs are not permitted
"test_grounding_metadata_to_citations_conversion"
];
disabledTestPaths = [

View file

@ -18,19 +18,20 @@
gitUpdater,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "langchain-groq";
version = "1.1.2";
version = "1.1.3";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langchain";
tag = "langchain-groq==${version}";
hash = "sha256-OS9i4o8UhEmRFgZEKB5owWx2hJuVBRV5XvQLCQnBi9g=";
tag = "langchain-groq==${finalAttrs.version}";
hash = "sha256-RwwlEL3P/6+Yf1bM5ALGxhUXG0C1XPlf0OQMcft4o4U=";
};
sourceRoot = "${src.name}/libs/partners/groq";
sourceRoot = "${finalAttrs.src.name}/libs/partners/groq";
build-system = [ hatchling ];
@ -71,7 +72,7 @@ buildPythonPackage rec {
};
meta = {
changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}";
changelog = "https://github.com/langchain-ai/langchain/releases/tag/${finalAttrs.src.tag}";
description = "Integration package connecting Groq and LangChain";
homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/groq";
license = lib.licenses.mit;
@ -79,4 +80,4 @@ buildPythonPackage rec {
sarahec
];
};
}
})

View file

@ -35,6 +35,7 @@ buildPythonPackage (finalAttrs: {
pname = "langchain-huggingface";
version = "1.2.2";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "langchain-ai";
@ -75,6 +76,8 @@ buildPythonPackage (finalAttrs: {
disabledTests = [
# Requires a circular dependency on langchain
"test_init_chat_model_huggingface"
# AssertionError: Expected 'bind' to have been called once. Called 0 times.
"test_bind_tools"
];
pythonImportsCheck = [ "langchain_huggingface" ];

View file

@ -22,19 +22,20 @@
gitUpdater,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "langchain-mistralai";
version = "1.1.4";
version = "1.1.5";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langchain";
tag = "langchain-mistralai==${version}";
hash = "sha256-52qgkr9oem4jFGNWvoC3wb0WR2z9yhglqA8sJHIhtbs=";
tag = "langchain-mistralai==${finalAttrs.version}";
hash = "sha256-lWhFFPEGNKUVmYC48MtyNZjgujfQRwUKR4bzZEvr5DQ=";
};
sourceRoot = "${src.name}/libs/partners/mistralai";
sourceRoot = "${finalAttrs.src.name}/libs/partners/mistralai";
build-system = [ hatchling ];
@ -75,7 +76,7 @@ buildPythonPackage rec {
};
meta = {
changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}";
changelog = "https://github.com/langchain-ai/langchain/releases/tag/${finalAttrs.src.tag}";
description = "Build LangChain applications with mistralai";
homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/mistralai";
license = lib.licenses.mit;
@ -83,4 +84,4 @@ buildPythonPackage rec {
lib.maintainers.sarahec
];
};
}
})

View file

@ -38,6 +38,7 @@ buildPythonPackage (finalAttrs: {
pname = "langchain-mongodb";
version = "0.11.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "langchain-ai";
@ -85,6 +86,7 @@ buildPythonPackage (finalAttrs: {
pytestFlags = [
# DeprecationWarning: 'asyncio.get_event_loop_policy' is deprecated
"-Wignore::DeprecationWarning"
"-Wignore::PendingDeprecationWarning"
]
++ lib.optionals (pythonAtLeast "3.14") [
# UserWarning: Core Pydantic V1 functionality isn't compatible with Python 3.14

View file

@ -2,7 +2,6 @@
lib,
buildPythonPackage,
fetchFromGitHub,
stdenv,
# build-system
hatchling,
@ -57,8 +56,9 @@ buildPythonPackage (finalAttrs: {
enabledTestPaths = [ "tests/unit_tests" ];
disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
# Darwin prevents the expected shell from spawning to run this
disabledTests = [
# The expected shell can't spawn
# test_standard_params_model_override - AssertionError: ls_model_name did not reflect the per-call `model` override...ZZ
"test_standard_params_model_override"
];

View file

@ -33,14 +33,15 @@
buildPythonPackage (finalAttrs: {
pname = "langchain-openai";
version = "1.2.1";
version = "1.3.2";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langchain";
tag = "langchain-openai==${finalAttrs.version}";
hash = "sha256-0EmL+Ptuvu8CWaqeV9DJnRwstCkxo+XJxzgmPdU/VmA=";
hash = "sha256-VmGbfciQlKBYgyUhFLUVzZaYSpEcK2pRokvsWrFpxaM=";
};
sourceRoot = "${finalAttrs.src.name}/libs/partners/openai";

View file

@ -24,14 +24,15 @@
buildPythonPackage (finalAttrs: {
pname = "langchain-perplexity";
version = "1.3.2";
version = "1.4.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langchain";
tag = "langchain-perplexity==${finalAttrs.version}";
hash = "sha256-XSfnoJaj2VRXSxHHVnRNBvr4Ko7GAqnFEDM90ohaufo=";
hash = "sha256-YWVTghbLE6jXrkwS9shTdDr0pp4ILEVq+dgjg9njRhA=";
};
sourceRoot = "${finalAttrs.src.name}/libs/partners/perplexity";

View file

@ -8,14 +8,15 @@
buildPythonPackage (finalAttrs: {
pname = "langchain-protocol";
version = "0.0.16";
version = "0.0.18";
pyproject = true;
__structuredAttrs = true;
# Not available vis Github yet; required by langchain-core
src = fetchPypi {
pname = "langchain_protocol";
inherit (finalAttrs) version;
hash = "sha256-gGx83ZUbHE9pL6QPzmCCH/DyIdQ2DidnPd8sK5nCt/8=";
hash = "sha256-7D4ReC8e0MnbOOWp7QGw56DT+6QG+qiu9llLc8VqY+Y=";
};
build-system = [

View file

@ -28,14 +28,15 @@
buildPythonPackage (finalAttrs: {
pname = "langchain-tests";
version = "1.1.7";
version = "1.1.9";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langchain";
tag = "langchain-tests==${finalAttrs.version}";
hash = "sha256-zesNbesiLMayvlVrU6NagmE2+o0l6ozwZlOGqvyGpnQ=";
hash = "sha256-GbOasYdPGqk1WJeoqL8DYd1Qizvhjeq8Dc+RgE4iBaA=";
};
sourceRoot = "${finalAttrs.src.name}/libs/standard-tests";

View file

@ -46,14 +46,15 @@
buildPythonPackage (finalAttrs: {
pname = "langchain";
version = "1.2.15";
version = "1.3.10";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langchain";
tag = "langchain==${finalAttrs.version}";
hash = "sha256-aRiU8UwzotSybfgjexV9hYXsm5Ub3PFTz0k0hz1p2lk=";
hash = "sha256-hB1TpaQjSleS+ysGIB1HxCgeQgUhMDoiDtO3Hjk6SLU=";
};
sourceRoot = "${finalAttrs.src.name}/libs/langchain_v1";

View file

@ -24,16 +24,17 @@
gitUpdater,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "langgraph-checkpoint-postgres";
version = "3.0.5";
version = "3.1.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langgraph";
tag = "checkpointpostgres==${version}";
hash = "sha256-EonOCCC6aCM2PQdd3UlazEMf4zjglHx8AxHB0i2W4IY=";
tag = "checkpointpostgres==${finalAttrs.version}";
hash = "sha256-xSYJ9D86GuaJEgQYk+pkJ4O7HK6HXfAOGBv4f1CBY5g=";
};
postgresqlTestSetupPost = ''
@ -42,7 +43,7 @@ buildPythonPackage rec {
--replace-fail "DEFAULT_POSTGRES_URI = \"postgres://postgres:postgres@localhost:5441/\"" "DEFAULT_POSTGRES_URI = \"postgres:///\""
'';
sourceRoot = "${src.name}/libs/checkpoint-postgres";
sourceRoot = "${finalAttrs.src.name}/libs/checkpoint-postgres";
build-system = [ hatchling ];
@ -102,10 +103,10 @@ buildPythonPackage rec {
meta = {
description = "Library with a Postgres implementation of LangGraph checkpoint saver";
homepage = "https://github.com/langchain-ai/langgraph/tree/main/libs/checkpoint-postgres";
changelog = "https://github.com/langchain-ai/langgraph/releases/tag/${src.tag}";
changelog = "https://github.com/langchain-ai/langgraph/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
sarahec
];
};
}
})

View file

@ -20,19 +20,20 @@
gitUpdater,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "langgraph-checkpoint-sqlite";
version = "3.0.3";
version = "3.1.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langgraph";
tag = "checkpointsqlite==${version}";
hash = "sha256-th9LJxaq2Xj6QwPXGL204QTDsnFNBuyjQpLilhcCKUY=";
tag = "checkpointsqlite==${finalAttrs.version}";
hash = "sha256-xSYJ9D86GuaJEgQYk+pkJ4O7HK6HXfAOGBv4f1CBY5g=";
};
sourceRoot = "${src.name}/libs/checkpoint-sqlite";
sourceRoot = "${finalAttrs.src.name}/libs/checkpoint-sqlite";
build-system = [ hatchling ];
@ -83,7 +84,7 @@ buildPythonPackage rec {
};
meta = {
changelog = "https://github.com/langchain-ai/langgraph/releases/tag/${src.tag}";
changelog = "https://github.com/langchain-ai/langgraph/releases/tag/${finalAttrs.src.tag}";
description = "Library with a SQLite implementation of LangGraph checkpoint saver";
homepage = "https://github.com/langchain-ai/langgraph/tree/main/libs/checkpoint-sqlite";
license = lib.licenses.mit;
@ -91,4 +92,4 @@ buildPythonPackage rec {
sarahec
];
};
}
})

View file

@ -17,6 +17,7 @@
# testing
pytest-asyncio,
pytest-mock,
pytestCheckHook,
docker-compose,
@ -26,14 +27,15 @@
buildPythonPackage (finalAttrs: {
pname = "langgraph-cli";
version = "0.4.26";
version = "0.4.30";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langgraph";
tag = "cli==${finalAttrs.version}";
hash = "sha256-LBdDi3gT1N+r6yTb0BDF7qkoHAvo3UTSJnJ49vchjKU=";
hash = "sha256-wemTtMT8UbpEsGzf0fMnXdhJv0oTrG/TqEu6HhFN6nc=";
};
sourceRoot = "${finalAttrs.src.name}/libs/cli";
@ -58,6 +60,7 @@ buildPythonPackage (finalAttrs: {
nativeCheckInputs = [
pytest-asyncio
pytest-mock
pytestCheckHook
docker-compose
]

View file

@ -32,14 +32,15 @@
# It exists so the langgraph team can iterate on it without having to rebuild langgraph.
buildPythonPackage (finalAttrs: {
pname = "langgraph-prebuilt";
version = "1.0.12";
version = "1.1.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langgraph";
tag = "prebuilt==${finalAttrs.version}";
hash = "sha256-J899GIBdXHjZVMwZlnn5GH52/TNjzLukc4Xp/qc8NOM=";
hash = "sha256-xSYJ9D86GuaJEgQYk+pkJ4O7HK6HXfAOGBv4f1CBY5g=";
};
sourceRoot = "${finalAttrs.src.name}/libs/prebuilt";

View file

@ -14,14 +14,15 @@
buildPythonPackage (finalAttrs: {
pname = "langgraph-runtime-inmem";
version = "0.29.0";
version = "0.30.0";
pyproject = true;
__structuredAttrs = true;
# Not available in any repository
src = fetchPypi {
pname = "langgraph_runtime_inmem";
inherit (finalAttrs) version;
hash = "sha256-i8XSQDQq8+QFTZvTtzay8O322vhCHm6qkZop7NWCJzo=";
hash = "sha256-MZVOHebNQ8KEtCUkPU+uroGPaLPayk2+QxPmUbb14R0=";
};
build-system = [ hatchling ];

View file

@ -9,8 +9,11 @@
# dependencies
httpx,
httpx-sse,
langchain-core,
langchain-protocol,
orjson,
typing-extensions,
websockets,
# passthru
gitUpdater,
@ -18,25 +21,31 @@
buildPythonPackage (finalAttrs: {
pname = "langgraph-sdk";
version = "0.3.15";
version = "0.4.2";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langgraph";
tag = "sdk==${finalAttrs.version}";
hash = "sha256-P4SbQK6lFG572WKxisnNn/ZiHcMYBBM/vcBB9N6xpfo=";
hash = "sha256-30BY7f8m3YiqEBhb3+TQYTW0N40xI9kTQbMTh4BwcyU=";
};
sourceRoot = "${finalAttrs.src.name}/libs/sdk-py";
build-system = [ hatchling ];
pythonRelaxDeps = [ "websockets" ];
dependencies = [
httpx
httpx-sse
langchain-core
langchain-protocol
orjson
typing-extensions
websockets
];
disabledTests = [ "test_aevaluate_results" ]; # Compares execution time to magic number

View file

@ -41,14 +41,15 @@
}:
buildPythonPackage (finalAttrs: {
pname = "langgraph";
version = "1.1.10";
version = "1.2.5";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langgraph";
tag = finalAttrs.version;
hash = "sha256-J899GIBdXHjZVMwZlnn5GH52/TNjzLukc4Xp/qc8NOM=";
hash = "sha256-u4rRRvDg99uJpNd/Tqms4EUTmAaROelqQtyyoMsy9Qg=";
};
postgresqlTestSetupPost = ''

View file

@ -0,0 +1,60 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
# dependencies
licomp,
# tests
pytestCheckHook,
jsonschema,
}:
buildPythonPackage (finalAttrs: {
pname = "licomp-doubleopen";
version = "0.1.5";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "hesa";
repo = "licomp-doubleopen";
tag = finalAttrs.version;
hash = "sha256-ju+Ewp5q3bzanLeldtE7NSSlfLpMe6muM4ZlpFgBDh0=";
};
build-system = [
setuptools
];
dependencies = [
licomp
];
nativeCheckInputs = [
pytestCheckHook
jsonschema
];
pythonImportsCheck = [
"licomp_doubleopen"
];
meta = {
description = "Licomp implementation of Double Open Project's license classifications";
homepage = "https://github.com/hesa/licomp-doubleopen";
changelog = "https://github.com/hesa/licomp-doubleopen/releases/tag/${finalAttrs.src.tag}";
license = with lib.licenses; [
cc-by-30
cc-by-40
cc0
gpl3Plus
];
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
};
})

View file

@ -0,0 +1,58 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
# dependencies
licomp,
# tests
pytestCheckHook,
jsonschema,
}:
buildPythonPackage (finalAttrs: {
pname = "licomp-dwheeler";
version = "0.5.1";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "hesa";
repo = "licomp-dwheeler";
tag = finalAttrs.version;
hash = "sha256-p6BSedKqauJCVpkr18UN6oNLwI2NknfJx8FHBIbi3I4=";
};
build-system = [
setuptools
];
dependencies = [
licomp
];
nativeCheckInputs = [
pytestCheckHook
jsonschema
];
pythonImportsCheck = [
"licomp_dwheeler"
];
meta = {
description = "Implementation of Licomp using David Wheeler's graph";
homepage = "https://github.com/hesa/licomp-dwheeler";
changelog = "https://github.com/hesa/licomp-dwheeler/releases/tag/${finalAttrs.src.tag}";
license = with lib.licenses; [
cc-by-sa-30
gpl3Plus
];
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
};
})

View file

@ -0,0 +1,58 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
# dependencies
licomp,
# tests
pytestCheckHook,
jsonschema,
}:
buildPythonPackage (finalAttrs: {
pname = "licomp-gnuguide";
version = "0.5.2";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "hesa";
repo = "licomp-gnuguide";
tag = finalAttrs.version;
hash = "sha256-DfjrmEktlTFvKqHIlmM/XeWZ4s24cRtWqs65OLDYZNQ=";
};
build-system = [
setuptools
];
dependencies = [
licomp
];
nativeCheckInputs = [
pytestCheckHook
jsonschema
];
pythonImportsCheck = [
"licomp_gnuguide"
];
meta = {
description = "Implementation of Licomp using GNU resources";
homepage = "https://github.com/hesa/licomp-gnuguide";
changelog = "https://github.com/hesa/licomp-gnuguide/releases/tag/${finalAttrs.src.tag}";
license = with lib.licenses; [
cc-by-nd-40 # licomp-gnuguide.png & licomp_gnuguide/data/gnu-quick-guide-licenses.json
gpl3Plus
];
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
};
})

View file

@ -0,0 +1,53 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
licomp,
pytestCheckHook,
jsonschema,
}:
buildPythonPackage (finalAttrs: {
pname = "licomp-hermione";
version = "0.5.2";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "hesa";
repo = "licomp-hermione";
tag = finalAttrs.version;
hash = "sha256-TIfi7E+BBChOz/EXRJxjFRYavVRPfnSkBHTaiY87k/Y=";
};
build-system = [
setuptools
];
dependencies = [
licomp
];
nativeCheckInputs = [
pytestCheckHook
jsonschema
];
pythonImportsCheck = [
"licomp_hermione"
];
meta = {
description = "Implementation of Licomp using the Hermine license resource";
homepage = "https://github.com/hesa/licomp-hermione";
changelog = "https://github.com/hesa/licomp-hermione/releases/tag/${finalAttrs.src.tag}";
license = with lib.licenses; [
bsd0
gpl3Plus
odbl
];
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
};
})

View file

@ -0,0 +1,58 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
# dependencies
licomp,
# tests
pytestCheckHook,
jsonschema,
}:
buildPythonPackage (finalAttrs: {
pname = "licomp-osadl";
version = "0.5.1";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "hesa";
repo = "licomp-osadl";
tag = finalAttrs.version;
hash = "sha256-aWJG7HxYs/8/Km3EpY8/XewCILlgePoKsdJyL8CM6LI=";
};
build-system = [
setuptools
];
dependencies = [
licomp
];
nativeCheckInputs = [
pytestCheckHook
jsonschema
];
pythonImportsCheck = [
"licomp_osadl"
];
meta = {
description = "Implementation of Licomp using OSADL's matrix";
homepage = "https://github.com/hesa/licomp-osadl";
changelog = "https://github.com/hesa/licomp-osadl/releases/tag/${finalAttrs.src.tag}";
license = with lib.licenses; [
cc-by-40
gpl3Plus
];
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
};
})

View file

@ -0,0 +1,67 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
# dependencies
licomp,
# tests
pytestCheckHook,
jsonschema,
}:
buildPythonPackage (finalAttrs: {
pname = "licomp-oslc-handbook";
version = "0.1.2";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "hesa";
repo = "licomp-oslc-handbook";
tag = finalAttrs.version;
hash = "sha256-cE3X7oT5Xg1W9lAMLJCYE6qRqrrXpVGLfBp18ynUYLE=";
postFetch = ''
# conflicts with `licenses` on Darwin, thus producing a different source
# hash.
mv $out/LICENSES $out/LICENSES_
'';
};
build-system = [
setuptools
];
dependencies = [
licomp
];
nativeCheckInputs = [
pytestCheckHook
jsonschema
];
pythonImportsCheck = [
"licomp_oslc_handbook"
];
meta = {
description = "Licomp implementaiton of OSLC-handbook";
homepage = "https://github.com/hesa/licomp-oslc-handbook";
changelog = "https://github.com/hesa/licomp-oslc-handbook/releases/tag/${finalAttrs.src.tag}";
license = with lib.licenses; [
cc-by-40
cc-by-sa-40
gpl3Plus
];
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
# TODO: remove when this is resolved:
# https://github.com/hesa/licomp-oslc-handbook/issues/4
badPlatforms = lib.platforms.darwin;
};
})

View file

@ -0,0 +1,58 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
# dependencies
licomp,
# tests
pytestCheckHook,
jsonschema,
}:
buildPythonPackage (finalAttrs: {
pname = "licomp-proprietary";
version = "0.5.3";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "hesa";
repo = "licomp-proprietary";
tag = finalAttrs.version;
hash = "sha256-elEy/BOcuvo29ciRRSNQABWoBrOhRPDCNoaypuvWsx0=";
};
build-system = [
setuptools
];
dependencies = [
licomp
];
nativeCheckInputs = [
pytestCheckHook
jsonschema
];
pythonImportsCheck = [
"licomp_proprietary"
];
meta = {
description = "Implementation of Licomp for linking a Propriettary licensed module";
homepage = "https://github.com/hesa/licomp-proprietary";
changelog = "https://github.com/hesa/licomp-proprietary/releases/tag/${finalAttrs.src.tag}";
license = with lib.licenses; [
cc-by-40
gpl3Plus
];
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
};
})

View file

@ -0,0 +1,58 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
# dependencies
licomp,
# tests
pytestCheckHook,
jsonschema,
}:
buildPythonPackage (finalAttrs: {
pname = "licomp-reclicense";
version = "0.5.1";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "hesa";
repo = "licomp-reclicense";
tag = finalAttrs.version;
hash = "sha256-dCUsSZ70iKNCk8QcTtQ6Kn8BdyqK2E3Arkfx4aHmhmM=";
};
build-system = [
setuptools
];
dependencies = [
licomp
];
nativeCheckInputs = [
pytestCheckHook
jsonschema
];
pythonImportsCheck = [
"licomp_reclicense"
];
meta = {
description = "Implementation of Licomp using the Recliense matrix";
homepage = "https://github.com/hesa/licomp-reclicense";
changelog = "https://github.com/hesa/licomp-reclicense/releases/tag/${finalAttrs.src.tag}";
license = with lib.licenses; [
gpl3Plus
mulan-psl2
];
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
};
})

View file

@ -0,0 +1,79 @@
{
lib,
buildPythonPackage,
fetchFromGitea,
# build-system
setuptools,
# dependencies
foss-flame,
licomp,
licomp-doubleopen,
licomp-dwheeler,
licomp-gnuguide,
licomp-hermione,
licomp-osadl,
licomp-oslc-handbook,
licomp-proprietary,
licomp-reclicense,
pyyaml,
# tests
pytestCheckHook,
}:
buildPythonPackage (finalAttrs: {
pname = "licomp-toolkit";
version = "0.5.20";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitea {
domain = "codeberg.org";
owner = "software-compliance-org";
repo = "licomp-toolkit";
tag = finalAttrs.version;
hash = "sha256-E6ehhQj1EcpW+8Cf2b+dtYSCH7fQ/AgS8uWIN4ipeCQ=";
};
build-system = [
setuptools
];
dependencies = [
foss-flame
licomp
licomp-doubleopen
licomp-dwheeler
licomp-gnuguide
licomp-hermione
licomp-osadl
licomp-oslc-handbook
licomp-proprietary
licomp-reclicense
pyyaml
];
nativeCheckInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"licomp_toolkit"
];
meta = {
description = "Python module and program to check compatibility between two licenses with context";
homepage = "https://codeberg.org/software-compliance-org/licomp-toolkit";
mainProgram = "licomp-toolkit";
license = with lib.licenses; [
gpl3Plus
];
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
# TODO: remove when this is resolved:
# https://github.com/hesa/licomp-oslc-handbook/issues/4
badPlatforms = lib.platforms.darwin;
};
})

View file

@ -0,0 +1,57 @@
{
lib,
buildPythonPackage,
fetchFromGitea,
# build-system
setuptools,
# dependencies
pyyaml,
# tests
pytestCheckHook,
jsonschema,
}:
buildPythonPackage (finalAttrs: {
pname = "licomp";
version = "0.5.22";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitea {
domain = "codeberg.org";
owner = "software-compliance-org";
repo = "licomp";
tag = finalAttrs.version;
hash = "sha256-yZZfWinXdMmF/FQQ3+MwHRypK5Xz2EEMruJLCAtl/6Q=";
};
build-system = [
setuptools
];
dependencies = [
pyyaml
];
nativeCheckInputs = [
pytestCheckHook
jsonschema
];
pythonImportsCheck = [
"licomp"
];
meta = {
description = "License Compatibility - Generalised API for use in license compatibility";
homepage = "https://codeberg.org/software-compliance-org/licomp";
license = with lib.licenses; [
gpl3Plus
];
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
};
})

View file

@ -0,0 +1,68 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
# tests
pytestCheckHook,
requests,
}:
buildPythonPackage (finalAttrs: {
pname = "osadl-matrix";
version = "2024.05.23.010555";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "priv-kweihmann";
repo = "osadl-matrix";
tag = finalAttrs.version;
hash = "sha256-vcSaWDX8P07Bj035vGq5dZYO+WkZOod7tTubWygl27k=";
};
build-system = [
setuptools
];
nativeCheckInputs = [
pytestCheckHook
requests
];
# Upstream setup.cfg has addopts, requiring pytest-{cov,forked,random-order}.
# Clearing it is simpler than replicating those plugins, especially since
# they only affect how tests run.
pytestFlags = [
"--override-ini=addopts="
];
disabledTests = [
# earlier in the tests, a full license db is cached and used, but these
# require a different db afterward, but it's not loaded
"test_compats"
"test_supported_licenes_size"
"test_supported_licenses"
# requires internet access
"test_license"
];
pythonImportsCheck = [
"osadl_matrix"
];
meta = {
description = "OSADL license compatibility matrix as a CSV";
homepage = "https://github.com/priv-kweihmann/osadl-matrix";
license = with lib.licenses; [
cc-by-40
unlicense
];
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
};
})

View file

@ -9,14 +9,14 @@
buildPythonPackage (finalAttrs: {
pname = "pynintendoparental";
version = "2.4.0";
version = "2.4.0.1";
pyproject = true;
src = fetchFromGitHub {
owner = "pantherale0";
repo = "pynintendoparental";
tag = finalAttrs.version;
hash = "sha256-rkDWhWIBqTwb9M8msYFw8x6Tt9ymhDRJFrRyjRFh3G8=";
hash = "sha256-1ZL6vDFCLzduj4fcgg9kEhogoD44eURd2nvOc0A5ghM=";
};
postPatch = ''

View file

@ -33,7 +33,7 @@
buildPythonPackage (finalAttrs: {
pname = "pytensor";
version = "3.0.5";
version = "3.0.7";
pyproject = true;
__structuredAttrs = true;
@ -44,7 +44,7 @@ buildPythonPackage (finalAttrs: {
postFetch = ''
sed -i 's/git_refnames = "[^"]*"/git_refnames = " (tag: ${finalAttrs.src.tag})"/' $out/pytensor/_version.py
'';
hash = "sha256-99AjktuPPn55ZLPKCv4qdE1lgy9p+NBuaq0vZMVhC50=";
hash = "sha256-/ECRFuRSTXZtBD8EUY3dg0Z4SxLG1+7DzHSWFSAnsoU=";
};
build-system = [
@ -165,6 +165,13 @@ buildPythonPackage (finalAttrs: {
# Don't run the most compute-intense tests
"tests/scan/"
"tests/tensor/"
# The IndexedElemwise fusion is intentionally disabled on the 3.0.x line
# (it can trigger a RecursionError, see the comment in
# pytensor/tensor/rewriting/indexed_elemwise.py), but these tests still
# assert that the fusion produces an IndexedElemwise node. Upstream test bug.
"tests/link/numba/test_indexed_elemwise.py"
"tests/benchmarks/test_gather_fusion.py"
];
passthru.updateScript = nix-update-script {

View file

@ -18,14 +18,14 @@
buildPythonPackage rec {
pname = "pythonqwt";
version = "0.16.0";
version = "0.16.1";
pyproject = true;
src = fetchFromGitHub {
owner = "PlotPyStack";
repo = "PythonQwt";
tag = "v${version}";
hash = "sha256-LBn88lEOruLLdXcJ7dHfgMS1EahHQErIlZjFVNosvAU=";
hash = "sha256-MRvbKxAcZNZn6v4gXjDtZfdxG7tbUlbkcw9nSR7Qgn4=";
};
build-system = [

View file

@ -0,0 +1,137 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
# dependencies
guidata,
makefun,
numpy,
packaging,
pandas,
pywavelets,
scikit-image,
scipy,
typing-extensions,
# optional-dependencies
babel,
build,
coverage,
pre-commit,
pylint,
ruff,
wheel,
matplotlib,
myst-nb,
myst-parser,
opencv-python-headless,
plotpy,
pydata-sphinx-theme,
pyqt5,
qtpy,
sphinx,
sphinx-copybutton,
sphinx-design,
sphinx-gallery,
sphinx-intl,
pytest,
pytest-xvfb,
# tests
pytestCheckHook,
}:
buildPythonPackage (finalAttrs: {
pname = "sigima";
version = "1.1.4";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "DataLab-Platform";
repo = "Sigima";
tag = "v${finalAttrs.version}";
hash = "sha256-AQrUn/WgWZ5W9Lrg4TJjerEZvGDH1wKL2WbeP3sGjrE=";
};
build-system = [
setuptools
];
dependencies = [
guidata
makefun
numpy
packaging
pandas
pywavelets
scikit-image
scipy
typing-extensions
];
optional-dependencies = {
dev = [
babel
build
coverage
pre-commit
pylint
ruff
setuptools
wheel
];
doc = [
matplotlib
myst-nb
myst-parser
opencv-python-headless
plotpy
pydata-sphinx-theme
pyqt5
qtpy
sphinx
sphinx-copybutton
sphinx-design
sphinx-gallery
sphinx-intl
];
opencv = [
opencv-python-headless
];
qt = [
plotpy
pyqt5
qtpy
];
test = [
pytest
pytest-xvfb
];
};
nativeCheckInputs = [
pytestCheckHook
];
pythonRelaxDeps = [
"scipy"
];
pythonImportsCheck = [
"sigima"
];
meta = {
description = "Scientific computing engine for 1D signals and 2D images";
homepage = "https://github.com/DataLab-Platform/Sigima";
changelog = "https://github.com/DataLab-Platform/Sigima/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
};
})

View file

@ -0,0 +1,40 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
poetry-core,
}:
buildPythonPackage (finalAttrs: {
pname = "spdx-license-list";
version = "3.28.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "JJMC89";
repo = "spdx-license-list";
tag = "v${finalAttrs.version}";
hash = "sha256-qzEWa2SY4XfW+DgAl6UNUItYWGJ/dJM6jZ/ZekoVgNc=";
};
build-system = [
poetry-core
];
# upstream has no tests
doCheck = false;
pythonImportsCheck = [
"spdx_license_list"
];
meta = {
description = "SPDX License List as a Python dictionary";
homepage = "https://github.com/JJMC89/spdx-license-list";
changelog = "https://github.com/JJMC89/spdx-license-list/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
};
})

View file

@ -0,0 +1,134 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
setuptools-scm,
# dependencies
pillow,
sphinx,
# optional-dependencies
absl-py,
graphviz,
intersphinx-registry,
ipython,
joblib,
jupyterlite-sphinx,
lxml,
matplotlib,
mypy,
numpy,
packaging,
plotly,
pydata-sphinx-theme,
pytest,
pytest-cov,
seaborn,
sphinx-design,
statsmodels,
types-docutils,
types-pillow,
memory-profiler,
# tests
pytestCheckHook,
}:
buildPythonPackage (finalAttrs: {
pname = "sphinx-gallery";
version = "0.21.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "sphinx-gallery";
repo = "sphinx-gallery";
tag = "v${finalAttrs.version}";
hash = "sha256-eWU2xNnguyXi2AZ/PpBp0Pv3IsgL9wQMyPuQpNbn9cY=";
};
build-system = [
setuptools
setuptools-scm
];
dependencies = [
pillow
sphinx
];
optional-dependencies = {
animations = [
#sphinxcontrib-video
];
dev = [
absl-py
graphviz
intersphinx-registry
ipython
joblib
jupyterlite-sphinx
lxml
matplotlib
mypy
numpy
packaging
plotly
pydata-sphinx-theme
pytest
pytest-cov
seaborn
sphinx-design
#sphinxcontrib-video
statsmodels
types-docutils
types-pillow
#types-pygments
];
jupyterlite = [
jupyterlite-sphinx
];
parallel = [
joblib
];
recommender = [
numpy
];
show-api-usage = [
graphviz
];
show-memory = [
memory-profiler
];
};
nativeCheckInputs = [
pytestCheckHook
]
++ finalAttrs.passthru.optional-dependencies.dev;
# TODO:
disabledTests = [
# requires the sphinxcontrib.video package
"test_dummy_image"
# urllib.error.URLError: <urlopen error [Errno -3] Temporary failure in name resolution>
"test_embed_code_links_get_data"
];
pythonImportsCheck = [
"sphinx_gallery"
];
meta = {
description = "Sphinx extension for automatic generation of an example gallery";
homepage = "https://github.com/sphinx-gallery/sphinx-gallery";
changelog = "https://github.com/sphinx-gallery/sphinx-gallery/blob/${finalAttrs.src.rev}/CHANGES.rst";
mainProgram = "sphinx_gallery_py2jupyter";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ eljamm ];
};
})

View file

@ -18,14 +18,14 @@
buildPythonPackage (finalAttrs: {
pname = "telnetlib3";
version = "4.0.4";
version = "4.0.5";
pyproject = true;
src = fetchFromGitHub {
owner = "jquast";
repo = "telnetlib3";
tag = finalAttrs.version;
hash = "sha256-sOQcVCSPCuz0SEDnTQc30fXAfUyWvkt+j9Fe700Q0Qo=";
hash = "sha256-qJ9fbly8nNCOppLxEnzmKTE0CbbORnkANvbioSZUgmk=";
};
build-system = [ hatchling ];

View file

@ -5,43 +5,43 @@
"lts": false
},
"6.1": {
"version": "6.1.175",
"hash": "sha256:11fapr04y96p9ja6mfzm7bcd3zb4dzyw6qrh7c11bss9wjlq9s9p",
"version": "6.1.176",
"hash": "sha256:1xj4ms4gd8ghd0l0dzsyi762dgpdrmqhc3f0arrp7sa0p8npf6da",
"lts": true
},
"5.15": {
"version": "5.15.209",
"hash": "sha256:1d0yhbpqlkr1znahky15dfavr6dzb3wb8c15k9qqvkf2xb3pfv9l",
"version": "5.15.210",
"hash": "sha256:008a55av0x9fa3fspcz43sycik143gqxg2agcalrax2yw5ma82wi",
"lts": true
},
"5.10": {
"version": "5.10.258",
"hash": "sha256:1rdldzb3g33v6zvcmxafqpkjgqpp4n5qlxwb77wfd5jpzhgcnz4y",
"version": "5.10.259",
"hash": "sha256:02dn8rf9p0afkl8kbdv28ijq974zfnv8zdsqcqbmapjm19c8wpma",
"lts": true
},
"6.6": {
"version": "6.6.142",
"hash": "sha256:0w1bdzp9x1sqcr9xlk7dvylhs7kycghjabfgd3iv49ydfmx61xmj",
"version": "6.6.143",
"hash": "sha256:0ci9b6kjp7r2xwqifs2963l9ihk2rllk4zpl2kgzbny0r66izkns",
"lts": true
},
"6.12": {
"version": "6.12.93",
"hash": "sha256:18sg154hqw8l98pfim2hjm1y604h5dwn9gj3gyncas8bgjl4h9j9",
"version": "6.12.94",
"hash": "sha256:1ln83ljmc7wr1nrjjq1hp1m1vx54j7i6i15m3hqb73a1p4ra5679",
"lts": true
},
"6.18": {
"version": "6.18.35",
"hash": "sha256:0dpjprjzc4w44kw49jcgx1ffrm6gxn2gsnsz3hhmw4hr4a9h51pp",
"version": "6.18.36",
"hash": "sha256:0kn4r43lnd5nb5c298b30030qyaxv05s7k40n9si1j3iyk4qdazv",
"lts": true
},
"7.0": {
"version": "7.0.12",
"hash": "sha256:1nk5lans9qg1avmmcwyadfps43d3hyjz9a5gjyvsc77w3sjckvap",
"version": "7.0.13",
"hash": "sha256:04wrz38ldls7pv1yxa1m7p2hqn1731l93xnz93fs7b0nyz8fv09w",
"lts": false
},
"7.1": {
"version": "7.1",
"hash": "sha256:18344l5fv3hgsqjrjr3dgg96lll7f294qq11lg40sydygxwl87v9",
"version": "7.1.1",
"hash": "sha256:0z8x6wafxzc5vkim9jh8wpycdkk9y5bpxgsirmdpyznw84szl5aj",
"lts": false
}
}

View file

@ -1,8 +1,8 @@
{
"bookmarks": {
"hash": "sha256-Q4NwDrCuex5e2sGEG4Gu00Ne3UeojrSRlGPKQ8R2+/0=",
"url": "https://github.com/nextcloud/bookmarks/releases/download/v16.1.4/bookmarks-16.1.4.tar.gz",
"version": "16.1.4",
"hash": "sha256-wf3t7qwxFAJBnPP3PYfa3Q/LrUaoONY47/So2w2fDww=",
"url": "https://github.com/nextcloud/bookmarks/releases/download/v16.2.1/bookmarks-16.2.1.tar.gz",
"version": "16.2.1",
"description": "- 📂 Sort bookmarks into folders\n- 🏷 Add tags and personal notes\n- ☠ Find broken links and duplicates\n- 📲 Synchronize with all your browsers and devices\n- 📔 Store archived versions of your links in case they are depublished\n- 🔍 Full-text search on site contents\n- 👪 Share bookmarks with other users, groups and teams or via public links\n- ⚛ Generate RSS feeds of your collections\n- 📈 Stats on how often you access which links\n- 🔒 Automatic backups of your bookmarks collection\n- 💼 Built-in Dashboard widgets for frequent and recent links\n\nRequirements:\n - PHP extensions:\n - intl: *\n - mbstring: *\n - when using MySQL, use at least v8.0",
"homepage": "https://github.com/nextcloud/bookmarks",
"licenses": [
@ -10,9 +10,9 @@
]
},
"calendar": {
"hash": "sha256-PAf/8YBhE87bfW0IZgDw6OsneafFvJADzqwjNp+M6wE=",
"url": "https://github.com/nextcloud-releases/calendar/releases/download/v6.4.2/calendar-v6.4.2.tar.gz",
"version": "6.4.2",
"hash": "sha256-k7A38geyX6PS2j2t5iIXMMZMJsPKIiySVRKxcPAj+pM=",
"url": "https://github.com/nextcloud-releases/calendar/releases/download/v6.5.0/calendar-v6.5.0.tar.gz",
"version": "6.5.0",
"description": "A Calendar app for Nextcloud. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Like Contacts, Talk, Tasks, Deck and Circles\n* 🌐 **WebCal Support!** Want to see your favorite team's matchdays in your calendar? No problem!\n* 🙋 **Attendees!** Invite people to your events\n* ⌚ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* 🔍 **Search!** Find your events at ease\n* ☑️ **Tasks!** See tasks or Deck cards with a due date directly in the calendar\n* 🔈 **Talk rooms!** Create an associated Talk room when booking a meeting with just one click\n* 📆 **Appointment booking** Send people a link so they can book an appointment with you [using this app](https://apps.nextcloud.com/apps/appointments)\n* 📎 **Attachments!** Add, upload and view event attachments\n* 🙈 **Were not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.",
"homepage": "https://github.com/nextcloud/calendar/",
"licenses": [
@ -40,9 +40,9 @@
]
},
"contacts": {
"hash": "sha256-sfArxNncF+zIqCYHMZk+EpRjiMy7/O6yYSeUtNMX5/I=",
"url": "https://github.com/nextcloud-releases/contacts/releases/download/v8.3.12/contacts-v8.3.12.tar.gz",
"version": "8.3.12",
"hash": "sha256-F2FomaYzrpOBvD2sxKjV7prGN+INKP8eJO2t/Z0J9YE=",
"url": "https://github.com/nextcloud-releases/contacts/releases/download/v8.3.13/contacts-v8.3.13.tar.gz",
"version": "8.3.13",
"description": "The Nextcloud contacts app is a user interface for Nextcloud's CardDAV server. Easily sync contacts from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Mail and Calendar more to come.\n* 🎉 **Never forget a birthday!** You can sync birthdays and other recurring events with your Nextcloud Calendar.\n* 👥 **Sharing of Adressbooks!** You want to share your contacts with your friends or coworkers? No problem!\n* 🙈 **Were not reinventing the wheel!** Based on the great and open SabreDAV library.",
"homepage": "https://github.com/nextcloud/contacts#readme",
"licenses": [
@ -80,9 +80,9 @@
]
},
"deck": {
"hash": "sha256-OtB8QJ+x4QfLA1EXqXVm3SmvkzQZUsg+8DR+++C8blU=",
"url": "https://github.com/nextcloud-releases/deck/releases/download/v1.16.5/deck-v1.16.5.tar.gz",
"version": "1.16.5",
"hash": "sha256-t/9nWA3e2WBkMjevWMpzmhjBY8OaQS4nwryto4WJwtw=",
"url": "https://github.com/nextcloud-releases/deck/releases/download/v1.16.6/deck-v1.16.6.tar.gz",
"version": "1.16.6",
"description": "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized",
"homepage": "https://github.com/nextcloud/deck",
"licenses": [
@ -110,9 +110,9 @@
]
},
"files_linkeditor": {
"hash": "sha256-yT3b0K31PfK8ApI23yQAZRfTiWyFZnBVlTi+/sZCv+Y=",
"url": "https://github.com/te-online/nextcloud-app-releases/raw/main/files_linkeditor/v1.1.24/files_linkeditor.tar.gz",
"version": "1.1.24",
"hash": "sha256-WIOLA1J2aqMr5v3bZB3pRnF9bH1V0asGsMNTcetRsx8=",
"url": "https://github.com/te-online/nextcloud-app-releases/raw/main/files_linkeditor/v1.1.25/files_linkeditor.tar.gz",
"version": "1.1.25",
"description": "### External web links in Nextcloud!\n* ✍️ **create and edit** .URL and .webloc links in the file view\n* 🌍 **open links** by clicking them and confirming you want to go to the external site\n* 📤 **works in public shares** so you can share links easily with others\n* 🔄 **sync your links** as .URL and .webloc are web links as created on most operating systems.\n\n_[View changelog](https://github.com/te-online/files_linkeditor/blob/main/CHANGELOG.md)_",
"homepage": "https://github.com/te-online/files_linkeditor",
"licenses": [
@ -130,13 +130,13 @@
]
},
"forms": {
"hash": "sha256-Lj4jNqIAAXGoaztpb1iXNak3mqKQzpm30VTQf5S4cOw=",
"url": "https://github.com/nextcloud-releases/forms/releases/download/v5.2.9/forms-v5.2.9.tar.gz",
"version": "5.2.9",
"hash": "sha256-r570gxd4j/AEMzT3vul6qxJsJ/bTEW459LONUOYA8ZM=",
"url": "https://github.com/nextcloud-releases/forms/releases/download/v5.3.2/forms-v5.3.2.tar.gz",
"version": "5.3.2",
"description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑‍💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API_v3.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
"homepage": "https://github.com/nextcloud/forms",
"licenses": [
"agpl"
"AGPL-3.0-or-later"
]
},
"gpoddersync": {
@ -150,9 +150,9 @@
]
},
"groupfolders": {
"hash": "sha256-EVOIWjsgd/6j34GfrJ8YHxQP6JO84AdxvlPkqleeDyw=",
"url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v20.1.14/groupfolders-v20.1.14.tar.gz",
"version": "20.1.14",
"hash": "sha256-/29wB6jwECzMsRvp5dXNuKodoMmYjD2gO9xiQX3Bg18=",
"url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v20.1.15/groupfolders-v20.1.15.tar.gz",
"version": "20.1.15",
"description": "Team Folders (formerly \"Group Folders\") allows administrators to create and manage shared\nfolders for selected teams within Nextcloud.\n\nAdmins can grant one or more teams access to a folder, configure permissions (such as read,\nwrite, and sharing rights), and assign storage quotas from the Team Folders section (under\nadmin settings). The app also supports advanced permissions and integration with Nextclouds\ntrash and versioning systems.\n\nAs of Hub 10 / Nextcloud 31, admins must be members of a team to assign that team to a Team\nFolder.",
"homepage": "https://github.com/nextcloud/groupfolders",
"licenses": [
@ -210,15 +210,25 @@
]
},
"mail": {
"hash": "sha256-SYe8BEC4v9ivl2iGVCkORHy5yn9wN4o2mrqJYGqzVRw=",
"url": "https://github.com/nextcloud-releases/mail/releases/download/v5.9.0/mail-v5.9.0.tar.gz",
"version": "5.9.0",
"hash": "sha256-K6sJ3XJOq9MoO0lGgqn3iBYuDqqhOMeHWD1DLVY5HaU=",
"url": "https://github.com/nextcloud-releases/mail/releases/download/v5.10.1/mail-v5.10.1.tar.gz",
"version": "5.10.1",
"description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 Were not reinventing the wheel!** Based on the great [Horde](https://www.horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟢/🟡/🟠/🔴\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
"homepage": "https://github.com/nextcloud/mail#readme",
"licenses": [
"agpl"
]
},
"maps": {
"hash": "sha256-Rwtzouz4NEFZVO6V8YvIc9Cyn/KBZ+gAYy5CcFDvRvc=",
"url": "https://github.com/nextcloud-releases/maps/releases/download/v1.7.1/maps-v1.7.1.tar.gz",
"version": "1.7.1",
"description": "**The whole world fits inside your cloud!**\n\n- **🗺 Beautiful map:** Using [OpenStreetMap](https://www.openstreetmap.org) and [Leaflet](https://leafletjs.com), you can choose between standard map, satellite, topographical, dark mode or even watercolor! 🎨\n- **⭐ Favorites:** Save your favorite places, privately! Sync with [GNOME Maps](https://github.com/nextcloud/maps/issues/30) and mobile apps is planned.\n- **🧭 Routing:** Possible using either [OSRM](http://project-osrm.org), [GraphHopper](https://www.graphhopper.com) or [Mapbox](https://www.mapbox.com).\n- **🖼 Photos on the map:** No more boring slideshows, just show directly where you were!\n- **🙋 Contacts on the map:** See where your friends live and plan your next visit.\n- **📱 Devices:** Lost your phone? Check the map!\n- **〰 Tracks:** Load GPS tracks or past trips. Recording with [PhoneTrack](https://f-droid.org/en/packages/net.eneiluj.nextcloud.phonetrack/) or [OwnTracks](https://owntracks.org) is planned.",
"homepage": "https://github.com/nextcloud/maps",
"licenses": [
"agpl"
]
},
"music": {
"hash": "sha256-bQ9NBo5R/en3f68ag+mAsVWuhREjr/ajlKrfLn4Tvtg=",
"url": "https://github.com/nc-music/music/releases/download/v3.1.0/nc-music-3.1.0.tar.gz",
@ -230,9 +240,9 @@
]
},
"news": {
"hash": "sha256-T3UBQcNxte18J/yyIucGb/X105t3lh97KWn0joTTuDw=",
"url": "https://github.com/nextcloud/news/releases/download/28.5.1/news.tar.gz",
"version": "28.5.1",
"hash": "sha256-25VyIvV7d5/hvWuT0IXzpgygLYHRrmqHg2pa+QQpK90=",
"url": "https://github.com/nextcloud/news/releases/download/28.6.0/news.tar.gz",
"version": "28.6.0",
"description": "📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)",
"homepage": "https://github.com/nextcloud/news",
"licenses": [
@ -280,9 +290,9 @@
]
},
"onlyoffice": {
"hash": "sha256-est6QHoBQRX1ounlwifjgELJ4f0wHz+FCMc8pMQ///s=",
"url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v9.13.0/onlyoffice.tar.gz",
"version": "9.13.0",
"hash": "sha256-+phzZA410n9QQsba26OUf7XR+x24XMnmHamhqsqlcVo=",
"url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v9.14.0/onlyoffice.tar.gz",
"version": "9.14.0",
"description": "The ONLYOFFICE app for Nextcloud brings powerful document editing and collaboration tools directly to your Nextcloud environment. With this integration, you can seamlessly create, edit, and co-author text documents, spreadsheets, presentations, and PDFs, as well as build and fill out PDF forms.\n\nCollaborate with your team in real time, make use of Track Changes, version history, comments, integrated chat, and more. Work together on files with federated cloud sharing. Flexible access permissions allow you to control who can view, edit, or comment, ensuring secure role-based collaboration tailored to your needs. Documents can also be protected with watermarks, password settings, and encryption for added security.\n\nThe app offers support for over 50 file formats, including DOCX, XLSX, PPTX, PDF, RTF, TXT, CSV, ODT, ODS, ODP, EPUB, FB2, HTML, HWP, HWPX, Pages, Numbers, Keynote, etc. Seamless desktop and mobile app integration means you'll have access to your Nextcloud files wherever you go.\n\nFurthermore, you can seamlessly connect any AI assistant, including local ones, directly to the editors to work faster and more efficient. This allows you to leverage various AI models for tasks like chatbot interactions, translations, OCR, and more.\n\nWhether youre working with internal teams or external collaborators, the ONLYOFFICE app for Nextcloud enhances productivity, simplifies workflows, and ensures your files remain secure.",
"homepage": "https://www.onlyoffice.com",
"licenses": [
@ -330,9 +340,9 @@
]
},
"quota_warning": {
"hash": "sha256-OgFXI7FD7skHcot0Fb636ScCimL1ArzD/3FDjRB7iCA=",
"url": "https://github.com/nextcloud-releases/quota_warning/releases/download/v1.23.0/quota_warning-v1.23.0.tar.gz",
"version": "1.23.0",
"hash": "sha256-bX9f6Zu53lZfG8zpfEwRxvIFVxARs4y6NLNNAK3DhUI=",
"url": "https://github.com/nextcloud-releases/quota_warning/releases/download/v1.24.0/quota_warning-v1.24.0.tar.gz",
"version": "1.24.0",
"description": "This app sends notifications to users when they reached 85, 90 and 95% of their quota (checked once a day).\nIn addition an email can be sent to the users. The three percentages can be changed in the admin settings.\nIt is also possible to have a link in the email and the notification for upsell options.",
"homepage": "https://github.com/nextcloud/quota_warning",
"licenses": [
@ -340,9 +350,9 @@
]
},
"registration": {
"hash": "sha256-EzKIk9o4+i9+6oa3B4ZP1tAnXnL6zO6LjSXmPEzvbGE=",
"url": "https://github.com/nextcloud-releases/registration/releases/download/v2.9.0/registration-v2.9.0.tar.gz",
"version": "2.9.0",
"hash": "sha256-mXsG5SfMrOp/G/4w9dbcwk41bLRUyrzWGTkoNeE0E88=",
"url": "https://github.com/nextcloud-releases/registration/releases/download/v3.0.0/registration-v3.0.0.tar.gz",
"version": "3.0.0",
"description": "User registration\n\nThis app allows users to register a new account.\n\n# Features\n\n- Add users to a given group\n- Allow-list with email domains (including wildcard) to register with\n- Administrator will be notified via email for new user creation or require approval\n- Supports Nextcloud's Client Login Flow v1 and v2 - allowing registration in the mobile Apps and Desktop clients\n\n# Web form registration flow\n\n1. User enters their email address\n2. Verification link is sent to the email address\n3. User clicks on the verification link\n4. User is lead to a form where they can choose their username and password\n5. New account is created and is logged in automatically",
"homepage": "https://github.com/nextcloud/registration",
"licenses": [
@ -350,9 +360,9 @@
]
},
"repod": {
"hash": "sha256-9JqXxPbuaOGgYvocqXdP+Cy1qs43LC4FTXPxcZIZ6Zk=",
"url": "https://git.crystalyx.net/Xefir/repod/releases/download/4.2.0/repod.tar.gz",
"version": "4.2.0",
"hash": "sha256-wLglJfhATgmHjagwClZHtXm8HQ8vSE0DUG4KXTHRapI=",
"url": "https://git.crystalyx.net/Xefir/repod/releases/download/4.2.1/repod.tar.gz",
"version": "4.2.1",
"description": "## Features\n- 🔍 Browse and subscribe huge collection of podcasts\n- 🔊 Listen to episodes directly in Nextcloud\n- 🌐 Sync your activity with [AntennaPod](https://antennapod.org/) and [other apps](https://git.crystalyx.net/Xefir/repod#clients-supporting-sync-of-gpoddersync)\n- 📱 Mobile friendly interface\n- 📡 Import and export your subscriptions\n- ➡️ Full features comparison [here](https://git.crystalyx.net/Xefir/repod#comparaison-with-similar-apps-for-nextcloud)\n\n## Requirements\nYou need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installed to use this app!",
"homepage": "https://git.crystalyx.net/Xefir/repod",
"licenses": [
@ -360,9 +370,9 @@
]
},
"richdocuments": {
"hash": "sha256-n/cJi5eFsyIISwy8k6fLAzN8tgRIKCCaaoTPD6B3mKU=",
"url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v9.0.6/richdocuments-v9.0.6.tar.gz",
"version": "9.0.6",
"hash": "sha256-oLV1AFCGt/ukZ06TkOpEBGxOPQ3Z66dY2rpDj0tXiP4=",
"url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v9.1.0/richdocuments-v9.1.0.tar.gz",
"version": "9.1.0",
"description": "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store.",
"homepage": "https://collaboraoffice.com/",
"licenses": [
@ -430,9 +440,9 @@
]
},
"twofactor_webauthn": {
"hash": "sha256-21lUwF1uC7vJKqpC144jbtKaX25UhVDzgU/E7XoMSos=",
"url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v2.6.0/twofactor_webauthn-v2.6.0.tar.gz",
"version": "2.6.0",
"hash": "sha256-cpjn8Md2MaVv063A2HwklgtGtPIkzyF/KgE/OzzP0bA=",
"url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v2.7.0/twofactor_webauthn-v2.7.0.tar.gz",
"version": "2.7.0",
"description": "A two-factor provider for WebAuthn devices",
"homepage": "https://github.com/nextcloud/twofactor_webauthn#readme",
"licenses": [
@ -450,9 +460,9 @@
]
},
"uppush": {
"hash": "sha256-MFOZqCQRyzICFPMyJGJIr366QpF47GZM/SpzqiY0HWQ=",
"url": "https://codeberg.org/NextPush/uppush/archive/2.4.1.tar.gz",
"version": "2.4.0",
"hash": "sha256-5+Knec2Ix8291UcQFipmqh3C9wheYH4+Smmmt3q3wFE=",
"url": "https://codeberg.org/NextPush/uppush/archive/2.5.0.tar.gz",
"version": "2.5.0",
"description": "Once the mobile phone is connected with NextPush, push notifications can be forwarded to applications implementing UnifiedPush.\n\nMore information about UnifiedPush at https://unifiedpush.org",
"homepage": "",
"licenses": [
@ -476,7 +486,7 @@
"description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\t* Authentik\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.",
"homepage": "https://github.com/nextcloud/user_saml",
"licenses": [
"agpl"
"AGPL-3.0-or-later"
]
},
"whiteboard": {

View file

@ -1,8 +1,8 @@
{
"bookmarks": {
"hash": "sha256-Q4NwDrCuex5e2sGEG4Gu00Ne3UeojrSRlGPKQ8R2+/0=",
"url": "https://github.com/nextcloud/bookmarks/releases/download/v16.1.4/bookmarks-16.1.4.tar.gz",
"version": "16.1.4",
"hash": "sha256-wf3t7qwxFAJBnPP3PYfa3Q/LrUaoONY47/So2w2fDww=",
"url": "https://github.com/nextcloud/bookmarks/releases/download/v16.2.1/bookmarks-16.2.1.tar.gz",
"version": "16.2.1",
"description": "- 📂 Sort bookmarks into folders\n- 🏷 Add tags and personal notes\n- ☠ Find broken links and duplicates\n- 📲 Synchronize with all your browsers and devices\n- 📔 Store archived versions of your links in case they are depublished\n- 🔍 Full-text search on site contents\n- 👪 Share bookmarks with other users, groups and teams or via public links\n- ⚛ Generate RSS feeds of your collections\n- 📈 Stats on how often you access which links\n- 🔒 Automatic backups of your bookmarks collection\n- 💼 Built-in Dashboard widgets for frequent and recent links\n\nRequirements:\n - PHP extensions:\n - intl: *\n - mbstring: *\n - when using MySQL, use at least v8.0",
"homepage": "https://github.com/nextcloud/bookmarks",
"licenses": [
@ -10,9 +10,9 @@
]
},
"calendar": {
"hash": "sha256-PAf/8YBhE87bfW0IZgDw6OsneafFvJADzqwjNp+M6wE=",
"url": "https://github.com/nextcloud-releases/calendar/releases/download/v6.4.2/calendar-v6.4.2.tar.gz",
"version": "6.4.2",
"hash": "sha256-k7A38geyX6PS2j2t5iIXMMZMJsPKIiySVRKxcPAj+pM=",
"url": "https://github.com/nextcloud-releases/calendar/releases/download/v6.5.0/calendar-v6.5.0.tar.gz",
"version": "6.5.0",
"description": "A Calendar app for Nextcloud. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Like Contacts, Talk, Tasks, Deck and Circles\n* 🌐 **WebCal Support!** Want to see your favorite team's matchdays in your calendar? No problem!\n* 🙋 **Attendees!** Invite people to your events\n* ⌚ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* 🔍 **Search!** Find your events at ease\n* ☑️ **Tasks!** See tasks or Deck cards with a due date directly in the calendar\n* 🔈 **Talk rooms!** Create an associated Talk room when booking a meeting with just one click\n* 📆 **Appointment booking** Send people a link so they can book an appointment with you [using this app](https://apps.nextcloud.com/apps/appointments)\n* 📎 **Attachments!** Add, upload and view event attachments\n* 🙈 **Were not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.",
"homepage": "https://github.com/nextcloud/calendar/",
"licenses": [
@ -40,9 +40,9 @@
]
},
"contacts": {
"hash": "sha256-SyBJBSxNe1JM8l9AHgYy8AQ3v3hlZhEgUiiTb6xCk70=",
"url": "https://github.com/nextcloud-releases/contacts/releases/download/v8.5.1/contacts-v8.5.1.tar.gz",
"version": "8.5.1",
"hash": "sha256-XrXzGAJe+Zu3pon7sDbBbV73u2fKKD4fdfN24X6QdIM=",
"url": "https://github.com/nextcloud-releases/contacts/releases/download/v8.7.1/contacts-v8.7.1.tar.gz",
"version": "8.7.1",
"description": "The Nextcloud contacts app is a user interface for Nextcloud's CardDAV server. Easily sync contacts from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Mail and Calendar more to come.\n* 🎉 **Never forget a birthday!** You can sync birthdays and other recurring events with your Nextcloud Calendar.\n* 👥 **Sharing of Adressbooks!** You want to share your contacts with your friends or coworkers? No problem!\n* 🙈 **Were not reinventing the wheel!** Based on the great and open SabreDAV library.",
"homepage": "https://github.com/nextcloud/contacts#readme",
"licenses": [
@ -60,9 +60,9 @@
]
},
"cospend": {
"hash": "sha256-fxIC0gEYCek1LZ0rxmRAbWyYSfuHt6Bs/JCLYPR7ZFM=",
"url": "https://github.com/julien-nc/cospend-nc/releases/download/v4.0.0/cospend-4.0.0.tar.gz",
"version": "4.0.0",
"hash": "sha256-3uphQHtKlW8kXeLA5hMDpT14lEf+tnJyy4hfKioBDSw=",
"url": "https://github.com/julien-nc/cospend-nc/releases/download/v4.0.2/cospend-4.0.2.tar.gz",
"version": "4.0.2",
"description": "# Nextcloud Cospend 💰\n\nNextcloud Cospend is a group/shared budget manager. It was inspired by the great [IHateMoney](https://github.com/spiral-project/ihatemoney/).\n\nYou can use it when you share a house, when you go on vacation with friends, whenever you share expenses with a group of people.\n\nIt lets you create projects with members and bills. Each member has a balance computed from the project bills. Balances are not an absolute amount of money at members disposal but rather a relative information showing if a member has spent more for the group than the group has spent for her/him, independently of exactly who spent money for whom. This way you can see who owes the group and who the group owes. Ultimately you can ask for a settlement plan telling you which payments to make to reset members balances.\n\nProject members are independent from Nextcloud users. Projects can be shared with other Nextcloud users or via public links.\n\n[MoneyBuster](https://gitlab.com/eneiluj/moneybuster) Android client is [available in F-Droid](https://f-droid.org/packages/net.eneiluj.moneybuster/) and on the [Play store](https://play.google.com/store/apps/details?id=net.eneiluj.moneybuster).\n\n[PayForMe](https://github.com/mayflower/PayForMe) iOS client is currently under developpement!\n\nThe private and public APIs are documented using [the Nextcloud OpenAPI extractor](https://github.com/nextcloud/openapi-extractor/). This documentation can be accessed directly in Nextcloud. All you need is to install Cospend (>= v1.6.0) and use the [the OCS API Viewer app](https://apps.nextcloud.com/apps/ocs_api_viewer) to browse the OpenAPI documentation.\n\n## Features\n\n* ✎ Create/edit/delete projects, members, bills, bill categories, currencies\n* ⚖ Check member balances\n* 🗠 Display project statistics\n* ♻ Display settlement plan\n* Move bills from one project to another\n* Move bills to trash before actually deleting them\n* Archive old projects before deleting them\n* 🎇 Automatically create reimbursement bills from settlement plan\n* 🗓 Create recurring bills (day/week/month/year)\n* 📊 Optionally provide custom amount for each member in new bills\n* 🔗 Link personal files to bills (picture of physical receipt for example)\n* 👩 Public links for people outside Nextcloud (can be password protected)\n* 👫 Share projects with Nextcloud users/groups/circles\n* 🖫 Import/export projects as csv (compatible with csv files from IHateMoney and SplitWise)\n* 🔗 Generate link/QRCode to easily add projects in MoneyBuster\n* 🗲 Implement Nextcloud notifications and activity stream\n\nThis app usually support the 2 or 3 last major versions of Nextcloud.\n\nThis app is under development.\n\n🌍 Help us to translate this app on [Nextcloud-Cospend/MoneyBuster Crowdin project](https://crowdin.com/project/moneybuster).\n\n⚒ Check out other ways to help in the [contribution guidelines](https://github.com/julien-nc/cospend-nc/blob/master/CONTRIBUTING.md).\n\n## Documentation\n\n* [User documentation](https://github.com/julien-nc/cospend-nc/blob/master/docs/user.md)\n* [Admin documentation](https://github.com/julien-nc/cospend-nc/blob/master/docs/admin.md)\n* [Developer documentation](https://github.com/julien-nc/cospend-nc/blob/master/docs/dev.md)\n* [CHANGELOG](https://github.com/julien-nc/cospend-nc/blob/master/CHANGELOG.md#change-log)\n* [AUTHORS](https://github.com/julien-nc/cospend-nc/blob/master/AUTHORS.md#authors)\n\n## Known issues\n\n* It does not make you rich\n\nAny feedback will be appreciated.\n\n\n\n## Donation\n\nI develop this app during my free time.\n\n* [Donate with Paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66PALMY8SF5JE) (you don't need a paypal account)\n* [Donate with Liberapay : ![Donate using Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/eneiluj/donate)",
"homepage": "https://github.com/julien-nc/cospend-nc",
"licenses": [
@ -80,9 +80,9 @@
]
},
"deck": {
"hash": "sha256-e3IGes5CUIlSn1W47V4f4X0XOAbeA1y3RPpw9w++hMU=",
"url": "https://github.com/nextcloud-releases/deck/releases/download/v1.17.2/deck-v1.17.2.tar.gz",
"version": "1.17.2",
"hash": "sha256-n0q700fSmqZ9tvsfSquXwh4ujtiBsW3wUaLnohu1MFg=",
"url": "https://github.com/nextcloud-releases/deck/releases/download/v1.17.3/deck-v1.17.3.tar.gz",
"version": "1.17.3",
"description": "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized",
"homepage": "https://github.com/nextcloud/deck",
"licenses": [
@ -110,9 +110,9 @@
]
},
"files_linkeditor": {
"hash": "sha256-yT3b0K31PfK8ApI23yQAZRfTiWyFZnBVlTi+/sZCv+Y=",
"url": "https://github.com/te-online/nextcloud-app-releases/raw/main/files_linkeditor/v1.1.24/files_linkeditor.tar.gz",
"version": "1.1.24",
"hash": "sha256-WIOLA1J2aqMr5v3bZB3pRnF9bH1V0asGsMNTcetRsx8=",
"url": "https://github.com/te-online/nextcloud-app-releases/raw/main/files_linkeditor/v1.1.25/files_linkeditor.tar.gz",
"version": "1.1.25",
"description": "### External web links in Nextcloud!\n* ✍️ **create and edit** .URL and .webloc links in the file view\n* 🌍 **open links** by clicking them and confirming you want to go to the external site\n* 📤 **works in public shares** so you can share links easily with others\n* 🔄 **sync your links** as .URL and .webloc are web links as created on most operating systems.\n\n_[View changelog](https://github.com/te-online/files_linkeditor/blob/main/CHANGELOG.md)_",
"homepage": "https://github.com/te-online/files_linkeditor",
"licenses": [
@ -130,13 +130,13 @@
]
},
"forms": {
"hash": "sha256-Lj4jNqIAAXGoaztpb1iXNak3mqKQzpm30VTQf5S4cOw=",
"url": "https://github.com/nextcloud-releases/forms/releases/download/v5.2.9/forms-v5.2.9.tar.gz",
"version": "5.2.9",
"hash": "sha256-r570gxd4j/AEMzT3vul6qxJsJ/bTEW459LONUOYA8ZM=",
"url": "https://github.com/nextcloud-releases/forms/releases/download/v5.3.2/forms-v5.3.2.tar.gz",
"version": "5.3.2",
"description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑‍💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API_v3.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
"homepage": "https://github.com/nextcloud/forms",
"licenses": [
"agpl"
"AGPL-3.0-or-later"
]
},
"gpoddersync": {
@ -150,9 +150,9 @@
]
},
"groupfolders": {
"hash": "sha256-yLcyZCI3IHEiZJDAH/vb7uqi5UmNMHFsRedK2pN88mc=",
"url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v21.0.7/groupfolders-v21.0.7.tar.gz",
"version": "21.0.7",
"hash": "sha256-2jy9p4pu2OXdi8JENFCBcPSDHnGIQkpzuyKkjxALAE4=",
"url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v21.0.8/groupfolders-v21.0.8.tar.gz",
"version": "21.0.8",
"description": "Team Folders (formerly \"Group Folders\") allows administrators to create and manage shared\nfolders for selected teams within Nextcloud.\n\nAdmins can grant one or more teams access to a folder, configure permissions (such as read,\nwrite, and sharing rights), and assign storage quotas from the Team Folders section (under\nadmin settings). The app also supports advanced permissions and integration with Nextclouds\ntrash and versioning systems.\n\nAs of Hub 10 / Nextcloud 31, admins must be members of a team to assign that team to a Team\nFolder.",
"homepage": "https://github.com/nextcloud/groupfolders",
"licenses": [
@ -210,15 +210,25 @@
]
},
"mail": {
"hash": "sha256-SYe8BEC4v9ivl2iGVCkORHy5yn9wN4o2mrqJYGqzVRw=",
"url": "https://github.com/nextcloud-releases/mail/releases/download/v5.9.0/mail-v5.9.0.tar.gz",
"version": "5.9.0",
"hash": "sha256-K6sJ3XJOq9MoO0lGgqn3iBYuDqqhOMeHWD1DLVY5HaU=",
"url": "https://github.com/nextcloud-releases/mail/releases/download/v5.10.1/mail-v5.10.1.tar.gz",
"version": "5.10.1",
"description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 Were not reinventing the wheel!** Based on the great [Horde](https://www.horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟢/🟡/🟠/🔴\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
"homepage": "https://github.com/nextcloud/mail#readme",
"licenses": [
"agpl"
]
},
"maps": {
"hash": "sha256-Rwtzouz4NEFZVO6V8YvIc9Cyn/KBZ+gAYy5CcFDvRvc=",
"url": "https://github.com/nextcloud-releases/maps/releases/download/v1.7.1/maps-v1.7.1.tar.gz",
"version": "1.7.1",
"description": "**The whole world fits inside your cloud!**\n\n- **🗺 Beautiful map:** Using [OpenStreetMap](https://www.openstreetmap.org) and [Leaflet](https://leafletjs.com), you can choose between standard map, satellite, topographical, dark mode or even watercolor! 🎨\n- **⭐ Favorites:** Save your favorite places, privately! Sync with [GNOME Maps](https://github.com/nextcloud/maps/issues/30) and mobile apps is planned.\n- **🧭 Routing:** Possible using either [OSRM](http://project-osrm.org), [GraphHopper](https://www.graphhopper.com) or [Mapbox](https://www.mapbox.com).\n- **🖼 Photos on the map:** No more boring slideshows, just show directly where you were!\n- **🙋 Contacts on the map:** See where your friends live and plan your next visit.\n- **📱 Devices:** Lost your phone? Check the map!\n- **〰 Tracks:** Load GPS tracks or past trips. Recording with [PhoneTrack](https://f-droid.org/en/packages/net.eneiluj.nextcloud.phonetrack/) or [OwnTracks](https://owntracks.org) is planned.",
"homepage": "https://github.com/nextcloud/maps",
"licenses": [
"agpl"
]
},
"music": {
"hash": "sha256-bQ9NBo5R/en3f68ag+mAsVWuhREjr/ajlKrfLn4Tvtg=",
"url": "https://github.com/nc-music/music/releases/download/v3.1.0/nc-music-3.1.0.tar.gz",
@ -230,9 +240,9 @@
]
},
"news": {
"hash": "sha256-T3UBQcNxte18J/yyIucGb/X105t3lh97KWn0joTTuDw=",
"url": "https://github.com/nextcloud/news/releases/download/28.5.1/news.tar.gz",
"version": "28.5.1",
"hash": "sha256-25VyIvV7d5/hvWuT0IXzpgygLYHRrmqHg2pa+QQpK90=",
"url": "https://github.com/nextcloud/news/releases/download/28.6.0/news.tar.gz",
"version": "28.6.0",
"description": "📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)",
"homepage": "https://github.com/nextcloud/news",
"licenses": [
@ -280,9 +290,9 @@
]
},
"onlyoffice": {
"hash": "sha256-YBg/rrXPZyd0pqaOez/GjfraCqS7kwNTAXjIwBvExLM=",
"url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v10.0.0/onlyoffice.tar.gz",
"version": "10.0.0",
"hash": "sha256-ktKopFpHmtRulOQN3XO5BW5QyhURhOv+G77dSn6Nv08=",
"url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v10.1.0/onlyoffice.tar.gz",
"version": "10.1.0",
"description": "The ONLYOFFICE app for Nextcloud brings powerful document editing and collaboration tools directly to your Nextcloud environment. With this integration, you can seamlessly create, edit, and co-author text documents, spreadsheets, presentations, and PDFs, as well as build and fill out PDF forms.\n\nCollaborate with your team in real time, make use of Track Changes, version history, comments, integrated chat, and more. Work together on files with federated cloud sharing. Flexible access permissions allow you to control who can view, edit, or comment, ensuring secure role-based collaboration tailored to your needs. Documents can also be protected with watermarks, password settings, and encryption for added security.\n\nThe app offers support for over 50 file formats, including DOCX, XLSX, PPTX, PDF, RTF, TXT, CSV, ODT, ODS, ODP, EPUB, FB2, HTML, HWP, HWPX, Pages, Numbers, Keynote, etc. Seamless desktop and mobile app integration means you'll have access to your Nextcloud files wherever you go.\n\nFurthermore, you can seamlessly connect any AI assistant, including local ones, directly to the editors to work faster and more efficient. This allows you to leverage various AI models for tasks like chatbot interactions, translations, OCR, and more.\n\nWhether youre working with internal teams or external collaborators, the ONLYOFFICE app for Nextcloud enhances productivity, simplifies workflows, and ensures your files remain secure.",
"homepage": "https://www.onlyoffice.com",
"licenses": [
@ -330,9 +340,9 @@
]
},
"quota_warning": {
"hash": "sha256-OgFXI7FD7skHcot0Fb636ScCimL1ArzD/3FDjRB7iCA=",
"url": "https://github.com/nextcloud-releases/quota_warning/releases/download/v1.23.0/quota_warning-v1.23.0.tar.gz",
"version": "1.23.0",
"hash": "sha256-bX9f6Zu53lZfG8zpfEwRxvIFVxARs4y6NLNNAK3DhUI=",
"url": "https://github.com/nextcloud-releases/quota_warning/releases/download/v1.24.0/quota_warning-v1.24.0.tar.gz",
"version": "1.24.0",
"description": "This app sends notifications to users when they reached 85, 90 and 95% of their quota (checked once a day).\nIn addition an email can be sent to the users. The three percentages can be changed in the admin settings.\nIt is also possible to have a link in the email and the notification for upsell options.",
"homepage": "https://github.com/nextcloud/quota_warning",
"licenses": [
@ -340,9 +350,9 @@
]
},
"registration": {
"hash": "sha256-EzKIk9o4+i9+6oa3B4ZP1tAnXnL6zO6LjSXmPEzvbGE=",
"url": "https://github.com/nextcloud-releases/registration/releases/download/v2.9.0/registration-v2.9.0.tar.gz",
"version": "2.9.0",
"hash": "sha256-mXsG5SfMrOp/G/4w9dbcwk41bLRUyrzWGTkoNeE0E88=",
"url": "https://github.com/nextcloud-releases/registration/releases/download/v3.0.0/registration-v3.0.0.tar.gz",
"version": "3.0.0",
"description": "User registration\n\nThis app allows users to register a new account.\n\n# Features\n\n- Add users to a given group\n- Allow-list with email domains (including wildcard) to register with\n- Administrator will be notified via email for new user creation or require approval\n- Supports Nextcloud's Client Login Flow v1 and v2 - allowing registration in the mobile Apps and Desktop clients\n\n# Web form registration flow\n\n1. User enters their email address\n2. Verification link is sent to the email address\n3. User clicks on the verification link\n4. User is lead to a form where they can choose their username and password\n5. New account is created and is logged in automatically",
"homepage": "https://github.com/nextcloud/registration",
"licenses": [
@ -350,9 +360,9 @@
]
},
"repod": {
"hash": "sha256-9JqXxPbuaOGgYvocqXdP+Cy1qs43LC4FTXPxcZIZ6Zk=",
"url": "https://git.crystalyx.net/Xefir/repod/releases/download/4.2.0/repod.tar.gz",
"version": "4.2.0",
"hash": "sha256-wLglJfhATgmHjagwClZHtXm8HQ8vSE0DUG4KXTHRapI=",
"url": "https://git.crystalyx.net/Xefir/repod/releases/download/4.2.1/repod.tar.gz",
"version": "4.2.1",
"description": "## Features\n- 🔍 Browse and subscribe huge collection of podcasts\n- 🔊 Listen to episodes directly in Nextcloud\n- 🌐 Sync your activity with [AntennaPod](https://antennapod.org/) and [other apps](https://git.crystalyx.net/Xefir/repod#clients-supporting-sync-of-gpoddersync)\n- 📱 Mobile friendly interface\n- 📡 Import and export your subscriptions\n- ➡️ Full features comparison [here](https://git.crystalyx.net/Xefir/repod#comparaison-with-similar-apps-for-nextcloud)\n\n## Requirements\nYou need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installed to use this app!",
"homepage": "https://git.crystalyx.net/Xefir/repod",
"licenses": [
@ -360,9 +370,9 @@
]
},
"richdocuments": {
"hash": "sha256-opa/fyrCtnaK6eiHqQ49cNfs3Nl0pi7L1IizLyfy+Co=",
"url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v10.1.3/richdocuments-v10.1.3.tar.gz",
"version": "10.1.3",
"hash": "sha256-HGNCueLlZuauHi/0dltApMDj8FBZ4Ruj2T2F+/4qWY4=",
"url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v10.2.0/richdocuments-v10.2.0.tar.gz",
"version": "10.2.0",
"description": "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store.",
"homepage": "https://collaboraoffice.com/",
"licenses": [
@ -430,9 +440,9 @@
]
},
"twofactor_webauthn": {
"hash": "sha256-21lUwF1uC7vJKqpC144jbtKaX25UhVDzgU/E7XoMSos=",
"url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v2.6.0/twofactor_webauthn-v2.6.0.tar.gz",
"version": "2.6.0",
"hash": "sha256-cpjn8Md2MaVv063A2HwklgtGtPIkzyF/KgE/OzzP0bA=",
"url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v2.7.0/twofactor_webauthn-v2.7.0.tar.gz",
"version": "2.7.0",
"description": "A two-factor provider for WebAuthn devices",
"homepage": "https://github.com/nextcloud/twofactor_webauthn#readme",
"licenses": [
@ -450,9 +460,9 @@
]
},
"uppush": {
"hash": "sha256-MFOZqCQRyzICFPMyJGJIr366QpF47GZM/SpzqiY0HWQ=",
"url": "https://codeberg.org/NextPush/uppush/archive/2.4.1.tar.gz",
"version": "2.4.0",
"hash": "sha256-5+Knec2Ix8291UcQFipmqh3C9wheYH4+Smmmt3q3wFE=",
"url": "https://codeberg.org/NextPush/uppush/archive/2.5.0.tar.gz",
"version": "2.5.0",
"description": "Once the mobile phone is connected with NextPush, push notifications can be forwarded to applications implementing UnifiedPush.\n\nMore information about UnifiedPush at https://unifiedpush.org",
"homepage": "",
"licenses": [
@ -476,7 +486,7 @@
"description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\t* Authentik\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.",
"homepage": "https://github.com/nextcloud/user_saml",
"licenses": [
"agpl"
"AGPL-3.0-or-later"
]
},
"whiteboard": {

View file

@ -0,0 +1,11 @@
import ./generic.nix {
version = "19beta1";
rev = "refs/tags/REL_19_BETA1";
hash = "sha256-thvbttX8wwGLf5tMJRHl86Xv8OgINzahoqB/AzAdtMI=";
muslPatches = {
dont-use-locale-a = {
url = "https://git.alpinelinux.org/aports/plain/main/postgresql17/dont-use-locale-a-on-musl.patch?id=d69ead2c87230118ae7f72cef7d761e761e1f37e";
hash = "sha256-6zjz3OpMx4qTETdezwZxSJPPdOvhCNu9nXvAaU9SwH8=";
};
};
}

View file

@ -14,6 +14,7 @@ let
postgresql_16 = ./16.nix;
postgresql_17 = ./17.nix;
postgresql_18 = ./18.nix;
postgresql_19 = ./19.nix;
};
mkAttributes =

View file

@ -347,7 +347,9 @@ let
++ lib.optionals tclSupport [ "--with-tcl" ]
++ lib.optionals selinuxSupport [ "--with-selinux" ]
++ lib.optionals nlsSupport [ "--enable-nls" ]
++ lib.optionals bonjourSupport [ "--with-bonjour" ];
++ lib.optionals bonjourSupport [ "--with-bonjour" ]
# Configure needs a little help to find `nm` when cross-compiling.
++ lib.optionals (atLeast "19") [ "NM=${stdenv'.cc}/bin/${stdenv'.cc.targetPrefix}nm" ];
patches = [
(

View file

@ -7666,6 +7666,7 @@ with pkgs;
postgresql_16
postgresql_17
postgresql_18
postgresql_19
;
inherit (postgresqlJitVersions)
@ -7674,6 +7675,7 @@ with pkgs;
postgresql_16_jit
postgresql_17_jit
postgresql_18_jit
postgresql_19_jit
;
postgresql = postgresql_18;
postgresql_jit = postgresql_18_jit;
@ -7683,6 +7685,7 @@ with pkgs;
postgresql16Packages = recurseIntoAttrs postgresql_16.pkgs;
postgresql17Packages = recurseIntoAttrs postgresql_17.pkgs;
postgresql18Packages = recurseIntoAttrs postgresql_18.pkgs;
postgresql19Packages = recurseIntoAttrs postgresql_19.pkgs;
postgres-websockets = haskellPackages.postgres-websockets.bin;
postgrest = haskellPackages.postgrest.bin;

View file

@ -3664,6 +3664,8 @@ self: super: with self; {
protoc = pkgs.protobuf;
};
datalab-platform = callPackage ../development/python-modules/datalab-platform { };
datalad = callPackage ../development/python-modules/datalad { };
datalad-gooey = callPackage ../development/python-modules/datalad-gooey { };
@ -5996,6 +5998,8 @@ self: super: with self; {
fortune = callPackage ../development/python-modules/fortune { };
foss-flame = callPackage ../development/python-modules/foss-flame { };
foundationdb = callPackage ../development/python-modules/foundationdb {
inherit (pkgs) foundationdb;
};
@ -7752,6 +7756,8 @@ self: super: with self; {
interruptingcow = callPackage ../development/python-modules/interruptingcow { };
intersphinx-registry = callPackage ../development/python-modules/intersphinx-registry { };
intervals = callPackage ../development/python-modules/intervals { };
intervaltree = callPackage ../development/python-modules/intervaltree { };
@ -8320,6 +8326,10 @@ self: super: with self; {
jupyterlab-widgets = callPackage ../development/python-modules/jupyterlab-widgets { };
jupyterlite-core = callPackage ../development/python-modules/jupyterlite-core { };
jupyterlite-sphinx = callPackage ../development/python-modules/jupyterlite-sphinx { };
jupytext = callPackage ../development/python-modules/jupytext { };
justbackoff = callPackage ../development/python-modules/justbackoff { };
@ -9103,6 +9113,26 @@ self: super: with self; {
license-expression = callPackage ../development/python-modules/license-expression { };
licomp = callPackage ../development/python-modules/licomp { };
licomp-doubleopen = callPackage ../development/python-modules/licomp-doubleopen { };
licomp-dwheeler = callPackage ../development/python-modules/licomp-dwheeler { };
licomp-gnuguide = callPackage ../development/python-modules/licomp-gnuguide { };
licomp-hermione = callPackage ../development/python-modules/licomp-hermione { };
licomp-osadl = callPackage ../development/python-modules/licomp-osadl { };
licomp-oslc-handbook = callPackage ../development/python-modules/licomp-oslc-handbook { };
licomp-proprietary = callPackage ../development/python-modules/licomp-proprietary { };
licomp-reclicense = callPackage ../development/python-modules/licomp-reclicense { };
licomp-toolkit = callPackage ../development/python-modules/licomp-toolkit { };
lida = callPackage ../development/python-modules/lida { };
lief = (toPythonModule (pkgs.lief.override { python3 = python; })).py;
@ -12139,6 +12169,8 @@ self: super: with self; {
os-service-types = callPackage ../development/python-modules/os-service-types { };
osadl-matrix = callPackage ../development/python-modules/osadl-matrix/default.nix { };
osc = callPackage ../development/python-modules/osc { };
osc-diagram = callPackage ../development/python-modules/osc-diagram { };
@ -18042,6 +18074,8 @@ self: super: with self; {
sievelib = callPackage ../development/python-modules/sievelib { };
sigima = callPackage ../development/python-modules/sigima { };
signalrcore = callPackage ../development/python-modules/signalrcore { };
signalslot = callPackage ../development/python-modules/signalslot { };
@ -18536,6 +18570,8 @@ self: super: with self; {
spdx = callPackage ../development/python-modules/spdx { };
spdx-license-list = callPackage ../development/python-modules/spdx-license-list { };
spdx-tools = callPackage ../development/python-modules/spdx-tools { };
speak2mary = callPackage ../development/python-modules/speak2mary { };
@ -18602,6 +18638,8 @@ self: super: with self; {
sphinx-fortran = callPackage ../development/python-modules/sphinx-fortran { };
sphinx-gallery = callPackage ../development/python-modules/sphinx-gallery { };
sphinx-inline-tabs = callPackage ../development/python-modules/sphinx-inline-tabs { };
sphinx-intl = callPackage ../development/python-modules/sphinx-intl { };