diff --git a/doc/hooks/pnpm.section.md b/doc/hooks/pnpm.section.md index b00e7bfe81ff..58c966a4dbdf 100644 --- a/doc/hooks/pnpm.section.md +++ b/doc/hooks/pnpm.section.md @@ -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 = '' diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 0a703a29b7b5..fa4309e9bf69 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -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"; diff --git a/nixos/doc/manual/release-notes/rl-2611.section.md b/nixos/doc/manual/release-notes/rl-2611.section.md index bfa65265ff8f..e3b2cf2d146f 100644 --- a/nixos/doc/manual/release-notes/rl-2611.section.md +++ b/nixos/doc/manual/release-notes/rl-2611.section.md @@ -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-.conf` instead of `nixos-generation-.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";`. diff --git a/nixos/modules/security/polkit.nix b/nixos/modules/security/polkit.nix index 6ea840d4ccf3..94237502160e 100644 --- a/nixos/modules/security/polkit.nix +++ b/nixos/modules/security/polkit.nix @@ -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 ]; + }; } diff --git a/pkgs/by-name/cr/crosswords/package.nix b/pkgs/by-name/cr/crosswords/package.nix index 2944e468c472..03caee7c28d5 100644 --- a/pkgs/by-name/cr/crosswords/package.nix +++ b/pkgs/by-name/cr/crosswords/package.nix @@ -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 diff --git a/pkgs/by-name/da/datalab/package.nix b/pkgs/by-name/da/datalab/package.nix new file mode 100644 index 000000000000..8964dce5bab7 --- /dev/null +++ b/pkgs/by-name/da/datalab/package.nix @@ -0,0 +1,3 @@ +{ python3Packages }: + +python3Packages.toPythonApplication python3Packages.datalab-platform diff --git a/pkgs/by-name/di/diffoscope/package.nix b/pkgs/by-name/di/diffoscope/package.nix index 26f003998f58..3c0a801b14bd 100644 --- a/pkgs/by-name/di/diffoscope/package.nix +++ b/pkgs/by-name/di/diffoscope/package.nix @@ -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 diff --git a/pkgs/by-name/fo/folly/memset-benchmark-darwin.patch b/pkgs/by-name/fo/folly/memset-benchmark-darwin.patch new file mode 100644 index 000000000000..218789a22acb --- /dev/null +++ b/pkgs/by-name/fo/folly/memset-benchmark-darwin.patch @@ -0,0 +1,11 @@ +--- a/folly/test/MemsetBenchmark.cpp ++++ b/folly/test/MemsetBenchmark.cpp +@@ -40,7 +40,7 @@ + + template + 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) diff --git a/pkgs/by-name/fo/folly/package.nix b/pkgs/by-name/fo/folly/package.nix index 7bbbab5da16a..0ae344bb364b 100644 --- a/pkgs/by-name/fo/folly/package.nix +++ b/pkgs/by-name/fo/folly/package.nix @@ -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. diff --git a/pkgs/by-name/fo/foss-flame/package.nix b/pkgs/by-name/fo/foss-flame/package.nix new file mode 100644 index 000000000000..9948ec41f3e6 --- /dev/null +++ b/pkgs/by-name/fo/foss-flame/package.nix @@ -0,0 +1,3 @@ +{ python3Packages }: + +python3Packages.toPythonApplication python3Packages.foss-flame diff --git a/pkgs/by-name/gh/gh/package.nix b/pkgs/by-name/gh/gh/package.nix index d03d00f150f0..d1acb9b209b7 100644 --- a/pkgs/by-name/gh/gh/package.nix +++ b/pkgs/by-name/gh/gh/package.nix @@ -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 diff --git a/pkgs/by-name/gi/gitkraken/package.nix b/pkgs/by-name/gi/gitkraken/package.nix index 02b52fd9e2e6..2d42936b67ca 100644 --- a/pkgs/by-name/gi/gitkraken/package.nix +++ b/pkgs/by-name/gi/gitkraken/package.nix @@ -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="; }; }; diff --git a/pkgs/by-name/gp/gpclient/package.nix b/pkgs/by-name/gp/gpclient/package.nix index 1aa7b97cda5a..d950e936f37c 100644 --- a/pkgs/by-name/gp/gpclient/package.nix +++ b/pkgs/by-name/gp/gpclient/package.nix @@ -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 = '' diff --git a/pkgs/by-name/gr/gridtracker2/package.nix b/pkgs/by-name/gr/gridtracker2/package.nix index 263b1b6cd7f9..0973996d9a4c 100644 --- a/pkgs/by-name/gr/gridtracker2/package.nix +++ b/pkgs/by-name/gr/gridtracker2/package.nix @@ -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="; diff --git a/pkgs/by-name/he/herdr/package.nix b/pkgs/by-name/he/herdr/package.nix new file mode 100644 index 000000000000..8b6971264498 --- /dev/null +++ b/pkgs/by-name/he/herdr/package.nix @@ -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; + }; +}) diff --git a/pkgs/by-name/in/intersphinx-registry/package.nix b/pkgs/by-name/in/intersphinx-registry/package.nix new file mode 100644 index 000000000000..df03d3e74c17 --- /dev/null +++ b/pkgs/by-name/in/intersphinx-registry/package.nix @@ -0,0 +1,3 @@ +{ python3Packages }: + +python3Packages.toPythonApplication python3Packages.intersphinx-registry diff --git a/pkgs/by-name/ju/jupyterlite/package.nix b/pkgs/by-name/ju/jupyterlite/package.nix new file mode 100644 index 000000000000..90b7d2982089 --- /dev/null +++ b/pkgs/by-name/ju/jupyterlite/package.nix @@ -0,0 +1,3 @@ +{ python3Packages }: + +python3Packages.toPythonApplication python3Packages.jupyterlite-core diff --git a/pkgs/by-name/li/libipuz/package.nix b/pkgs/by-name/li/libipuz/package.nix index 4648496425a4..baf41200cd3a 100644 --- a/pkgs/by-name/li/libipuz/package.nix +++ b/pkgs/by-name/li/libipuz/package.nix @@ -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 ]; diff --git a/pkgs/by-name/li/libkrun/package.nix b/pkgs/by-name/li/libkrun/package.nix index fb413d835be4..ba4641449d8f 100644 --- a/pkgs/by-name/li/libkrun/package.nix +++ b/pkgs/by-name/li/libkrun/package.nix @@ -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"; diff --git a/pkgs/by-name/li/librewolf-unwrapped/package.nix b/pkgs/by-name/li/librewolf-unwrapped/package.nix index 22f0a83077c9..2dcab94afe52 100644 --- a/pkgs/by-name/li/librewolf-unwrapped/package.nix +++ b/pkgs/by-name/li/librewolf-unwrapped/package.nix @@ -35,6 +35,7 @@ in hythera mBornand thbemme + wolfgangwalther ]; platforms = lib.platforms.unix; broken = stdenv.buildPlatform.is32bit; diff --git a/pkgs/by-name/li/libsignal-ffi/package.nix b/pkgs/by-name/li/libsignal-ffi/package.nix index 0cb074ba6fc0..c221dd578486 100644 --- a/pkgs/by-name/li/libsignal-ffi/package.nix +++ b/pkgs/by-name/li/libsignal-ffi/package.nix @@ -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" diff --git a/pkgs/by-name/li/licomp-toolkit/package.nix b/pkgs/by-name/li/licomp-toolkit/package.nix new file mode 100644 index 000000000000..e1205fa3a563 --- /dev/null +++ b/pkgs/by-name/li/licomp-toolkit/package.nix @@ -0,0 +1,3 @@ +{ python3Packages }: + +python3Packages.toPythonApplication python3Packages.licomp-toolkit diff --git a/pkgs/by-name/ls/lsof/package.nix b/pkgs/by-name/ls/lsof/package.nix index e471fa9ae830..b753264c7669 100644 --- a/pkgs/by-name/ls/lsof/package.nix +++ b/pkgs/by-name/ls/lsof/package.nix @@ -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 = '' diff --git a/pkgs/by-name/ly/lynx/package.nix b/pkgs/by-name/ly/lynx/package.nix index f5eb99b2e0a2..86350e08e700 100644 --- a/pkgs/by-name/ly/lynx/package.nix +++ b/pkgs/by-name/ly/lynx/package.nix @@ -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"; diff --git a/pkgs/by-name/ma/markdown-oxide/package.nix b/pkgs/by-name/ma/markdown-oxide/package.nix index bb5791819406..bf7095357e1f 100644 --- a/pkgs/by-name/ma/markdown-oxide/package.nix +++ b/pkgs/by-name/ma/markdown-oxide/package.nix @@ -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"; diff --git a/pkgs/by-name/ma/matrix-synapse-unwrapped/package.nix b/pkgs/by-name/ma/matrix-synapse-unwrapped/package.nix index 27bc8b43be4b..b85e77bcebda 100644 --- a/pkgs/by-name/ma/matrix-synapse-unwrapped/package.nix +++ b/pkgs/by-name/ma/matrix-synapse-unwrapped/package.nix @@ -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 = diff --git a/pkgs/by-name/ma/mautrix-signal/package.nix b/pkgs/by-name/ma/mautrix-signal/package.nix index c0c7e9978038..a5aa11b57755 100644 --- a/pkgs/by-name/ma/mautrix-signal/package.nix +++ b/pkgs/by-name/ma/mautrix-signal/package.nix @@ -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" diff --git a/pkgs/by-name/ne/nelm/package.nix b/pkgs/by-name/ne/nelm/package.nix index 868f5e3e08b4..5f3c81a0a0e7 100644 --- a/pkgs/by-name/ne/nelm/package.nix +++ b/pkgs/by-name/ne/nelm/package.nix @@ -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" ]; diff --git a/pkgs/by-name/sc/sccache/package.nix b/pkgs/by-name/sc/sccache/package.nix index 23c47655f8d2..eacc6426d966 100644 --- a/pkgs/by-name/sc/sccache/package.nix +++ b/pkgs/by-name/sc/sccache/package.nix @@ -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" diff --git a/pkgs/by-name/sp/sphinx-gallery/package.nix b/pkgs/by-name/sp/sphinx-gallery/package.nix new file mode 100644 index 000000000000..1558af239da3 --- /dev/null +++ b/pkgs/by-name/sp/sphinx-gallery/package.nix @@ -0,0 +1,3 @@ +{ python3Packages }: + +python3Packages.toPythonApplication python3Packages.sphinx-gallery diff --git a/pkgs/by-name/ta/tau-radio/package.nix b/pkgs/by-name/ta/tau-radio/package.nix new file mode 100644 index 000000000000..fe1b1b485368 --- /dev/null +++ b/pkgs/by-name/ta/tau-radio/package.nix @@ -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 ]; + }; +}) diff --git a/pkgs/by-name/ta/tau-tower/package.nix b/pkgs/by-name/ta/tau-tower/package.nix new file mode 100644 index 000000000000..8aae671f4cec --- /dev/null +++ b/pkgs/by-name/ta/tau-tower/package.nix @@ -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 ]; + }; +}) diff --git a/pkgs/by-name/th/thunderkittens/package.nix b/pkgs/by-name/th/thunderkittens/package.nix index 54915bbd0fc6..794b9778cc6f 100644 --- a/pkgs/by-name/th/thunderkittens/package.nix +++ b/pkgs/by-name/th/thunderkittens/package.nix @@ -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; diff --git a/pkgs/development/python-modules/datalab-platform/default.nix b/pkgs/development/python-modules/datalab-platform/default.nix new file mode 100644 index 000000000000..0c71b8aecb1f --- /dev/null +++ b/pkgs/development/python-modules/datalab-platform/default.nix @@ -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 ]; + }; +}) diff --git a/pkgs/development/python-modules/foss-flame/default.nix b/pkgs/development/python-modules/foss-flame/default.nix new file mode 100644 index 000000000000..e5d125716872 --- /dev/null +++ b/pkgs/development/python-modules/foss-flame/default.nix @@ -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 ]; + }; +}) diff --git a/pkgs/development/python-modules/hepunits/default.nix b/pkgs/development/python-modules/hepunits/default.nix index d27fccf13926..329e32ae9ff0 100644 --- a/pkgs/development/python-modules/hepunits/default.nix +++ b/pkgs/development/python-modules/hepunits/default.nix @@ -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 = [ diff --git a/pkgs/development/python-modules/intersphinx-registry/default.nix b/pkgs/development/python-modules/intersphinx-registry/default.nix new file mode 100644 index 000000000000..e503a12c5d7d --- /dev/null +++ b/pkgs/development/python-modules/intersphinx-registry/default.nix @@ -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 ]; + }; +}) diff --git a/pkgs/development/python-modules/jupyterlite-core/default.nix b/pkgs/development/python-modules/jupyterlite-core/default.nix new file mode 100644 index 000000000000..496717592b40 --- /dev/null +++ b/pkgs/development/python-modules/jupyterlite-core/default.nix @@ -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 ]; + }; +}) diff --git a/pkgs/development/python-modules/jupyterlite-sphinx/default.nix b/pkgs/development/python-modules/jupyterlite-sphinx/default.nix new file mode 100644 index 000000000000..a4a1c68fbe41 --- /dev/null +++ b/pkgs/development/python-modules/jupyterlite-sphinx/default.nix @@ -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 ]; + }; +}) diff --git a/pkgs/development/python-modules/langchain-anthropic/default.nix b/pkgs/development/python-modules/langchain-anthropic/default.nix index 65fbcedeccff..b541bd8ec9d6 100644 --- a/pkgs/development/python-modules/langchain-anthropic/default.nix +++ b/pkgs/development/python-modules/langchain-anthropic/default.nix @@ -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" ]; diff --git a/pkgs/development/python-modules/langchain-aws/default.nix b/pkgs/development/python-modules/langchain-aws/default.nix index 1487685ad2c4..bbbc3ae4decc 100644 --- a/pkgs/development/python-modules/langchain-aws/default.nix +++ b/pkgs/development/python-modules/langchain-aws/default.nix @@ -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 = '' diff --git a/pkgs/development/python-modules/langchain-classic/default.nix b/pkgs/development/python-modules/langchain-classic/default.nix index 86c1fdf06a0f..b9949fd389ee 100644 --- a/pkgs/development/python-modules/langchain-classic/default.nix +++ b/pkgs/development/python-modules/langchain-classic/default.nix @@ -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"; diff --git a/pkgs/development/python-modules/langchain-core/default.nix b/pkgs/development/python-modules/langchain-core/default.nix index 440a2d193162..1189a2063143 100644 --- a/pkgs/development/python-modules/langchain-core/default.nix +++ b/pkgs/development/python-modules/langchain-core/default.nix @@ -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"; diff --git a/pkgs/development/python-modules/langchain-google-genai/default.nix b/pkgs/development/python-modules/langchain-google-genai/default.nix index 400856c41f9e..8aed6e4e76cd 100644 --- a/pkgs/development/python-modules/langchain-google-genai/default.nix +++ b/pkgs/development/python-modules/langchain-google-genai/default.nix @@ -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 = [ diff --git a/pkgs/development/python-modules/langchain-groq/default.nix b/pkgs/development/python-modules/langchain-groq/default.nix index d333d139dae2..fc37e5488931 100644 --- a/pkgs/development/python-modules/langchain-groq/default.nix +++ b/pkgs/development/python-modules/langchain-groq/default.nix @@ -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 ]; }; -} +}) diff --git a/pkgs/development/python-modules/langchain-huggingface/default.nix b/pkgs/development/python-modules/langchain-huggingface/default.nix index be599bd0e104..9b0c2fe820f1 100644 --- a/pkgs/development/python-modules/langchain-huggingface/default.nix +++ b/pkgs/development/python-modules/langchain-huggingface/default.nix @@ -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" ]; diff --git a/pkgs/development/python-modules/langchain-mistralai/default.nix b/pkgs/development/python-modules/langchain-mistralai/default.nix index 33a6e24975b0..4251d4ef13e6 100644 --- a/pkgs/development/python-modules/langchain-mistralai/default.nix +++ b/pkgs/development/python-modules/langchain-mistralai/default.nix @@ -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 ]; }; -} +}) diff --git a/pkgs/development/python-modules/langchain-mongodb/default.nix b/pkgs/development/python-modules/langchain-mongodb/default.nix index d139b2cc9298..95285e50dc5f 100644 --- a/pkgs/development/python-modules/langchain-mongodb/default.nix +++ b/pkgs/development/python-modules/langchain-mongodb/default.nix @@ -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 diff --git a/pkgs/development/python-modules/langchain-ollama/default.nix b/pkgs/development/python-modules/langchain-ollama/default.nix index 104796cce3ea..11ec12bb1f9c 100644 --- a/pkgs/development/python-modules/langchain-ollama/default.nix +++ b/pkgs/development/python-modules/langchain-ollama/default.nix @@ -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" ]; diff --git a/pkgs/development/python-modules/langchain-openai/default.nix b/pkgs/development/python-modules/langchain-openai/default.nix index 26605b6b4ec3..80514602546c 100644 --- a/pkgs/development/python-modules/langchain-openai/default.nix +++ b/pkgs/development/python-modules/langchain-openai/default.nix @@ -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"; diff --git a/pkgs/development/python-modules/langchain-perplexity/default.nix b/pkgs/development/python-modules/langchain-perplexity/default.nix index c5d9ca276e18..f796254e8d9d 100644 --- a/pkgs/development/python-modules/langchain-perplexity/default.nix +++ b/pkgs/development/python-modules/langchain-perplexity/default.nix @@ -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"; diff --git a/pkgs/development/python-modules/langchain-protocol/default.nix b/pkgs/development/python-modules/langchain-protocol/default.nix index 5fa39b168f07..9a028ecdd2bc 100644 --- a/pkgs/development/python-modules/langchain-protocol/default.nix +++ b/pkgs/development/python-modules/langchain-protocol/default.nix @@ -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 = [ diff --git a/pkgs/development/python-modules/langchain-tests/default.nix b/pkgs/development/python-modules/langchain-tests/default.nix index bf5ccf199958..9bf1ba4f8073 100644 --- a/pkgs/development/python-modules/langchain-tests/default.nix +++ b/pkgs/development/python-modules/langchain-tests/default.nix @@ -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"; diff --git a/pkgs/development/python-modules/langchain/default.nix b/pkgs/development/python-modules/langchain/default.nix index ce61ce40aa5d..7dbe11e56270 100644 --- a/pkgs/development/python-modules/langchain/default.nix +++ b/pkgs/development/python-modules/langchain/default.nix @@ -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"; diff --git a/pkgs/development/python-modules/langgraph-checkpoint-postgres/default.nix b/pkgs/development/python-modules/langgraph-checkpoint-postgres/default.nix index 889ae3d104f1..3187783f9d4a 100644 --- a/pkgs/development/python-modules/langgraph-checkpoint-postgres/default.nix +++ b/pkgs/development/python-modules/langgraph-checkpoint-postgres/default.nix @@ -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 ]; }; -} +}) diff --git a/pkgs/development/python-modules/langgraph-checkpoint-sqlite/default.nix b/pkgs/development/python-modules/langgraph-checkpoint-sqlite/default.nix index fbfe5a9a0f2c..c80953130757 100644 --- a/pkgs/development/python-modules/langgraph-checkpoint-sqlite/default.nix +++ b/pkgs/development/python-modules/langgraph-checkpoint-sqlite/default.nix @@ -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 ]; }; -} +}) diff --git a/pkgs/development/python-modules/langgraph-cli/default.nix b/pkgs/development/python-modules/langgraph-cli/default.nix index 7799a308141d..b79fd25259e0 100644 --- a/pkgs/development/python-modules/langgraph-cli/default.nix +++ b/pkgs/development/python-modules/langgraph-cli/default.nix @@ -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 ] diff --git a/pkgs/development/python-modules/langgraph-prebuilt/default.nix b/pkgs/development/python-modules/langgraph-prebuilt/default.nix index e5740cc5d0b1..e729568ba4c9 100644 --- a/pkgs/development/python-modules/langgraph-prebuilt/default.nix +++ b/pkgs/development/python-modules/langgraph-prebuilt/default.nix @@ -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"; diff --git a/pkgs/development/python-modules/langgraph-runtime-inmem/default.nix b/pkgs/development/python-modules/langgraph-runtime-inmem/default.nix index 5f42311bd481..0e3c585f8804 100644 --- a/pkgs/development/python-modules/langgraph-runtime-inmem/default.nix +++ b/pkgs/development/python-modules/langgraph-runtime-inmem/default.nix @@ -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 ]; diff --git a/pkgs/development/python-modules/langgraph-sdk/default.nix b/pkgs/development/python-modules/langgraph-sdk/default.nix index 12e1af0a6098..c5687317824c 100644 --- a/pkgs/development/python-modules/langgraph-sdk/default.nix +++ b/pkgs/development/python-modules/langgraph-sdk/default.nix @@ -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 diff --git a/pkgs/development/python-modules/langgraph/default.nix b/pkgs/development/python-modules/langgraph/default.nix index 3512b1f6d896..f9a107bb4a82 100644 --- a/pkgs/development/python-modules/langgraph/default.nix +++ b/pkgs/development/python-modules/langgraph/default.nix @@ -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 = '' diff --git a/pkgs/development/python-modules/licomp-doubleopen/default.nix b/pkgs/development/python-modules/licomp-doubleopen/default.nix new file mode 100644 index 000000000000..2243caa52b1f --- /dev/null +++ b/pkgs/development/python-modules/licomp-doubleopen/default.nix @@ -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 ]; + }; +}) diff --git a/pkgs/development/python-modules/licomp-dwheeler/default.nix b/pkgs/development/python-modules/licomp-dwheeler/default.nix new file mode 100644 index 000000000000..39fb76e1905d --- /dev/null +++ b/pkgs/development/python-modules/licomp-dwheeler/default.nix @@ -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 ]; + }; +}) diff --git a/pkgs/development/python-modules/licomp-gnuguide/default.nix b/pkgs/development/python-modules/licomp-gnuguide/default.nix new file mode 100644 index 000000000000..8d90a79f53a2 --- /dev/null +++ b/pkgs/development/python-modules/licomp-gnuguide/default.nix @@ -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 ]; + }; +}) diff --git a/pkgs/development/python-modules/licomp-hermione/default.nix b/pkgs/development/python-modules/licomp-hermione/default.nix new file mode 100644 index 000000000000..9bf2a5f827cf --- /dev/null +++ b/pkgs/development/python-modules/licomp-hermione/default.nix @@ -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 ]; + }; +}) diff --git a/pkgs/development/python-modules/licomp-osadl/default.nix b/pkgs/development/python-modules/licomp-osadl/default.nix new file mode 100644 index 000000000000..7796128e0463 --- /dev/null +++ b/pkgs/development/python-modules/licomp-osadl/default.nix @@ -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 ]; + }; +}) diff --git a/pkgs/development/python-modules/licomp-oslc-handbook/default.nix b/pkgs/development/python-modules/licomp-oslc-handbook/default.nix new file mode 100644 index 000000000000..ddc265f9bf1a --- /dev/null +++ b/pkgs/development/python-modules/licomp-oslc-handbook/default.nix @@ -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; + }; +}) diff --git a/pkgs/development/python-modules/licomp-proprietary/default.nix b/pkgs/development/python-modules/licomp-proprietary/default.nix new file mode 100644 index 000000000000..4132f0e709ed --- /dev/null +++ b/pkgs/development/python-modules/licomp-proprietary/default.nix @@ -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 ]; + }; +}) diff --git a/pkgs/development/python-modules/licomp-reclicense/default.nix b/pkgs/development/python-modules/licomp-reclicense/default.nix new file mode 100644 index 000000000000..89b3822e3dc6 --- /dev/null +++ b/pkgs/development/python-modules/licomp-reclicense/default.nix @@ -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 ]; + }; +}) diff --git a/pkgs/development/python-modules/licomp-toolkit/default.nix b/pkgs/development/python-modules/licomp-toolkit/default.nix new file mode 100644 index 000000000000..f34d8ea1d8c5 --- /dev/null +++ b/pkgs/development/python-modules/licomp-toolkit/default.nix @@ -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; + }; +}) diff --git a/pkgs/development/python-modules/licomp/default.nix b/pkgs/development/python-modules/licomp/default.nix new file mode 100644 index 000000000000..961ed68edb69 --- /dev/null +++ b/pkgs/development/python-modules/licomp/default.nix @@ -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 ]; + }; +}) diff --git a/pkgs/development/python-modules/osadl-matrix/default.nix b/pkgs/development/python-modules/osadl-matrix/default.nix new file mode 100644 index 000000000000..405fcc7e1e7d --- /dev/null +++ b/pkgs/development/python-modules/osadl-matrix/default.nix @@ -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 ]; + }; +}) diff --git a/pkgs/development/python-modules/pynintendoparental/default.nix b/pkgs/development/python-modules/pynintendoparental/default.nix index 568ed5363723..fc477b5f3ecf 100644 --- a/pkgs/development/python-modules/pynintendoparental/default.nix +++ b/pkgs/development/python-modules/pynintendoparental/default.nix @@ -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 = '' diff --git a/pkgs/development/python-modules/pytensor/default.nix b/pkgs/development/python-modules/pytensor/default.nix index 6292eef22fc0..5a8eb8e2159d 100644 --- a/pkgs/development/python-modules/pytensor/default.nix +++ b/pkgs/development/python-modules/pytensor/default.nix @@ -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 { diff --git a/pkgs/development/python-modules/pythonqwt/default.nix b/pkgs/development/python-modules/pythonqwt/default.nix index a60d7cf45643..906185e01228 100644 --- a/pkgs/development/python-modules/pythonqwt/default.nix +++ b/pkgs/development/python-modules/pythonqwt/default.nix @@ -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 = [ diff --git a/pkgs/development/python-modules/sigima/default.nix b/pkgs/development/python-modules/sigima/default.nix new file mode 100644 index 000000000000..234d3967c616 --- /dev/null +++ b/pkgs/development/python-modules/sigima/default.nix @@ -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 ]; + }; +}) diff --git a/pkgs/development/python-modules/spdx-license-list/default.nix b/pkgs/development/python-modules/spdx-license-list/default.nix new file mode 100644 index 000000000000..6a7b914c3a70 --- /dev/null +++ b/pkgs/development/python-modules/spdx-license-list/default.nix @@ -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 ]; + }; +}) diff --git a/pkgs/development/python-modules/sphinx-gallery/default.nix b/pkgs/development/python-modules/sphinx-gallery/default.nix new file mode 100644 index 000000000000..67dcad4afd97 --- /dev/null +++ b/pkgs/development/python-modules/sphinx-gallery/default.nix @@ -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: + "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 ]; + }; +}) diff --git a/pkgs/development/python-modules/telnetlib3/default.nix b/pkgs/development/python-modules/telnetlib3/default.nix index ab8ea1b60a98..cedc14128157 100644 --- a/pkgs/development/python-modules/telnetlib3/default.nix +++ b/pkgs/development/python-modules/telnetlib3/default.nix @@ -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 ]; diff --git a/pkgs/servers/nextcloud/packages/32.json b/pkgs/servers/nextcloud/packages/32.json index 4fba74c63f26..359ec5d6ec96 100644 --- a/pkgs/servers/nextcloud/packages/32.json +++ b/pkgs/servers/nextcloud/packages/32.json @@ -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* πŸ™ˆ **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.", "homepage": "https://github.com/nextcloud/calendar/", "licenses": [ @@ -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* πŸ™ˆ **We’re 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 Nextcloud’s\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- **πŸ™ˆ We’re 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 you’re 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": { diff --git a/pkgs/servers/nextcloud/packages/33.json b/pkgs/servers/nextcloud/packages/33.json index 41ed0fc98d09..9e0de83486d2 100644 --- a/pkgs/servers/nextcloud/packages/33.json +++ b/pkgs/servers/nextcloud/packages/33.json @@ -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* πŸ™ˆ **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.", "homepage": "https://github.com/nextcloud/calendar/", "licenses": [ @@ -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* πŸ™ˆ **We’re 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 Nextcloud’s\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- **πŸ™ˆ We’re 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 you’re 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": { diff --git a/pkgs/servers/sql/postgresql/19.nix b/pkgs/servers/sql/postgresql/19.nix new file mode 100644 index 000000000000..50862f58f4ab --- /dev/null +++ b/pkgs/servers/sql/postgresql/19.nix @@ -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="; + }; + }; +} diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix index 495f8b2625c0..355ae9bf7149 100644 --- a/pkgs/servers/sql/postgresql/default.nix +++ b/pkgs/servers/sql/postgresql/default.nix @@ -14,6 +14,7 @@ let postgresql_16 = ./16.nix; postgresql_17 = ./17.nix; postgresql_18 = ./18.nix; + postgresql_19 = ./19.nix; }; mkAttributes = diff --git a/pkgs/servers/sql/postgresql/generic.nix b/pkgs/servers/sql/postgresql/generic.nix index 5b4b355c80f4..08c4b2f91959 100644 --- a/pkgs/servers/sql/postgresql/generic.nix +++ b/pkgs/servers/sql/postgresql/generic.nix @@ -375,7 +375,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 = [ ( diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dc70e4476e16..8d9e5f3d717f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7679,6 +7679,7 @@ with pkgs; postgresql_16 postgresql_17 postgresql_18 + postgresql_19 ; inherit (postgresqlJitVersions) @@ -7687,6 +7688,7 @@ with pkgs; postgresql_16_jit postgresql_17_jit postgresql_18_jit + postgresql_19_jit ; postgresql = postgresql_17; postgresql_jit = postgresql_17_jit; @@ -7696,6 +7698,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; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d541bce8d91e..c7973f87fb18 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3660,6 +3660,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 { }; @@ -5989,6 +5991,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; }; @@ -7745,6 +7749,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 { }; @@ -8313,6 +8319,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 { }; @@ -9096,6 +9106,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; @@ -12128,6 +12158,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 { }; @@ -18029,6 +18061,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 { }; @@ -18523,6 +18557,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 { }; @@ -18589,6 +18625,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 { };