diff --git a/.mailmap b/.mailmap index d652e0f35474..f868a28e0636 100644 --- a/.mailmap +++ b/.mailmap @@ -17,6 +17,7 @@ jopejoe1 <34899572+jopejoe1@users.noreply.github.com> jopejoe1 jopejoe1 Jörg Thalheim +Katalin Rebhan Lin Jian Lin Jian <75130626+jian-lin@users.noreply.github.com> Martin Weinelt diff --git a/ci/OWNERS b/ci/OWNERS index 0b7d71bc4293..ec693ccd3e91 100644 --- a/ci/OWNERS +++ b/ci/OWNERS @@ -411,9 +411,9 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt /pkgs/development/compilers/go @kalbasit @katexochen @Mic92 # GNOME -/pkgs/desktops/gnome @jtojnar -/pkgs/desktops/gnome/extensions @jtojnar -/pkgs/build-support/make-hardcode-gsettings-patch @jtojnar +/pkgs/desktops/gnome @NixOS/gnome +/pkgs/desktops/gnome/extensions @NixOS/gnome +/pkgs/build-support/make-hardcode-gsettings-patch @NixOS/gnome # Cinnamon /pkgs/by-name/ci/cinnamon-* @mkg20001 diff --git a/ci/pinned.json b/ci/pinned.json index bab709798be6..d161a3d78e1c 100644 --- a/ci/pinned.json +++ b/ci/pinned.json @@ -9,9 +9,9 @@ }, "branch": "nixpkgs-unstable", "submodules": false, - "revision": "02f3fa0374fa13707d42d55d58ecc76b091f223c", - "url": "https://github.com/NixOS/nixpkgs/archive/02f3fa0374fa13707d42d55d58ecc76b091f223c.tar.gz", - "hash": "0z8d33c5g0gk9a74ppqq77npisf9xx9c8ai9isxa2hyjx4lv1pki" + "revision": "cbb5cf358f50aa6acc9efd6113b7bcfbc352cd73", + "url": "https://github.com/NixOS/nixpkgs/archive/cbb5cf358f50aa6acc9efd6113b7bcfbc352cd73.tar.gz", + "hash": "sha256-IX7G1dlKrOqPOImfbo7ADDfV5yU1+j+MRChI3TL4tAA=" }, "treefmt-nix": { "type": "Git", @@ -22,10 +22,10 @@ }, "branch": "main", "submodules": false, - "revision": "790751ff7fd3801feeaf96d7dc416a8d581265ba", - "url": "https://github.com/numtide/treefmt-nix/archive/790751ff7fd3801feeaf96d7dc416a8d581265ba.tar.gz", - "hash": "1zah3dmbpn3ap5acg22kq1j19dg32gj73l43yamjcxhc38sv9kd5" + "revision": "db947814a175b7ca6ded66e21383d938df01c227", + "url": "https://github.com/numtide/treefmt-nix/archive/db947814a175b7ca6ded66e21383d938df01c227.tar.gz", + "hash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=" } }, - "version": 5 + "version": 8 } diff --git a/ci/update-pinned.sh b/ci/update-pinned.sh index 7e3a26695fe8..69ba7df9131d 100755 --- a/ci/update-pinned.sh +++ b/ci/update-pinned.sh @@ -1,8 +1,9 @@ #!/usr/bin/env nix-shell -#!nix-shell -i bash -p npins +#!nix-shell -i bash -p npins -I nixpkgs=../ set -euo pipefail cd "$(dirname "${BASH_SOURCE[0]}")" +npins --lock-file pinned.json upgrade npins --lock-file pinned.json update diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 802dabdd269c..8e6e1d2b93ac 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2326,6 +2326,12 @@ githubId = 3965744; name = "Arthur Lee"; }; + arthurficial = { + email = "arti.ficial@fullstackoptimization.com"; + github = "Arthur-Ficial"; + githubId = 258112064; + name = "Arthur Ficial"; + }; arthurteisseire = { email = "arthurteisseire33@gmail.com"; github = "arthurteisseire"; @@ -7958,6 +7964,11 @@ githubId = 18375468; name = "Elliot Xu"; }; + elliotberman = { + name = "Elliot Berman"; + github = "elliotberman"; + githubId = 210410075; + }; elliottslaughter = { name = "Elliott Slaughter"; email = "elliottslaughter@gmail.com"; @@ -13530,6 +13541,12 @@ githubId = 5352661; name = "James Cleverley-Prance"; }; + jpz13 = { + email = "jp@pipekit.io"; + github = "JPZ13"; + githubId = 6625432; + name = "J.P. Zivalich"; + }; jqueiroz = { email = "nixos@johnjq.com"; github = "jqueiroz"; @@ -27046,6 +27063,12 @@ githubId = 6064962; name = "TakWolf"; }; + talal = { + email = "noreply@talal.ch"; + github = "talal"; + githubId = 3526562; + name = "Muhammad Talal Anwar"; + }; talhaHavadar = { email = "havadartalha@gmail.com"; github = "talhaHavadar"; @@ -30162,6 +30185,12 @@ githubId = 36407913; name = "Uli Baum"; }; + xelacodes = { + name = "Alex"; + github = "itzTheMeow"; + githubId = 50887230; + email = "nixpkgs@xela.codes"; + }; xelden = { email = "anpiz@protonmail.com"; github = "Xelden"; diff --git a/nixos/modules/services/computing/boinc/client.nix b/nixos/modules/services/computing/boinc/client.nix index a0d244337be8..a91beca21ec5 100644 --- a/nixos/modules/services/computing/boinc/client.nix +++ b/nixos/modules/services/computing/boinc/client.nix @@ -50,7 +50,7 @@ in only the hosts listed in {var}`dataDir`/remote_hosts.cfg will be allowed to connect. - See also: + See also: ''; }; diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix index 36825e1d508c..a948cd02bc4f 100644 --- a/nixos/modules/services/networking/ssh/sshd.nix +++ b/nixos/modules/services/networking/ssh/sshd.nix @@ -26,6 +26,8 @@ let toString v else if lib.isString v then v + else if lib.isPath v then + v else if true == v then "yes" else if false == v then diff --git a/nixos/tests/shadps4.nix b/nixos/tests/shadps4.nix index 76c282394dae..b5d0dfbb54ae 100644 --- a/nixos/tests/shadps4.nix +++ b/nixos/tests/shadps4.nix @@ -88,6 +88,9 @@ machine.succeed("shadps4 /etc/openorbis-sample-packages/OpenOrbis-PNG-Sample/uroot/eboot.bin >&2 &") + machine.wait_for_text("Save Migration") + machine.succeed("xdotool mousemove 879 182 click 1") + # Look for logo with machine.nested("Waiting for the screen to have openorbisColor {} on it:".format(openorbisColor)): retry(check_for_color(openorbisColor)) diff --git a/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix b/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix index 78e354134f54..79722fb748ee 100644 --- a/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix +++ b/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix @@ -21,26 +21,26 @@ vscode-utils.buildVscodeMarketplaceExtension (finalAttrs: { sources = { "x86_64-linux" = { arch = "linux-x64"; - hash = "sha256-q5j8Ip/ew3oHGIakJm/CTeKcW4O9FR062f4rILXbQrQ="; + hash = "sha256-792UABRtJEpG4ipQsoiN1lkGeaNqHyg69Sv3g26BZBA="; }; "aarch64-linux" = { arch = "linux-arm64"; - hash = "sha256-viZxHDA8SfsIVB5R9I/8SB8EEWRvt1kpZPDA4w0sD54="; + hash = "sha256-NDiCBtQ/BWPPOAbDs/ACZ68at0gAqJJMPBLCsILnBho="; }; "x86_64-darwin" = { arch = "darwin-x64"; - hash = "sha256-kL0bab7BT45EEh17jKFVHqaMQEYkxLlsDKtK1deoS4M="; + hash = "sha256-j81bcYqopNTAO/faiugARwAaVZ8s+1Atf8oHDTS8fR4="; }; "aarch64-darwin" = { arch = "darwin-arm64"; - hash = "sha256-fJW6fTGRWLBWB1yZ1pGb3p4KkFLhrDXqw+0wjOv71Vo="; + hash = "sha256-Y6M110iwzKdzJoHb6zEKWyR4NyxyQtuvNJ4ucOrUYdY="; }; }; in { name = "claude-code"; publisher = "anthropic"; - version = "2.1.161"; + version = "2.1.170"; } // sources.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system ${stdenvNoCC.hostPlatform.system}"); diff --git a/pkgs/applications/networking/browsers/firefox/packages/firefox-devedition.nix b/pkgs/applications/networking/browsers/firefox/packages/firefox-devedition.nix index 64b9d7a3e7ac..8b7ee5d85834 100644 --- a/pkgs/applications/networking/browsers/firefox/packages/firefox-devedition.nix +++ b/pkgs/applications/networking/browsers/firefox/packages/firefox-devedition.nix @@ -10,13 +10,13 @@ buildMozillaMach rec { pname = "firefox-devedition"; binaryName = "firefox-devedition"; - version = "152.0b1"; + version = "152.0b8"; applicationName = "Firefox Developer Edition"; requireSigning = false; branding = "browser/branding/aurora"; src = fetchurl { url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "1fcbb8bd7b80415639dec2e1f28e6e893b43592115e1a445f447868f114f04b9b20307af030017fd19fa9f3d7b8ae13e7083229aaa1af9d092f44f6eaa0ae798"; + sha512 = "e76142f19c3eccfeedd069bb14a6732b73a848ecbd16e74b6902e73b560db023611fabfef238d2f92b522ad75bb24d9368e2a75dfac9a6ff6c665a542445f157"; }; # buildMozillaMach sets MOZ_APP_REMOTINGNAME during configuration, but diff --git a/pkgs/by-name/ad/adscan/package.nix b/pkgs/by-name/ad/adscan/package.nix new file mode 100644 index 000000000000..9de29420fe0e --- /dev/null +++ b/pkgs/by-name/ad/adscan/package.nix @@ -0,0 +1,80 @@ +{ + lib, + python3Packages, + fetchFromGitHub, + nix-update-script, +}: + +python3Packages.buildPythonApplication (finalAttrs: { + pname = "adscan"; + version = "9.1.0"; + pyproject = true; + + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "ADScanPro"; + repo = "adscan"; + tag = "v${finalAttrs.version}"; + hash = "sha256-YsJFOJtf2rubfAXHWlu6c7ZLX8QE1KZFcFof56MsPVo="; + }; + + pythonRelaxDeps = [ "credsweeper" ]; + + build-system = with python3Packages; [ setuptools ]; + + dependencies = with python3Packages; [ + aardwolf + aiosmb + badldap + certifi + credsweeper + dnspython + graphviz + impacket + jinja2 + kerbad + markitdown + netifaces + packaging + playwright + posthog + prompt-toolkit + psutil + pydantic-ai-slim + pydantic-settings + pypsrp + pypykatz + python-docx + python-magic + questionary + redis + requests + rich + scapy + selenium + sentry-sdk + textual + weasyprint + winacl + ]; + + pythonImportsCheck = [ + "adscan_core" + "adscan_launcher" + ]; + + # Project has no tests + doCheck = false; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Active Directory pentesting tool for Linux"; + homepage = "https://github.com/ADScanPro/adscan"; + changelog = "https://github.com/ADScanPro/adscan/blob/${finalAttrs.src.rev}/CHANGELOG.md"; + license = lib.licenses.bsl11; + maintainers = with lib.maintainers; [ fab ]; + mainProgram = "adscan"; + }; +}) diff --git a/pkgs/by-name/ai/airtame/package.nix b/pkgs/by-name/ai/airtame/package.nix index edb3f9b2905e..3bd77c7be6f4 100644 --- a/pkgs/by-name/ai/airtame/package.nix +++ b/pkgs/by-name/ai/airtame/package.nix @@ -44,7 +44,7 @@ let ]; deps = [ - libgcc.lib + libgcc glib nss nspr diff --git a/pkgs/by-name/an/anytype-cli/package.nix b/pkgs/by-name/an/anytype-cli/package.nix index 7c112e42cb8e..b8eacca1f8e7 100644 --- a/pkgs/by-name/an/anytype-cli/package.nix +++ b/pkgs/by-name/an/anytype-cli/package.nix @@ -9,16 +9,16 @@ buildGoModule (finalAttrs: { __structuredAttrs = true; pname = "anytype-cli"; - version = "0.3.3"; + version = "0.3.5"; src = fetchFromGitHub { owner = "anyproto"; repo = "anytype-cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-t1EdNrXmG1kTMx17Ni5jM81V1bfZTGA2jMDm+wdqKAE="; + hash = "sha256-+GVV5HiOB/589IKRs+uJaK8X29MCg5cv0C8u6spb7Jg="; }; - vendorHash = "sha256-/yF5niHBEPKvIGoWUVvZ00vrEaxG5s3kK5uFNdGCYcA="; + vendorHash = "sha256-uxKDO55CQYn50XpnlP5tv5Rcl6+fq7nsOD7/2foRZX8="; proxyVendor = true; env.CGO_ENABLED = 1; diff --git a/pkgs/by-name/ap/apfel-llm/package.nix b/pkgs/by-name/ap/apfel-llm/package.nix index 17429d03f1c6..9bbf1068d986 100644 --- a/pkgs/by-name/ap/apfel-llm/package.nix +++ b/pkgs/by-name/ap/apfel-llm/package.nix @@ -44,6 +44,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/Arthur-Ficial/apfel"; changelog = "https://github.com/Arthur-Ficial/apfel/releases/tag/v${finalAttrs.version}"; license = lib.licenses.mit; + maintainers = with lib.maintainers; [ arthurficial ]; platforms = [ "aarch64-darwin" ]; mainProgram = "apfel"; sourceProvenance = [ diff --git a/pkgs/by-name/ba/backintime-common/package.nix b/pkgs/by-name/ba/backintime-common/package.nix index 32fd94112ac7..e9fb6e0d9025 100644 --- a/pkgs/by-name/ba/backintime-common/package.nix +++ b/pkgs/by-name/ba/backintime-common/package.nix @@ -9,7 +9,6 @@ cron, openssh, sshfs-fuse, - encfs, gocryptfs, which, ps, @@ -33,7 +32,6 @@ let cron rsync sshfs-fuse - encfs gocryptfs ]; in diff --git a/pkgs/by-name/ba/barracuda/package.nix b/pkgs/by-name/ba/barracuda/package.nix new file mode 100644 index 000000000000..e633303f3a60 --- /dev/null +++ b/pkgs/by-name/ba/barracuda/package.nix @@ -0,0 +1,46 @@ +{ + lib, + stdenv, + fetchFromGitHub, + versionCheckHook, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "barracuda"; + version = "0.5.0"; + + src = fetchFromGitHub { + owner = "Zaneham"; + repo = "BarraCUDA"; + tag = "v${finalAttrs.version}"; + hash = "sha256-WQGnW7fpTIJuUkf9OYWPPWbE4VMhfff32bKGR9e01oQ="; + }; + + strictDeps = true; + __structuredAttrs = true; + + enableParallelBuilding = true; + + installPhase = '' + runHook preInstall + + install -Dm755 barracuda -t $out/bin + + runHook postInstall + ''; + + doInstallCheck = true; + nativeInstallCheckInputs = [ + versionCheckHook + ]; + + meta = { + description = "Multi architecture, multi language compiler with the intended goal of allowing for cross platform development on GPU's and CPU's"; + homepage = "https://github.com/Zaneham/BarraCUDA"; + changelog = "https://github.com/Zaneham/BarraCUDA/releases/tag/${finalAttrs.src.tag}"; + maintainers = with lib.maintainers; [ dstremur ]; + license = lib.licenses.asl20; + platforms = [ "x86_64-linux" ]; + mainProgram = "barracuda"; + }; +}) diff --git a/pkgs/by-name/bi/bindfs/package.nix b/pkgs/by-name/bi/bindfs/package.nix index 5cc6c5028bc2..fb6eeba43b53 100644 --- a/pkgs/by-name/bi/bindfs/package.nix +++ b/pkgs/by-name/bi/bindfs/package.nix @@ -5,8 +5,8 @@ fetchpatch, autoreconfHook, pkg-config, - fuse, fuse3, + macfuse-stubs, }: stdenv.mkDerivation (finalAttrs: { @@ -35,7 +35,7 @@ stdenv.mkDerivation (finalAttrs: { pkg-config ]; - buildInputs = if stdenv.hostPlatform.isDarwin then [ fuse ] else [ fuse3 ]; + buildInputs = if stdenv.hostPlatform.isDarwin then [ macfuse-stubs ] else [ fuse3 ]; configureFlags = lib.optional stdenv.hostPlatform.isDarwin "--disable-macos-fs-link"; diff --git a/pkgs/by-name/bi/bird2/package.nix b/pkgs/by-name/bi/bird2/package.nix index 8c1bfe924e6a..f369d84034c3 100644 --- a/pkgs/by-name/bi/bird2/package.nix +++ b/pkgs/by-name/bi/bird2/package.nix @@ -12,14 +12,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "bird"; - version = "2.19.0"; + version = "2.19.1"; src = fetchFromGitLab { domain = "gitlab.nic.cz"; owner = "labs"; repo = "bird"; tag = "v${finalAttrs.version}"; - hash = "sha256-xk3z5kkjnInmIwtE6Q7kCJ5P5Njt/Oz1+HPO0vcr93E="; + hash = "sha256-8D83U9IgNQ0HDWk2WSQsRsy82bDmjkgectkCOXy2RyI="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/bi/bird3/package.nix b/pkgs/by-name/bi/bird3/package.nix index 4f8272b481bf..4ca4633c9efd 100644 --- a/pkgs/by-name/bi/bird3/package.nix +++ b/pkgs/by-name/bi/bird3/package.nix @@ -12,14 +12,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "bird"; - version = "3.3.0"; + version = "3.3.1"; src = fetchFromGitLab { domain = "gitlab.nic.cz"; owner = "labs"; repo = "bird"; tag = "v${finalAttrs.version}"; - hash = "sha256-mH9CM9Emie2B9c5PeW4DKUQUzvgxTExPBGG06YbWqGo="; + hash = "sha256-aJo6Ut/ULBDGoekSXgN1WvmFmonTzNA3TES1FHqCiOM="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ca/calc/package.nix b/pkgs/by-name/ca/calc/package.nix index f1448e4aed11..3df5bef99d58 100644 --- a/pkgs/by-name/ca/calc/package.nix +++ b/pkgs/by-name/ca/calc/package.nix @@ -2,23 +2,22 @@ lib, stdenv, fetchurl, - makeWrapper, + man, ncurses, readline, - unixtools, enableReadline ? true, }: stdenv.mkDerivation (finalAttrs: { pname = "calc"; - version = "2.15.0.2"; + version = "2.17.0.0"; src = fetchurl { urls = [ "https://github.com/lcn2/calc/releases/download/v${finalAttrs.version}/calc-${finalAttrs.version}.tar.bz2" "http://www.isthe.com/chongo/src/calc/calc-${finalAttrs.version}.tar.bz2" ]; - hash = "sha256-dPEj32SiR7RhI9fBa9ny9+EEuuiXS2WswRcDVuOMJXc="; + hash = "sha256-Cso4Z8E5UBsoXCluuujZ+4Slppb5k6K+EDRPKKrqrDk="; }; postPatch = '' @@ -28,8 +27,7 @@ stdenv.mkDerivation (finalAttrs: { ''; nativeBuildInputs = [ - makeWrapper - unixtools.col + man ]; buildInputs = lib.optionals enableReadline [ @@ -46,6 +44,7 @@ stdenv.mkDerivation (finalAttrs: { "CALC_INCDIR=/include" "MANDIR=/share/man/man1" + "EXTRA_CFLAGS=-Wno-error=format-security" # Handle LDFLAGS defaults in calc "DEFAULT_LIB_INSTALL_PATH=$(out)/lib" ] diff --git a/pkgs/by-name/ca/cantata/package.nix b/pkgs/by-name/ca/cantata/package.nix index 709bd0322c2a..397cd7275fd3 100644 --- a/pkgs/by-name/ca/cantata/package.nix +++ b/pkgs/by-name/ca/cantata/package.nix @@ -5,8 +5,8 @@ cmake, pkg-config, qt6, + kdePackages, perl, - fetchpatch2, # Cantata doesn't build with cdparanoia enabled so we disable that # default for now until I (or someone else) figure it out. @@ -163,13 +163,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "cantata"; - version = "3.3.1"; + version = "3.4.0"; src = fetchFromGitHub { owner = "nullobsi"; repo = "cantata"; rev = "v${finalAttrs.version}"; - hash = "sha256-4lkfY+87lEE2A863JogG5PtO5SyGn7Hb8shQljSqq3Q="; + hash = "sha256-jwIsuNgsd1TFb1Zkyen/AulGQfVY2RWKfAJaWvg4WMI="; }; patches = [ @@ -177,18 +177,6 @@ stdenv.mkDerivation (finalAttrs: { # patchShebangs the playlists scripts, making that unnecessary (perl will # always be available because it's a dependency) ./dont-check-for-perl-in-PATH.diff - - # remove following patches in next release - (fetchpatch2 { - name = "fix-build-with-qt-610-qfile-open.patch"; - url = "https://github.com/nullobsi/cantata/pull/89.patch"; - hash = "sha256-c7hdecX2oo9jTlLc6zd7LVjgZj4w89zN+eEw7ol/hmI="; - }) - (fetchpatch2 { - name = "fix-build-with-qt-610-invalidateFilter-deprecated.patch"; - url = "https://github.com/nullobsi/cantata/pull/90.patch"; - hash = "sha256-dMxbC/p5mD/TQZEXORbvNON7Zzbvq0khaIR89lU5cO4="; - }) ]; postPatch = '' @@ -199,6 +187,8 @@ stdenv.mkDerivation (finalAttrs: { qt6.qtbase qt6.qtsvg qt6.qtwayland + kdePackages.karchive + kdePackages.kitemviews (perl.withPackages (ppkgs: with ppkgs; [ URI ])) ] ++ lib.flatten (builtins.catAttrs "pkgs" (builtins.filter (e: e.enable) options)); diff --git a/pkgs/by-name/ca/cargo-bisect-rustc/package.nix b/pkgs/by-name/ca/cargo-bisect-rustc/package.nix index c78bd30d6d76..b0af91dd96d8 100644 --- a/pkgs/by-name/ca/cargo-bisect-rustc/package.nix +++ b/pkgs/by-name/ca/cargo-bisect-rustc/package.nix @@ -15,6 +15,8 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cargo-bisect-rustc"; version = "0.6.11"; + __structuredAttrs = true; + src = fetchFromGitHub { owner = "rust-lang"; repo = "cargo-bisect-rustc"; diff --git a/pkgs/by-name/cc/cc-token/package.nix b/pkgs/by-name/cc/cc-token/package.nix new file mode 100644 index 000000000000..8b45cad9987c --- /dev/null +++ b/pkgs/by-name/cc/cc-token/package.nix @@ -0,0 +1,42 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: + +buildGoModule { + pname = "cc-token"; + version = "unstable-2025-12-04"; + + src = fetchFromGitHub { + owner = "iota-uz"; + repo = "cc-token"; + rev = "c833f5739c4f14c7091337d3291176bf566aed73"; + hash = "sha256-BGeU6ewgoQlZl2LlNpEU2v6pT0wzQmcENnH02jQXpLQ="; + }; + + nativeBuildInputs = [ + installShellFiles + ]; + + vendorHash = "sha256-isnQwGIFPon1STxHY/X87SYRMz8VqpBOJ0aeUF9hf9o="; + + postInstall = '' + export ANTHROPIC_API_KEY=placeholder + installShellCompletion --cmd cc-token \ + --bash <($out/bin/cc-token completion bash) \ + --zsh <($out/bin/cc-token completion zsh) \ + --fish <($out/bin/cc-token completion fish) + ''; + + __structuredAttrs = true; + + meta = { + description = "CLI tool for counting tokens in files using Anthropic's Claude API"; + homepage = "https://github.com/iota-uz/cc-token"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers._9999years ]; + mainProgram = "cc-token"; + }; +} diff --git a/pkgs/by-name/ce/ceph/ceph.nix b/pkgs/by-name/ce/ceph/ceph.nix index 0821b296aa4b..f5f4867a2365 100644 --- a/pkgs/by-name/ce/ceph/ceph.nix +++ b/pkgs/by-name/ce/ceph/ceph.nix @@ -66,7 +66,7 @@ # Optional Dependencies curl, expat, - fuse, + fuse3, libatomic_ops, libedit, libs3, @@ -106,7 +106,7 @@ let optYasm = shouldUsePkg yasm; optExpat = shouldUsePkg expat; optCurl = shouldUsePkg curl; - optFuse = shouldUsePkg fuse; + optFuse = shouldUsePkg fuse3; optLibedit = shouldUsePkg libedit; optLibatomic_ops = shouldUsePkg libatomic_ops; optLibs3 = shouldUsePkg libs3; diff --git a/pkgs/by-name/ch/chezmoi/package.nix b/pkgs/by-name/ch/chezmoi/package.nix index 8ba61f5cbe4b..19381427b27f 100644 --- a/pkgs/by-name/ch/chezmoi/package.nix +++ b/pkgs/by-name/ch/chezmoi/package.nix @@ -1,22 +1,23 @@ { lib, - buildGo125Module, + buildGoModule, fetchFromGitHub, installShellFiles, + nix-update-script, }: -buildGo125Module (finalAttrs: { +buildGoModule (finalAttrs: { pname = "chezmoi"; - version = "2.70.3"; + version = "2.70.5"; src = fetchFromGitHub { owner = "twpayne"; repo = "chezmoi"; tag = "v${finalAttrs.version}"; - hash = "sha256-1O2KXDOs9U079A12oJ5reIO5HXyrn4+hfKfQiadFEM4="; + hash = "sha256-KvPUIucPW+vTJ9HY1rtD9nwyei+JHhYGSBRDtEh8PGg="; }; - vendorHash = "sha256-vejh1aeniksXJ7xda8fEYiqe4FEsYzJpGMtr59uHByY="; + vendorHash = "sha256-jCKO/ih/HRLZ5hv4Ib8qB9kIJagJQq79wtSqBi+BgCY="; nativeBuildInputs = [ installShellFiles @@ -39,6 +40,8 @@ buildGo125Module (finalAttrs: { installShellCompletion --zsh completions/chezmoi.zsh ''; + passthru.updateScript = nix-update-script { }; + meta = { description = "Manage your dotfiles across multiple machines, securely"; homepage = "https://www.chezmoi.io/"; diff --git a/pkgs/by-name/cl/claude-code/manifest.json b/pkgs/by-name/cl/claude-code/manifest.json index b5739d67bef8..a113b33e702d 100644 --- a/pkgs/by-name/cl/claude-code/manifest.json +++ b/pkgs/by-name/cl/claude-code/manifest.json @@ -1,47 +1,47 @@ { - "version": "2.1.161", - "commit": "6a550aea7c747b1b0ddd8bb61dbe199c4ad41320", - "buildDate": "2026-06-02T01:55:49Z", + "version": "2.1.170", + "commit": "1cda84def004ef3a8f569f8e8284a153a6b98c3a", + "buildDate": "2026-06-09T15:22:30Z", "platforms": { "darwin-arm64": { "binary": "claude", - "checksum": "5b4dc79eab05f9756c252c71deb339efa4429dffc1967dd8392cf87fcde4867f", - "size": 218040864 + "checksum": "e903646d8b7a31882a80ecd27569a27d8ac57b3708745f349709632c84117fdf", + "size": 222102816 }, "darwin-x64": { "binary": "claude", - "checksum": "6f874fecac8a951f5f1991dc1470bc85a5e24f2588859b89cca0f1b6b5592310", - "size": 220555024 + "checksum": "914f23a70bbed5d9ae567e3e04b86206ed9971b371bc9baca3f79c8885bfddb4", + "size": 224616976 }, "linux-arm64": { "binary": "claude", - "checksum": "7dfa0a79a2fc9f332057cdc0302f808cba63df7b75e2ccb5a7c1ab62639804e3", - "size": 243316360 + "checksum": "1bb9d032440a75532f7dd4cafbc687f220aaf16c63eba17e192dfbec2f04bd25", + "size": 247379592 }, "linux-x64": { "binary": "claude", - "checksum": "1f6a22f387a3bce496b6d869389a35dffb5a69c97d9831833f3bd6dc0e6c6c28", - "size": 243439312 + "checksum": "849e007277a0442ab27570d3e3d6d43787507946590e8dd1947e5a39b7081f9e", + "size": 247469776 }, "linux-arm64-musl": { "binary": "claude", - "checksum": "8318d4039c60fbb21a53e81f93e46a3b1dcdb9b07462f6fee72d99c9d2b93f83", - "size": 236171096 + "checksum": "73154fd674aaf233254edea8fbfb6a53d82d5297ae7546b998e36983def4dddc", + "size": 240234328 }, "linux-x64-musl": { "binary": "claude", - "checksum": "f8e09e0b16502c277ca8a296245eb59f421e424763a99fd132551b701a713bcf", - "size": 237833264 + "checksum": "5d19b7c91a03182ccb69da249f721684aebecfa4c52fe46b9205a81d8fc64a47", + "size": 241863728 }, "win32-x64": { "binary": "claude.exe", - "checksum": "3b0b64caf3428fac3751bd1903c350870b34f9e7a4390ac7c2fdb3a711656a04", - "size": 239007904 + "checksum": "193061508fe619abf534b2c9d48151f26971d1d5b8460ad75c0af4be3d3525fb", + "size": 242929824 }, "win32-arm64": { "binary": "claude.exe", - "checksum": "f4a7d910fc5a8b46afc14c36108c46c8b0deeb8f316c6b7e4ede77868ce70acf", - "size": 234972832 + "checksum": "9abd330bcc191aecc877a8ee9da2b448852cfe3bda15e5e4608385ea1d9d1709", + "size": 238894240 } } } diff --git a/pkgs/by-name/co/cocogitto/package.nix b/pkgs/by-name/co/cocogitto/package.nix index 4a6d73803aa7..d27f7bfada91 100644 --- a/pkgs/by-name/co/cocogitto/package.nix +++ b/pkgs/by-name/co/cocogitto/package.nix @@ -36,9 +36,10 @@ rustPlatform.buildRustPackage (finalAttrs: { ''; meta = { + changelog = "https://github.com/cocogitto/cocogitto/blob/${finalAttrs.src.tag}/CHANGELOG.md"; description = "Set of cli tools for the conventional commit and semver specifications"; mainProgram = "cog"; - homepage = "https://github.com/oknozor/cocogitto"; + homepage = "https://docs.cocogitto.io/"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ gs-101 ]; }; diff --git a/pkgs/by-name/co/colloid-cursors/package.nix b/pkgs/by-name/co/colloid-cursors/package.nix new file mode 100644 index 000000000000..2939b6a03ce6 --- /dev/null +++ b/pkgs/by-name/co/colloid-cursors/package.nix @@ -0,0 +1,39 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gitUpdater, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "colloid-cursors"; + version = "2025-07-19"; + + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = "Colloid-icon-theme"; + tag = finalAttrs.version; + hash = "sha256-x2SSaIkKm1415avO7R6TPkpghM30HmMdjMFUUyPWZsk="; + }; + + installPhase = '' + runHook preInstall + + # Loosely based on the install script: https://github.com/vinceliuice/Colloid-icon-theme/blob/main/cursors/install.sh + mkdir -p $out/share/icons + cp -r cursors/dist $out/share/icons/Colloid-cursors + cp -r cursors/dist-dark $out/share/icons/Colloid-dark-cursors + + runHook postInstall + ''; + + passthru.updateScript = gitUpdater { }; + + meta = { + description = "Colloid cursor theme"; + homepage = "https://github.com/vinceliuice/Colloid-icon-theme/tree/main/cursors#readme"; + license = lib.licenses.gpl3Only; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ xelacodes ]; + }; +}) diff --git a/pkgs/by-name/cr/credsweeper/package.nix b/pkgs/by-name/cr/credsweeper/package.nix new file mode 100644 index 000000000000..56fd0e14bb7b --- /dev/null +++ b/pkgs/by-name/cr/credsweeper/package.nix @@ -0,0 +1 @@ +{ python3Packages }: with python3Packages; toPythonApplication credsweeper diff --git a/pkgs/by-name/cr/criu/package.nix b/pkgs/by-name/cr/criu/package.nix index aeb6aed9b409..ddf9248caa43 100644 --- a/pkgs/by-name/cr/criu/package.nix +++ b/pkgs/by-name/cr/criu/package.nix @@ -2,6 +2,7 @@ stdenv, lib, fetchFromGitHub, + fetchpatch2, protobuf, protobufc, asciidoc, @@ -34,10 +35,18 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "checkpoint-restore"; repo = "criu"; - rev = "v${finalAttrs.version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-SfpJskXX7r3jbAwgZl2qpa7j1M4i8/sV6rlAWiUEoQs="; }; + patches = [ + (fetchpatch2 { + name = "conflicting-redefinition-of-rseq-enums.patch"; + url = "https://github.com/checkpoint-restore/criu/commit/3f3acc3200a23140abaa32a2017ae159d3c2d02c.patch?full_index=1"; + hash = "sha256-J8n4TjqjzJLLULnpJdR/6YWa/8moFQMn+wNo4a0otgE="; + }) + ]; + enableParallelBuilding = true; depsBuildBuild = [ protobufc @@ -73,11 +82,14 @@ stdenv.mkDerivation (finalAttrs: { python3.pkgs.protobuf ]); + strictDeps = true; + postPatch = '' substituteInPlace ./Documentation/Makefile \ - --replace "2>/dev/null" "" \ - --replace "-m custom.xsl" "-m custom.xsl --skip-validation -x ${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl" - substituteInPlace ./Makefile --replace "head-name := \$(shell git tag -l v\$(CRIU_VERSION))" "head-name = ${finalAttrs.version}.0" + --replace-fail "2>/dev/null" "" \ + --replace-fail "-m custom.xsl" "-m custom.xsl --skip-validation -x ${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl" + substituteInPlace ./Makefile \ + --replace-fail "head-name := \$(shell git tag -l v\$(CRIU_VERSION))" "head-name = ${finalAttrs.version}.0" ln -sf ${protobuf}/include/google/protobuf/descriptor.proto ./images/google/protobuf/descriptor.proto ''; diff --git a/pkgs/by-name/da/datafusion-cli/package.nix b/pkgs/by-name/da/datafusion-cli/package.nix index 56fcb8423133..25b75f7bbe2a 100644 --- a/pkgs/by-name/da/datafusion-cli/package.nix +++ b/pkgs/by-name/da/datafusion-cli/package.nix @@ -8,17 +8,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "datafusion-cli"; - version = "53.1.0"; + version = "54.0.0"; src = fetchFromGitHub { name = "datafusion-cli-source"; owner = "apache"; repo = "datafusion"; tag = finalAttrs.version; - hash = "sha256-XEcZShliF3hNCszaAEWq2+3g86TRhG3/EEQ1Y2v1DiQ="; + hash = "sha256-BWpHiLCn7idvzI2rlsre8l23TbxQU1Ma6bCjAMxQ6m8="; }; - cargoHash = "sha256-IajrZse8YJJGskdX0Zo4IVdGj/jEGzF9tgj3g4nvXRo="; + cargoHash = "sha256-Sj/biBiJPIYwxpL+Fua0k47vOu6gyyAhcKb4ZSUli6k="; buildAndTestSubdir = "datafusion-cli"; diff --git a/pkgs/by-name/da/dateutils/package.nix b/pkgs/by-name/da/dateutils/package.nix index 41fac34b3d23..a73c984fe2e1 100644 --- a/pkgs/by-name/da/dateutils/package.nix +++ b/pkgs/by-name/da/dateutils/package.nix @@ -2,8 +2,11 @@ lib, stdenv, fetchurl, + fetchpatch, autoreconfHook, tzdata, + bison, + flex, }: stdenv.mkDerivation (finalAttrs: { @@ -12,20 +15,33 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "https://bitbucket.org/hroptatyr/dateutils/downloads/dateutils-${finalAttrs.version}.tar.xz"; - sha256 = "sha256-uP6gsJcUu63yArmzQ0zOa1nCgueGkmjQwIuFiA/btEY="; + hash = "sha256-uP6gsJcUu63yArmzQ0zOa1nCgueGkmjQwIuFiA/btEY="; }; + patches = [ + # TODO: Remove when updating to the next release. + (fetchpatch { + url = "https://github.com/hroptatyr/dateutils/commit/b30902c2f46288b570c7fa8de06e17cc7dfd6a37.patch"; + hash = "sha256-38LBUv4FLpK3TTIXXvIGr0qE0CSqF2IqCbZY5RGyi6Q="; + }) + ]; + # https://github.com/hroptatyr/dateutils/issues/148 postPatch = "rm test/dzone.008.ctst"; - nativeBuildInputs = [ autoreconfHook ]; + nativeBuildInputs = [ + autoreconfHook + flex + bison + ]; buildInputs = [ tzdata ]; # needed for datezone + enableParallelBuilding = true; doCheck = true; meta = { - description = "Bunch of tools that revolve around fiddling with dates and times in the command line"; + description = "Command-line utilities for date and time calculations and conversions"; homepage = "http://www.fresse.org/dateutils/"; license = lib.licenses.bsd3; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/di/digikam/disable-tests-download.patch b/pkgs/by-name/di/digikam/disable-tests-download.patch index 7ec21b52eb4e..0b6b04f656cc 100644 --- a/pkgs/by-name/di/digikam/disable-tests-download.patch +++ b/pkgs/by-name/di/digikam/disable-tests-download.patch @@ -1,15 +1,16 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 43636fa9b9...e8da76c480 100644 +index f0dbdd9aa5..368d481fd8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -208,10 +208,6 @@ +@@ -237,11 +237,6 @@ if(BUILD_TESTING) # For CI runners to run tests, the following custom target serves to perform the download automatically. # If the directory "test-data" has already been created, the target becomes a "no-op". # -- add_custom_command(OUTPUT ${CMAKE_SOURCE_DIR}/test-data +- add_custom_command(OUTPUT ${CMAKE_SOURCE_DIR}/test-data - COMMENT "Checkout unit-test data repository. Please wait..." - COMMAND git -- ARGS clone https://invent.kde.org/graphics/digikam-test-data.git ${CMAKE_SOURCE_DIR}/test-data) +- ARGS clone https://invent.kde.org/graphics/digikam-test-data.git ${CMAKE_SOURCE_DIR}/test-data +- ) add_custom_target(test-data ALL DEPENDS ${CMAKE_SOURCE_DIR}/test-data) endif() diff --git a/pkgs/by-name/di/digikam/package.nix b/pkgs/by-name/di/digikam/package.nix index 0f7c3f08fb19..afd443d51184 100644 --- a/pkgs/by-name/di/digikam/package.nix +++ b/pkgs/by-name/di/digikam/package.nix @@ -63,14 +63,14 @@ in stdenv.mkDerivation (finalAttrs: { pname = "digikam"; - version = "9.0.0"; + version = "9.1.0"; src = fetchFromGitLab { domain = "invent.kde.org"; owner = "graphics"; repo = "digikam"; tag = "v${finalAttrs.version}"; - hash = "sha256-zYOtTL4qEjXa/ZYlDIvneziYBXq4tIiVjRsrSJMaS0k="; + hash = "sha256-rrAqHSG7AsyG8DM0zYfyuGyu6jI/ZDmSYco91nhdmhQ="; }; patches = [ @@ -169,6 +169,7 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ (lib.cmakeBool "BUILD_WITH_QT6" true) + (lib.cmakeBool "BUILD_TESTING" finalAttrs.finalPackage.doCheck) (lib.cmakeBool "ENABLE_KFILEMETADATASUPPORT" true) #(lib.cmakeBool "ENABLE_AKONADICONTACTSUPPORT" true) (lib.cmakeBool "ENABLE_MEDIAPLAYER" true) diff --git a/pkgs/by-name/en/encfs/package.nix b/pkgs/by-name/en/encfs/package.nix deleted file mode 100644 index ba1f655747fe..000000000000 --- a/pkgs/by-name/en/encfs/package.nix +++ /dev/null @@ -1,73 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - fetchpatch, - cmake, - pkg-config, - perl, - gettext, - fuse, - openssl, - tinyxml-2, - gtest, -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "encfs"; - version = "1.9.5"; - - src = fetchFromGitHub { - sha256 = "099rjb02knr6yz7przlnyj62ic0ag5ncs7vvcc36ikyqrmpqsdch"; - rev = "v${finalAttrs.version}"; - repo = "encfs"; - owner = "vgough"; - }; - - patches = lib.optionals stdenv.cc.isClang [ - # Fixes a build failure when building with newer versions of clang. - # https://github.com/vgough/encfs/pull/650 - (fetchpatch { - url = "https://github.com/vgough/encfs/commit/406b63bfe234864710d1d23329bf41d48001fbfa.patch"; - hash = "sha256-VunC5ICRJBgCXqkr7ad7DPzweRJr1bdOpo1LKNCs4zY="; - }) - ]; - - buildInputs = [ - fuse - openssl - tinyxml-2 - gtest - ]; - nativeBuildInputs = [ - cmake - pkg-config - perl - gettext - ]; - strictDeps = true; - - cmakeFlags = [ - "-DUSE_INTERNAL_TINYXML=OFF" - "-DBUILD_SHARED_LIBS=ON" - "-DINSTALL_LIBENCFS=ON" - - # Fix the build with CMake 4. - # - # Upstream is deprecated, so it won’t be fixed there. We should - # probably phase this package out. - "-DCMAKE_POLICY_VERSION_MINIMUM=3.10" - ]; - - meta = { - description = "Encrypted filesystem in user-space via FUSE"; - homepage = "https://vgough.github.io/encfs"; - license = with lib.licenses; [ - gpl3Plus - lgpl3Plus - ]; - platforms = lib.platforms.unix; - # The last successful Darwin Hydra build was in 2024 - broken = stdenv.hostPlatform.isDarwin; - }; -}) diff --git a/pkgs/by-name/en/envoy-bin/package.nix b/pkgs/by-name/en/envoy-bin/package.nix index 9477b40bb382..cd47766a5210 100644 --- a/pkgs/by-name/en/envoy-bin/package.nix +++ b/pkgs/by-name/en/envoy-bin/package.nix @@ -7,7 +7,7 @@ versionCheckHook, }: let - version = "1.37.2"; + version = "1.38.0"; inherit (stdenvNoCC.hostPlatform) system; throwSystem = throw "envoy-bin is not available for ${system}."; @@ -20,8 +20,8 @@ let hash = { - aarch64-linux = "sha256-sNf78pVUOEziPnGQCQJX/rXKE28UViazre+rstU/h4s="; - x86_64-linux = "sha256-MtPMIDuKvc6MLtkWopgSQ2TgxI6DtxlvVR52m2pIm/g="; + aarch64-linux = "sha256-nwBnjAzEM9ejQsQiQV6z/dFj53QUruXFtXwEvX1XlFQ="; + x86_64-linux = "sha256-zKMSp8P5GFLyhJmVyJUTDFmELiG6eH3JC6+kAm1sXsw="; } .${system} or throwSystem; in diff --git a/pkgs/by-name/fa/fast-float/package.nix b/pkgs/by-name/fa/fast-float/package.nix index df37b9753bb8..b8bfc4002bd8 100644 --- a/pkgs/by-name/fa/fast-float/package.nix +++ b/pkgs/by-name/fa/fast-float/package.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "fast-float"; - version = "8.2.5"; + version = "8.2.8"; src = fetchFromGitHub { owner = "fastfloat"; repo = "fast_float"; rev = "v${finalAttrs.version}"; - hash = "sha256-ZQm8kDMYdwjKugc2vBG5mwTqXa01u6hODQc/Tai2I9A="; + hash = "sha256-wnWZyQJzg6vzaRi3hbNHCAZre+NrI7KMoJwJp94fy70="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/fl/flexget/package.nix b/pkgs/by-name/fl/flexget/package.nix index 1b1d781d6777..edfe32405653 100644 --- a/pkgs/by-name/fl/flexget/package.nix +++ b/pkgs/by-name/fl/flexget/package.nix @@ -7,14 +7,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "flexget"; - version = "3.19.22"; + version = "3.19.23"; pyproject = true; src = fetchFromGitHub { owner = "Flexget"; repo = "Flexget"; tag = "v${finalAttrs.version}"; - hash = "sha256-ozYtwDWN5FwUoZZrbrT4h9YPfmzw2xNx6ivFSlIVOiw="; + hash = "sha256-r54vFE2FISNge84jaFKL5SGQ41LhEq1YVvoGcKOsi0I="; }; pythonRelaxDeps = true; diff --git a/pkgs/by-name/fl/flightgear/package.nix b/pkgs/by-name/fl/flightgear/package.nix index cec1a8b4e162..54b5589bb7dc 100644 --- a/pkgs/by-name/fl/flightgear/package.nix +++ b/pkgs/by-name/fl/flightgear/package.nix @@ -39,13 +39,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "flightgear"; - version = "2024.1.6-rc1"; + version = "2024.1.6"; src = fetchFromGitLab { owner = "flightgear"; repo = "flightgear"; tag = finalAttrs.version; - hash = "sha256-YYWDLCZ+2g4sWrSZJ+EvFCPH/IIYWD0wKzcslqw9VSs="; + hash = "sha256-unYP8q7IvNwjLHTmm/38gauCPxr3+ZFcsD5rY6BEzno="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/fu/fuse-overlayfs/package.nix b/pkgs/by-name/fu/fuse-overlayfs/package.nix index e089ea653761..f151dbfca6e5 100644 --- a/pkgs/by-name/fu/fuse-overlayfs/package.nix +++ b/pkgs/by-name/fu/fuse-overlayfs/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "fuse-overlayfs"; - version = "1.16"; + version = "1.17"; src = fetchFromGitHub { owner = "containers"; repo = "fuse-overlayfs"; rev = "v${finalAttrs.version}"; - hash = "sha256-FwAv5PmiBz25PNH/IEIV6cHjhlE+1mDTrgvR2vN++ZY="; + hash = "sha256-oXSqyxe5+hsuFXKajuviqh2nKIz8Kw6rjLnb6XTF6GI="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ge/gencfsm/makefile-mkdir.patch b/pkgs/by-name/ge/gencfsm/makefile-mkdir.patch deleted file mode 100644 index 49c7b0b4d9d1..000000000000 --- a/pkgs/by-name/ge/gencfsm/makefile-mkdir.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/dist/Makefile.am -+++ b/dist/Makefile.am -@@ -10,9 +10,9 @@ install-data-hook: - chmod 0755 $(shell find $(dist) -type d) - chmod 0644 $(shell find $(dist) -type f) - chmod 0755 $(shell find "scripts" -type f) -- test -z "$(DESTDIR)$(datadir)/dbus-1/services/" || /bin/mkdir -p "$(DESTDIR)$(datadir)/dbus-1/services/" -+ test -z "$(DESTDIR)$(datadir)/dbus-1/services/" || $(MKDIR_P) "$(DESTDIR)$(datadir)/dbus-1/services/" - cp "extra/com.libertyzero.gnome-encfs-manager.service" "$(DESTDIR)$(datadir)/dbus-1/services/" -- test -z "$(gencfsmdir)" || /bin/mkdir -p "$(gencfsmdir)" -+ test -z "$(gencfsmdir)" || $(MKDIR_P) "$(gencfsmdir)" - cp --parent -rf $(dist) "$(gencfsmdir)" - cp --parent -rf $(icons) $(DESTDIR)$(datadir) - diff --git a/pkgs/by-name/ge/gencfsm/package.nix b/pkgs/by-name/ge/gencfsm/package.nix deleted file mode 100644 index 710f0b7751be..000000000000 --- a/pkgs/by-name/ge/gencfsm/package.nix +++ /dev/null @@ -1,80 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - autoconf, - automake, - intltool, - libtool, - pkg-config, - encfs, - libsecret, - glib, - libgee, - gtk3, - vala, - wrapGAppsHook3, - libsm, - libice, - gobject-introspection, -}: - -stdenv.mkDerivation (finalAttrs: { - version = "1.9"; - pname = "gnome-encfs-manager"; - - src = fetchurl { - url = - with lib.versions; - "https://launchpad.net/gencfsm/trunk/${major finalAttrs.version}.${minor finalAttrs.version}/+download/gnome-encfs-manager_${finalAttrs.version}.tar.xz"; - sha256 = "RXVwg/xhfAQv3pWp3UylOhMKDh9ZACTuKM4lPrn1dk8="; - }; - - env.NIX_CFLAGS_COMPILE = toString [ - # tools.c:38:5: error: implicit declaration of function 'gnome_encfs_manager_on_logout' [] - "-Wno-implicit-function-declaration" - ]; - - nativeBuildInputs = [ - autoconf - automake - intltool - libtool - pkg-config - vala - wrapGAppsHook3 - gobject-introspection - ]; - buildInputs = [ - glib - encfs - gtk3 - libgee - libsm - libice - libsecret - ]; - - # Fix hardcoded paths to /bin/mkdir - patches = [ ./makefile-mkdir.patch ]; - - preConfigure = '' - ./autogen.sh - ''; - - configureFlags = [ "--disable-appindicator" ]; - - preFixup = "gappsWrapperArgs+=(--prefix PATH : ${encfs}/bin)"; - - enableParallelBuilding = true; - - meta = { - homepage = "http://www.libertyzero.com/GEncfsM/"; - downloadPage = "https://launchpad.net/gencfsm/"; - description = "EncFS manager and mounter with GNOME3 integration"; - mainProgram = "gnome-encfs-manager"; - license = lib.licenses.gpl2Plus; - platforms = lib.platforms.linux; - maintainers = [ lib.maintainers.spacefrogg ]; - }; -}) diff --git a/pkgs/by-name/gh/ghqr/package.nix b/pkgs/by-name/gh/ghqr/package.nix new file mode 100644 index 000000000000..cc7878fec125 --- /dev/null +++ b/pkgs/by-name/gh/ghqr/package.nix @@ -0,0 +1,55 @@ +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, + versionCheckHook, + nix-update-script, +}: + +buildGoModule (finalAttrs: { + pname = "ghqr"; + version = "0.4.2"; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "microsoft"; + repo = "ghqr"; + tag = "v.${finalAttrs.version}"; + hash = "sha256-goxKU48fWdCQo0Vng0O3gvRFXsDbuWA/03UH1qUbqrw="; + }; + + vendorHash = "sha256-la/yXEZzAIt9l0q0P7+N8yCW0BQie9sLmAhLFK1qyGE="; + + ldflags = [ + "-s" + "-w" + "-X github.com/microsoft/ghqr/cmd/ghqr/commands.version=${finalAttrs.version}" + ]; + + nativeBuildInputs = [ + installShellFiles + ]; + + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd 'ghqr' \ + --bash <("$out/bin/ghqr" completion bash) \ + --zsh <("$out/bin/ghqr" completion zsh) \ + --fish <("$out/bin/ghqr" completion fish) + ''; + + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Evaluate your enterprise and organizations with GitHub best practices"; + homepage = "https://github.com/microsoft/ghqr"; + changelog = "https://github.com/microsoft/ghqr/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ airrnot ]; + mainProgram = "ghqr"; + }; +}) diff --git a/pkgs/by-name/gi/gitbutler/package.nix b/pkgs/by-name/gi/gitbutler/package.nix index 07c6d25cb601..e0881da95a9b 100644 --- a/pkgs/by-name/gi/gitbutler/package.nix +++ b/pkgs/by-name/gi/gitbutler/package.nix @@ -32,13 +32,13 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "gitbutler"; - version = "0.19.7"; + version = "0.19.9"; src = fetchFromGitHub { owner = "gitbutlerapp"; repo = "gitbutler"; tag = "release/${finalAttrs.version}"; - hash = "sha256-ppl1noikPwTvG/XT7iYG41+9ZZO8i0x2L+odeEzRP1s="; + hash = "sha256-hUxtvCxLB++33gKc+UNOAns3UFozWTETYJvEr+HcOgU="; }; # Let Tauri know what version we're building and deactivate the built-in updater @@ -56,13 +56,13 @@ rustPlatform.buildRustPackage (finalAttrs: { --replace-fail 'checkUpdate = tauriCheck;' 'checkUpdate = () => null;' ''; - cargoHash = "sha256-xW/eO+AQQUBN2MrixNx3LKhwMookkKuX5LF4DSWQKKY="; + cargoHash = "sha256-7dF865YPcVp/g6PUs5QRaU3wZ0UmlAgaPGhHsIjIZPY="; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; inherit pnpm; fetcherVersion = 3; - hash = "sha256-eRiFA5lXpPHQwlyFmKMx1zmHH2zLCHB+3s708g6srg4="; + hash = "sha256-hC4e0xgbGrOpO2pQGPIULlNyP/Kh5+A8+61taxM2DQ0="; }; nativeBuildInputs = [ @@ -115,6 +115,8 @@ rustPlatform.buildRustPackage (finalAttrs: { "gitbutler-branch-actions" "gitbutler-stack" "gitbutler-edit-mode" + "gitbutler-operating-modes" + "gitbutler-project" "but-cherry-apply" "but-worktrees" ] diff --git a/pkgs/by-name/go/google-chrome/package.nix b/pkgs/by-name/go/google-chrome/package.nix index c72342df4eb7..27282836b16e 100644 --- a/pkgs/by-name/go/google-chrome/package.nix +++ b/pkgs/by-name/go/google-chrome/package.nix @@ -179,11 +179,11 @@ let linux = stdenvNoCC.mkDerivation (finalAttrs: { inherit pname meta passthru; - version = "149.0.7827.53"; + version = "149.0.7827.102"; src = fetchurl { url = "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${finalAttrs.version}-1_amd64.deb"; - hash = "sha256-iqNNjJy9Wje5jcpJrQYHu/gZptaBwZg0WZzbZTKUmPg="; + hash = "sha256-ETp7EURoN0p45cNnwcp6/aoPyKHSf+WPyUvKh+R7bp4="; }; # With strictDeps on, some shebangs were not being patched correctly @@ -289,11 +289,11 @@ let darwin = stdenvNoCC.mkDerivation (finalAttrs: { inherit pname meta passthru; - version = "149.0.7827.54"; + version = "149.0.7827.103"; src = fetchurl { - url = "http://dl.google.com/release2/chrome/dk75rnebngodpmukle2jjrfx6u_149.0.7827.54/GoogleChrome-149.0.7827.54.dmg"; - hash = "sha256-O48opD0Ea336/mbs5RFjBITjf8MWOL2BAuf6gX+pnmo="; + url = "http://dl.google.com/release2/chrome/kfbyzxups2p7z7m5ltrjh7htrm_149.0.7827.103/GoogleChrome-149.0.7827.103.dmg"; + hash = "sha256-N3U6RkBaPzVHl5JMkq+m17DJg3+XiwyS2AHinOs0sjo="; }; dontPatch = true; diff --git a/pkgs/by-name/gr/gridcoin-research/package.nix b/pkgs/by-name/gr/gridcoin-research/package.nix index a8df0e918ff6..0b64bee32afc 100644 --- a/pkgs/by-name/gr/gridcoin-research/package.nix +++ b/pkgs/by-name/gr/gridcoin-research/package.nix @@ -26,13 +26,13 @@ stdenv.mkDerivation (finalAttrs: { pname = if withGui then "gridcoin-research" else "gridcoin-researchd"; - version = "5.5.0.0"; + version = "5.5.1.0"; src = fetchFromGitHub { owner = "gridcoin-community"; repo = "Gridcoin-Research"; tag = "${finalAttrs.version}"; - hash = "sha256-PN0yDVHlty+4CcRfMWe4LG6wHXaTOyLo7lxtrVCSLHA="; + hash = "sha256-J9/RigGEjd5lAJeWTOFlOE50Ak0/YS/I3Agd3XNA3uw="; }; strictDeps = true; diff --git a/pkgs/by-name/gt/gtk-server/package.nix b/pkgs/by-name/gt/gtk-server/package.nix index 1c45fa07bbc1..78bfeba8a677 100644 --- a/pkgs/by-name/gt/gtk-server/package.nix +++ b/pkgs/by-name/gt/gtk-server/package.nix @@ -3,19 +3,19 @@ stdenv, fetchurl, glib, - gtk3, + gtk4, libffcall, pkg-config, - wrapGAppsHook3, + wrapGAppsHook4, }: stdenv.mkDerivation (finalAttrs: { pname = "gtk-server"; - version = "2.4.6"; + version = "2.4.7"; src = fetchurl { url = "https://www.gtk-server.org/stable/gtk-server-${finalAttrs.version}.tar.gz"; - sha256 = "sha256-sFL3y068oXDKgkEUcNnGVsNSPBdI1NzpsqdYJfmOQoA="; + hash = "sha256-YRvnE4fH5jWITSiMUbtlaOJFKAW0/Alzo1YVDlm8CO8="; }; preConfigure = '' @@ -24,21 +24,21 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ pkg-config - wrapGAppsHook3 + wrapGAppsHook4 ]; buildInputs = [ libffcall glib - gtk3 + gtk4 ]; - configureOptions = [ "--with-gtk3" ]; - meta = { - homepage = "http://www.gtk-server.org/"; + homepage = "https://www.gtk-server.org/"; description = "Gtk-server for interpreted GUI programming"; + changelog = "https://www.gtk-server.org/notes.txt"; license = lib.licenses.gpl2Plus; maintainers = [ ]; platforms = lib.platforms.linux; + mainProgram = "gtk-server"; }; }) diff --git a/pkgs/by-name/hc/hcxtools/package.nix b/pkgs/by-name/hc/hcxtools/package.nix index 302c75079269..3770152566b3 100644 --- a/pkgs/by-name/hc/hcxtools/package.nix +++ b/pkgs/by-name/hc/hcxtools/package.nix @@ -15,11 +15,12 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "ZerBea"; repo = "hcxtools"; - rev = finalAttrs.version; - sha256 = "sha256-v33RpDKA4OeUU4YXXWhHpdlqQvxk4HIWQKCPskdTSTU="; + tag = finalAttrs.version; + hash = "sha256-v33RpDKA4OeUU4YXXWhHpdlqQvxk4HIWQKCPskdTSTU="; }; nativeBuildInputs = [ pkg-config ]; + buildInputs = [ curl openssl @@ -33,6 +34,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Tools for capturing wlan traffic and conversion to hashcat and John the Ripper formats"; homepage = "https://github.com/ZerBea/hcxtools"; + changelog = "https://github.com/ZerBea/hcxtools/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ dywedir ]; diff --git a/pkgs/by-name/ho/hooky/package.nix b/pkgs/by-name/ho/hooky/package.nix index 9a087b351419..8d479b9efea9 100644 --- a/pkgs/by-name/ho/hooky/package.nix +++ b/pkgs/by-name/ho/hooky/package.nix @@ -11,20 +11,15 @@ in haskellPackages.mkDerivation { pname = "hooky"; - version = "1.0.3"; + version = "1.0.4"; src = fetchFromGitHub { owner = "brandonchinn178"; repo = "hooky"; - rev = "5ce665f376bc80948f45764bf3f2e0d590245938"; - hash = "sha256-w4sWD5dZTNKwrYhrJw9RcwGoeNxpJnm/6RRqYjiIiBg="; + rev = "281ec8b52f92bdbdad567d673cd5bb581dc6991b"; + hash = "sha256-Salq9DuFc+V88tRhLN62GGKIhCCSznUsnr3TD5ivN/I="; }; - postPatch = '' - substituteInPlace src/Hooky/Config.hs \ - --replace-fail 'KDL.text' 'KDL.string' - ''; - isLibrary = true; isExecutable = true; libraryHaskellDepends = with haskellPackages; [ diff --git a/pkgs/by-name/hy/hyprlax/package.nix b/pkgs/by-name/hy/hyprlax/package.nix index 0c4fb11efe8d..ff07b7a74fe0 100644 --- a/pkgs/by-name/hy/hyprlax/package.nix +++ b/pkgs/by-name/hy/hyprlax/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "hyprlax"; - version = "2.2.2"; + version = "2.2.4"; src = fetchFromGitHub { owner = "sandwichfarm"; repo = "hyprlax"; tag = "v${finalAttrs.version}"; - hash = "sha256-nBJkVBaeT2GIGWVYGEWRCQ14UznplKE2zm+4HyEfq3M="; + hash = "sha256-dWWpnJtjis4S+PBKpUrWxkrRETUG42fuyuUaWKFwOao="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/im/immudb/package.nix b/pkgs/by-name/im/immudb/package.nix index f1e57c3a2537..b09aab42e53d 100644 --- a/pkgs/by-name/im/immudb/package.nix +++ b/pkgs/by-name/im/immudb/package.nix @@ -15,13 +15,13 @@ let in buildGoModule (finalAttrs: { pname = "immudb"; - version = "1.10.0"; + version = "1.11.0"; src = fetchFromGitHub { owner = "codenotary"; repo = "immudb"; - rev = "v${finalAttrs.version}"; - sha256 = "sha256-RsDM+5/a3huBJ6HfaALpw+KpcIfg198gZfC4c4DsDlU="; + tag = "v${finalAttrs.version}"; + hash = "sha256-YL6L3WqazzdpXQiLGnuQ7ZRKzmx2Z8C9raFXkN1D1Zk="; }; postPatch = '' @@ -36,10 +36,10 @@ buildGoModule (finalAttrs: { preBuild = '' mkdir -p webconsole/dist cp -r ${webconsoleDist}/* ./webconsole/dist - go generate -tags webconsole ./webconsole + go generate -mod=mod -tags webconsole ./webconsole ''; - vendorHash = "sha256-6DHmJrE+xkf8K38a8h1VSD33W6qj594Q5bJJXnfSW0Q="; + vendorHash = "sha256-D1dEVnYNpCGSJ5lxzV0+ukDVbQntxcNw6mB3UKDBdQA="; nativeBuildInputs = [ installShellFiles ]; @@ -64,9 +64,13 @@ buildGoModule (finalAttrs: { ''; meta = { + changelog = "https://github.com/codenotary/immudb/blob/${finalAttrs.src.tag}/CHANGELOG.md"; description = "Immutable database based on zero trust, SQL and Key-Value, tamperproof, data change history"; homepage = "https://github.com/codenotary/immudb"; - license = lib.licenses.asl20; - maintainers = [ ]; + license = with lib.licenses; [ + asl20 + bsl11 + ]; + maintainers = with lib.maintainers; [ hythera ]; }; }) diff --git a/pkgs/by-name/ja/jasterix/package.nix b/pkgs/by-name/ja/jasterix/package.nix new file mode 100644 index 000000000000..77dfdaf99f07 --- /dev/null +++ b/pkgs/by-name/ja/jasterix/package.nix @@ -0,0 +1,70 @@ +{ + applyPatches, + boost, + catch2_3, + cmake, + fetchFromGitHub, + lib, + libarchive, + libpcap, + log4cpp, + onetbb, + openssl, + stdenv, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "jasterix"; + version = "0.1.4"; + + src = fetchFromGitHub { + owner = "OpenATSGmbH"; + repo = "jASTERIX"; + tag = "v${finalAttrs.version}"; + hash = "sha256-df5tByZwtQLdV0UlSo1WkgyoF3hReU/mN74V2WL6zoI="; + }; + + # Disable boost-stacktrace_backtrace, which is an optional dependency and not yet available in Nix. + postPatch = '' + sed -i 's/\(find_package .*\) stacktrace_backtrace/\1/' CMakeLists.txt + sed -i 's/BOOST_STACKTRACE_USE_BACKTRACE/#BOOST_STACKTRACE_USE_BACKTRACE/' CMakeLists.txt + sed -i 's/BOOST_STACKTRACE_LINK/#BOOST_STACKTRACE_LINK/' CMakeLists.txt + ''; + + outputs = [ + "out" + "dev" + ]; + + nativeBuildInputs = [ cmake ]; + + cmakeFlags = [ + (lib.cmakeBool "BUILD_SHARED" (!stdenv.hostPlatform.isStatic)) + (lib.cmakeBool "BUILD_STATIC" stdenv.hostPlatform.isStatic) + (lib.cmakeBool "WITH_UNIT_TESTS" finalAttrs.doCheck) + ]; + + buildInputs = [ + boost.dev + catch2_3 + libarchive.dev + libpcap + log4cpp + onetbb.dev + openssl.dev + ]; + + doCheck = false; # The tests require ASTERIX files that are not publicly provided + + strictDeps = true; + __structuredAttrs = true; + + meta = { + description = "C++ Library for EUROCONTROL's ASTERIX to JSON conversion"; + homepage = "https://github.com/OpenATSGmbH/jASTERIX"; + changelog = "https://github.com/OpenATSGmbH/jASTERIX/releases/tag/v${finalAttrs.src.tag}"; + maintainers = [ lib.maintainers.vog ]; + license = lib.licenses.gpl3Plus; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/by-name/lo/losange/package.nix b/pkgs/by-name/lo/losange/package.nix new file mode 100644 index 000000000000..6f50fabfc121 --- /dev/null +++ b/pkgs/by-name/lo/losange/package.nix @@ -0,0 +1,85 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, + + # buildInputs + mpv, + libadwaita, + libepoxy, + openssl, + + # nativeBuildInputs + makeBinaryWrapper, + pkg-config, + wrapGAppsHook4, + glib, + + # Wrapper + nodejs, +}: +rustPlatform.buildRustPackage (finalAttrs: { + pname = "losange"; + version = "0.10.1"; + + __structuredAttrs = true; + strictDeps = true; + + src = fetchFromGitHub { + owner = "tymmesyde"; + repo = "losange"; + tag = "v${finalAttrs.version}"; + hash = "sha256-mr54/vnaopLwG9lhFiZJGgxWH/VaGitROVEeV7GSyHM="; + }; + + cargoHash = "sha256-LJ8EpxEIN8wojSmQ+WVshYRxGFAC9sUk5tnh3I2J408="; + + buildInputs = [ + mpv + libadwaita + libepoxy + openssl + ]; + + nativeBuildInputs = [ + makeBinaryWrapper + pkg-config + wrapGAppsHook4 + glib + ]; + + postInstall = '' + install -Dm444 data/xyz.timtimtim.Losange.gschema.xml -t $out/share/gsettings-schemas/$name/glib-2.0/schemas/ + glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas/ + + install -Dm444 data/icons/xyz.timtimtim.Losange.svg -t $out/share/icons/hicolor/scalable/apps/ + install -Dm444 data/xyz.timtimtim.Losange.desktop -t $out/share/applications/ + install -Dm444 data/xyz.timtimtim.Losange.metainfo.xml -t $out/share/metainfo/ + + # The application fails if '-o' is passed without an argument (e.g. when opened using a launcher) + # therefore we match upstream's shell wrapper to handle empty URL cases. + substituteInPlace $out/share/applications/xyz.timtimtim.Losange.desktop \ + --replace-fail "Exec=sh -c \"/usr/bin/losange -o '%u'\"" "Exec=sh -c \"losange -o '%u'\"" + ''; + + # Node.js is required to run `server.js` + # Losange will automatically download the required version of `server.js` at runtime. + preFixup = '' + gappsWrapperArgs+=( + --prefix PATH : "${lib.makeBinPath [ nodejs ]}" + ) + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + mainProgram = "losange"; + description = "Simple Stremio client for GNOME"; + homepage = "https://github.com/tymmesyde/Losange"; + changelog = "https://github.com/tymmesyde/Losange/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.gpl3Only; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ talal ]; + }; +}) diff --git a/pkgs/by-name/mc/mcp-nixos/package.nix b/pkgs/by-name/mc/mcp-nixos/package.nix index bdf961f8c97b..9216ba38d076 100644 --- a/pkgs/by-name/mc/mcp-nixos/package.nix +++ b/pkgs/by-name/mc/mcp-nixos/package.nix @@ -1,5 +1,6 @@ { lib, + stdenv, fetchFromGitHub, python3Packages, }: @@ -39,6 +40,9 @@ python3Packages.buildPythonApplication (finalAttrs: { disabledTests = [ # Requires network access "test_valid_channel" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "test_read_text_file" ]; pythonImportsCheck = [ "mcp_nixos" ]; diff --git a/pkgs/by-name/mi/minimp3/package.nix b/pkgs/by-name/mi/minimp3/package.nix new file mode 100644 index 000000000000..6e037c0400ff --- /dev/null +++ b/pkgs/by-name/mi/minimp3/package.nix @@ -0,0 +1,41 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, +}: +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "minimp3"; + version = "0-unstable-2026-03-12"; + + __structuredAttrs = true; + strictDeps = true; + + src = fetchFromGitHub { + owner = "lieff"; + repo = "minimp3"; + rev = "7b590fdcfa5a79c033e76eacc05d0c3e4c79f536"; + hash = "sha256-ZDYPan9f3Nx+JQpY44NmF9RkOa+MV7V0rOiPJ4pKyU0="; + }; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/include + install -Dm644 minimp3*.h -t $out/include + + runHook postInstall + ''; + + meta = { + description = "Minimalistic MP3 decoder single header library"; + homepage = "https://github.com/lieff/minimp3"; + license = lib.licenses.cc0; + maintainers = [ lib.maintainers.ryand56 ]; + platforms = lib.intersectLists lib.platforms.linux ( + lib.platforms.x86 ++ lib.platforms.x86_64 ++ lib.platforms.aarch64 + ); + }; +}) diff --git a/pkgs/by-name/mo/moltengamepad/package.nix b/pkgs/by-name/mo/moltengamepad/package.nix index 591845a5f111..e8cd256e0d52 100644 --- a/pkgs/by-name/mo/moltengamepad/package.nix +++ b/pkgs/by-name/mo/moltengamepad/package.nix @@ -3,35 +3,54 @@ stdenv, fetchFromGitHub, udev, + go-md2man, + linuxHeaders, + installShellFiles, + versionCheckHook, }: -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "moltengamepad"; - version = "unstable-2016-05-04"; + version = "1.2.1"; src = fetchFromGitHub { owner = "jgeumlek"; repo = "MoltenGamepad"; - rev = "6656357964c22be97227fc5353b53c6ab1e69929"; - sha256 = "05cpxfzxgm86kxx0a9f76bshjwpz9w1g8bn30ib1i5a3fv7bmirl"; + tag = "v${finalAttrs.version}"; + hash = "sha256-pfUx5wUkXcshHvBoD47ZRHfJPGHPSzz72H3WBIauFw0="; }; - hardeningDisable = [ "format" ]; + postPatch = '' + # https://github.com/jgeumlek/MoltenGamepad/pull/99 + sed -e '16i#include ' -i source/core/uinput.h + sed -e '8i#include ' -i source/core/udev.h + ''; + strictDeps = true; + __structuredAttrs = true; + enableParallelBuilding = true; + + nativeBuildInputs = [ + go-md2man + installShellFiles + ]; buildInputs = [ udev ]; - buildPhase = '' - make + preBuild = '' + make eventlists INPUT_HEADER=${linuxHeaders}/include/linux/input-event-codes.h ''; installPhase = '' - mkdir -p $out/bin - cp moltengamepad $out/bin + runHook preInstall + + installBin moltengamepad + installManPage documentation/moltengamepad.1 + + runHook postInstall ''; - patchPhase = '' - sed -i -e '159d;161d;472d;473d;474d;475d' source/eventlists/key_list.cpp - ''; + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; meta = { homepage = "https://github.com/jgeumlek/MoltenGamepad"; @@ -40,5 +59,4 @@ stdenv.mkDerivation { license = lib.licenses.mit; platforms = lib.platforms.linux; }; - -} +}) diff --git a/pkgs/by-name/mo/mouser/package.nix b/pkgs/by-name/mo/mouser/package.nix new file mode 100644 index 000000000000..8c32ba61577e --- /dev/null +++ b/pkgs/by-name/mo/mouser/package.nix @@ -0,0 +1,118 @@ +{ + lib, + stdenv, + fetchFromGitHub, + python3Packages, + copyDesktopItems, + makeDesktopItem, + nix-update-script, + xdotool, + kdotool, +}: + +python3Packages.buildPythonApplication (finalAttrs: { + pname = "mouser"; + version = "3.6.0"; + pyproject = false; + + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "TomBadash"; + repo = "Mouser"; + tag = "v${finalAttrs.version}"; + hash = "sha256-ESfkpswENa91wL1WSfDL/Wpu4sjhT8qibJ0wsEYHX+0="; + }; + + nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ + copyDesktopItems + ]; + + dependencies = + (with python3Packages; [ + pyside6 + hidapi + pillow + ]) + ++ lib.optionals stdenv.hostPlatform.isLinux ( + with python3Packages; + [ + evdev + ] + ); + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/mouser + cp -r main_qml.py core ui images $out/share/mouser/ + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + install -Dm644 images/logo_icon.png $out/share/pixmaps/mouser.png + install -Dm444 packaging/linux/69-mouser-logitech.rules \ + -t $out/lib/udev/rules.d + '' + + '' + runHook postInstall + ''; + + postFixup = '' + makeWrapper ${python3Packages.python.interpreter} $out/bin/mouser \ + --prefix PYTHONPATH : "$PYTHONPATH" \ + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + --prefix PATH : "${ + lib.makeBinPath [ + xdotool + kdotool + ] + }" \ + '' + + '' + --add-flags "$out/share/mouser/main_qml.py" + ''; + + desktopItems = lib.optionals stdenv.hostPlatform.isLinux [ + (makeDesktopItem { + name = "mouser"; + desktopName = "Mouser"; + comment = "Logitech mouse remapper"; + exec = "mouser"; + icon = "mouser"; + terminal = false; + categories = [ + "Settings" + "Utility" + ]; + keywords = [ + "mouse" + "logitech" + "buttons" + "remap" + ]; + startupWMClass = "Mouser"; + }) + ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Lightweight local alternative to Logitech Options+ for remapping HID++ mice"; + longDescription = '' + Mouser is a fully-local, open-source alternative to Logitech Options+ for + remapping Logitech HID++ mice (MX Master / MX Anywhere families and other + Logitech devices). It supports per-application profiles, DPI / Smart Shift + control, scroll direction inversion, and gesture-button swipes. + + On NixOS, add the package to `services.udev.packages` so the bundled + `69-mouser-logitech.rules` is loaded and the active local session can access + `/dev/hidraw*`, `/dev/input/event*`, and `/dev/uinput` without root. + ''; + homepage = "https://github.com/TomBadash/Mouser"; + changelog = "https://github.com/TomBadash/Mouser/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.mit; + mainProgram = "mouser"; + maintainers = with lib.maintainers; [ imcvampire ]; + platforms = lib.platforms.linux ++ lib.platforms.darwin; + }; +}) diff --git a/pkgs/by-name/ne/neohtop/package.nix b/pkgs/by-name/ne/neohtop/package.nix index 67a99bc8052c..8cafeff1c63c 100644 --- a/pkgs/by-name/ne/neohtop/package.nix +++ b/pkgs/by-name/ne/neohtop/package.nix @@ -19,6 +19,8 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "neohtop"; version = "1.2.0"; + __structuredAttrs = true; + src = fetchFromGitHub { owner = "Abdenasser"; repo = "neohtop"; diff --git a/pkgs/by-name/ne/newsflash/package.nix b/pkgs/by-name/ne/newsflash/package.nix index 8cc89ada545e..0398d5db457f 100644 --- a/pkgs/by-name/ne/newsflash/package.nix +++ b/pkgs/by-name/ne/newsflash/package.nix @@ -13,9 +13,11 @@ wrapGAppsHook4, gdk-pixbuf, clapper-unwrapped, + glycin-loaders, gtk4, gtksourceview5, libadwaita, + libglycin, libseccomp, libxml2, openssl, @@ -57,6 +59,7 @@ stdenv.mkDerivation (finalAttrs: { blueprint-compiler cargo desktop-file-utils + libglycin.patchVendorHook meson ninja pkg-config @@ -71,9 +74,11 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ clapper-unwrapped + glycin-loaders gtk4 gtksourceview5 libadwaita + libglycin libseccomp libxml2 openssl diff --git a/pkgs/by-name/nu/nunicode/package.nix b/pkgs/by-name/nu/nunicode/package.nix index 117a4b4327cd..eb62e9368f3b 100644 --- a/pkgs/by-name/nu/nunicode/package.nix +++ b/pkgs/by-name/nu/nunicode/package.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "nunicode"; - version = "1.11"; + version = "1.11.1"; outputs = [ "out" @@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "alekseyt"; repo = "nunicode"; tag = finalAttrs.version; - hash = "sha256-6255YdX7eYSAj0EAE4RgX1m4XDNIF/Nc4ZCvXzTxpag="; + hash = "sha256-73jkbWbQGSya4hf+/5c2bpJsRmncgjA2m+6bud2UN0A="; }; postPatch = '' @@ -73,7 +73,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Fast, small and portable Unicode library with SQLite extension"; homepage = "https://bitbucket.org/alekseyt/nunicode"; - changelog = "https://bitbucket.org/alekseyt/nunicode/src/${finalAttrs.version}/CHANGELOG"; + changelog = "https://bitbucket.org/alekseyt/nunicode/src/${finalAttrs.src.tag}/CHANGELOG"; license = lib.licenses.mit; maintainers = [ lib.maintainers.mjoerg ]; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/on/onedriver/package.nix b/pkgs/by-name/on/onedriver/package.nix index c288a3fa3667..e3624ab9b3b3 100644 --- a/pkgs/by-name/on/onedriver/package.nix +++ b/pkgs/by-name/on/onedriver/package.nix @@ -5,7 +5,7 @@ pkg-config, webkitgtk_4_1, glib, - fuse, + fuse3, installShellFiles, wrapGAppsHook3, glib-networking, @@ -34,7 +34,7 @@ buildGoModule { buildInputs = [ webkitgtk_4_1 glib - fuse + fuse3 glib-networking ]; @@ -63,7 +63,7 @@ buildGoModule { substituteInPlace $out/lib/systemd/user/onedriver@.service \ --replace-fail "/usr/bin/onedriver" "$out/bin/onedriver" \ - --replace-fail "/usr/bin/fusermount" "${wrapperDir}/fusermount" + --replace-fail "/usr/bin/fusermount3" "${wrapperDir}/fusermount3" ''; meta = { diff --git a/pkgs/by-name/op/openlogi/package.nix b/pkgs/by-name/op/openlogi/package.nix new file mode 100644 index 000000000000..7bb48e4a0bb4 --- /dev/null +++ b/pkgs/by-name/op/openlogi/package.nix @@ -0,0 +1,117 @@ +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + cargo-bundle, + libicns, + resvg, + nix-update-script, + versionCheckHook, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "openlogi"; + version = "0.3.4"; + + strictDeps = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "AprilNEA"; + repo = "OpenLogi"; + tag = "v${finalAttrs.version}"; + hash = "sha256-04o/Ry65CdNtycgJfqhXwTD5InUwfkr88xQ+I/5Pe4o="; + }; + + cargoHash = "sha256-nKQRcRsEq5JJpn0DZIssS/wAwVsj4kq9J2WmQXJ3smY="; + + postPatch = '' + # gpui-component generates its IconName enum from a sibling assets directory, + # but cargo vendoring stores gpui-component-assets as a separate package. + for component in "$cargoDepsCopy"/source-git-*/gpui-component-[0-9]*; do + component_parent=$(dirname "$component") + ln -s "$component_parent"/gpui-component-assets-* "$component_parent/assets" + done + + # Dev-only cargo runner wraps test binaries in a throwaway .app bundle; + # the Nix darwin sandbox refuses to exec it, so cargo test aborts with + # EPERM before the binary runs. Strip it — tests don't need the bundle. + substituteInPlace .cargo/config.toml \ + --replace-fail 'runner = "scripts/cargo-run-macos.sh"' "" + ''; + + nativeBuildInputs = [ + cargo-bundle + libicns + resvg + rustPlatform.bindgenHook + ]; + + cargoBuildFlags = [ + "--package=openlogi" + "--package=openlogi-gui" + ]; + + cargoTestFlags = [ "--workspace" ]; + + buildFeatures = lib.optionals stdenv.hostPlatform.isDarwin [ + "gpui_platform/runtime_shaders" + ]; + + # Upstream intentionally fetches optional device images on first launch + # unless OPENLOGI_BUNDLE_ASSETS is set while bundling. + preBuild = '' + iconset=$(mktemp -d) + for size in 16 32 128 256 512; do + resvg \ + --width "$size" \ + --height "$size" \ + design/icon/openlogi.svg \ + "$iconset/icon_''${size}x''${size}.png" + done + + mkdir -p crates/openlogi-gui/icon + png2icns crates/openlogi-gui/icon/AppIcon.icns "$iconset"/*.png + + rm -rf crates/openlogi-gui/assets + mkdir -p crates/openlogi-gui/assets + ''; + + installPhase = '' + runHook preInstall + + release_target="target/${stdenv.hostPlatform.rust.cargoShortTarget}/release" + mv "$release_target/openlogi-gui" target/release/openlogi-gui + + pushd crates/openlogi-gui + export CARGO_BUNDLE_SKIP_BUILD=true + app_path=$(cargo bundle --release | xargs) + popd + + mkdir -p "$out/Applications" "$out/bin" + mv "$app_path" "$out/Applications/" + install -Dm755 "$release_target/openlogi" "$out/bin/openlogi" + + runHook postInstall + ''; + + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "--version"; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Local-first companion for Logitech HID++ peripherals"; + homepage = "https://github.com/AprilNEA/OpenLogi"; + changelog = "https://github.com/AprilNEA/OpenLogi/releases/tag/v${finalAttrs.version}"; + license = with lib.licenses; [ + asl20 + mit + ]; + mainProgram = "openlogi"; + maintainers = with lib.maintainers; [ imcvampire ]; + platforms = lib.platforms.darwin; + }; +}) diff --git a/pkgs/by-name/op/openvino-genai/move-gguf-format-template-into-header.patch b/pkgs/by-name/op/openvino-genai/move-gguf-format-template-into-header.patch new file mode 100644 index 000000000000..075bab44213f --- /dev/null +++ b/pkgs/by-name/op/openvino-genai/move-gguf-format-template-into-header.patch @@ -0,0 +1,37 @@ +--- a/src/cpp/src/gguf_utils/gguf.hpp ++++ b/src/cpp/src/gguf_utils/gguf.hpp +@@ -28,7 +28,12 @@ + std::unordered_map>; + + template +-std::string format(std::string fmt, Args... args); ++std::string format(std::string fmt, Args... args) { ++ char buf[1000]; ++ int n = snprintf(buf, sizeof(buf), fmt.c_str(), args...); ++ assert(n >= 0 && n < static_cast(sizeof(buf))); ++ return std::string(buf); ++} + + ov::Shape get_shape(const gguf_tensor& tensor); + +--- a/src/cpp/src/gguf_utils/gguf.cpp ++++ b/src/cpp/src/gguf_utils/gguf.cpp +@@ -13,18 +13,6 @@ + // https://github.com/antirez/gguf-tools/blob/af7d88d808a7608a33723fba067036202910acb3/gguflib.h#L102-L108 + constexpr int gguf_array_header_size = 12; + +-template +-std::string format(std::string fmt, Args... args) { +- size_t bufferSize = 1000; +- char* buffer = new char[bufferSize]; +- int n = sprintf(buffer, fmt.c_str(), args...); +- assert(n >= 0 && n < (int)bufferSize - 1); +- +- std::string fmtStr(buffer); +- delete[] buffer; +- return fmtStr; +-} +- + std::optional dtype_to_gguf_tensor_type(const ov::element::Type& dtype) { + switch (dtype) { + case ov::element::f64: diff --git a/pkgs/by-name/op/openvino-genai/package.nix b/pkgs/by-name/op/openvino-genai/package.nix new file mode 100644 index 000000000000..0606317d2164 --- /dev/null +++ b/pkgs/by-name/op/openvino-genai/package.nix @@ -0,0 +1,205 @@ +{ + lib, + stdenv, + fetchFromGitHub, + autoPatchelfHook, + cmake, + gtest, + nix-update-script, + nlohmann_json, + ocl-icd, + opencl-clhpp, + opencl-headers, + onetbb, + openvino, + openvino-tokenizers, + pkg-config, + python3Packages, +}: + +let + inherit (lib) cmakeBool cmakeFeature; + + minja-src = fetchFromGitHub { + owner = "google"; + repo = "minja"; + rev = "3e4c61c616eda133cfb1e440fc7a14bf1729bbee"; + hash = "sha256-aqOpLNB7XiY/W2gDRtnAqx37gMhHMRCJQmcX24vGIxA="; + }; + + safetensors-h-src = fetchFromGitHub { + owner = "hsnyder"; + repo = "safetensors.h"; + rev = "974a85d7dfd6e010558353226638bb26d6b9d756"; + hash = "sha256-sBgm4panHB9X2RghC3Qi0wEL0k9uUz+h60pfxTGZ0BA="; + }; + + gguflib-src = fetchFromGitHub { + owner = "Lourdle"; + repo = "gguf-tools"; + rev = "bac796ada809ac293e685db59b075971181cb008"; + hash = "sha256-yoIjTATYs2IzT/LnCz+G6PtxVXZ27B0mZOIipZbaOI8="; + }; + + python = python3Packages.python.withPackages (ps: [ ps.pybind11 ]); +in + +stdenv.mkDerivation (finalAttrs: { + pname = "openvino-genai"; + version = "2026.2.0.0"; + + __structuredAttrs = true; + + src = + assert lib.hasPrefix openvino.version finalAttrs.version; + fetchFromGitHub { + owner = "openvinotoolkit"; + repo = "openvino.genai"; + tag = finalAttrs.version; + hash = "sha256-C60e4F+NuUPA4pQ/o2+EekOmp47QH1fTGDyXYqPJ57s="; + }; + + outputs = [ + "out" + "dev" + "python" + ]; + + nativeBuildInputs = [ + autoPatchelfHook + cmake + pkg-config + python + ]; + + buildInputs = [ + nlohmann_json + ocl-icd + opencl-clhpp + opencl-headers + onetbb + openvino + ]; + + strictDeps = true; + + patches = [ + # gguf_utils' format() is a function template declared in gguf.hpp but + # defined in gguf.cpp, so instantiations from other TUs are unresolved at + # link time (surfaces as an ImportError on libopenvino_genai.so load). + # Move the definition into the header. + ./move-gguf-format-template-into-header.patch + ]; + + postPatch = '' + # pybind11 3.0 removed keep_alive support from def_property/def_readwrite. + # parsers is vector> so shared_ptr ref-counting is sufficient. + substituteInPlace src/python/py_generation_config.cpp \ + --replace-fail ', py::keep_alive<1, 2>()' "" + ''; + + cmakeFlags = [ + # Point cmake's FetchContent at pre-packaged nixpkgs sources so nothing is + # downloaded at build time. + (cmakeFeature "FETCHCONTENT_SOURCE_DIR_NLOHMANN_JSON" "${nlohmann_json.src}") + (cmakeFeature "FETCHCONTENT_SOURCE_DIR_MINJA" "${minja-src}") + (cmakeFeature "FETCHCONTENT_SOURCE_DIR_SAFETENSORS.H" "${safetensors-h-src}") + (cmakeFeature "FETCHCONTENT_SOURCE_DIR_PYBIND11" "${python3Packages.pybind11.src}") + (cmakeFeature "FETCHCONTENT_SOURCE_DIR_GGUFLIB" "${gguflib-src}") + (cmakeFeature "FETCHCONTENT_SOURCE_DIR_GOOGLETEST" "${gtest.src}") + (cmakeFeature "Python3_EXECUTABLE" "${python.interpreter}") + (cmakeFeature "OpenVINO_DIR" "${openvino}/runtime/cmake") + + # Normalise install destinations to the standard Nix layout. + (cmakeFeature "ARCHIVE_DESTINATION" "lib") + (cmakeFeature "LIBRARY_DESTINATION" "lib") + (cmakeFeature "RUNTIME_DESTINATION" "bin") + + (cmakeBool "ENABLE_SYSTEM_OPENCL" true) + # Tokenizers are provided at runtime by openvino-tokenizers (C++) and + # python3Packages.openvino-tokenizers; don't build them into this output. + (cmakeBool "BUILD_TOKENIZERS" false) + (cmakeBool "ENABLE_GGUF" true) + (cmakeBool "ENABLE_PYTHON" true) + (cmakeBool "ENABLE_SAMPLES" false) + (cmakeBool "ENABLE_TESTS" true) + (cmakeBool "ENABLE_TOOLS" false) + (cmakeBool "ENABLE_XGRAMMAR" false) + ]; + + postInstall = '' + # cmake installs to runtime/{include,cmake,lib/...}; move to standard paths. + mkdir -p $dev/include $dev/lib/cmake $out/lib + cp -r $out/runtime/include/. $dev/include/ + cp -r $out/runtime/cmake/. $dev/lib/cmake/ + + # Copy any shared libraries cmake put in runtime/lib subdirs (e.g. intel64/) + # before we remove the runtime/ tree. + find $out/runtime \( -name '*.so' -o -name '*.so.*' \) -print0 \ + | xargs -0r cp -Pft $out/lib/ + rm -rf $out/runtime + + # The generated cmake targets files compute _IMPORT_PREFIX relative to + # their location and use it to reference headers and libraries; fix those + # paths to absolute nix store paths since we've reorganised the tree. + substituteInPlace $dev/lib/cmake/OpenVINOGenAITargets.cmake \ + --replace-fail \ + "\''${_IMPORT_PREFIX}/runtime/include" "$dev/include" + substituteInPlace $dev/lib/cmake/OpenVINOGenAITargets-release.cmake \ + --replace-fail \ + "\''${_IMPORT_PREFIX}/runtime/lib/intel64/" "$out/lib/" + ''; + + postFixup = '' + # Split Python module into its own output. + mkdir -p $python + cp -r $out/python/. $python/ + rm -rf $out/python + + # Help autoPatchelfHook find: (1) libopenvino_genai.so.* in our own $out/lib + # when patching the $python output, (2) libopenvino.so.* which openvino + # installs to runtime/lib/intel64/ instead of lib/. + autoPatchelfLibs+=("$out/lib" "${openvino}/runtime/lib/intel64") + ''; + + nativeCheckInputs = [ openvino-tokenizers ]; + + doCheck = true; + + preCheck = '' + mkdir -p tests/cpp/data + cp -r ${finalAttrs.src}/tests/cpp/data/. tests/cpp/data/ + export OPENVINO_TOKENIZERS_PATH_GENAI="${openvino-tokenizers}/lib/libopenvino_tokenizers.so" + ''; + + checkPhase = '' + runHook preCheck + # GetCacheTypesRealModel and LLMPipelineBackendRealModel require on-disk + # model data (CACHE_TYPES_CSV + TEST_MODELS_BASE_DIR) unavailable in the + # Nix sandbox; with zero ValuesIn entries GTest ≥ 1.12 reports them via + # GoogleTestVerification.UninstantiatedParameterizedTestSuite<*>, so + # exclude that verification check for these two suites. + ./tests/cpp/tests_continuous_batching \ + --gtest_filter="-GoogleTestVerification.UninstantiatedParameterizedTestSuite*" + runHook postCheck + ''; + + enableParallelBuilding = true; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Generative AI inference pipeline library built on OpenVINO Runtime"; + longDescription = '' + OpenVINO GenAI provides a high-level C++ and Python API for running large + language models and other generative AI workloads using OpenVINO Runtime as + the inference backend. It supports continuous batching, speculative decoding, + and a range of text, image, and speech generation pipelines. + ''; + homepage = "https://github.com/openvinotoolkit/openvino.genai"; + changelog = "https://github.com/openvinotoolkit/openvino.genai/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ jpds ]; + }; +}) diff --git a/pkgs/by-name/op/openvino-tokenizers/package.nix b/pkgs/by-name/op/openvino-tokenizers/package.nix new file mode 100644 index 000000000000..74d1d810ad78 --- /dev/null +++ b/pkgs/by-name/op/openvino-tokenizers/package.nix @@ -0,0 +1,76 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + nix-update-script, + onetbb, + openvino, + pcre2, + pkg-config, + sentencepiece, +}: + +let + inherit (lib) cmakeBool cmakeFeature; +in + +stdenv.mkDerivation (finalAttrs: { + pname = "openvino-tokenizers"; + version = "2026.2.0.0"; + + __structuredAttrs = true; + + src = + assert lib.hasPrefix openvino.version finalAttrs.version; + fetchFromGitHub { + owner = "openvinotoolkit"; + repo = "openvino_tokenizers"; + tag = finalAttrs.version; + hash = "sha256-J138ungdkkq1qa5/eEQTgKKtGyx9KHCrQwUsIGkf3mI="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + onetbb + openvino + pcre2 + ]; + + strictDeps = true; + + patches = [ + # Use system pcre2 via pkg-config rather than FetchContent, and add + # sentencepiece's binary dir to the include path so cmake-generated config.h + # is found at compile time. + ./use-system-pcre2-and-sentencepiece-binary-dir.patch + ]; + + cmakeFlags = [ + (cmakeFeature "OpenVINO_DIR" "${openvino}/runtime/cmake") + # Supply FetchContent source so nothing is downloaded at build time. + (cmakeFeature "FETCHCONTENT_SOURCE_DIR_SENTENCEPIECE" "${sentencepiece.src}") + # Install library to standard lib/ rather than runtime/lib// + (cmakeFeature "OPENVINO_TOKENIZERS_INSTALL_LIBDIR" "lib") + (cmakeFeature "OPENVINO_TOKENIZERS_INSTALL_BINDIR" "bin") + (cmakeBool "BUILD_CPP_EXTENSION" true) + (cmakeBool "FETCHCONTENT_FULLY_DISCONNECTED" true) + ]; + + enableParallelBuilding = true; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "OpenVINO Tokenizers - text tokenisation extensions for OpenVINO"; + homepage = "https://github.com/openvinotoolkit/openvino_tokenizers"; + changelog = "https://github.com/openvinotoolkit/openvino_tokenizers/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ jpds ]; + }; +}) diff --git a/pkgs/by-name/op/openvino-tokenizers/use-system-pcre2-and-sentencepiece-binary-dir.patch b/pkgs/by-name/op/openvino-tokenizers/use-system-pcre2-and-sentencepiece-binary-dir.patch new file mode 100644 index 000000000000..1a20d5dc5462 --- /dev/null +++ b/pkgs/by-name/op/openvino-tokenizers/use-system-pcre2-and-sentencepiece-binary-dir.patch @@ -0,0 +1,40 @@ +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -156,6 +156,7 @@ + "${_sp_src}/third_party/protobuf-lite" # for "google/protobuf/port_def.inc" + "${_sp_src}/third_party/" # for "absl/strings/string_view.h" and "darts_clone/darts.h" + "${_sp_src}" # for "third_party/absl/strings/string_view.h" ++ "${sentencepiece_BINARY_DIR}" # for "config.h" + ) + else() + target_include_directories(${TARGET_NAME} SYSTEM PRIVATE +@@ -180,27 +181,9 @@ + endfunction() + + function(ov_tokenizers_link_pcre2 TARGET_NAME) +- FetchContent_Declare( +- pcre2 +- URL https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.46/pcre2-10.46.zip +- URL_HASH SHA256=d872153b2d2338f7bc7b6e9bcc2f7f0c8a529c34fe48c538fea0b3a4e062f046 +- ) +- FetchContent_GetProperties(pcre2) +- if(NOT pcre2_POPULATED) +- FetchContent_Populate(pcre2) +- +- set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) +- set(CMAKE_POLICY_DEFAULT_CMP0126 NEW) +- set(PCRE2_SUPPORT_JIT ON) +- set(PCRE2_STATIC_PIC ON) +- set(PCRE2_BUILD_TESTS OFF) +- set(PCRE2_BUILD_PCRE2GREP OFF) +- +- add_subdirectory(${pcre2_SOURCE_DIR} ${pcre2_BINARY_DIR} EXCLUDE_FROM_ALL) +- endif() +- +- target_include_directories(${TARGET_NAME} SYSTEM PRIVATE ${pcre2_BINARY_DIR}) +- target_link_libraries(${TARGET_NAME} PRIVATE pcre2-8) ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(PCRE2_8 REQUIRED IMPORTED_TARGET libpcre2-8) ++ target_link_libraries(${TARGET_NAME} PRIVATE PkgConfig::PCRE2_8) + target_compile_definitions(${TARGET_NAME} PRIVATE PCRE2_CODE_UNIT_WIDTH=8) + endfunction() \ No newline at end of file diff --git a/pkgs/by-name/op/openvino/package.nix b/pkgs/by-name/op/openvino/package.nix index 801f928048cf..70cf64898fde 100644 --- a/pkgs/by-name/op/openvino/package.nix +++ b/pkgs/by-name/op/openvino/package.nix @@ -34,6 +34,7 @@ let inherit (lib) cmakeBool + cmakeFeature getLib ; @@ -98,6 +99,19 @@ stdenv.mkDerivation (finalAttrs: { "-DProtobuf_LIBRARIES=${getLib protobuf}/lib/libprotobuf${stdenv.hostPlatform.extensions.sharedLibrary}" "-DPython_EXECUTABLE=${python.interpreter}" + # OV_CPACK_* variables are normally set by packaging macros that only run + # when CPACK_GENERATOR matches a known type to upstream. + # Without one, all vars remain undefined and install() destinations are empty, + # putting files in $out/ root or producing absolute paths. Set them directly + # here so the build produces a standard layout. + (cmakeFeature "OV_CPACK_LIBRARYDIR" "lib") + (cmakeFeature "OV_CPACK_RUNTIMEDIR" "lib") + (cmakeFeature "OV_CPACK_ARCHIVEDIR" "lib") + (cmakeFeature "OV_CPACK_INCLUDEDIR" "include") + (cmakeFeature "OV_CPACK_OPENVINO_CMAKEDIR" "lib/cmake/OpenVINO") + (cmakeFeature "OV_CPACK_PYTHONDIR" "python") + (cmakeFeature "OV_CPACK_PLUGINSDIR" "lib") + (cmakeBool "CMAKE_VERBOSE_MAKEFILE" true) (cmakeBool "NCC_SYLE" false) (cmakeBool "BUILD_TESTING" false) diff --git a/pkgs/by-name/ou/outline/missing-hashes.json b/pkgs/by-name/ou/outline/missing-hashes.json index 8e2ff54576aa..c557b5e13483 100644 --- a/pkgs/by-name/ou/outline/missing-hashes.json +++ b/pkgs/by-name/ou/outline/missing-hashes.json @@ -1,27 +1,30 @@ { - "@esbuild/aix-ppc64@npm:0.20.2": "1adff57daf20fac79c2968363d859a8866047f8ecb4981c729708905f8ea59186bce4bfc85d2491ae2c7ebfc7a0d3e0de0062f07711f4110aec7e7e83acaaaae", - "@esbuild/android-arm64@npm:0.20.2": "55801b49fa5c229acfb1b8211e94a8b4f4842ad06915fe1aa45ac8f7bd92e9ccedd26195c28a6fbd78c78cfa744f4d66573f301de4b7d003c2fd81cda011aa05", - "@esbuild/android-arm@npm:0.20.2": "49fa10d3e9a8e0a84040a0d8cbaf80a6a42103202da733fc432169f9fa989a4c9aee57c08a7b60c60cb74a79a2c498b3d97a8245a10153b431a3c122a64debd8", - "@esbuild/android-x64@npm:0.20.2": "94fd80d54397b0b80efc9450d7c852112f29c65a07f8dc7aa673b047417beb7936fced3175b405bc0f740f9f068a93c1c380aab931f152465d2a2886340c74d2", - "@esbuild/darwin-arm64@npm:0.20.2": "78cb8ab2b3a783ade149b35a87152e19c870ee2cd3df8a909783707fcf7c0590f699cc6094ecdce69fe207130f8bd6339bebc294e74ecc6a6502b78740a62d35", - "@esbuild/darwin-x64@npm:0.20.2": "43e9acc37b3bc42e63d5010401da3130e86b3f32e5149dc18f8d6160a64f25ae70c769d6e98e7be709522a953dba8771b66f2e89714283d989bb1cccbb31d010", - "@esbuild/freebsd-arm64@npm:0.20.2": "2fdd09cf9e0634ff6259f29e1ee933831e9540743b13df3d0521e98b47ac1f60cd224059919b84583919f4632e71a008aac407bb0235e572b82000e30779bdc1", - "@esbuild/freebsd-x64@npm:0.20.2": "257caf6f0893a2260cc23d7e75b6cb1bfd1d911986d023a619aa3262fb7bcbb8910c5430e1eb44c417e09c24c4ed7476a334b8fc6337b9876169ebff303bbe43", - "@esbuild/linux-arm64@npm:0.20.2": "264bc5c8c3a502025e1b9e5fda0819551422207267050ef65c3922071bed148d7e2c88103c9e21ad4bebdec6bf02db2d38dacf432aff0a555dd3a5a68fb865c2", - "@esbuild/linux-arm@npm:0.20.2": "4d111eedd995886dad5e642a0befd34b014027dbf9f1b638d3f69828c81fd99e08b1ab9411dcc786af6003141f14e30f738b4a0193197c7694558d45dab343e6", - "@esbuild/linux-ia32@npm:0.20.2": "b080e8b683cd47bd7a091a57bb77ac806e52a31ee4d8deb4c8dba9b084154ab44b4c423f66d2dd4100056612a403599c0378ab1d2520dd3fc6128ddab1fbaefd", - "@esbuild/linux-loong64@npm:0.20.2": "95e032fb778b8f87920471774c26dd2b2d005a587a46f82c51435752f5542d60e0b2d3328fab47ac61345863130df88d763366f247a590cb8e43d3972da0e4dc", - "@esbuild/linux-mips64el@npm:0.20.2": "6fb2aa4aff199874dbec2362abc24ac6665046291663c04bca7328bc87a4c54c3815a3e85db4a24d83b554422abfa76f8de5cfba1cf7469a3e4ec66a95780871", - "@esbuild/linux-ppc64@npm:0.20.2": "05da59622176758242012e2ae82ed6872a59dcf52bc38e8f27a602b3a76c5780d4a611ff9ee8ff85f8b01e83f9bc22774cf9aa7951710c544ce992fc2c24944f", - "@esbuild/linux-riscv64@npm:0.20.2": "f20d512a4e2ef67151f152dd4eab3fb662b3489a8a066c74473c885fc1b79451cc5adddf91a88b237db27f4a58e9b30560f0190ab1043f1f0d4f69e15d36fd15", - "@esbuild/linux-s390x@npm:0.20.2": "d1ad0b1455256d90cda81e036495774aeeff04f958e68226e2119e5f4ee9dc7fe49c63638245d7ca2449a4fcbde140ed398f34c2fd3ac205af080e91c516744f", - "@esbuild/linux-x64@npm:0.20.2": "45d2441f373a21f9a9ea2c25dc18c48ab637783e82cb9a4d36b1edfe675bd77e494db7497e6fc83aeb42cb5db6fb39a8fa70ed1461c8115bd20b622ef5c775d9", - "@esbuild/netbsd-x64@npm:0.20.2": "b56ec2bce62913e88dc0dbd9a9a0e5287e40199167a39658c734a3f2d4bb1f52fd193240cf283a175435d3794c86879e187a0a9cfbacf7b33b225e9facd553c3", - "@esbuild/openbsd-x64@npm:0.20.2": "de4c9471d07287c4eeb94a79b85797a5eee412259b45e45bdd6685ec8e9eb6d5f270eebc693d61ec49a7631fa3d586d4e6fcf075c25e2be34e7658b09238f40b", - "@esbuild/sunos-x64@npm:0.20.2": "d2913edcdde369caa2ced281e3759b58ba55ddcc076b87112333eb9e2388a6a17858e6cedf6fe3e1770f53ad7903c48e9d6e1c5b13a017d4194d39adf139a64d", - "@esbuild/win32-arm64@npm:0.20.2": "7af88a84ea6869ce14713336bb6f01b4285787fa3ed7170f9eadc179f4f5dae803ea5c5f4c14ee1ea4eb4bff7743f4b933f238dcc8018a8117a7e8535f7dbb1b", - "@esbuild/win32-ia32@npm:0.20.2": "c2e770938f2a21e169d09414bdcd8a564132a177a257b4c34ac8e794cdd2621b924479aaf9c4a3024fd54f9123253a1b1c86f12c453425cdbda203e7ae4c2104", - "@esbuild/win32-x64@npm:0.20.2": "56321c1938d6abaefbf4f6b32cd1bb83083059d22123420fd5a500512291e1daf143c7f607c6031710c0eeb3288ee51cc090560a32cfc6a209e63f91cd439bb4", + "@esbuild/aix-ppc64@npm:0.25.12": "deeef1c11ce6d3dde3fc87368cf600218de18cff4cefe9888a09c39cc81177305c51c2dbccf6513c1b07795c67a11297c12014366fdeb9e51f34896020dd0210", + "@esbuild/android-arm64@npm:0.25.12": "7364b62583e0b0e0c3997d38815f462b11b85997efad33099715ede94a3bac29a80a98709e6ba902e9ced207242308d5923b249da7af2fb83b50efab4bd693fd", + "@esbuild/android-arm@npm:0.25.12": "04c9b60e0447331d7005745a7e9750987db465fd94717df62276b5dd7e13a3789db95b029f6e9f735e583b95f2f50b18f2aba1a381c8b5645156bb9d21ecacf0", + "@esbuild/android-x64@npm:0.25.12": "a22c5c03c55c3a12693b67f1a5de8dff7b853f79261ad1562a55b25bf91d327fd8c8899444c069a3fb68175c7df6dd0f2824ba5051927a4711f5841793cc58f2", + "@esbuild/darwin-arm64@npm:0.25.12": "5a66f6d44f2dac62341cc73956d8a1ea346e2e66f8cbdfcda9349a0b6ad01024d6c9c2ded05a9ba720c7541575c0b4be4c4ed6f62c529c13df141bb2a247f461", + "@esbuild/darwin-x64@npm:0.25.12": "181a933b603253a3eab9173a97e619b59fb953c70309fd3e005e58ed32654c866f752edde7250e63f788bb857e13b28c710d87496479b2de894226bf5779661e", + "@esbuild/freebsd-arm64@npm:0.25.12": "7a7bd7f62d7e5e4a162bea901365bef5996ac15b3b0af361ce6adb77431f95cc9b831e8f764056f2395fc09a4117fdc7d14a583af4344770ae13dc1dc030dcb4", + "@esbuild/freebsd-x64@npm:0.25.12": "ca5c61ab87dadadff1cd72c62c32b3dbff6e5242ee6f7f53c579e3e11aae263bd009e18a2cbd36a065d42e7b7c43e7186832584f7436646bfc25dc637fac819d", + "@esbuild/linux-arm64@npm:0.25.12": "b66f73867351e0666fe00f9281bb7d8dd089d221a5cef6311826b169271b8451f5e265fb41625161a0af142641d5db1e02999aaba98dc1b8a52f4c099db07cb7", + "@esbuild/linux-arm@npm:0.25.12": "1ea6f003abec0177f27ee6954fcce15cecffd94aa57781e712936b6eed64d9579267bcd7612645d3b41cc7591ae411d6491c4517e3bc0de936f101e278510644", + "@esbuild/linux-ia32@npm:0.25.12": "df3d5ceb61b7cf4471cdba740a8ca46ae6c5a9dc6dce60440d2a62a25c36144e38b6bf301937117bb183a7b5517ee87a9735d543c785a13b1de56715e34cc7e6", + "@esbuild/linux-loong64@npm:0.25.12": "b38ba56880536b6bd46467673d81a49ed41661cd217065d440a384d0b4dd1bd59dbc79d6bc81c4948959116a7bc339c1f9749412705ff2a2f7a5c1bef69e2205", + "@esbuild/linux-mips64el@npm:0.25.12": "a8694250193ecf430fb541d1371226a922c462cafac6be65e051f13efbbdf62aa94316fc5a0805f010f60da4051517aca3bfac121b352c443803aac874024d85", + "@esbuild/linux-ppc64@npm:0.25.12": "f9c2ca2a75aefa5495ce3cb4e0a4086816b083dfe7d0642afc22c2eac4ea50f1ca4d3a353b6a603fffc689f57bd17e6cc3c0fe8d5727cb2d429bbdc1db1fdd38", + "@esbuild/linux-riscv64@npm:0.25.12": "29bc64137de629f8210e4788cef6cc021d8b432c0b28b9df05ccca6e60b772e7d23c3c9faa5da4037c7dd1574f66fdcb71775ee14298f86a571a2556beeb11d9", + "@esbuild/linux-s390x@npm:0.25.12": "cb32577ea8441277525a2acf888d32ef8d9ebbd7563d5d4ec9b5b387b11e9aa7d8a3f7cc3faea4524dc068a767300537aca4e127ac524030207d9745a785f30b", + "@esbuild/linux-x64@npm:0.25.12": "5364064fc64864df2ad963d21430b7dbeb1918a829e3d82f9c7cc87ffbca551e312338dc8016e3008288f85a9f181986056bbc782a52ee547d2435dd50738593", + "@esbuild/netbsd-arm64@npm:0.25.12": "9c9e0b87fd7385604fa4a118e88ba88b36ce846174016d7c71939ba2be2de57e720e3c684ec7de52eaae17edf4f6df88442c8eb1db7e4675870b357b15bc1bd2", + "@esbuild/netbsd-x64@npm:0.25.12": "148e7a91557ad0084af1478921bbb88ce3cb78a213e5b16250b34a28057d5ff5dd14483bec73edd959fdbd6daf617e2a56137596530de07592180c5777ac491b", + "@esbuild/openbsd-arm64@npm:0.25.12": "87b6070d4c63615802709e5f7c2de23d0c201186e18777200a023a1d84da1ba39bab3b0b444a468f93d4039147c333499589e9f00717d1e4a7eeb764e01082af", + "@esbuild/openbsd-x64@npm:0.25.12": "664bfe0fc286b1850147797d7a625b33614eba656da0fa589d93956f040559a9211ebf7b68c9e90b49b898ba330f2f81daab763c596f5c84ae4183ffa8bc0c69", + "@esbuild/openharmony-arm64@npm:0.25.12": "422e2d50f8948b45342301ee4c08ea988619bd025830c1a195eb41cafb1dedb35b8441a66c679a7a82fb920e56f89fb6bff85b4c4f10d09584f437be125d8745", + "@esbuild/sunos-x64@npm:0.25.12": "ea9f6d4d1fe803063075ffa20b3a4ae11a92a933e56d437bfa9de13bdcd2320b8057aa3e971c12fb04f1388f55185d885a2a86a96be914a42808bc636575164c", + "@esbuild/win32-arm64@npm:0.25.12": "f61e582d7a3fa474cf764573dd9b54a48bd4f0bb0684f4a588a79a1ba0fe37447bc8bc5d2d8809d1f27022ad0c95a5728ce7d2b5941dac78607c1e50ca14c6d7", + "@esbuild/win32-ia32@npm:0.25.12": "4c135f8face7b6e5682efc5972367b579f06656487d1859c3e3165d5e10a95c455bb0aa69339fc3db215084f3229ffb954d87b2780645993f70dee883cb9ba73", + "@esbuild/win32-x64@npm:0.25.12": "7db86204f566c4d1155458c6e383d5f560a3f7e00475c65e97549e30a222bac66bd64cfd422691a7dcead2e0518e50aab5caeb7f525dfea6875c3209d6352e8e", "@msgpackr-extract/msgpackr-extract-darwin-arm64@npm:3.0.3": "f8d48613de17e5356d273745042bbc7c0d345e1e4e5e88ed1132a3ed9ca65db9f8b908a708383d7a58ede276c105e7c9a2887fad00d5e47892010466e5312b47", "@msgpackr-extract/msgpackr-extract-darwin-x64@npm:3.0.3": "270f8831d7f6d61ff36e7118e09ec13baa633bb22dd57fa3a9e6af67f7036a3fd1beec4c8aad1c72639522300364cef98bc5ba2cddf67a3832f8a35b7fc45502", "@msgpackr-extract/msgpackr-extract-linux-arm64@npm:3.0.3": "326c19865ead39017326dd8066cde30adaf87a62b968a22d5e5369691817086f681fc291be80b7c61c5496fe915f6df546f41e14ee18b896c54de5099cf147ac", @@ -48,72 +51,105 @@ "@oxc-parser/binding-win32-arm64-msvc@npm:0.121.0": "ffb3ae5443b87baa932316bc4bf2fe92d3d67299ec16e06270047fdb6d8c5d33b19f76e486ad6dc5f7cdc3e038bde8c8cdcc3e316007f1bfdac393136f372170", "@oxc-parser/binding-win32-ia32-msvc@npm:0.121.0": "768d242e04f4809101d00a383d05e47a8e90852b65f342861266910e0912eee814e6f5b2b92fa82d7712c15424f63c6a877005c2375083aa5734d7a55d83ab8b", "@oxc-parser/binding-win32-x64-msvc@npm:0.121.0": "03daa39843f83f963eae2a1151029887e9c5449cf3da8dd32588c45045be53ce1d8f1b0699abfff05fc1a49911b4eafbdac1b76696ad23dd3f67bfe685acc8f9", - "@oxlint-tsgolint/darwin-arm64@npm:0.14.2": "8f09dcdbc6c7462cb50e3cc4817829d5ff80fc90fa249ddd0811eaf72c20cc190238ec5c3ed172a09e74ee6a7dfb078bd6b4fba7d594dfac53006dd22cc8b84b", - "@oxlint-tsgolint/darwin-x64@npm:0.14.2": "f8892878f7cf6a77efb945b8be6cf5adf17c1bd244a51f919c36faeed3dd250548ae18faca202de8e4fadd47af345242e78bbbd388ff1610573b6efa8a1177d6", - "@oxlint-tsgolint/linux-arm64@npm:0.14.2": "d2d0678fdcf6ff623d868a114f25e1300f44ee3f7e0d4d1b42d6a3eab3824249dd50f31d9e894880cb3af03f29ea860bdee85d16de27b06b2fca2e5081665860", - "@oxlint-tsgolint/linux-x64@npm:0.14.2": "2965b0f6db9ed4e1990e6fae481ec625dfe6aab140908628efd22ec5da422c4b97c672d7f4ab5849a0fd735f385d9055377a3804e527f544227438ee48af6dae", - "@oxlint-tsgolint/win32-arm64@npm:0.14.2": "7d70ee261f4d0ad6f6ac40adcb4773fa9411bd243b8296a54d67dfbfa875e7599ddbdcda5d415e1f12e68bd629828bd6d2f3aa9fb389b881bccf37e785fdacd9", - "@oxlint-tsgolint/win32-x64@npm:0.14.2": "eda55fbcabc80d4e7da808432f53860d54efa338e6f28afea0ad8b305f21d6690808874ee7b839137c10a4968199f1e72dd156697dbc5e514e0c712aa3e59d5e", - "@oxlint/binding-android-arm-eabi@npm:1.50.0": "795d4559ecc64cef89a08a9b8c1be862e3184dabfa2409ffd9ae2e260382579e5d66f9f1c78fb5611692615f8ea1ec5d2ea640ee6f96c412a767b0d1268d537b", - "@oxlint/binding-android-arm64@npm:1.50.0": "2245d8d9d237ba63cf2df99f4b475598d9c1ce9a36fdc48dfb7cb363e72f23e4bf5afdf07142e4aeeff17c839bdd2a0c10187e268d1ed95ae20a139c6892392c", - "@oxlint/binding-darwin-arm64@npm:1.50.0": "2c2d38ed27b6422adfff66cd0b78d55d483e21746cea2eac4cd49d9ad69995142942c9670d2d62118ea005e63343e8e7915a1eaf3f30861c25724512373debf9", - "@oxlint/binding-darwin-x64@npm:1.50.0": "25b092e7b5d43230bd7bb853996dc173926dcf911874f878d9ee9e1410c029967e540409d6d23a38b2e3a2d51c6f98014089334227ab42b6d0c19a8673cb5470", - "@oxlint/binding-freebsd-x64@npm:1.50.0": "5c11b12d7bd286386ff94a9f7b179e989d895485bee92e3002b8b548d1db126e5d0c980e07dd89d3c134fe26c72c787c1680e15b270ffdedeefbb302393ba2ce", - "@oxlint/binding-linux-arm-gnueabihf@npm:1.50.0": "7589a1460a6b9ddf1764aedc30862cb5f52f10e688d96d482715924988b21ffea5e037f7a3b4467e5301ab11acb05ba4ca11efacaf2c013f2b7c9462bb58d3a3", - "@oxlint/binding-linux-arm-musleabihf@npm:1.50.0": "1e4de85dc7af5457f9ff974b70628e52ba4ee34027bf1791c65debd9643332ecc7a364317f02b1736cbd7490b8aeb59528fea0fa1296c53bc05e290e7fc7d967", - "@oxlint/binding-linux-arm64-gnu@npm:1.50.0": "2eed83af8530789dc5e83c14b5eb09269dceafc35c2ae534e01ac9346c5f4eb9f2af8c16581bcdb7c0b11a72edcfe4dd46077b50f401b0e6849c696fb6cc5a5c", - "@oxlint/binding-linux-arm64-musl@npm:1.50.0": "167a3efaba4c0c1ea17f1252523dc358c58a4553836e5bbc3ef505731e0163b56b171de924251b24acbf1d969995b774cac8720d052aa73197309735e303b1b9", - "@oxlint/binding-linux-ppc64-gnu@npm:1.50.0": "be8c0d2dbc61b3317a3fb637a786c0362a08a858cda06bd9385c7ab6512200b197968bdb825ff89a89ebc959a3948dba5051803c9ef85e662986fc865fcc2651", - "@oxlint/binding-linux-riscv64-gnu@npm:1.50.0": "bcd24461731e6a27cedde9fb41928530bf0389d1dc2f0df0d5323a21edeac08a1d2fe56fcd504012e274985441b18e62844ac6598c39c880b87af922b9f136ee", - "@oxlint/binding-linux-riscv64-musl@npm:1.50.0": "0b3ce0f73074b20830b0ee24471cd3ece7b05397e9615106bf00ed76f241d1c13e60e5544db5c08214690682cf6d7553c76926900e62de03d08ccfc47f0fa9d8", - "@oxlint/binding-linux-s390x-gnu@npm:1.50.0": "76fbc961912cd53e43565f088ba93ca389fe397d6bd1940a86e3c4ea28e39f4cd0717d1c0c9914d60c87b9b2e46ab27818fb400deb201309377742fcb7053e59", - "@oxlint/binding-linux-x64-gnu@npm:1.50.0": "af5f3b80c507b44f8980629ff1ed7985a3a5332afb524b1a5027ff760545be3fecd13ecea1e872effdb2a74b71f359936b692c6942a9ca0e50719513335f5600", - "@oxlint/binding-linux-x64-musl@npm:1.50.0": "c7ac34b5db86508cbbb734f7184a31a160383d093225b67641e88c6cf58ab6bcbaffc9d71f011ec1924de4f2880d9a0a2bc5391fa36c7580192e01f6cdef3a60", - "@oxlint/binding-openharmony-arm64@npm:1.50.0": "0a1004953c4b12332582bc216ad22794c02f9116e077d5936d953d06503db10869affb7e4c21e534a7f84f357f0a4c56d3c9d596c1847c1665859785e631fe6c", - "@oxlint/binding-win32-arm64-msvc@npm:1.50.0": "f1754ae392a03e80fa8370c2e3080abc849c12d74e5236a390ae145b52902f04968d4a0fe7f8a12dbf1d70c3f0474e6e4aceb20778da2e3484a6fbfcdc9d48be", - "@oxlint/binding-win32-ia32-msvc@npm:1.50.0": "13095a42e6a3dd7f9d13b2b34c45c40691b49d79b65ca767d6fe7aed961de559c4b6ecc286d8434559ce25233cb7f99f70a4d5cc46272087e60d521457b030fe", - "@oxlint/binding-win32-x64-msvc@npm:1.50.0": "42e69ba506fe9655506e37d2012dfced819faac90a4af0234dfcf52af4513c1f09ad3ed8f243425dcf568c611247b6c055785d6341fef2fd0c4a1ccf712e2cee", + "@oxlint-tsgolint/darwin-arm64@npm:0.22.1": "7c744e93b68ce39cefc63c4ba5efe5084f96f7607eea1efe3559c3e0cac1dd6f2983f1342e4ca23660980094dd4ffcb131b299347d8fcb8f72ebff8e21ae7ab7", + "@oxlint-tsgolint/darwin-x64@npm:0.22.1": "bae78458587b8323484bb2ae67c1059c08ee58325e136a901e954734bf702fb7c3d2e1a08c5ce9bc72d9285d976a7813cf838f1ab8a83a9076ad6809a28bbb91", + "@oxlint-tsgolint/linux-arm64@npm:0.22.1": "f660bdef1eb9a27ba41d5fdeb43fd82d59b1531c266b8d2ca36c3163fccab0ea58af9de35086de0335259b4e4c59d592088abcda100dfde0b96a5d867bee8b2e", + "@oxlint-tsgolint/linux-x64@npm:0.22.1": "96c6b63e3b83440550de9bc2fcc85f1cda460139d9f8b7f82705aab944d85c27a79d2d95d28d3a0d6f31cd25fc668e74319f014ff1a655c3035468c841045e0d", + "@oxlint-tsgolint/win32-arm64@npm:0.22.1": "e4d5c1190579523aa93055307b8bbc9725898ddebfcd54746fa65bc93ef2a7d0a152acbd3f987ea75ea93d2788f8e868b003f9ed281780995f9c81210079f9cc", + "@oxlint-tsgolint/win32-x64@npm:0.22.1": "cc330b9096c50b579fa822952684a92fd10264d12ca13a4668e2fdfbfb5fdde1332e10668e42ecf64fb747707bddd76116ec083f7b4e9da6021b7412afbbfe1a", + "@oxlint/binding-android-arm-eabi@npm:1.66.0": "9e77e0b30de606bff3a4f6c3de7105aaf1aad43d3058e111d3c50bfb1e567bbee807d19a3d0285320edb9783c9ed5bb44fada8de0549788614787b4bfee2c607", + "@oxlint/binding-android-arm64@npm:1.66.0": "fa2aabcc7efd43adf725a15b645963f885442ed6fcceceb25158eb0f33bad84446cf2f70f604451ea1be4e4725a71e7a285f0debbf2f7e80a6acaaf5ca4e4302", + "@oxlint/binding-darwin-arm64@npm:1.66.0": "ec3904a64891c175271e15de0a5e5080ab68dd5add9511e0ee245a71de16bfe42e361ece4d60f049cf6ac5cc0ce637c94a71d4cb13b29d4356d811bec11f4eac", + "@oxlint/binding-darwin-x64@npm:1.66.0": "bbd31bffefc6fe77fcdf47717c9adc0523fa553a3bd7938a6b7394fac5115945db8ec5f6e7a5364b7987502699d33313176324e4a509f08720a919578b6aad59", + "@oxlint/binding-freebsd-x64@npm:1.66.0": "612a97b0a27b68e60107c5daac10e34beb1004c107cfd21bac81d4dc1b326361462ce8d34a916ee7568494e5fe7eb1b50275512559c640951ff46fc0a3688168", + "@oxlint/binding-linux-arm-gnueabihf@npm:1.66.0": "030fb03f14ec63cf486e4a690762dfe9d2e7e84af102cd57a0425c9654bf9e5908dc9b755d874aadc8fe8eb96fd43aa73e8fe346c06ab6ce12a352710cd28405", + "@oxlint/binding-linux-arm-musleabihf@npm:1.66.0": "9313ab7f453bb907c40f53fe1f452da4b3ca3f3adfa663dade5d78b6e7f9bac59897bafdc9b0ad3554db20b923bb42b00e304225f73fb5d6ac6925ad950788f3", + "@oxlint/binding-linux-arm64-gnu@npm:1.66.0": "f6de4fb2596095b14fb66d8a0423723f1293ffe31a0d7dfca210b851e8f96ec263600b6cbb9afbb6e3340d094b96fb9c745a56e0b70c09f5d466574ca1b6cf6a", + "@oxlint/binding-linux-arm64-musl@npm:1.66.0": "0959431b2b29796082f194a658b50bd66a6816451c2670f92d34f271abb538cf1c574dd423d648068e8d17bff0e98373b93bbc2883aad2f36945d9d84715f845", + "@oxlint/binding-linux-ppc64-gnu@npm:1.66.0": "becb9b048dcedd3f883d113898ed1d9ed674467263c37aae1cb19f3c4475eb5cc94a4f89ab57c89514de5418d8c0547ef712d117c49a2edcde77162a556fc4f2", + "@oxlint/binding-linux-riscv64-gnu@npm:1.66.0": "65b5bbc84bd2289c2a1974ba2274b9c8b38046ba22f8e8821d0197ff097c66578b7ce53a46985e554953c5a14f07f38fd173e2c8fbf22c8a0548953cc6dbacff", + "@oxlint/binding-linux-riscv64-musl@npm:1.66.0": "80486e2482f66517af323ae6b616f08dd78367cc07f53b40eb3c636a540127f07929d7aaaf67fd046f9e47c7cb9378fdf9da468637e11bc742962f4fffec7aee", + "@oxlint/binding-linux-s390x-gnu@npm:1.66.0": "0d0fa2dba19d7aee4fb9817bf2266fbfd32fc1eeed0786f668df269a116cdcf42a92be94170989239c5867f8ba98554124df5c3f398381e485ab00486fcba200", + "@oxlint/binding-linux-x64-gnu@npm:1.66.0": "d0297d2bb4bf4669caca2b6b0e7def92749cbcf85b27cca9d4530b49fa54fc009f8981dac99dfabfd8472b9e4a5b74ac9009f8659e73bd1fb3386c48f80c636e", + "@oxlint/binding-linux-x64-musl@npm:1.66.0": "c5a9efc367a811b68131a991132002c5fe0c8cb534543374f8f5eb6e595199fe6d4c241eea9c1fa71f9fe20685233ed199cc6574bc5d5ec274ec2d7524f50233", + "@oxlint/binding-openharmony-arm64@npm:1.66.0": "13424a0403b7b9feeaf578d716d0d0dcb23654c389e2c82c8b23d6f72e0eae818533f900e0716d58d6649b7b19c4a3d59004cc778225172b426dd5865f2aed12", + "@oxlint/binding-win32-arm64-msvc@npm:1.66.0": "77d14ced247fa9cb20104bf50ade58e085a141232ec5cfc44dfc6ee5d098fcaf2d6da96db94adaeb09e507b0cfe254abf155e79c2e4d8c4b4fca240446383ea8", + "@oxlint/binding-win32-ia32-msvc@npm:1.66.0": "2943723b356ad6a0a4f9a3ce16f362261d79481dbced24d9447611cc3a7ac99c844d6dbecc76eb04e2eb462ed77d6da495f8a09ad0f64bdfef8f1a3b2a35f283", + "@oxlint/binding-win32-x64-msvc@npm:1.66.0": "9c9a8691b2d5a64b1ab5c4798269db89e6432fd870f213e7e16a3fc04a150b9ff0371e5d4e1d4ebc8fbabd278c9aceeb053fcc60bd0b2c6341d8055359d68050", "@rolldown/binding-android-arm64@npm:1.0.0-beta.53": "e2972fe9399066bb418f659c24e7589e87d8373a3b4ec7dd01c06f516c90cd04ea2dc801f2739f05e714f002bd4ef8d505dabbb9ab55437ed3d5f8395db91df5", + "@rolldown/binding-android-arm64@npm:1.0.0-rc.17": "7c821eb984e2dd03b05979be3116d927326a1752e7d04462f6c78721fc47fb33d1a584e8c739b181dbfb5c28170541d05f775ada38e81bb685e43d03d974abe3", "@rolldown/binding-darwin-arm64@npm:1.0.0-beta.53": "79587c0686dc0ee54368e4eeb0b8e8cc6f5786c3d55c3b0acd2ccea067b6ba21faffe82140268e7de7126192c3e54fa33742346d82ceaebf5d4c33a94c3575fc", + "@rolldown/binding-darwin-arm64@npm:1.0.0-rc.17": "ddedec6840b8e32b7c45a4afe9d797bb24ea74ef222a1b443161045f0b53ec3a5752b108552fe6c99182e2553dd53498d96d3b30551cd3f1e8057559f23b1ed7", "@rolldown/binding-darwin-x64@npm:1.0.0-beta.53": "4b855c7208400453f29aac138c8c050fee3e3f08ff7d36afb3efd705abfc67b11e55bb12ead5d845ae9c464b9855c02380772592ed09e43434ade8dd4e32f703", + "@rolldown/binding-darwin-x64@npm:1.0.0-rc.17": "b66ce82e3162261c045027b3aa061cd735c9b1395e77756e06b973f8d0e4256247ddfdb7ee8134363dfcd9d83e665b647b45b666a65c8454babdee19f6d57b40", "@rolldown/binding-freebsd-x64@npm:1.0.0-beta.53": "98672b2ececbcab5bf8732033b9e38553f75a37d0c8198762af5609ea57b9809bc8d9c8ec3e5cc6df7c9535c1a08d063d106b984fa1dfda066dc71ae6e70350d", + "@rolldown/binding-freebsd-x64@npm:1.0.0-rc.17": "87b9045771edda717c7d66df105bba2c22c88214254eae48d54ca641f79b4558c2d1ae3db27d8e36b230728263d539c5f6e03e895dbed6e08afa495f634eb42d", "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-beta.53": "0760612704b1381580c337eef6b0ef096902b81dca1ff2b536a8a4f529335465d9739ea3c0883d3f7b1548089d237e18a485f0ee2e3d2d9191b0a788f95c81f9", + "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.17": "43e60168d359a5edae352d948a6515c40a8e047fef7541693cbf18a09d80076efb9308a804c5ea7f645883f8f6b7b43e0e14ea677df63fb4016a55ba6f63b947", "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-beta.53": "a4e4e59a5d316f72c691360027e4a843db4fad1ccf9ddac736890f4182f59612c5bcb4286420b88454658a0735ca63d0692fbba93c2fcc8009e15b3126e62266", + "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.17": "d6bfe49089d598886e8c9c92e45240a2404e9594c4abc25f303c8655b859e0f0b67c18947e23177ccc5fb81c9b22a1bd32f2ed052531cc41491b4261ed728342", "@rolldown/binding-linux-arm64-musl@npm:1.0.0-beta.53": "4f465651c516cc78513fa2b6685667acf248b076a19809252063644512ad7949faf46a64738024c266a39c411cb4be15142aa4a352dcd01e1c65486f9f623578", + "@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.17": "be5459bf78de0931993158783af8e349a68d03610876eb131f48fa51414a45683047cd9b4ad7631f385fedc9bb89677e8d12e874104a038b63932aaa1d7bceb3", + "@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.17": "e36194c8a39afc6522ca71c2ebf4c038792bf2c0141da76e8a385bebdda077a52f95ece9bd0a3818d5c0023e7e8ce708566d42ecd2ff31296a26a41ed6847aa4", + "@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.17": "288ce91c69b13e37b2106fcfb663a981aba9de65d3bb4d3cd8c17b9e8193f3de44d08d1201c4d3a18fdeec5a89256d5b3b4d5bb913ff023cb577c403f8889917", "@rolldown/binding-linux-x64-gnu@npm:1.0.0-beta.53": "702a095a2c4b59a48da26be306172585ee01d284900984c56e663cd15b82748e90b7fa96c0d894651d98ca456ac59fe3e70ff88680a636b6c23353919a04d762", + "@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.17": "d532e43e02e0a84c71ff9be34791d7b32b71786bac4921f9e4f92da39a7d5daeabeb4188c7cc088a8a80ab0691dcf1cc9d414396ce7ff6a970b1374e033df8f6", "@rolldown/binding-linux-x64-musl@npm:1.0.0-beta.53": "b410d862c88ec59e8e8a31934ab78ed81b31ed00ed69057038a232d44ee9b7942d1f29ee48991e3a0b2fbcbec889d7819166f77679c907271e7f9a381414d1db", + "@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.17": "56aecbe0a2aeaedd558c62a5057a7f915ecada0528a27b5edd80478d948c3645104a56c88121c71edefe9a6af7500f053724103099a90764eb8b84c3ee1f9536", "@rolldown/binding-openharmony-arm64@npm:1.0.0-beta.53": "3dd98fa2c676472bfcf825ee561ac3e8046d48d87d4beab5cc312c871be65387e5b527977b9ac7e2c2d4c8f0e7249d2d536c7cd5124b5550e37bf295cb91729d", + "@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.17": "cc7a806e106f4c0d24400af42155b8b396f712e25d76e13b033895b3b635e21edb2246d3c8592c86989c7aaae1ded1708d36516472555bbed3ccaffc939403a4", "@rolldown/binding-wasm32-wasi@npm:1.0.0-beta.53": "3645fc9eac2f4e8b6f5f1552154a8ae1ed5c1975a37f0da22bb4ec9d8dcd4b8d346feb013a927e9254c33bea7b2b4fc2ff5cfebe3c791f215663ac983bf03306", + "@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.17": "e6fb0aff901de475a4874af6b0473b396bf1bddf6cbb9acbdb6d4c9318ab2fa3e09d80435ecaeb7866b03effea79c57db9a271b5c720007341949e06828c8385", "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-beta.53": "d0ecd1a1fe4388ae11d7bacace91694ad0135cf25a0200f7b7ae3ce9fac637ff079c5140a680288d3f7fc35eea0100d1a176ed43db4d88c86429804cb6a800e1", + "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.17": "d3724ce9f4117d28f903ae1bfc34e3a3efac853691577e511cef91259eb8355dc24f2f27a832bbbd9ad3323dc1b0c3ddbdc4c791ae2a6dd5e5b0c9051384d4d0", "@rolldown/binding-win32-x64-msvc@npm:1.0.0-beta.53": "bbc80dbfb97a1780f0666ffd111f1fbe2b6b2cc1d60102cf41bb0fd03788e020552c94a5e82f95dc75b3696fe0f986a1a362fc7c62bcd899892986a4391fc63a", - "@unrs/resolver-binding-android-arm-eabi@npm:1.11.1": "04dd38b694c1680bfec192b499e188700398a414886a08a8a7c72815db56ac147df03d88c73ff6fff7ac3e0a01dc41978054b3622b49463e0d684c5168557fcc", - "@unrs/resolver-binding-android-arm64@npm:1.11.1": "763626adc34dd2b4af677b5ced6493e7b2b1935351a5c9137f1c9561d11faf97b94015e6876e57e85c33ff563564314c92c0882a4780a57f2225cbbd779a695d", - "@unrs/resolver-binding-darwin-arm64@npm:1.11.1": "03b477fdfec55dbabe488fe0962417bddaa38b028d2670053469f1d24163907b097aac15b565f6974449bee398a38d5e3e1525f2b515ce57e243149021b7aa2f", - "@unrs/resolver-binding-darwin-x64@npm:1.11.1": "3aeff9aaf4ef6d786c517d9017b5c41b0af180cdbaf705d08e6e5b5ba9d5410d28ef6754c5f8a865f0bb5efd460dc1c4156b5e2201032c0a604a6c734ddbc848", - "@unrs/resolver-binding-freebsd-x64@npm:1.11.1": "b9f7a3e03db9edfc3480db056dd25229f901f21840ee768b69f349b66676a995a404e60617b3bcbd984f57f2199eb352dd6fad0f4420c3084ceef5e3293cdad5", - "@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.11.1": "4d03b8bcef5a90586a846d6d332f39cee211f3d330b6e10036969894b6ecfb70b047265e985d572def93b84f38621dec30e4b4bb42699dd784adbae3ca5e7bea", - "@unrs/resolver-binding-linux-arm-musleabihf@npm:1.11.1": "9f3a3c2e5e6418a5a78294fa042824f5c270e993c1a99e82dd6b0ee0d2869929bb62dd154a0acc1e4ef16273e8073e0e257901208c062e6bdd49d586d07bb419", - "@unrs/resolver-binding-linux-arm64-gnu@npm:1.11.1": "05228d6fd669f404f0e3164ccf2430a52cc7b3bbd211367527b5d726b1220a1816bab70159bed55694d9b7543553f6002379e7e186c605d7055c5156977da022", - "@unrs/resolver-binding-linux-arm64-musl@npm:1.11.1": "8115802143396d4992bb2f6f0acb6e8bc141a57864c5fd84cbc70577c25784cb08dd163b753b1fc0decc02582cf4cb1e30d04faaf763048babbbe706bdfa26ea", - "@unrs/resolver-binding-linux-ppc64-gnu@npm:1.11.1": "50f9f54b2eafb1ea023671cc3070692b2b15f6e49105b08b3f588033e65e8de4183f76e080b798de710f9c41df1bf5515c01868866a21cbd35db179b4ac9f23b", - "@unrs/resolver-binding-linux-riscv64-gnu@npm:1.11.1": "8f8222f938cc2025ed3971e0e303f4ff5aa5df74474b835442830ebe942d050ba3f8bbb67095da64099e6fc69bb5bb73ca63db54e059c95e51aa8909880fb207", - "@unrs/resolver-binding-linux-riscv64-musl@npm:1.11.1": "5c8987f7dcaf38ef27ec67dcf118141502d5ac75d28429da6d1b7037f3e5a5351f32f55094472fde11784e65d01f1da4dafd7c0fdca28423fbc8de2c2c51d16c", - "@unrs/resolver-binding-linux-s390x-gnu@npm:1.11.1": "17aed6472880a82e5a05147a55efb6f0d968f5dcb584845addf89acec3824534ee741d4b162686124d17daf9131373c469c57843996a5ee2db4f1b1b55e1d11e", - "@unrs/resolver-binding-linux-x64-gnu@npm:1.11.1": "9495c08fc42f2d4a33e33c64adbcbf51588cd7ea07478eacb2e9143d955a760122440f4a3ac48b086cc2563ca2b2464d72ed0336fcc20c0a89ddc356f956eda8", - "@unrs/resolver-binding-linux-x64-musl@npm:1.11.1": "c84fadfee66eeebd16eb7cce7c4b5a1ec90260c724d0064111e9f43a1341ebfede61627cb68fd3a9735e4c10b25606fb472a4d13143cc569867b80d85c4a9824", - "@unrs/resolver-binding-wasm32-wasi@npm:1.11.1": "655a3990ed9b238e8f0c4858f87ca84bd3d81db300f7730c885162333055170e11207af7789ff38f619e261178718f6977729e42ce7978cc9e6ac7b6d93822d5", - "@unrs/resolver-binding-win32-arm64-msvc@npm:1.11.1": "983f800ff8b5181247a7d460ab5c9704cd425d0182e93290f69fb969d93efe17be6a27c22b97546d36e9a9d9aeda96d5f753bc938b3d9a00f32c10fc228ce5a9", - "@unrs/resolver-binding-win32-ia32-msvc@npm:1.11.1": "383d639e3b08fc9e4ba18127ef55610172d2d1d6adb83e1466fff2b223552384cdc6217051f749829e0c90a757ea5631e8c4ad2cfeb59bdee2bb033fbd526854", - "@unrs/resolver-binding-win32-x64-msvc@npm:1.11.1": "c862561f6495c0dbffb94d421e5727b25c1b61d98e22383bff23e6719a6c0125bb0b7df3be7220f5480bf54f5a605ea572f10fff1cce14fda24d42e396559940", - "lightningcss-android-arm64@npm:1.30.2": "7b8a62c7aa787251381e9e082fc19991e8bca696f17be4dad0a5c3a31483d1452e6f8b04713b9c9221ef8d9b011510ee10d69c34005294be92ba2e57ad075a90", - "lightningcss-darwin-arm64@npm:1.30.2": "fe4f6eb4af66f95a0f83a9b4970f863417ae9ac394b5c963a20cda24ae08ae0ce6ebdc6f8e664d8b53717afb936242b9a73394584b55ecf2978babab50364e93", - "lightningcss-darwin-x64@npm:1.30.2": "b2d82add63e88d77dbd08508a32c1c28a12de826d4dd70f6ec17ffae9d3c5bf1be7a7c35f154bf98bca4164b7390ba515202884e4cabaa83ed7f1727baaa08fa", - "lightningcss-freebsd-x64@npm:1.30.2": "cea6113555ed6fd69e10c67a8616d3b4c743eacd817e93d290b7d85d1c2eb29386466e55f61890f4aee87cafe062ef037b92824160418dd1c299bb7d15796cec", - "lightningcss-linux-arm-gnueabihf@npm:1.30.2": "93119a9476759aff2a1a3fe35dfdfd39b0eab320b76725b36bddfc11f258f80140831169ed10f5528349863f7c6497358ec73d3c13054e6dc72ef5b26a22bd26", - "lightningcss-linux-arm64-gnu@npm:1.30.2": "c52236dd9777f150b849e0ed4ec1a4d17dc2bbe1ffa802286483d9c71e868eef16b54e348e410d44921262beb4474d2b4c90c268aa2c1109e55899d7cf8294c8", - "lightningcss-linux-arm64-musl@npm:1.30.2": "85b54252172367c9b15be312c55f982d0541063b0626faa370c26d5eb8bedc36e036b6081374aba35f68d9e82c729239fb7af52f997004df715b09a6f7c5d453", - "lightningcss-linux-x64-gnu@npm:1.30.2": "658f54482728885541331184a5fefc3df76e1f4d691ad28d70b559dc391d552837bc95676449e48cbdcda8d63165f0f56c921a09ec2c6fc591b427c566e0b9ed", - "lightningcss-linux-x64-musl@npm:1.30.2": "6b046d57dab2237729953f1350a922844fafd16bdbae3a9ee17b04abdc2e2d2392ccd61932e7210276bf18938165d900517d2079ec57d866fd288b8bba28dbd4", - "lightningcss-win32-arm64-msvc@npm:1.30.2": "f8383d06fe81494ba34b9bd7eb713ad91dbd84d4f321526b5190d7908e95591e462159acf71f6d3a0c33ea1251d5e80c012d255d94e9aa4187a476a810a249bc", - "lightningcss-win32-x64-msvc@npm:1.30.2": "ab86748b46ca851d29c387cb349cd35ca9da6fc73082b759ef84d358ec08ece6491e0eb137ea8b30b85419c20075c59f44620ab026d9a0aa0e86d3e0a610a960" + "@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.17": "6f4a348202955f74481ccf1c0ec5fa96671507353b6a7f680b920c773f0dda4ebd46c1561428efcefacb9b4d279cd550c80a79fa261f8db173b527ae9a671eca", + "@rollup/rollup-android-arm-eabi@npm:4.60.4": "713883389421bcaea56b37c79e624da343aeaa28812de226542407bb1e62c3593c24b0b94ee2fa74893963b124b1d6a6eac4b10bbd54c1736923dc67a953b3de", + "@rollup/rollup-android-arm64@npm:4.60.4": "04117967684c227a7d764e13f85c66093619ff8a800a2004138a258cbfeb4748db8bc477496e0c9421c1cbb1ad5ca92e2665a143c6cdba33502aa59cd2c04ffe", + "@rollup/rollup-darwin-arm64@npm:4.60.4": "3e7fe7279af3981c4e9b5cc4ca3099ff403545a1b63e2e66c2f5fae400fdd05c82ec430d087c0f444b59fb56a23a5ac3b802129d99c9e13be4a299aa8d2cf538", + "@rollup/rollup-darwin-x64@npm:4.60.4": "0e8fc9aa944f4a91411201953c8413abe923fdd1efb14b6492ae938365751db7a88be49e1b08886a3f9de8e10ab5b32a91a28f89f0773fb38597c2d19742249a", + "@rollup/rollup-freebsd-arm64@npm:4.60.4": "3058d2cdd2984595010494282f3973aba681d6d9a5e09d2082b6aabd0c0867c328a4c5d18307be0a60d77edb75b5e92cd659654c26128f66369c753e1c0ac0c2", + "@rollup/rollup-freebsd-x64@npm:4.60.4": "a7040c49693471a96e06d5f2a2d22fb27508caf75958e5430e1e55fa2a83e7b29cc156d03d685219551c6fd71c9d718a753d6e60bdefcf3b646e774998c08d7a", + "@rollup/rollup-linux-arm-gnueabihf@npm:4.60.4": "ad3be9dd43d0f704a56ab827276c64c688c21028ce67be9f38ae5bf8ee64743e891c241b4244760bf00b49b4b89ac190796d20fe7ae84bdb21d0f7e8b95ee8bb", + "@rollup/rollup-linux-arm-musleabihf@npm:4.60.4": "a5002ae735c99d8d4d93f8f942086294612e7874945d188b2733b89824699fae81c5ac678906c3fa2b2183adeb2bdf987a39bbd6e39a320bae21c1d13232da6b", + "@rollup/rollup-linux-arm64-gnu@npm:4.60.4": "081096d917806d5a498e63c98b1297933a688d880d0b44a64b5eaf24c1ef15f2501a6b3f9ea3ca261bcbe6ff2c85826e3271d1176b29e87df488a95bd7324606", + "@rollup/rollup-linux-arm64-musl@npm:4.60.4": "231bba8f782318a93670283f9b870899cfe129aa9256349bd302143d1f6aa94c9290497317b112682255e05a92bbec6f6a4701d1c3e4871db725b6f16c52bfdb", + "@rollup/rollup-linux-loong64-gnu@npm:4.60.4": "d58433840e7ccf6390c6438c29db1006909c75033b2d5c9e7a158caf52b83df6c628a47a69e541388b1ab63b269fcd08a762fac9d1c92f8a162c56b8e92ff899", + "@rollup/rollup-linux-loong64-musl@npm:4.60.4": "51fe13d1b125d2b1edc33f49c32d19f6bd02d667f3501ebe81296ad5b6b3579d657d70812f3b9ce5ebcfddeaedf3471da0a99078a79b0df49facae27ae889968", + "@rollup/rollup-linux-ppc64-gnu@npm:4.60.4": "92fdb7a889d1ac77f9ba94cf5798eb8d75cdc5efdaf21f6dcdd6efdb500ba8fd4b632bd6d85c2e2b5bc57fc016ae04acdce667ca57f0c041c64d44cd105ad987", + "@rollup/rollup-linux-ppc64-musl@npm:4.60.4": "98164d8aa8632d262024e176c628ad8f8d7051417d1ae761c405e2d59931006131348da8cc736d53e2710266fa164e96e4978bc774288e352b947fa73b58bf62", + "@rollup/rollup-linux-riscv64-gnu@npm:4.60.4": "79ed5bccfeeab24fca7c39af02951a6f97cf36388ad2d9d39c07b0b2ce0fdc38e9b4eb662f0c4abc428dd49072d49d6a007431acabbb31e958732e7161f23687", + "@rollup/rollup-linux-riscv64-musl@npm:4.60.4": "335c4885b1a9c3c6683d620524fd3e2b040ecf8750bed5388785146b38b75c1830ea0b3ac7e31548222807c6a7bc9efa8edcc0d8a7cbf4e3ec0ecae1a6665a2d", + "@rollup/rollup-linux-s390x-gnu@npm:4.60.4": "9723cae7bce63c3f8a6393c0be3eddbd0238fcb054130bde6443671f841b6a486b387b3267b9b3fa403b4cbb68518ccb217be52b543e2683aef0e2c015708e07", + "@rollup/rollup-linux-x64-gnu@npm:4.60.4": "51795abf6da6bb100c021e9794d33e32e37ba06c38372e94266d0faba01855ae5ead10d71c7f5ab8d301d38335d8ef24b9a61e9210c9113f79e3b33116314116", + "@rollup/rollup-linux-x64-musl@npm:4.60.4": "62b956c1459ec3b42bb9f77ddbdcb77e55be88fb03c612da2b7e47e2ccdb4834861c60f8c03a8c8c4c653d8b42d71bce314dd92b7208a8e344e86cc716197e79", + "@rollup/rollup-openbsd-x64@npm:4.60.4": "381acb04f59e7fff8d42f982f72d558d2ab2bae0e081566f43a87eca92490e2ebb36f2d46288a9cd830135d95d66a9aceed2340d98274be1d829e17337b5e3a9", + "@rollup/rollup-openharmony-arm64@npm:4.60.4": "dac62e868256917af940a3bec513a17311daec54fc56a728b55b01ed1039ce04a94b98c3e62d672d0501574ec0cb620d3e019ae2b2266cd09b8aa061f32fc459", + "@rollup/rollup-win32-arm64-msvc@npm:4.60.4": "c65856321a843cec6ac5151933a18a282a6c3b72f865e345c25fd8c1d3b0730dc41afcf1fa0be4fe0e3aaab5eff26e90c04a5b04bdee10af5ee7ecd3bd8da54b", + "@rollup/rollup-win32-ia32-msvc@npm:4.60.4": "1ddf0be5088228ae68c87cf9ffbe749317feca06d4bb3d17c6314eaaf33b5ff7b42e6a7d7b474b8c1fca6f97ce6141982831210fb8409be067aec157c7817d4e", + "@rollup/rollup-win32-x64-gnu@npm:4.60.4": "d5a495471b89bbbddae459b1ceec19a9e8fd306ca82a54e83b2ebb6c5a7a71aff61c75827668734837f9e4aeda9f4a9d68b01c948e00573b5c3099b58719f638", + "@rollup/rollup-win32-x64-msvc@npm:4.60.4": "917b71977c864311e0f6b5d5b46c09f1bcb459b121732c75a3fd46691bc29476b8181bc514182979d199bfc6d6a338ac6d05bf36e2f936e02b05b2acc8e39f6d", + "@swc/core-darwin-arm64@npm:1.15.32": "4290c0de43d2d5b35bbd28b5ceef8b0bfe9b2f57c28d28874d5b0c641ce6225698b99886c25068725df009bb37f9214e18f1a9d26af664005fa5fa089fbf1ccd", + "@swc/core-darwin-x64@npm:1.15.32": "ae8bdfbf1be6df87aef3f65845457c2d589708b5bef84bc2eae39d7df0cb8f0cd5b8bd7695efc7be8d257110c7c90805ec3645524c489f7a1101c23264e8b1c2", + "@swc/core-linux-arm-gnueabihf@npm:1.15.32": "da52de16ad256b7c72783481609d7191078caa8018ea4d15aea48e4f3a76d0efeaf164795febeab74f77ac5e07b5d4ceacaacf1a13abf163bb34c6c8ff20f3a0", + "@swc/core-linux-arm64-gnu@npm:1.15.32": "3fb1154d514bf20bd559d654a5da53d39bc31d2e5f645b0d9e7fbbc3f9eebe1f95675d703c71cd85f305461b5e0c5f6c69b78dce8fc64613bc7196b7c966386b", + "@swc/core-linux-arm64-musl@npm:1.15.32": "bc399e8255662f4e4cafb6be9b68a7332b9e772bff9e980bf3a3087b7389bc0feefc84e09eed8018b5e699ed9ee3cba1fda52f4606635efcf6988d9b6c2c9d47", + "@swc/core-linux-ppc64-gnu@npm:1.15.32": "4114ae2a8537d0144bfbee6291d83cb7545e09ce131553b00fe07cc8a752ab6115fcbbb1c9a1cb6a289e87cca4e9df6a48b6f481807a3411cf827857ee2fd88b", + "@swc/core-linux-s390x-gnu@npm:1.15.32": "ffa481f7796563e55d5dc75a2fa9fd396df5ef3e28c3f61caf25e1ceac332d6dea98c71df90f495450ca7311256a3c4f99b54b4bab033a77fbcd5da475b786e6", + "@swc/core-linux-x64-gnu@npm:1.15.32": "f7e9983761b9e36dff8098933580519af7b4acb405e8ff379926800ea4324fb57ef9f67a9d99a7c98f7b53eb0a1075d4e70e1aba2f5e1e7f14bf0d735dd53a2b", + "@swc/core-linux-x64-musl@npm:1.15.32": "01478a00c6c8ad49bbd6c42050681d60a732ebe31e4a0a945d2b11511bb40ad3a24ddfc02228825f21b9ed1a84b366e9d1d77e56eac1f33a7d6bcee1b145d588", + "@swc/core-win32-arm64-msvc@npm:1.15.32": "f6131b9febc842f2a5038243393276a26d63d23a93a0ce1f920faf965cb4a64aa3f3b94f6e125fbc30d281841f665164229b75ba0ed749a83985f3e919ef7448", + "@swc/core-win32-ia32-msvc@npm:1.15.32": "2e3a1c33146f2f4cec08ca2441a73b595e095d48e2bf32fb0a44abad86bfd20821e4042def8698b97851c7ac3e4b305ca7ecd85cd618b9322a71c6f970aa02de", + "@swc/core-win32-x64-msvc@npm:1.15.32": "85d5327307e3011d8d63bc5518fae84ff4825d191a25ccab580791ef2f128670e8b147735e1f1e2c0e98e46bdbbc9f9b3de758f0fbe824efcb6f6f0d70a35e06", + "lightningcss-android-arm64@npm:1.32.0": "1cb326ad39dcb02cf9f45025c167b6900e3a04b08f5149d3c5ee26054b00d08db3736fb69183a6c3ed1cb32dddd148608c784b6631b4777623f7dd0c032c392d", + "lightningcss-darwin-arm64@npm:1.32.0": "da954d0c215d0e95f15a92c8717f871017586e1332b98fd40e96196571d2fd3d51a727dc530768afee9f6a04da210510740574dd0c8dbf2ecced79e5996f1a06", + "lightningcss-darwin-x64@npm:1.32.0": "b1d298c9173f839e8447d1917ed8bc5ab098ed0fc4e4b419d36ac5afe8b27bf21cb47d00a35c3d2edadcac598086e9b4f26c992a809d79f9681d6865a230d79e", + "lightningcss-freebsd-x64@npm:1.32.0": "0eb59f6acf2fcdc944c921b0ac2a16ee803452b9438f573ad6bc41be00040b791ed698698ed5c06f98ef43a6fed0a54987ba3a88da204de9978db2fca96a4a65", + "lightningcss-linux-arm-gnueabihf@npm:1.32.0": "7d1ea43986d2370a90cefc920dac3e041e0d19445cc4fdaf244644b57b6937588d7c3a464c31440617231f55a6dad79744cf707912e05f3b46a1694abb5b4e00", + "lightningcss-linux-arm64-gnu@npm:1.32.0": "f01ede75f41480a164d18338fa46d9fccdb4a821717174ce848ff8b2aa4badba4f1d331deb3ebec3ee2f0eb95bfa2e35f54877f371427b04e6f36a4783aa1414", + "lightningcss-linux-arm64-musl@npm:1.32.0": "38d373f99768f1c5ab6a9c87e1c0ec45eccdb3fe4d216dd5cd06629648c4b0689570ad4e89285d490662cde1790cd36e6b3d176c14e5e31f6869c604aa2df820", + "lightningcss-linux-x64-gnu@npm:1.32.0": "0a1433d46a4a010f87b615c3fa43725a456bae259858a2c927899cbf93074f0ae40f49901bf6af6daa30a4d169c86f594f6341fd775bf7b59293b8d7947b81c5", + "lightningcss-linux-x64-musl@npm:1.32.0": "a6f48ccc30a73d30563c7b61856d1fd6a8812ce62b1bee797f227e06612df70aab4ccd1908552952f77ca7ff2a51019f62d14ae5310ca67311635eeec55d3a9e", + "lightningcss-win32-arm64-msvc@npm:1.32.0": "a919be7fb298c1102bccf18b6f83d54946adfac70ab2ac9c95e4ae38ded76d8f530215b0bcda4d38df4ffc40a70abe3afd91d01d35fd122e7d119ed0e46972d0", + "lightningcss-win32-x64-msvc@npm:1.32.0": "5b8d3431aadbdc40a0a7eae32f2415e4f28b547af1a1cd5b35a35d67f772a89492c7fa03e9fc88ce804b14f5f88e412e49fff40d1b0aad67177de815c434207e" } diff --git a/pkgs/by-name/ou/outline/package.nix b/pkgs/by-name/ou/outline/package.nix index b7889be1b65b..468cf3a78012 100644 --- a/pkgs/by-name/ou/outline/package.nix +++ b/pkgs/by-name/ou/outline/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "outline"; - version = "1.7.1"; + version = "1.8.1"; src = fetchFromGitHub { owner = "outline"; repo = "outline"; rev = "v${finalAttrs.version}"; - hash = "sha256-LHU3OQglvxLVemDKoDxeI7cGyuSnIUYoPV3aj/LR9XA="; + hash = "sha256-jdG1sIJN1UiajsZ86+ztY3uXZgdS5MxjaPaKw/Glepo="; }; patches = [ @@ -36,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: { offlineCache = yarn-berry_4.fetchYarnBerryDeps { inherit (finalAttrs) src missingHashes patches; - hash = "sha256-yMHpM/1hQ/86MItCu8SP82CgF/ED97l6lVHF+Cf8h+U="; + hash = "sha256-uSXw/x+4d22ow7QE3nduTUDNlZebCrnW6OIzhSugcXw="; }; buildPhase = '' diff --git a/pkgs/by-name/pe/pe-bear/package.nix b/pkgs/by-name/pe/pe-bear/package.nix index aa4793209a9c..2e55efbd8ac0 100644 --- a/pkgs/by-name/pe/pe-bear/package.nix +++ b/pkgs/by-name/pe/pe-bear/package.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "pe-bear"; - version = "0.7.1"; + version = "0.7.2"; src = fetchFromGitHub { owner = "hasherezade"; repo = "pe-bear"; tag = "v${finalAttrs.version}"; - hash = "sha256-jWRO0vO601IijFo7nu0SMF8inEXWLzv+Ni1nlJfGqhQ="; + hash = "sha256-a/MAxJxr0FavWd+0Zdv8LH6hJ3HTLpj3Nmaz3yGgMGA="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/pi/pipekit/package.nix b/pkgs/by-name/pi/pipekit/package.nix new file mode 100644 index 000000000000..e8ed65f77828 --- /dev/null +++ b/pkgs/by-name/pi/pipekit/package.nix @@ -0,0 +1,62 @@ +{ + lib, + stdenvNoCC, + fetchurl, + nix-update-script, + versionCheckHook, +}: + +let + sources = { + "x86_64-linux" = { + suffix = "linux_amd64"; + hash = "sha256-3TTVSCZcsUVfNzC9hWn0OLytMAOxL39f5IlqCReCw7g="; + }; + "aarch64-linux" = { + suffix = "linux_arm64"; + hash = "sha256-pHygFgvMdyh8NQeGwZ1iNkaU1q+pcxvn5/CaoO/amIc="; + }; + }; + inherit (stdenvNoCC.hostPlatform) system; + source = sources.${system} or (throw "pipekit: no prebuilt binary for ${system}"); +in +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "pipekit"; + version = "6.65.5"; + + __structuredAttrs = true; + strictDeps = true; + + src = fetchurl { + url = "https://github.com/pipekit/cli/releases/download/v${finalAttrs.version}/cli_${finalAttrs.version}_${source.suffix}.tar.gz"; + inherit (source) hash; + }; + + sourceRoot = "."; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + install -Dm755 pipekit -t $out/bin + runHook postInstall + ''; + + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "version"; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "CLI for Pipekit. Observability, governance, and scale for Argo Workflows"; + homepage = "https://pipekit.io"; + changelog = "https://github.com/pipekit/cli/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.unfree; + mainProgram = "pipekit"; + maintainers = with lib.maintainers; [ jpz13 ]; + platforms = builtins.attrNames sources; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + }; +}) diff --git a/pkgs/by-name/pl/plasticscm-client-core/package.nix b/pkgs/by-name/pl/plasticscm-client-core/package.nix index a6bb4b0e78df..cc319f2cfaac 100644 --- a/pkgs/by-name/pl/plasticscm-client-core/package.nix +++ b/pkgs/by-name/pl/plasticscm-client-core/package.nix @@ -25,7 +25,7 @@ buildFHSEnv { [ # Dependencies from the Debian package glibc.out - libgcc.lib + libgcc libz krb5.lib lttng-ust.out diff --git a/pkgs/by-name/pl/plasticscm-client-gui/package.nix b/pkgs/by-name/pl/plasticscm-client-gui/package.nix index 8e3a57b9e488..b52a27a4394b 100644 --- a/pkgs/by-name/pl/plasticscm-client-gui/package.nix +++ b/pkgs/by-name/pl/plasticscm-client-gui/package.nix @@ -33,7 +33,7 @@ buildFHSEnv { [ # Dependencies from the Debian package glibc.out - libgcc.lib + libgcc krb5.lib lttng-ust.out openssl_3.out diff --git a/pkgs/by-name/po/portfolio/package.nix b/pkgs/by-name/po/portfolio/package.nix index 92f2a09b2935..3a038ee637e3 100644 --- a/pkgs/by-name/po/portfolio/package.nix +++ b/pkgs/by-name/po/portfolio/package.nix @@ -4,10 +4,11 @@ glib, glib-networking, gtk3, + jdk21_headless, + jre_minimal, lib, libsecret, makeDesktopItem, - openjdk21, stdenvNoCC, webkitgtk_4_1, wrapGAppsHook3, @@ -15,6 +16,26 @@ gitUpdater, }: let + jre = jre_minimal.override { + jdk = jdk21_headless; + modules = [ + "java.base" + "java.desktop" + "jdk.localedata" + "java.management" + "java.naming" + "java.net.http" + "java.security.jgss" + "java.sql" + "java.xml" + "jdk.crypto.ec" + "jdk.net" + "jdk.httpserver" + "jdk.unsupported" + "jdk.xml.dom" + ]; + }; + desktopItem = makeDesktopItem { name = "Portfolio"; exec = "portfolio"; @@ -48,6 +69,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { imagemagick ]; + dontWrapGApps = true; + dontConfigure = true; dontBuild = true; @@ -89,9 +112,15 @@ stdenvNoCC.mkDerivation (finalAttrs: { win32-x86-64\ } + # Eclipse source bundles are not needed at runtime. + rm -f $out/portfolio/plugins/*.source_*.jar + rm -rf $out/portfolio/configuration/org.eclipse.equinox.source + makeWrapper $out/portfolio/PortfolioPerformance $out/bin/portfolio \ + "''${gappsWrapperArgs[@]}" \ --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \ - --prefix PATH : ${openjdk21}/bin + --prefix PATH : ${lib.makeBinPath [ jre ]} \ + --set JAVA_HOME "${jre}" # Create desktop item mkdir -p $out/share/applications diff --git a/pkgs/by-name/pr/prqlc/package.nix b/pkgs/by-name/pr/prqlc/package.nix index cbf5051d8df5..8fcf24fc894d 100644 --- a/pkgs/by-name/pr/prqlc/package.nix +++ b/pkgs/by-name/pr/prqlc/package.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "prqlc"; - version = "0.13.10"; + version = "0.13.12"; src = fetchFromGitHub { owner = "prql"; repo = "prql"; - rev = finalAttrs.version; - hash = "sha256-SYIrME3iE1SpqjLvP/TxXXeiURfdrRSedN3FlcTwrt8="; + tag = finalAttrs.version; + hash = "sha256-dVabMpXrdNV6hvUVk80mWuIpg8Vb0ZaJnrezO+FtbKg="; }; - cargoHash = "sha256-4426LQ8X5iGPyjtyHnlmOQmYNHwmTvf6TowpCa463O4="; + cargoHash = "sha256-hL52k61pgqOFpn3aN8DIlx2KlaOjMVD60/x6dMkZ5Rg="; nativeBuildInputs = [ pkg-config @@ -33,9 +33,7 @@ rustPlatform.buildRustPackage (finalAttrs: { zlib ]; - env = { - PYO3_PYTHON = "${python3}/bin/python3"; - }; + env.PYO3_PYTHON = "${python3}/bin/python3"; # we are only interested in the prqlc binary postInstall = '' @@ -45,8 +43,8 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "CLI for the PRQL compiler - a simple, powerful, pipelined SQL replacement"; homepage = "https://github.com/prql/prql"; - changelog = "https://github.com/prql/prql/blob/${finalAttrs.src.rev}/CHANGELOG.md"; + changelog = "https://github.com/prql/prql/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.asl20; - maintainers = [ ]; + maintainers = with lib.maintainers; [ hythera ]; }; }) diff --git a/pkgs/by-name/qb/qbittorrent-enhanced/package.nix b/pkgs/by-name/qb/qbittorrent-enhanced/package.nix index e24d83350063..dff0e8439e1b 100644 --- a/pkgs/by-name/qb/qbittorrent-enhanced/package.nix +++ b/pkgs/by-name/qb/qbittorrent-enhanced/package.nix @@ -7,13 +7,13 @@ (qbittorrent.override { inherit guiSupport; }).overrideAttrs (old: rec { pname = "qbittorrent-enhanced" + lib.optionalString (!guiSupport) "-nox"; - version = "5.1.3.10"; + version = "5.2.1.10"; src = fetchFromGitHub { owner = "c0re100"; repo = "qBittorrent-Enhanced-Edition"; rev = "release-${version}"; - hash = "sha256-yvH+qHmkAZf/fgpb4gNocZMcExyKs88e814peYK8Xd4="; + hash = "sha256-WTzNIK6/ePLHfGN8vqnhvoO4Sbq57oLB5//RPYeG5As="; }; meta = old.meta // { diff --git a/pkgs/by-name/qu/quicksand/package.nix b/pkgs/by-name/qu/quicksand/package.nix index 106f0bf90550..71fa36a6b2cb 100644 --- a/pkgs/by-name/qu/quicksand/package.nix +++ b/pkgs/by-name/qu/quicksand/package.nix @@ -2,6 +2,7 @@ lib, stdenvNoCC, fetchFromGitHub, + installFonts, }: stdenvNoCC.mkDerivation { @@ -16,16 +17,7 @@ stdenvNoCC.mkDerivation { sparseCheckout = [ "fonts" ]; }; - installPhase = '' - runHook preInstall - - mkdir -p $out/share/fonts/quicksand - - install -Dm444 fonts/*.ttf -t $out/share/fonts/quicksand/ - install -Dm444 fonts/statics/*.ttf -t $out/share/fonts/quicksand/ - - runHook postInstall - ''; + nativeBuildInputs = [ installFonts ]; meta = { homepage = "https://github.com/andrew-paglinawan/QuicksandFamily"; diff --git a/pkgs/by-name/rc/rclip/package.nix b/pkgs/by-name/rc/rclip/package.nix index bb34b57d342f..cc8950b3f2dd 100644 --- a/pkgs/by-name/rc/rclip/package.nix +++ b/pkgs/by-name/rc/rclip/package.nix @@ -6,45 +6,49 @@ }: python3Packages.buildPythonApplication (finalAttrs: { pname = "rclip"; - version = "2.1.6"; + version = "3.0.10"; pyproject = true; src = fetchFromGitHub { owner = "yurijmikhalevich"; repo = "rclip"; tag = "v${finalAttrs.version}"; - hash = "sha256-95OiG3I9S9eJHMYkRd9Y52XnCROFV98fvmUs4SRBF4s="; + hash = "sha256-FRsdZ0sM8Ato+v7239bZygZ98eYOQqiD0vLXa/+ybIg="; }; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "uv_build>=0.11.12,<0.12.0" uv_build + ''; + build-system = with python3Packages; [ - poetry-core + uv-build ]; dependencies = with python3Packages; [ + ftfy + huggingface-hub numpy - open-clip-torch + onnxruntime pillow pillow-heif + regex requests - torch - torchvision tqdm rawpy ]; pythonRelaxDeps = [ "numpy" - "open_clip_torch" "pillow" "rawpy" - "torch" - "torchvision" ]; pythonImportsCheck = [ "rclip" ]; nativeCheckInputs = [ versionCheckHook + python3Packages.jinja2 ] ++ (with python3Packages; [ pytestCheckHook ]); @@ -53,13 +57,6 @@ python3Packages.buildPythonApplication (finalAttrs: { "tests/e2e/test_rclip.py" ]; - disabledTests = [ - # requires network - "test_text_model_produces_the_same_vector_as_the_main_model" - "test_loads_text_model_when_text_processing_only_requested_and_checkpoint_exists" - "test_loads_full_model_when_text_processing_only_requested_and_checkpoint_doesnt_exist" - ]; - meta = { description = "AI-Powered Command-Line Photo Search Tool"; homepage = "https://github.com/yurijmikhalevich/rclip"; diff --git a/pkgs/by-name/rc/rcu/package.nix b/pkgs/by-name/rc/rcu/package.nix index 389126e2ce29..8432db8ced65 100644 --- a/pkgs/by-name/rc/rcu/package.nix +++ b/pkgs/by-name/rc/rcu/package.nix @@ -9,22 +9,17 @@ coreutils, desktopToDarwinBundle, gnutar, - libsForQt5, + qt6, makeDesktopItem, net-tools, protobuf, - python312Packages, + python3Packages, system-config-printer, wget, }: - -let - # shiboken2 is broken on Python > 3.12 - python3Packages = python312Packages; -in python3Packages.buildPythonApplication rec { pname = "rcu"; - version = "4.0.34"; + version = "5.1.0"; pyproject = false; @@ -32,7 +27,7 @@ python3Packages.buildPythonApplication rec { let src-tarball = requireFile { name = "rcu-${version}-source.tar.gz"; - hash = "sha256-9YhhsLqAcevjJmENWVWfA1ursPz3mgFz8mzLLSNlXVM="; + hash = "sha256-s5cqUu2hJEHpLVUwTbNYLQCNXMjv0vFGzQb041+XEqA="; url = "https://www.davisr.me/projects/rcu/"; meta = { # `requireFile` sets `lib.licenses.unfree` by default @@ -69,15 +64,16 @@ python3Packages.buildPythonApplication rec { nativeBuildInputs = [ copyDesktopItems protobuf - libsForQt5.wrapQtAppsHook + qt6.wrapQtAppsHook ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ]; buildInputs = [ - libsForQt5.qtbase - libsForQt5.qtwayland + qt6.qtbase + qt6.qtwayland + qt6.qtsvg ]; propagatedBuildInputs = with python3Packages; [ @@ -88,7 +84,7 @@ python3Packages.buildPythonApplication rec { pikepdf pillow python3Packages.protobuf # otherwise it picks up protobuf from function args - pyside2 + pyside6 ]; desktopItems = [ diff --git a/pkgs/by-name/ri/rink/package.nix b/pkgs/by-name/ri/rink/package.nix index 7048b12c028a..3496c374a769 100644 --- a/pkgs/by-name/ri/rink/package.nix +++ b/pkgs/by-name/ri/rink/package.nix @@ -13,17 +13,17 @@ }: rustPlatform.buildRustPackage (finalAttrs: { - version = "0.8.0"; + version = "0.9.0"; pname = "rink"; src = fetchFromGitHub { owner = "tiffany352"; repo = "rink-rs"; rev = "v${finalAttrs.version}"; - hash = "sha256-2+ZkyWhEnnO/QgCzWscbMr0u5kwdv2HqPLjtiXDfv/o="; + hash = "sha256-JRXRN/jOwM3j59ckOcIlbLdSvV9PFueOPs/EVHCF8JE="; }; - cargoHash = "sha256-XvtEXBsdxUMJJntzzKVbUIjg78JpwyuUlTm6J3huDPE="; + cargoHash = "sha256-qbMnJjJQbNqs6AAgMjtqPEMxIDxdF5a8/tWAVW0Vrig="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/sa/sandhole/package.nix b/pkgs/by-name/sa/sandhole/package.nix index 4db1fddb74da..33dda20b501c 100644 --- a/pkgs/by-name/sa/sandhole/package.nix +++ b/pkgs/by-name/sa/sandhole/package.nix @@ -1,6 +1,7 @@ { cmake, fetchFromGitHub, + installShellFiles, lib, lld, perl, @@ -10,19 +11,20 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "sandhole"; - version = "0.9.5"; + version = "0.10.0"; src = fetchFromGitHub { owner = "EpicEric"; repo = "sandhole"; tag = "v${finalAttrs.version}"; - hash = "sha256-l+9DcqAxrrjLxs/7KxY6QlfIAlwMVjQztt4lgJJMsyI="; + hash = "sha256-nOh9JRb1T85gEsQzd0BJqvR941QMoqeIjRFg4d8eASc="; }; - cargoHash = "sha256-euWvpEjSW2JeDysBul5eR4M27LwkRSZDlsp57lMBpAE="; + cargoHash = "sha256-EZxRKq5r5Cgp/WqcL1dY4ypf2K73YjaadqI5Tl+6Kec="; nativeBuildInputs = [ cmake + installShellFiles perl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ lld ]; @@ -35,6 +37,13 @@ rustPlatform.buildRustPackage (finalAttrs: { doInstallCheck = true; nativeInstallCheckInputs = [ versionCheckHook ]; + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd sandhole \ + --bash <($out/bin/sandhole --completions bash) \ + --fish <($out/bin/sandhole --completions fish) \ + --zsh <($out/bin/sandhole --completions zsh) + ''; + meta = { description = "Expose HTTP/SSH/TCP services through SSH port forwarding"; longDescription = '' diff --git a/pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix b/pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix index 9b0be766898d..815d1f762ff6 100644 --- a/pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix +++ b/pkgs/by-name/sd/sdl_gamecontrollerdb/package.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "sdl_gamecontrollerdb"; - version = "0-unstable-2026-05-28"; + version = "0-unstable-2026-06-07"; src = fetchFromGitHub { owner = "mdqinc"; repo = "SDL_GameControllerDB"; - rev = "cbdb3678270cf5bf14a127934fd7ab332ecd3cbc"; - hash = "sha256-bjsss+ifkCqJKzirqbBS5PtD80fG9JPY6yPiHsf9DO8="; + rev = "0499a01224c056cb915e9fcc1bac37aedbf2253c"; + hash = "sha256-DQUg/53TVECZFHEFDfJSI8c3kKQdpNS6ivjzStMuUcc="; }; dontBuild = true; diff --git a/pkgs/by-name/se/seaweedfs/package.nix b/pkgs/by-name/se/seaweedfs/package.nix index df8ae59e1a78..ee8bc2b23fd5 100644 --- a/pkgs/by-name/se/seaweedfs/package.nix +++ b/pkgs/by-name/se/seaweedfs/package.nix @@ -1,18 +1,15 @@ { buildGoModule, fetchFromGitHub, - iana-etc, installShellFiles, lib, - libredirect, - glibc, nix-update-script, stdenv, versionCheckHook, }: buildGoModule (finalAttrs: { pname = "seaweedfs"; - version = "4.24"; + version = "4.31"; src = fetchFromGitHub { owner = "seaweedfs"; @@ -25,26 +22,12 @@ buildGoModule (finalAttrs: { find "$out" -name .git -print0 | xargs -0 rm -rf popd ''; - hash = "sha256-PYVCoeO+EYZ87gNwd9r+wgkpoeLhKKmV8fOimKkqR6w"; + hash = "sha256-jhhLOjA+CXhtNyVHePT7dN3T5u5K3dHJj1gmxOh+RJU="; }; - postPatch = '' - # Remove unmaintained code that's not used and generates various issues. - rm -rf unmaintained - ''; + vendorHash = "sha256-eB5fkFDGOqw4q2iHe4acLfIx2/a1Ys1EmARGX/vIN84="; - vendorHash = "sha256-lTCfs/4FrICgb+uESM3XZBdinQw9Z0GrHkCIwmKSRh8"; - - buildInputs = [ - glibc.static - ]; - - nativeBuildInputs = [ - installShellFiles - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - libredirect.hook - ]; + nativeBuildInputs = [ installShellFiles ]; subPackages = [ "weed" ]; @@ -69,31 +52,14 @@ buildGoModule (finalAttrs: { }; preBuild = '' - export NIX_CFLAGS_LINK="-L${glibc.static}/lib" ldflags+=" -X \"github.com/seaweedfs/seaweedfs/weed/util/version.COMMIT=$(text(); auto addonsDirectory = m_addonsDirectory->text(); @@ -12,7 +12,7 @@ index 8a9b94d..919d4a5 100644 if (gamesDirectory.isEmpty() || !QDir(gamesDirectory).exists() || !QDir::isAbsolutePath(gamesDirectory)) { -@@ -167,6 +169,7 @@ void GameInstallDialog::Save() { +@@ -171,6 +171,7 @@ void GameInstallDialog::Save() { } } @@ -20,15 +20,15 @@ index 8a9b94d..919d4a5 100644 if (versionDirectory.isEmpty() || !QDir::isAbsolutePath(versionDirectory)) { QMessageBox::critical(this, tr("Error"), "The value for location to install emulator versions is not valid."); -@@ -181,11 +184,14 @@ void GameInstallDialog::Save() { +@@ -185,11 +188,14 @@ void GameInstallDialog::Save() { return; } } +#endif // Save the directories - Config::addGameInstallDir(Common::FS::PathFromQString(gamesDirectory)); - Config::setAddonInstallDir(Common::FS::PathFromQString(addonsDirectory)); + EmulatorSettings.AddGameInstallDir(Common::FS::PathFromQString(gamesDirectory)); + EmulatorSettings.SetAddonInstallDir(Common::FS::PathFromQString(addonsDirectory)); +#ifndef HIDE_VERSION_MANAGER m_gui_settings->SetValue(gui::vm_versionPath, versionDirectory); +#endif diff --git a/pkgs/by-name/sh/shadps4/package.nix b/pkgs/by-name/sh/shadps4/package.nix index a5820c0f0314..250bcf430d9a 100644 --- a/pkgs/by-name/sh/shadps4/package.nix +++ b/pkgs/by-name/sh/shadps4/package.nix @@ -1,6 +1,6 @@ { lib, - stdenv, + clangStdenv, fetchFromGitHub, makeWrapper, @@ -20,6 +20,7 @@ libunwind, libusb1, magic-enum, + minimp3, miniz, nlohmann_json, libgbm, @@ -52,15 +53,15 @@ nix-update-script, }: -stdenv.mkDerivation (finalAttrs: { +clangStdenv.mkDerivation (finalAttrs: { pname = "shadps4"; - version = "0.15.0"; + version = "0.16.0"; src = fetchFromGitHub { owner = "shadps4-emu"; repo = "shadPS4"; tag = "v.${finalAttrs.version}"; - hash = "sha256-76rbxOf4grDWPVILy8nF35wQ6/NcxHQkmiQOB0u4oJo="; + hash = "sha256-SavSUHtnJeRi2mzIyUhLfLk37Y/PSuI3bbbqWA7qVbg="; postCheckout = '' cd "$out" @@ -73,13 +74,16 @@ stdenv.mkDerivation (finalAttrs: { zydis \ sirit \ tracy \ - ext-libusb \ + libusb \ discord-rpc \ hwinfo \ openal-soft \ dear_imgui \ LibAtrac9 \ - aacdec/fdk-aac + aacdec/fdk-aac \ + spdlog \ + libressl \ + ImGuiFileDialog ''; }; @@ -90,10 +94,6 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail @GIT_BRANCH@ ${finalAttrs.version} \ --replace-fail @GIT_DESC@ nixpkgs \ --replace-fail @BUILD_DATE@ $(cat SOURCE_DATE_EPOCH) - - substituteInPlace src/core/libraries/np/trophy_ui.cpp \ - --replace-fail "MIX_SetMasterGain" "MIX_SetMixerGain" \ - --replace-fail "MIX_GetMasterGain" "MIX_GetMixerGain" ''; buildInputs = [ @@ -119,6 +119,7 @@ stdenv.mkDerivation (finalAttrs: { libxscrnsaver libxtst magic-enum + minimp3 miniz libgbm nlohmann_json diff --git a/pkgs/by-name/si/sif/package.nix b/pkgs/by-name/si/sif/package.nix index 115e3726e9ff..be7c7678278a 100644 --- a/pkgs/by-name/si/sif/package.nix +++ b/pkgs/by-name/si/sif/package.nix @@ -7,16 +7,16 @@ buildGoModule { pname = "sif"; - version = "0-unstable-2026-04-24"; + version = "0-unstable-2026-06-09"; src = fetchFromGitHub { owner = "vmfunc"; repo = "sif"; - rev = "bf802a7c0b83e7ba41b837fe9e1e3265e52d11f1"; - hash = "sha256-wkK3VCvpS2ETbAvgb5onsluLy1pXj0u8kpFy9AtvaBk="; + rev = "83ac92a4b82a0ab92257c580c9b6a3b82ab66af9"; + hash = "sha256-VeURSRwvuh+VJd94mG2F8wQWD6NIitxqwRQr3IJ0QzU="; }; - vendorHash = "sha256-1U8LV5ZVQkMZUK282FE42RRXdWz7HcpzOK03mA0f0r0="; + vendorHash = "sha256-fR63/dStMsZon22vancuLWIAvZiEYMLjMwY1kmRDNgM="; subPackages = [ "cmd/sif" ]; diff --git a/pkgs/by-name/si/sirikali/package.nix b/pkgs/by-name/si/sirikali/package.nix index 6e9421881eb4..e5515c04c595 100644 --- a/pkgs/by-name/si/sirikali/package.nix +++ b/pkgs/by-name/si/sirikali/package.nix @@ -9,7 +9,6 @@ qt6, kdePackages, cryfs, - encfs, fscrypt-experimental, gocryptfs, sshfs, @@ -49,7 +48,6 @@ stdenv.mkDerivation (finalAttrs: { "--prefix PATH : ${ lib.makeBinPath [ cryfs - encfs fscrypt-experimental gocryptfs sshfs @@ -67,7 +65,7 @@ stdenv.mkDerivation (finalAttrs: { ]; meta = { - description = "Qt/C++ GUI front end to sshfs, ecryptfs-simple, cryfs, gocryptfs, fscrypt and encfs"; + description = "Qt/C++ GUI front end to sshfs, ecryptfs-simple, cryfs, gocryptfs and fscrypt"; homepage = "https://github.com/mhogomchungu/sirikali"; changelog = "https://github.com/mhogomchungu/sirikali/blob/${finalAttrs.src.rev}/changelog"; license = lib.licenses.gpl3Only; diff --git a/pkgs/by-name/sq/sqlpage/package.nix b/pkgs/by-name/sq/sqlpage/package.nix index 6c536a67edc3..fdbd7b080e6f 100644 --- a/pkgs/by-name/sq/sqlpage/package.nix +++ b/pkgs/by-name/sq/sqlpage/package.nix @@ -11,15 +11,15 @@ let apexcharts = { - url = "https://cdn.jsdelivr.net/npm/apexcharts@5.3.6/dist/apexcharts.min.js"; - hash = "sha256-qNJtESJROYHRKwS/u3zdu4Fev69db17hKHZvrqGiqRs="; + url = "https://cdn.jsdelivr.net/npm/apexcharts@5.13.0/dist/apexcharts.min.js"; + hash = "sha256-DgRUn+X1cxT0z5O+QcrX48NuVrY1KhoCmHPvVZAvS8k="; }; tablerCss = { url = "https://cdn.jsdelivr.net/npm/@tabler/core@1.4.0/dist/css/tabler.min.css"; hash = "sha256-fvdQvRBUamldCxJ2etgEi9jz7F3n2u+xBn+dDao9HJo="; }; tomSelectCss = { - url = "https://cdn.jsdelivr.net/npm/tom-select@2.4.3/dist/css/tom-select.bootstrap5.css"; + url = "https://cdn.jsdelivr.net/npm/tom-select@2.6.1/dist/css/tom-select.bootstrap5.css"; hash = "sha256-vW5UjM/Ka9/jIY8I5s5KcudaTRWh/cCGE1ZUsrJvlI0="; }; tablerVendorsCss = { @@ -31,24 +31,24 @@ let hash = "sha256-tgx2Fg6XYkV027jPEKvmrummSTtgCW/fwV3R3SvZnrk="; }; tablerIcons = { - url = "https://cdn.jsdelivr.net/npm/@tabler/icons-sprite@3.34.0/dist/tabler-sprite.svg"; - hash = "sha256-pCPkhrx0GnPg5/EthJ7pLdMxb7wbYMJ0R7WchDcffpg="; + url = "https://cdn.jsdelivr.net/npm/@tabler/icons-sprite@3.44.0/dist/tabler-sprite.svg"; + hash = "sha256-aHeH8IGC75mepyW2gj/aYrW7LCEtjobwxvGnVp5j3Uc="; }; tomselect = { - url = "https://cdn.jsdelivr.net/npm/tom-select@2.4.1/dist/js/tom-select.popular.min.js"; - hash = "sha256-Cb1Xmb9qQO8I1mMVkz4t2bT8l7HX+1JeKncGBSytSHQ="; + url = "https://cdn.jsdelivr.net/npm/tom-select@2.6.1/dist/js/tom-select.popular.min.js"; + hash = "sha256-KmjMBvL4Ni3AYc9OCi9xSEuamESyLEBL4B2gzFrWPGE="; }; in rustPlatform.buildRustPackage (finalAttrs: { pname = "sqlpage"; - version = "0.41.0"; + version = "0.44.0"; src = fetchFromGitHub { - owner = "lovasoa"; + owner = "sqlpage"; repo = "SQLpage"; tag = "v${finalAttrs.version}"; - hash = "sha256-rUij1nhXcLEwdUUVpKoUbgNqV47TvmMCEds4ihP9QL4="; + hash = "sha256-qhfJHzPUBQZ6GKGet/6IZfU5zjKXqDxftJX3ylVwOQE="; }; postPatch = '' @@ -72,11 +72,11 @@ rustPlatform.buildRustPackage (finalAttrs: { --replace-fail '/* !include ${tomselect.url} */' \ "$(cat ${fetchurl tomselect})" substituteInPlace build.rs \ - --replace-fail "https://cdn.jsdelivr.net/npm/@tabler/icons-sprite@3.35.0/dist/tabler-sprite.svg" "${fetchurl tablerIcons}" \ + --replace-fail "${tablerIcons.url}" "${fetchurl tablerIcons}" \ --replace-fail "copy_url_to_opened_file(&client, sprite_url, &mut sprite_content).await;" "sprite_content = std::fs::read(sprite_url).unwrap();" ''; - cargoHash = "sha256-jyhvhViPz/tj76mvmaIih4LaCH+ODFa8gs0/MTYbuQg="; + cargoHash = "sha256-VNKRXzy9TQdNlk/kEfFKBEWALP/r+hBcd32n6bwK/J0="; nativeBuildInputs = [ pkg-config ]; @@ -92,10 +92,10 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "SQL-only webapp builder, empowering data analysts to build websites and applications quickly"; - homepage = "https://github.com/lovasoa/SQLpage"; - changelog = "https://github.com/lovasoa/SQLpage/blob/${finalAttrs.src.rev}/CHANGELOG.md"; + homepage = "https://github.com/sqlpage/SQLpage"; + changelog = "https://github.com/sqlpage/SQLpage/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.mit; - maintainers = [ ]; + maintainers = with lib.maintainers; [ hythera ]; mainProgram = "sqlpage"; }; }) diff --git a/pkgs/by-name/su/sure/package.nix b/pkgs/by-name/su/sure/package.nix new file mode 100644 index 000000000000..0aafb55ad92c --- /dev/null +++ b/pkgs/by-name/su/sure/package.nix @@ -0,0 +1,98 @@ +{ + applyPatches, + lib, + bundlerEnv, + fetchFromGitHub, + ruby_3_4, + stdenv, + tailwindcss_4, +}: +let + sources = lib.importJSON ./sources.json; + inherit (sources) version; + + src = applyPatches { + src = fetchFromGitHub { + inherit (sources) + owner + repo + hash + ; + tag = sources.version; + }; + postPatch = '' + cp -f ${./rubyEnv/Gemfile} ./Gemfile + cp -f ${./rubyEnv/Gemfile.lock} ./Gemfile.lock + ''; + }; + + rubyEnv = bundlerEnv rec { + name = "sure-ruby-env-${version}"; + ruby = ruby_3_4; + inherit version; + gemdir = src; + gemset = ./rubyEnv/gemset.nix; + }; +in +stdenv.mkDerivation rec { + pname = "sure"; + inherit src version; + + strictDeps = true; + __structuredAttrs = true; + + env = { + RAILS_ENV = "production"; + TAILWINDCSS_INSTALL_DIR = "${tailwindcss_4}/bin"; + }; + + nativeBuildInputs = [ + rubyEnv + rubyEnv.wrappedRuby + ]; + + buildInputs = [ + rubyEnv.wrappedRuby + ]; + + buildPhase = '' + runHook preBuild + patchShebangs bin/ + + bundle exec bootsnap precompile --gemfile -j 0 + bundle exec bootsnap precompile -j 0 app/ lib/ + + SECRET_KEY_BASE_DUMMY=1 bundle exec rake assets:precompile + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp -r {public,bin,app,config,db,lib,vendor} $out/ + cp -r {Rakefile,config.ru} $out/ + + ln -s /run/sure/tmp $out/tmp + ln -s /run/sure/log $out/log + ln -s /run/sure/storage $out/storage + + runHook postInstall + ''; + + passthru = { + updateScript = ./update.sh; + }; + + meta = { + changelog = "https://github.com/we-promise/sure/releases/tag/v${version}"; + description = "Personal finance app for everyone"; + homepage = "https://sure.am/"; + license = lib.licenses.agpl3Only; + maintainers = with lib.maintainers; [ + pjrm + ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/by-name/su/sure/rubyEnv/Gemfile b/pkgs/by-name/su/sure/rubyEnv/Gemfile new file mode 100644 index 000000000000..ff5e6139100e --- /dev/null +++ b/pkgs/by-name/su/sure/rubyEnv/Gemfile @@ -0,0 +1,146 @@ +source "https://rubygems.org" + +ruby ">=3.4.7" + +# Rails +gem "rails", "~> 7.2.2" + +# Drivers +gem "pg", "~> 1.5" +gem "redis", "~> 5.4" + +# Deployment +gem "puma", ">= 5.0" +gem "bootsnap", require: false + +# Assets +gem "importmap-rails" +gem "propshaft" +gem "tailwindcss-rails" +gem "lucide-rails" + +# Hotwire + UI +gem "stimulus-rails" +gem "turbo-rails" +gem "view_component" + +# https://github.com/lookbook-hq/lookbook/issues/712 +# TODO: Remove max version constraint when fixed +gem "lookbook", "2.3.11" + +gem "hotwire_combobox" + +# Background Jobs +gem "connection_pool", "~> 2.5" # pin to 2.x; 3.0 breaks sidekiq 8.x +gem "sidekiq" +gem "sidekiq-cron" +gem "sidekiq-unique-jobs" + +# Monitoring +gem "vernier" +gem "rack-mini-profiler" +gem "sentry-ruby" +gem "sentry-rails" +gem "sentry-sidekiq" +gem "posthog-ruby" +gem "logtail-rails" +gem "skylight", groups: [ :production ] + +# Active Storage +gem "aws-sdk-s3", "~> 1.208.0", require: false +gem "google-cloud-storage", "~> 1.59", require: false +gem "image_processing", ">= 1.2" + +# Other +gem "ostruct" +gem "bcrypt", "~> 3.1" +gem "jwt" +gem "ed25519" # For Coinbase CDP API authentication +gem "jbuilder" +gem "countries" + +# OAuth & API Security +gem "doorkeeper" +gem "rack-attack", "~> 6.6" +gem "rack-cors" +gem "pundit" +gem "faraday" +gem "faraday-retry" +gem "faraday-multipart" +gem "inline_svg" +gem "octokit" +gem "pagy" +gem "rails-i18n" +gem "rails-settings-cached" +gem "tzinfo-data" +gem "csv" +gem "rchardet" # Character encoding detection +gem "redcarpet" +gem "stripe" +gem "plaid" +gem "snaptrade", "~> 2.0" +gem "httparty" +gem "rotp", "~> 6.3" +gem "rqrcode", "~> 3.0" +gem "webauthn", "~> 3.4" +gem "activerecord-import" +gem "rubyzip", "~> 2.3" +gem "pdf-reader", "~> 2.12" + +# OpenID Connect, OAuth & SAML authentication +gem "omniauth", "~> 2.1" +gem "omniauth-rails_csrf_protection" +gem "omniauth_openid_connect" +gem "omniauth-google-oauth2" +gem "omniauth-github" +gem "omniauth-saml", "~> 2.1" + +# State machines +gem "aasm" +gem "after_commit_everywhere", "~> 1.0" + +# AI +gem "ruby-openai" +gem "langfuse-ruby", "~> 0.1.4", require: "langfuse" + +group :development, :test do + gem "debug" + gem "brakeman", require: false + gem "rubocop-rails-omakase", require: false + gem "i18n-tasks" + gem "erb_lint" + gem "dotenv-rails" +end + +if ENV["BENCHMARKING_ENABLED"] + gem "dotenv-rails", groups: [ :production ] +end + +group :development do + gem "hotwire-livereload" + gem "letter_opener" + gem "ruby-lsp-rails" + gem "web-console" + gem "faker" + gem "benchmark-ips" + gem "stackprof" + gem "derailed_benchmarks" + gem "foreman" +end + +group :development, :test do + gem "rspec-rails" + gem "rswag-api" + gem "rswag-specs" + gem "rswag-ui" +end + +group :test do + gem "capybara" + gem "selenium-webdriver" + gem "mocha" + gem "vcr" + gem "webmock" + gem "climate_control" + gem "simplecov", require: false +end diff --git a/pkgs/by-name/su/sure/rubyEnv/Gemfile.lock b/pkgs/by-name/su/sure/rubyEnv/Gemfile.lock new file mode 100644 index 000000000000..44c6e6a44bf1 --- /dev/null +++ b/pkgs/by-name/su/sure/rubyEnv/Gemfile.lock @@ -0,0 +1,969 @@ +GEM + remote: https://rubygems.org/ + specs: + Ascii85 (2.0.1) + aasm (5.5.1) + concurrent-ruby (~> 1.0) + actioncable (7.2.3.1) + actionpack (= 7.2.3.1) + activesupport (= 7.2.3.1) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + zeitwerk (~> 2.6) + actionmailbox (7.2.3.1) + actionpack (= 7.2.3.1) + activejob (= 7.2.3.1) + activerecord (= 7.2.3.1) + activestorage (= 7.2.3.1) + activesupport (= 7.2.3.1) + mail (>= 2.8.0) + actionmailer (7.2.3.1) + actionpack (= 7.2.3.1) + actionview (= 7.2.3.1) + activejob (= 7.2.3.1) + activesupport (= 7.2.3.1) + mail (>= 2.8.0) + rails-dom-testing (~> 2.2) + actionpack (7.2.3.1) + actionview (= 7.2.3.1) + activesupport (= 7.2.3.1) + cgi + nokogiri (>= 1.8.5) + racc + rack (>= 2.2.4, < 3.3) + rack-session (>= 1.0.1) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + useragent (~> 0.16) + actiontext (7.2.3.1) + actionpack (= 7.2.3.1) + activerecord (= 7.2.3.1) + activestorage (= 7.2.3.1) + activesupport (= 7.2.3.1) + globalid (>= 0.6.0) + nokogiri (>= 1.8.5) + actionview (7.2.3.1) + activesupport (= 7.2.3.1) + builder (~> 3.1) + cgi + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + activejob (7.2.3.1) + activesupport (= 7.2.3.1) + globalid (>= 0.3.6) + activemodel (7.2.3.1) + activesupport (= 7.2.3.1) + activerecord (7.2.3.1) + activemodel (= 7.2.3.1) + activesupport (= 7.2.3.1) + timeout (>= 0.4.0) + activerecord-import (2.2.0) + activerecord (>= 4.2) + activestorage (7.2.3.1) + actionpack (= 7.2.3.1) + activejob (= 7.2.3.1) + activerecord (= 7.2.3.1) + activesupport (= 7.2.3.1) + marcel (~> 1.0) + activesupport (7.2.3.1) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1, < 6) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + aes_key_wrap (1.1.0) + afm (1.0.0) + after_commit_everywhere (1.6.0) + activerecord (>= 4.2) + activesupport + android_key_attestation (0.3.0) + ast (2.4.3) + attr_required (1.0.2) + aws-eventstream (1.4.0) + aws-partitions (1.1196.0) + aws-sdk-core (3.240.0) + aws-eventstream (~> 1, >= 1.3.0) + aws-partitions (~> 1, >= 1.992.0) + aws-sigv4 (~> 1.9) + base64 + bigdecimal + jmespath (~> 1, >= 1.6.1) + logger + aws-sdk-kms (1.118.0) + aws-sdk-core (~> 3, >= 3.239.1) + aws-sigv4 (~> 1.5) + aws-sdk-s3 (1.208.0) + aws-sdk-core (~> 3, >= 3.234.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.5) + aws-sigv4 (1.12.1) + aws-eventstream (~> 1, >= 1.0.2) + base64 (0.3.0) + bcrypt (3.1.22) + benchmark (0.5.0) + benchmark-ips (2.14.0) + better_html (2.1.1) + actionview (>= 6.0) + activesupport (>= 6.0) + ast (~> 2.0) + erubi (~> 1.4) + parser (>= 2.4) + smart_properties + bigdecimal (3.3.1) + bindata (2.5.1) + bindex (0.8.1) + bootsnap (1.18.6) + msgpack (~> 1.2) + brakeman (7.1.2) + racc + builder (3.3.0) + capybara (3.40.0) + addressable + matrix + mini_mime (>= 0.1.3) + nokogiri (~> 1.11) + rack (>= 1.6.0) + rack-test (>= 0.6.3) + regexp_parser (>= 1.5, < 3.0) + xpath (~> 3.2) + cbor (0.5.10.2) + cgi (0.5.1) + childprocess (5.1.0) + logger (~> 1.5) + chunky_png (1.4.0) + climate_control (1.2.0) + concurrent-ruby (1.3.6) + connection_pool (2.5.5) + cose (1.3.1) + cbor (~> 0.5.9) + openssl-signature_algorithm (~> 1.0) + countries (8.0.3) + unaccent (~> 0.3) + crack (1.0.0) + bigdecimal + rexml + crass (1.0.6) + cronex (0.15.0) + tzinfo + unicode (>= 0.4.4.5) + css_parser (1.21.1) + addressable + csv (3.3.5) + date (3.4.1) + debug (1.11.0) + irb (~> 1.10) + reline (>= 0.3.8) + declarative (0.0.20) + derailed_benchmarks (2.2.1) + base64 + benchmark-ips (~> 2) + bigdecimal + drb + get_process_mem + heapy (~> 0) + logger + memory_profiler (>= 0, < 2) + mini_histogram (>= 0.3.0) + mutex_m + ostruct + rack (>= 1) + rack-test + rake (> 10, < 14) + ruby-statistics (>= 4.0.1) + ruby2_keywords + thor (>= 0.19, < 2) + diff-lcs (1.6.2) + digest-crc (0.7.0) + rake (>= 12.0.0, < 14.0.0) + docile (1.4.1) + doorkeeper (5.8.2) + railties (>= 5) + dotenv (3.1.8) + dotenv-rails (3.1.8) + dotenv (= 3.1.8) + railties (>= 6.1) + drb (2.2.3) + ed25519 (1.4.0) + email_validator (2.2.4) + activemodel + erb (5.0.1) + erb_lint (0.9.0) + activesupport + better_html (>= 2.0.1) + parser (>= 2.7.1.4) + rainbow + rubocop (>= 1) + smart_properties + erubi (1.13.1) + et-orbi (1.2.11) + tzinfo + event_stream_parser (1.0.0) + faker (3.5.2) + i18n (>= 1.8.11, < 2) + faraday (2.14.1) + faraday-net_http (>= 2.0, < 3.5) + json + logger + faraday-follow_redirects (0.3.0) + faraday (>= 1, < 3) + faraday-multipart (1.1.1) + multipart-post (~> 2.0) + faraday-net_http (3.4.2) + net-http (~> 0.5) + faraday-retry (2.3.2) + faraday (~> 2.0) + ffi (1.17.2) + ffi (1.17.2-aarch64-linux-gnu) + ffi (1.17.2-aarch64-linux-musl) + ffi (1.17.2-arm-linux-gnu) + ffi (1.17.2-arm-linux-musl) + ffi (1.17.2-arm64-darwin) + ffi (1.17.2-x86_64-darwin) + ffi (1.17.2-x86_64-linux-gnu) + ffi (1.17.2-x86_64-linux-musl) + foreman (0.88.1) + fugit (1.11.1) + et-orbi (~> 1, >= 1.2.11) + raabro (~> 1.4) + get_process_mem (1.0.0) + bigdecimal (>= 2.0) + ffi (~> 1.0) + globalid (1.3.0) + activesupport (>= 6.1) + google-apis-core (1.0.2) + addressable (~> 2.8, >= 2.8.7) + faraday (~> 2.13) + faraday-follow_redirects (~> 0.3) + googleauth (~> 1.14) + mini_mime (~> 1.1) + representable (~> 3.0) + retriable (~> 3.1) + google-apis-iamcredentials_v1 (0.26.0) + google-apis-core (>= 0.15.0, < 2.a) + google-apis-storage_v1 (0.61.0) + google-apis-core (>= 0.15.0, < 2.a) + google-cloud-core (1.8.0) + google-cloud-env (>= 1.0, < 3.a) + google-cloud-errors (~> 1.0) + google-cloud-env (2.3.1) + base64 (~> 0.2) + faraday (>= 1.0, < 3.a) + google-cloud-errors (1.6.0) + google-cloud-storage (1.59.0) + addressable (~> 2.8) + digest-crc (~> 0.4) + google-apis-core (>= 0.18, < 2) + google-apis-iamcredentials_v1 (~> 0.18) + google-apis-storage_v1 (>= 0.42) + google-cloud-core (~> 1.6) + googleauth (~> 1.9) + mini_mime (~> 1.0) + google-logging-utils (0.2.0) + googleauth (1.16.2) + faraday (>= 1.0, < 3.a) + google-cloud-env (~> 2.2) + google-logging-utils (~> 0.1) + jwt (>= 1.4, < 4.0) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (>= 0.16, < 2.a) + hashdiff (1.2.0) + hashery (2.1.2) + hashie (5.0.0) + heapy (0.2.0) + thor + highline (3.1.2) + reline + hotwire-livereload (2.0.0) + actioncable (>= 7.0.0) + listen (>= 3.0.0) + railties (>= 7.0.0) + hotwire_combobox (0.4.0) + platform_agent (>= 1.0.1) + rails (>= 7.0.7.2) + stimulus-rails (>= 1.2) + turbo-rails (>= 1.2) + htmlbeautifier (1.4.3) + htmlentities (4.3.4) + httparty (0.24.0) + csv + mini_mime (>= 1.0.0) + multi_xml (>= 0.5.2) + i18n (1.14.8) + concurrent-ruby (~> 1.0) + i18n-tasks (1.0.15) + activesupport (>= 4.0.2) + ast (>= 2.1.0) + erubi + highline (>= 2.0.0) + i18n + parser (>= 3.2.2.1) + rails-i18n + rainbow (>= 2.2.2, < 4.0) + ruby-progressbar (~> 1.8, >= 1.8.1) + terminal-table (>= 1.5.1) + image_processing (1.14.0) + mini_magick (>= 4.9.5, < 6) + ruby-vips (>= 2.0.17, < 3) + importmap-rails (2.1.0) + actionpack (>= 6.0.0) + activesupport (>= 6.0.0) + railties (>= 6.0.0) + inline_svg (1.10.0) + activesupport (>= 3.0) + nokogiri (>= 1.6) + io-console (0.8.0) + irb (1.15.2) + pp (>= 0.6.0) + rdoc (>= 4.0.0) + reline (>= 0.4.2) + jbuilder (2.13.0) + actionview (>= 5.0.0) + activesupport (>= 5.0.0) + jmespath (1.6.2) + json (2.19.2) + json-jwt (1.16.7) + activesupport (>= 4.2) + aes_key_wrap + base64 + bindata + faraday (~> 2.0) + faraday-follow_redirects + json-schema (5.2.2) + addressable (~> 2.8) + bigdecimal (~> 3.1) + jwt (2.10.2) + base64 + langfuse-ruby (0.1.4) + concurrent-ruby (~> 1.0) + faraday (>= 1.8, < 3.0) + faraday-net_http (>= 1.0, < 4.0) + json (~> 2.0) + language_server-protocol (3.17.0.5) + launchy (3.1.1) + addressable (~> 2.8) + childprocess (~> 5.0) + logger (~> 1.6) + letter_opener (1.10.0) + launchy (>= 2.2, < 4) + lint_roller (1.1.0) + listen (3.9.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + logger (1.7.0) + logtail (0.1.17) + msgpack (~> 1.0) + logtail-rack (0.2.6) + logtail (~> 0.1) + rack (>= 1.2, < 4.0) + logtail-rails (0.2.10) + actionpack (>= 5.0.0) + activerecord (>= 5.0.0) + logtail (~> 0.1, >= 0.1.14) + logtail-rack (~> 0.1) + railties (>= 5.0.0) + loofah (2.25.1) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) + lookbook (2.3.11) + activemodel + css_parser + htmlbeautifier (~> 1.3) + htmlentities (~> 4.3.4) + marcel (~> 1.0) + railties (>= 5.0) + redcarpet (~> 3.5) + rouge (>= 3.26, < 5.0) + view_component (>= 2.0) + yard (~> 0.9) + zeitwerk (~> 2.5) + lucide-rails (0.7.3) + railties (>= 4.1.0) + mail (2.8.1) + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.1.0) + matrix (0.4.2) + memory_profiler (1.1.0) + method_source (1.1.0) + mini_histogram (0.3.1) + mini_magick (5.2.0) + benchmark + logger + mini_mime (1.1.5) + mini_portile2 (2.8.9) + minitest (5.27.0) + mocha (2.7.1) + ruby2_keywords (>= 0.0.5) + msgpack (1.8.0) + multi_json (1.20.1) + multi_xml (0.8.0) + bigdecimal (>= 3.1, < 5) + multipart-post (2.4.1) + mutex_m (0.3.0) + net-http (0.9.1) + uri (>= 0.11.1) + net-imap (0.5.8) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.2) + timeout + net-smtp (0.5.1) + net-protocol + nio4r (2.7.4) + nokogiri (1.19.2) + mini_portile2 (~> 2.8.2) + racc (~> 1.4) + nokogiri (1.19.2-aarch64-linux-gnu) + racc (~> 1.4) + nokogiri (1.19.2-aarch64-linux-musl) + racc (~> 1.4) + nokogiri (1.19.2-arm-linux-gnu) + racc (~> 1.4) + nokogiri (1.19.2-arm-linux-musl) + racc (~> 1.4) + nokogiri (1.19.2-arm64-darwin) + racc (~> 1.4) + nokogiri (1.19.2-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.19.2-x86_64-linux-gnu) + racc (~> 1.4) + nokogiri (1.19.2-x86_64-linux-musl) + racc (~> 1.4) + oauth2 (2.0.18) + faraday (>= 0.17.3, < 4.0) + jwt (>= 1.0, < 4.0) + logger (~> 1.2) + multi_xml (~> 0.5) + rack (>= 1.2, < 4) + snaky_hash (~> 2.0, >= 2.0.3) + version_gem (~> 1.1, >= 1.1.9) + octokit (10.0.0) + faraday (>= 1, < 3) + sawyer (~> 0.9) + omniauth (2.1.3) + hashie (>= 3.4.6) + rack (>= 2.2.3) + rack-protection + omniauth-github (2.0.1) + omniauth (~> 2.0) + omniauth-oauth2 (~> 1.8) + omniauth-google-oauth2 (1.2.1) + jwt (>= 2.9.2) + oauth2 (~> 2.0) + omniauth (~> 2.0) + omniauth-oauth2 (~> 1.8) + omniauth-oauth2 (1.8.0) + oauth2 (>= 1.4, < 3) + omniauth (~> 2.0) + omniauth-rails_csrf_protection (1.0.2) + actionpack (>= 4.2) + omniauth (~> 2.0) + omniauth-saml (2.2.4) + omniauth (~> 2.1) + ruby-saml (~> 1.18) + omniauth_openid_connect (0.8.0) + omniauth (>= 1.9, < 3) + openid_connect (~> 2.2) + openid_connect (2.3.1) + activemodel + attr_required (>= 1.0.0) + email_validator + faraday (~> 2.0) + faraday-follow_redirects + json-jwt (>= 1.16) + mail + rack-oauth2 (~> 2.2) + swd (~> 2.0) + tzinfo + validate_url + webfinger (~> 2.0) + openssl (4.0.1) + openssl-signature_algorithm (1.3.0) + openssl (> 2.0) + os (1.1.4) + ostruct (0.6.2) + pagy (9.3.5) + parallel (1.27.0) + parser (3.3.10.2) + ast (~> 2.4.1) + racc + pdf-reader (2.15.1) + Ascii85 (>= 1.0, < 3.0, != 2.0.0) + afm (>= 0.2.1, < 2) + hashery (~> 2.0) + ruby-rc4 + ttfunk + pg (1.5.9) + plaid (41.0.0) + faraday (>= 1.0.1, < 3.0) + faraday-multipart (>= 1.0.1, < 2.0) + platform_agent (1.0.1) + activesupport (>= 5.2.0) + useragent (~> 0.16.3) + posthog-ruby (3.3.3) + concurrent-ruby (~> 1) + pp (0.6.2) + prettyprint + prettyprint (0.2.0) + prism (1.4.0) + propshaft (1.1.0) + actionpack (>= 7.0.0) + activesupport (>= 7.0.0) + rack + railties (>= 7.0.0) + psych (5.2.6) + date + stringio + public_suffix (6.0.2) + puma (6.6.0) + nio4r (~> 2.0) + pundit (2.5.2) + activesupport (>= 3.0.0) + raabro (1.4.0) + racc (1.8.1) + rack (3.2.6) + rack-attack (6.7.0) + rack (>= 1.0, < 4) + rack-cors (3.0.0) + logger + rack (>= 3.0.14) + rack-mini-profiler (4.0.0) + rack (>= 1.2.0) + rack-oauth2 (2.2.1) + activesupport + attr_required + faraday (~> 2.0) + faraday-follow_redirects + json-jwt (>= 1.11.0) + rack (>= 2.1.0) + rack-protection (4.1.1) + base64 (>= 0.1.0) + logger (>= 1.6.0) + rack (>= 3.0.0, < 4) + rack-session (2.1.2) + base64 (>= 0.1.0) + rack (>= 3.0.0) + rack-test (2.2.0) + rack (>= 1.3) + rackup (2.2.1) + rack (>= 3) + rails (7.2.3.1) + actioncable (= 7.2.3.1) + actionmailbox (= 7.2.3.1) + actionmailer (= 7.2.3.1) + actionpack (= 7.2.3.1) + actiontext (= 7.2.3.1) + actionview (= 7.2.3.1) + activejob (= 7.2.3.1) + activemodel (= 7.2.3.1) + activerecord (= 7.2.3.1) + activestorage (= 7.2.3.1) + activesupport (= 7.2.3.1) + bundler (>= 1.15.0) + railties (= 7.2.3.1) + rails-dom-testing (2.3.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.7.0) + loofah (~> 2.25) + nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) + rails-i18n (7.0.10) + i18n (>= 0.7, < 2) + railties (>= 6.0.0, < 8) + rails-settings-cached (2.9.6) + activerecord (>= 5.0.0) + railties (>= 5.0.0) + railties (7.2.3.1) + actionpack (= 7.2.3.1) + activesupport (= 7.2.3.1) + cgi + irb (~> 1.13) + rackup (>= 1.0.0) + rake (>= 12.2) + thor (~> 1.0, >= 1.2.2) + tsort (>= 0.2) + zeitwerk (~> 2.6) + rainbow (3.1.1) + rake (13.3.0) + rb-fsevent (0.11.2) + rb-inotify (0.11.1) + ffi (~> 1.0) + rbs (3.9.4) + logger + rchardet (1.10.0) + rdoc (6.14.2) + erb + psych (>= 4.0.0) + redcarpet (3.6.1) + redis (5.4.0) + redis-client (>= 0.22.0) + redis-client (0.25.0) + connection_pool + regexp_parser (2.10.0) + reline (0.6.1) + io-console (~> 0.5) + representable (3.2.0) + declarative (< 0.1.0) + trailblazer-option (>= 0.1.1, < 0.2.0) + uber (< 0.2.0) + retriable (3.4.1) + rexml (3.4.2) + rotp (6.3.0) + rouge (4.5.2) + rqrcode (3.1.0) + chunky_png (~> 1.0) + rqrcode_core (~> 2.0) + rqrcode_core (2.0.0) + rspec-core (3.13.6) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.5) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.6) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.13.0) + rspec-rails (8.0.2) + actionpack (>= 7.2) + activesupport (>= 7.2) + railties (>= 7.2) + rspec-core (~> 3.13) + rspec-expectations (~> 3.13) + rspec-mocks (~> 3.13) + rspec-support (~> 3.13) + rspec-support (3.13.6) + rswag-api (2.16.0) + activesupport (>= 5.2, < 8.1) + railties (>= 5.2, < 8.1) + rswag-specs (2.16.0) + activesupport (>= 5.2, < 8.1) + json-schema (>= 2.2, < 6.0) + railties (>= 5.2, < 8.1) + rspec-core (>= 2.14) + rswag-ui (2.16.0) + actionpack (>= 5.2, < 8.1) + railties (>= 5.2, < 8.1) + rubocop (1.76.1) + json (~> 2.3) + language_server-protocol (~> 3.17.0.2) + lint_roller (~> 1.1.0) + parallel (~> 1.10) + parser (>= 3.3.0.2) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 2.9.3, < 3.0) + rubocop-ast (>= 1.45.0, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 4.0) + rubocop-ast (1.45.1) + parser (>= 3.3.7.2) + prism (~> 1.4) + rubocop-performance (1.25.0) + lint_roller (~> 1.1) + rubocop (>= 1.75.0, < 2.0) + rubocop-ast (>= 1.38.0, < 2.0) + rubocop-rails (2.32.0) + activesupport (>= 4.2.0) + lint_roller (~> 1.1) + rack (>= 1.1) + rubocop (>= 1.75.0, < 2.0) + rubocop-ast (>= 1.44.0, < 2.0) + rubocop-rails-omakase (1.1.0) + rubocop (>= 1.72) + rubocop-performance (>= 1.24) + rubocop-rails (>= 2.30) + ruby-lsp (0.26.9) + language_server-protocol (~> 3.17.0) + prism (>= 1.2, < 2.0) + rbs (>= 3, < 5) + ruby-lsp-rails (0.4.8) + ruby-lsp (>= 0.26.0, < 0.27.0) + ruby-openai (8.1.0) + event_stream_parser (>= 0.3.0, < 2.0.0) + faraday (>= 1) + faraday-multipart (>= 1) + ruby-progressbar (1.13.0) + ruby-rc4 (0.1.5) + ruby-saml (1.18.1) + nokogiri (>= 1.13.10) + rexml + ruby-statistics (4.1.0) + ruby-vips (2.2.4) + ffi (~> 1.12) + logger + ruby2_keywords (0.0.5) + rubyzip (2.4.1) + safety_net_attestation (0.5.0) + jwt (>= 2.0, < 4.0) + sawyer (0.9.2) + addressable (>= 2.3.5) + faraday (>= 0.17.3, < 3) + securerandom (0.4.1) + selenium-webdriver (4.34.0) + base64 (~> 0.2) + logger (~> 1.4) + rexml (~> 3.2, >= 3.2.5) + rubyzip (>= 1.2.2, < 3.0) + websocket (~> 1.0) + sentry-rails (5.26.0) + railties (>= 5.0) + sentry-ruby (~> 5.26.0) + sentry-ruby (5.26.0) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.0.2) + sentry-sidekiq (5.26.0) + sentry-ruby (~> 5.26.0) + sidekiq (>= 3.0) + sidekiq (8.0.5) + connection_pool (>= 2.5.0) + json (>= 2.9.0) + logger (>= 1.6.2) + rack (>= 3.1.0) + redis-client (>= 0.23.2) + sidekiq-cron (2.3.0) + cronex (>= 0.13.0) + fugit (~> 1.8, >= 1.11.1) + globalid (>= 1.0.1) + sidekiq (>= 6.5.0) + sidekiq-unique-jobs (8.0.11) + concurrent-ruby (~> 1.0, >= 1.0.5) + sidekiq (>= 7.0.0, < 9.0.0) + thor (>= 1.0, < 3.0) + signet (0.21.0) + addressable (~> 2.8) + faraday (>= 0.17.5, < 3.a) + jwt (>= 1.5, < 4.0) + multi_json (~> 1.10) + simplecov (0.22.0) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.13.1) + simplecov_json_formatter (0.1.4) + skylight (6.0.4) + activesupport (>= 5.2.0) + smart_properties (1.17.0) + snaky_hash (2.0.3) + hashie (>= 0.1.0, < 6) + version_gem (>= 1.1.8, < 3) + snaptrade (2.0.156) + faraday (>= 1.0.1, < 3.0) + faraday-multipart (~> 1.0, >= 1.0.4) + stackprof (0.2.27) + stimulus-rails (1.3.4) + railties (>= 6.0.0) + stringio (3.1.7) + stripe (15.3.0) + swd (2.0.3) + activesupport (>= 3) + attr_required (>= 0.0.5) + faraday (~> 2.0) + faraday-follow_redirects + tailwindcss-rails (4.2.3) + railties (>= 7.0.0) + tailwindcss-ruby (~> 4.0) + tailwindcss-ruby (4.1.8) + tailwindcss-ruby (4.1.8-aarch64-linux-gnu) + tailwindcss-ruby (4.1.8-aarch64-linux-musl) + tailwindcss-ruby (4.1.8-arm64-darwin) + tailwindcss-ruby (4.1.8-x86_64-darwin) + tailwindcss-ruby (4.1.8-x86_64-linux-gnu) + tailwindcss-ruby (4.1.8-x86_64-linux-musl) + terminal-table (4.0.0) + unicode-display_width (>= 1.1.1, < 4) + thor (1.4.0) + timeout (0.6.1) + tpm-key_attestation (0.14.1) + bindata (~> 2.4) + openssl (> 2.0) + openssl-signature_algorithm (~> 1.0) + trailblazer-option (0.1.2) + tsort (0.2.0) + ttfunk (1.8.0) + bigdecimal (~> 3.1) + turbo-rails (2.0.16) + actionpack (>= 7.1.0) + railties (>= 7.1.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + tzinfo-data (1.2026.2) + tzinfo (>= 1.0.0) + uber (0.1.0) + unaccent (0.4.0) + unicode (0.4.4.5) + unicode-display_width (3.1.4) + unicode-emoji (~> 4.0, >= 4.0.4) + unicode-emoji (4.0.4) + uri (1.1.1) + useragent (0.16.11) + validate_url (1.0.15) + activemodel (>= 3.0.0) + public_suffix + vcr (6.3.1) + base64 + vernier (1.8.0) + version_gem (1.1.9) + view_component (3.23.2) + activesupport (>= 5.2.0, < 8.1) + concurrent-ruby (~> 1) + method_source (~> 1.0) + web-console (4.2.1) + actionview (>= 6.0.0) + activemodel (>= 6.0.0) + bindex (>= 0.4.0) + railties (>= 6.0.0) + webauthn (3.4.3) + android_key_attestation (~> 0.3.0) + bindata (~> 2.4) + cbor (~> 0.5.9) + cose (~> 1.1) + openssl (>= 2.2) + safety_net_attestation (~> 0.5.0) + tpm-key_attestation (~> 0.14.0) + webfinger (2.1.3) + activesupport + faraday (~> 2.0) + faraday-follow_redirects + webmock (3.25.1) + addressable (>= 2.8.0) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + websocket (1.2.11) + websocket-driver (0.8.0) + base64 + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + xpath (3.2.0) + nokogiri (~> 1.8) + yard (0.9.37) + zeitwerk (2.7.3) + +PLATFORMS + aarch64-linux-gnu + aarch64-linux-musl + arm-linux-gnu + arm-linux-musl + arm64-darwin + ruby + x86_64-darwin + x86_64-linux-gnu + x86_64-linux-musl + +DEPENDENCIES + aasm + activerecord-import + after_commit_everywhere (~> 1.0) + aws-sdk-s3 (~> 1.208.0) + bcrypt (~> 3.1) + benchmark-ips + bootsnap + brakeman + capybara + climate_control + connection_pool (~> 2.5) + countries + csv + debug + derailed_benchmarks + doorkeeper + dotenv-rails + ed25519 + erb_lint + faker + faraday + faraday-multipart + faraday-retry + foreman + google-cloud-storage (~> 1.59) + hotwire-livereload + hotwire_combobox + httparty + i18n-tasks + image_processing (>= 1.2) + importmap-rails + inline_svg + jbuilder + jwt + langfuse-ruby (~> 0.1.4) + letter_opener + logtail-rails + lookbook (= 2.3.11) + lucide-rails + mocha + octokit + omniauth (~> 2.1) + omniauth-github + omniauth-google-oauth2 + omniauth-rails_csrf_protection + omniauth-saml (~> 2.1) + omniauth_openid_connect + ostruct + pagy + pdf-reader (~> 2.12) + pg (~> 1.5) + plaid + posthog-ruby + propshaft + puma (>= 5.0) + pundit + rack-attack (~> 6.6) + rack-cors + rack-mini-profiler + rails (~> 7.2.2) + rails-i18n + rails-settings-cached + rchardet + redcarpet + redis (~> 5.4) + rotp (~> 6.3) + rqrcode (~> 3.0) + rspec-rails + rswag-api + rswag-specs + rswag-ui + rubocop-rails-omakase + ruby-lsp-rails + ruby-openai + rubyzip (~> 2.3) + selenium-webdriver + sentry-rails + sentry-ruby + sentry-sidekiq + sidekiq + sidekiq-cron + sidekiq-unique-jobs + simplecov + skylight + snaptrade (~> 2.0) + stackprof + stimulus-rails + stripe + tailwindcss-rails + turbo-rails + tzinfo-data + vcr + vernier + view_component + web-console + webauthn (~> 3.4) + webmock + +RUBY VERSION + ruby 3.4.7p58 + +BUNDLED WITH + 2.6.9 diff --git a/pkgs/by-name/su/sure/rubyEnv/gemset.nix b/pkgs/by-name/su/sure/rubyEnv/gemset.nix new file mode 100644 index 000000000000..b1c78ecf3921 --- /dev/null +++ b/pkgs/by-name/su/sure/rubyEnv/gemset.nix @@ -0,0 +1,4145 @@ +{ + aasm = { + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1qdww6c1hnmwlcga2s9gv616mdp33nqk1gzwpbhx4lmz8fgxbmwc"; + type = "gem"; + }; + version = "5.5.1"; + }; + actioncable = { + dependencies = [ + "actionpack" + "activesupport" + "nio4r" + "websocket-driver" + "zeitwerk" + ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0g5kbrqvhwlliyrzd2bhc3kdiqm58df0x3w716bs0ygwyjil1gyk"; + type = "gem"; + }; + version = "7.2.3.1"; + }; + actionmailbox = { + dependencies = [ + "actionpack" + "activejob" + "activerecord" + "activestorage" + "activesupport" + "mail" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0hf59r6sk0qb5va0ga549rbadcb5n1a2ry8nlkszzcksr6039rx4"; + type = "gem"; + }; + version = "7.2.3.1"; + }; + actionmailer = { + dependencies = [ + "actionpack" + "actionview" + "activejob" + "activesupport" + "mail" + "rails-dom-testing" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0rq4aan18y6gwziabnj1q1486349k1v1i5m7ysv206pqqpavcy7m"; + type = "gem"; + }; + version = "7.2.3.1"; + }; + actionpack = { + dependencies = [ + "actionview" + "activesupport" + "cgi" + "nokogiri" + "racc" + "rack" + "rack-session" + "rack-test" + "rails-dom-testing" + "rails-html-sanitizer" + "useragent" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1jp4w493wvfh9246wxk7g00m1a3vmzkvs0rznq62fwvjjdzzwsmn"; + type = "gem"; + }; + version = "7.2.3.1"; + }; + actiontext = { + dependencies = [ + "actionpack" + "activerecord" + "activestorage" + "activesupport" + "globalid" + "nokogiri" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1qs350j3zm7sd6xxn61d93mv3lx1ravbjqja12c7nd7a0zs1h52v"; + type = "gem"; + }; + version = "7.2.3.1"; + }; + actionview = { + dependencies = [ + "activesupport" + "builder" + "cgi" + "erubi" + "rails-dom-testing" + "rails-html-sanitizer" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0z7zy6ibfpsdj9jbdm54bx3ws4dszcq7qa564jn645rr8dlbh6fy"; + type = "gem"; + }; + version = "7.2.3.1"; + }; + activejob = { + dependencies = [ + "activesupport" + "globalid" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1n3fiwm1x3dxwj36n9pspd2bgffyw28ys9yd36hjvf3iwdy25i0b"; + type = "gem"; + }; + version = "7.2.3.1"; + }; + activemodel = { + dependencies = [ "activesupport" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1l60a6mqx1wgp15ki1cp68djci0czgrikpydii5bd877hndqdq9r"; + type = "gem"; + }; + version = "7.2.3.1"; + }; + activerecord = { + dependencies = [ + "activemodel" + "activesupport" + "timeout" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0pd0f1hy6rvyanmrklqir33xq0jb2my4jajz7hc38nysfpi175dq"; + type = "gem"; + }; + version = "7.2.3.1"; + }; + activerecord-import = { + dependencies = [ "activerecord" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0jzs0y4dg84j14j2hmlzviw66rcz6wn1j78z7mr7a1z5jsqrkjpq"; + type = "gem"; + }; + version = "2.2.0"; + }; + activestorage = { + dependencies = [ + "actionpack" + "activejob" + "activerecord" + "activesupport" + "marcel" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1azzbpfp726yigwzmj8g2jji149wisnwrgb86zix6mk25sj4w8hb"; + type = "gem"; + }; + version = "7.2.3.1"; + }; + activesupport = { + dependencies = [ + "base64" + "benchmark" + "bigdecimal" + "concurrent-ruby" + "connection_pool" + "drb" + "i18n" + "logger" + "minitest" + "securerandom" + "tzinfo" + ]; + groups = [ + "default" + "development" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0d6bhg9cim83g8cypjd7cms45ng4p9ga69v26i3vp823d98yvsqi"; + type = "gem"; + }; + version = "7.2.3.1"; + }; + addressable = { + dependencies = [ "public_suffix" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6"; + type = "gem"; + }; + version = "2.8.7"; + }; + aes_key_wrap = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "19bn0y70qm6mfj4y1m0j3s8ggh6dvxwrwrj5vfamhdrpddsz8ddr"; + type = "gem"; + }; + version = "1.1.0"; + }; + afm = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0ia5iw9xvvy1igaxsa08vvv4b5ry9ipyr18917pi8w0y4kvddm2v"; + type = "gem"; + }; + version = "1.0.0"; + }; + after_commit_everywhere = { + dependencies = [ + "activerecord" + "activesupport" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "05yrsh6hmzmriis6nmspy2kybp49gfflnzz5s9q31r3j26d41cy8"; + type = "gem"; + }; + version = "1.6.0"; + }; + android_key_attestation = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "02spc1sh7zsljl02v9d5rdb717b628vw2k7jkkplifyjk4db0zj6"; + type = "gem"; + }; + version = "0.3.0"; + }; + Ascii85 = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0nmyxpngg5rycyryhq9l9hapz1y3iqyflskyksxkqm0832a5vjqm"; + type = "gem"; + }; + version = "2.0.1"; + }; + ast = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "10yknjyn0728gjn6b5syynvrvrwm66bhssbxq8mkhshxghaiailm"; + type = "gem"; + }; + version = "2.4.3"; + }; + attr_required = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "16fbwr6nmsn97n0a6k1nwbpyz08zpinhd6g7196lz1syndbgrszh"; + type = "gem"; + }; + version = "1.0.2"; + }; + aws-eventstream = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0fqqdqg15rgwgz3mn4pj91agd20csk9gbrhi103d20328dfghsqi"; + type = "gem"; + }; + version = "1.4.0"; + }; + aws-partitions = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0r2mqf3mi41nfa3pqm6c7gbrvd6fydvsnnfakyzqbxwq29zwyqhs"; + type = "gem"; + }; + version = "1.1196.0"; + }; + aws-sdk-core = { + dependencies = [ + "aws-eventstream" + "aws-partitions" + "aws-sigv4" + "base64" + "bigdecimal" + "jmespath" + "logger" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "17hqin6ngvlhhb414pxlq8q95j0fndljcblp09kzbajwaa83idl6"; + type = "gem"; + }; + version = "3.240.0"; + }; + aws-sdk-kms = { + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1gbgf7xgg2hrrc51g3mpf0isba801w0r0z45mjnh45agdmcm3iy9"; + type = "gem"; + }; + version = "1.118.0"; + }; + aws-sdk-s3 = { + dependencies = [ + "aws-sdk-core" + "aws-sdk-kms" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0vbxg6hy0j2b931llwc0jxg1q27grbs31zdhzwjy9fki05817kiz"; + type = "gem"; + }; + version = "1.208.0"; + }; + aws-sigv4 = { + dependencies = [ "aws-eventstream" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "003ch8qzh3mppsxch83ns0jra8d222ahxs96p9cdrl0grfazywv9"; + type = "gem"; + }; + version = "1.12.1"; + }; + base64 = { + groups = [ + "default" + "development" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0yx9yn47a8lkfcjmigk79fykxvr80r4m1i35q82sxzynpbm7lcr7"; + type = "gem"; + }; + version = "0.3.0"; + }; + bcrypt = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0clhya4p8lhjj7hp31inp321wgzb0b5wbwppmya5sw1dikl7400z"; + type = "gem"; + }; + version = "3.1.22"; + }; + benchmark = { + groups = [ + "default" + "development" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0v1337j39w1z7x9zs4q7ag0nfv4vs4xlsjx2la0wpv8s6hig2pa6"; + type = "gem"; + }; + version = "0.5.0"; + }; + benchmark-ips = { + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "07cvi8z4ss6nzf4jp8sp6bp54d7prh6jg56dz035jpajbnkchaxp"; + type = "gem"; + }; + version = "2.14.0"; + }; + better_html = { + dependencies = [ + "actionview" + "activesupport" + "ast" + "erubi" + "parser" + "smart_properties" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0mdgwlc02f43svy92p0k5v1hipibpzxcdjm774lkz2j8s58kav04"; + type = "gem"; + }; + version = "2.1.1"; + }; + bigdecimal = { + groups = [ + "default" + "development" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0612spks81fvpv2zrrv3371lbs6mwd7w6g5zafglyk75ici1x87a"; + type = "gem"; + }; + version = "3.3.1"; + }; + bindata = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0n4ymlgik3xcg94h52dzmh583ss40rl3sn0kni63v56sq8g6l62k"; + type = "gem"; + }; + version = "2.5.1"; + }; + bindex = { + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0zmirr3m02p52bzq4xgksq4pn8j641rx5d4czk68pv9rqnfwq7kv"; + type = "gem"; + }; + version = "0.8.1"; + }; + bootsnap = { + dependencies = [ "msgpack" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "003xl226y120cbq1n99805jw6w75gcz1gs941yz3h7li3qy3kqha"; + type = "gem"; + }; + version = "1.18.6"; + }; + brakeman = { + dependencies = [ "racc" ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1kkds9q66jryhlyqzwhp4kh8hcb39i05v2r4f8xd3rx221vr413b"; + type = "gem"; + }; + version = "7.1.2"; + }; + builder = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9"; + type = "gem"; + }; + version = "3.3.0"; + }; + capybara = { + dependencies = [ + "addressable" + "matrix" + "mini_mime" + "nokogiri" + "rack" + "rack-test" + "regexp_parser" + "xpath" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1vxfah83j6zpw3v5hic0j70h519nvmix2hbszmjwm8cfawhagns2"; + type = "gem"; + }; + version = "3.40.0"; + }; + cbor = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0b65lw8a5s0x7g6c4h0mfzhqn83nwaql2m2hwqii321clvvh8lfz"; + type = "gem"; + }; + version = "0.5.10.2"; + }; + cgi = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1s8qdw1nfh3njd47q154njlfyc2llcgi4ik13vz39adqd7yclgz9"; + type = "gem"; + }; + version = "0.5.1"; + }; + childprocess = { + dependencies = [ "logger" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1v5nalaarxnfdm6rxb7q6fmc6nx097jd630ax6h9ch7xw95li3cs"; + type = "gem"; + }; + version = "5.1.0"; + }; + chunky_png = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1znw5x86hmm9vfhidwdsijz8m38pqgmv98l9ryilvky0aldv7mc9"; + type = "gem"; + }; + version = "1.4.0"; + }; + climate_control = { + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "198aswdyqlvcw9jkd95b7b8dp3fg0wx89kd1dx9wia1z36b1icin"; + type = "gem"; + }; + version = "1.2.0"; + }; + concurrent-ruby = { + groups = [ + "default" + "development" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1aymcakhzl83k77g2f2krz07bg1cbafbcd2ghvwr4lky3rz86mkb"; + type = "gem"; + }; + version = "1.3.6"; + }; + connection_pool = { + groups = [ + "default" + "development" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1b8nlxr5z843ii7hfk6igpr5acw3k2ih9yjrgkyz2gbmallgjkz5"; + type = "gem"; + }; + version = "2.5.5"; + }; + cose = { + dependencies = [ + "cbor" + "openssl-signature_algorithm" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1rbdzl9n8ppyp38y75hw06s17kp922ybj6jfvhz52p83dg6xpm6m"; + type = "gem"; + }; + version = "1.3.1"; + }; + countries = { + dependencies = [ "unaccent" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "05ikz4808250qivpxh99sqmkhpyx192qp1likhjcd9sh825hfrb1"; + type = "gem"; + }; + version = "8.0.3"; + }; + crack = { + dependencies = [ + "bigdecimal" + "rexml" + ]; + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0jaa7is4fw1cxigm8vlyhg05bw4nqy4f91zjqxk7pp4c8bdyyfn8"; + type = "gem"; + }; + version = "1.0.0"; + }; + crass = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0pfl5c0pyqaparxaqxi6s4gfl21bdldwiawrc0aknyvflli60lfw"; + type = "gem"; + }; + version = "1.0.6"; + }; + cronex = { + dependencies = [ + "tzinfo" + "unicode" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "11i1psgzcqzj4a7p62vy56i5p8s00d29y9rf9wf9blpshph99ir1"; + type = "gem"; + }; + version = "0.15.0"; + }; + css_parser = { + dependencies = [ "addressable" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1izp5vna86s7xivqzml4nviy01bv76arrd5is8wkncwp1by3zzbc"; + type = "gem"; + }; + version = "1.21.1"; + }; + csv = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0gz7r2kazwwwyrwi95hbnhy54kwkfac5swh2gy5p5vw36fn38lbf"; + type = "gem"; + }; + version = "3.3.5"; + }; + date = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0kz6mc4b9m49iaans6cbx031j9y7ldghpi5fzsdh0n3ixwa8w9mz"; + type = "gem"; + }; + version = "3.4.1"; + }; + debug = { + dependencies = [ + "irb" + "reline" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1wmfy5n5v2rzpr5vz698sqfj1gl596bxrqw44sahq4x0rxjdn98l"; + type = "gem"; + }; + version = "1.11.0"; + }; + declarative = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1yczgnqrbls7shrg63y88g7wand2yp9h6sf56c9bdcksn5nds8c0"; + type = "gem"; + }; + version = "0.0.20"; + }; + derailed_benchmarks = { + dependencies = [ + "base64" + "benchmark-ips" + "bigdecimal" + "drb" + "get_process_mem" + "heapy" + "logger" + "memory_profiler" + "mini_histogram" + "mutex_m" + "ostruct" + "rack" + "rack-test" + "rake" + "ruby-statistics" + "ruby2_keywords" + "thor" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0fa4bl6afnqqq55fp45bmwin02dgrw7zq9zwv2f1rm6y9xk80hk5"; + type = "gem"; + }; + version = "2.2.1"; + }; + diff-lcs = { + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0qlrj2qyysc9avzlr4zs1py3x684hqm61n4czrsk1pyllz5x5q4s"; + type = "gem"; + }; + version = "1.6.2"; + }; + digest-crc = { + dependencies = [ "rake" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "01wcsyhaadss4zzvqh12kvbq3hmkl5y4fck7pr608hd24qxc5bb4"; + type = "gem"; + }; + version = "0.7.0"; + }; + docile = { + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "07pj4z3h8wk4fgdn6s62vw1lwvhj0ac0x10vfbdkr9xzk7krn5cn"; + type = "gem"; + }; + version = "1.4.1"; + }; + doorkeeper = { + dependencies = [ "railties" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1lsh9lzrglqlwm9icmn0ggrwjc9iy9308f9m59z1w2srmyp0fgd7"; + type = "gem"; + }; + version = "5.8.2"; + }; + dotenv = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1hwjsddv666wpp42bip3fqx7c5qq6s8lwf74dj71yn7d1h37c4cy"; + type = "gem"; + }; + version = "3.1.8"; + }; + dotenv-rails = { + dependencies = [ + "dotenv" + "railties" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1i40g6kzwp8yxsxzpzgsq2hww9gxryl5lck1bwxshn4bd8id3ja6"; + type = "gem"; + }; + version = "3.1.8"; + }; + drb = { + groups = [ + "default" + "development" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0wrkl7yiix268s2md1h6wh91311w95ikd8fy8m5gx589npyxc00b"; + type = "gem"; + }; + version = "2.2.3"; + }; + ed25519 = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "01n5rbyws1ijwc5dw7s88xx3zzacxx9k97qn8x11b6k8k18pzs8n"; + type = "gem"; + }; + version = "1.4.0"; + }; + email_validator = { + dependencies = [ "activemodel" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0106y8xakq6frv2xc68zz76q2l2cqvhfjc7ji69yyypcbc4kicjs"; + type = "gem"; + }; + version = "2.2.4"; + }; + erb = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "08rc8pzri3g7c85c76x84j05hkk12jvalrm2m3n97k1n7f03j13n"; + type = "gem"; + }; + version = "5.0.1"; + }; + erb_lint = { + dependencies = [ + "activesupport" + "better_html" + "parser" + "rainbow" + "rubocop" + "smart_properties" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0cbwr8iv6d9g50w12a7ccvcrqk5clz4mxa3cspqd3s1rv05f9dfz"; + type = "gem"; + }; + version = "0.9.0"; + }; + erubi = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1naaxsqkv5b3vklab5sbb9sdpszrjzlfsbqpy7ncbnw510xi10m0"; + type = "gem"; + }; + version = "1.13.1"; + }; + et-orbi = { + dependencies = [ "tzinfo" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0r6zylqjfv0xhdxvldr0kgmnglm57nm506pcm6085f0xqa68cvnj"; + type = "gem"; + }; + version = "1.2.11"; + }; + event_stream_parser = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1j73glgif3f97q3znq9ih67h5i7zd1wqzj2d33w8cqhjf2mkns52"; + type = "gem"; + }; + version = "1.0.0"; + }; + faker = { + dependencies = [ "i18n" ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0wy4i4vl3h2v6scffx0zbp74vq1gfgq55m8x3n05kwp3na8h5a7r"; + type = "gem"; + }; + version = "3.5.2"; + }; + faraday = { + dependencies = [ + "faraday-net_http" + "json" + "logger" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "077n5ss3z3ds4vj54w201kd12smai853dp9c9n7ii7g3q7nwwg54"; + type = "gem"; + }; + version = "2.14.1"; + }; + faraday-follow_redirects = { + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1y87p3yk15bjbk0z9mf01r50lzxvp7agr56lbm9gxiz26mb9fbfr"; + type = "gem"; + }; + version = "0.3.0"; + }; + faraday-multipart = { + dependencies = [ "multipart-post" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "00w9imp55hi81q0wsgwak90ldkk7gbyb8nzmmv8hy0s907s8z8bp"; + type = "gem"; + }; + version = "1.1.1"; + }; + faraday-net_http = { + dependencies = [ "net-http" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0v4hfmc7d4lrqqj2wl366rm9551gd08zkv2ppwwnjlnkc217aizi"; + type = "gem"; + }; + version = "3.4.2"; + }; + faraday-retry = { + dependencies = [ "faraday" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1laici6jximrz3a8rkm8qmwdmw3fgzk22qh4l8wd5srjj01d40i4"; + type = "gem"; + }; + version = "2.3.2"; + }; + ffi = { + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "19kdyjg3kv7x0ad4xsd4swy5izsbb1vl1rpb6qqcqisr5s23awi9"; + type = "gem"; + }; + version = "1.17.2"; + }; + foreman = { + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "02m0iq43hrb99hca9ng834sx2p8zfc5xga1xwqn8lckabc925h2r"; + type = "gem"; + }; + version = "0.88.1"; + }; + fugit = { + dependencies = [ + "et-orbi" + "raabro" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0s4qhq3mjl0gak5wl20w9d5jhq069mk1393dkj76s8i2pvkqb578"; + type = "gem"; + }; + version = "1.11.1"; + }; + get_process_mem = { + dependencies = [ + "bigdecimal" + "ffi" + ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1amlw0v8mal01k0c8n6i5x7a8fxw44myqm81dr6nlxxzpkrj8h6m"; + type = "gem"; + }; + version = "1.0.0"; + }; + globalid = { + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "04gzhqvsm4z4l12r9dkac9a75ah45w186ydhl0i4andldsnkkih5"; + type = "gem"; + }; + version = "1.3.0"; + }; + google-apis-core = { + dependencies = [ + "addressable" + "faraday" + "faraday-follow_redirects" + "googleauth" + "mini_mime" + "representable" + "retriable" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0a961x3jq0wskwgb8ym83viza05bcvsqiny8gg6dc0n9mnm7jids"; + type = "gem"; + }; + version = "1.0.2"; + }; + google-apis-iamcredentials_v1 = { + dependencies = [ "google-apis-core" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "18s8kshls6amld400434xgmgssn2y9fpqnz9ahjxzkfnl480mxrz"; + type = "gem"; + }; + version = "0.26.0"; + }; + google-apis-storage_v1 = { + dependencies = [ "google-apis-core" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1s42r7hmf2wl8l0wdc7z07qvmgbdilwjb58q7i9h2slfnncyac5k"; + type = "gem"; + }; + version = "0.61.0"; + }; + google-cloud-core = { + dependencies = [ + "google-cloud-env" + "google-cloud-errors" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1kw10897ardky1chwwsb8milygzcdi8qlqlhcnqwmkw9y75yswp5"; + type = "gem"; + }; + version = "1.8.0"; + }; + google-cloud-env = { + dependencies = [ + "base64" + "faraday" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1rvqj6n6qhjmjy0lynpmga7ly48s7dk36i6nj4jqrrvvn8gc1ahg"; + type = "gem"; + }; + version = "2.3.1"; + }; + google-cloud-errors = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "18fh8xvflhhksibcn1v4gnrn6d3xs284ng1fsfwh9b86sxnlga0x"; + type = "gem"; + }; + version = "1.6.0"; + }; + google-cloud-storage = { + dependencies = [ + "addressable" + "digest-crc" + "google-apis-core" + "google-apis-iamcredentials_v1" + "google-apis-storage_v1" + "google-cloud-core" + "googleauth" + "mini_mime" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1fc6n7227l3b0b14c0gbfqjibn3zw1mivfvrnb66apbp3mkabjdq"; + type = "gem"; + }; + version = "1.59.0"; + }; + google-logging-utils = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0yyzlgy9hx104xhrbl51ana0dl3m5p5989j4lcjsizssxas64m37"; + type = "gem"; + }; + version = "0.2.0"; + }; + googleauth = { + dependencies = [ + "faraday" + "google-cloud-env" + "google-logging-utils" + "jwt" + "multi_json" + "os" + "signet" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0f56614nd955cxwy98c2d1zk4zg263r1iafd90czg2p3w819a00m"; + type = "gem"; + }; + version = "1.16.2"; + }; + hashdiff = { + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1da0w5v7ppxrgvh58bafjklzv73nknyq73if6d9rkz2v24zg3169"; + type = "gem"; + }; + version = "1.2.0"; + }; + hashery = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0qj8815bf7q6q7llm5rzdz279gzmpqmqqicxnzv066a020iwqffj"; + type = "gem"; + }; + version = "2.1.2"; + }; + hashie = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1nh3arcrbz1rc1cr59qm53sdhqm137b258y8rcb4cvd3y98lwv4x"; + type = "gem"; + }; + version = "5.0.0"; + }; + heapy = { + dependencies = [ "thor" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1sl56ma851i82g3ax08igbn48igriiy152xzx30wgzv1bn21w53l"; + type = "gem"; + }; + version = "0.2.0"; + }; + highline = { + dependencies = [ "reline" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0jmvyhjp2v3iq47la7w6psrxbprnbnmzz0hxxski3vzn356x7jv7"; + type = "gem"; + }; + version = "3.1.2"; + }; + hotwire-livereload = { + dependencies = [ + "actioncable" + "listen" + "railties" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "15kwskrvfpgpcas4yaivlk9b2h8fg9b67wnn3bkci39gz41wdgcf"; + type = "gem"; + }; + version = "2.0.0"; + }; + hotwire_combobox = { + dependencies = [ + "platform_agent" + "rails" + "stimulus-rails" + "turbo-rails" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1llclnxms2ihvvwf43a38ayglr3bc4nx5vhp5lgm91h67cpf1jly"; + type = "gem"; + }; + version = "0.4.0"; + }; + htmlbeautifier = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0nrqvgja3pbmz4v27zc5ir58sk4mv177nq7hlssy2smawbvhhgdl"; + type = "gem"; + }; + version = "1.4.3"; + }; + htmlentities = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj"; + type = "gem"; + }; + version = "4.3.4"; + }; + httparty = { + dependencies = [ + "csv" + "mini_mime" + "multi_xml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1b5h8d8ygq0qradp7yr3wxd4wf9q78972pjlggvpscicv71yx4yd"; + type = "gem"; + }; + version = "0.24.0"; + }; + i18n = { + dependencies = [ "concurrent-ruby" ]; + groups = [ + "default" + "development" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1994i044vdmzzkyr76g8rpl1fq1532wf0sb21xg5r1ilj5iphmr8"; + type = "gem"; + }; + version = "1.14.8"; + }; + i18n-tasks = { + dependencies = [ + "activesupport" + "ast" + "erubi" + "highline" + "i18n" + "parser" + "rails-i18n" + "rainbow" + "ruby-progressbar" + "terminal-table" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0mpvpppwkzxal9k91lifafkwg676kqkg8ng6b1y7apfvwbhfkwvl"; + type = "gem"; + }; + version = "1.0.15"; + }; + image_processing = { + dependencies = [ + "mini_magick" + "ruby-vips" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1ys28w0ayq3vl2sl4lpq6jnsy7gd4p9vzimyi449hqn2r5lw2k3m"; + type = "gem"; + }; + version = "1.14.0"; + }; + importmap-rails = { + dependencies = [ + "actionpack" + "activesupport" + "railties" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0hg7m97pgssa6w0q6myvsp2i3wrx0c6i0j7lg5sm86k5c1ywc44z"; + type = "gem"; + }; + version = "2.1.0"; + }; + inline_svg = { + dependencies = [ + "activesupport" + "nokogiri" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "03x1z55sh7cpb63g46cbd6135jmp13idcgqzqsnzinbg4cs2jrav"; + type = "gem"; + }; + version = "1.10.0"; + }; + io-console = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "18pgvl7lfjpichdfh1g50rpz0zpaqrpr52ybn9liv1v9pjn9ysnd"; + type = "gem"; + }; + version = "0.8.0"; + }; + irb = { + dependencies = [ + "pp" + "rdoc" + "reline" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1fpxa2m83rb7xlzs57daqwnzqjmz6j35xr7zb15s73975sak4br2"; + type = "gem"; + }; + version = "1.15.2"; + }; + jbuilder = { + dependencies = [ + "actionview" + "activesupport" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1mi7s8kida8rg754bzgiik2mpdwx55x7wxd9ny0sm0803j5a603j"; + type = "gem"; + }; + version = "2.13.0"; + }; + jmespath = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1cdw9vw2qly7q7r41s7phnac264rbsdqgj4l0h4nqgbjb157g393"; + type = "gem"; + }; + version = "1.6.2"; + }; + json = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1kw39sqnr0lprwsd2h0zx1ic96skhqf88i14xv7c8drcicqvvqg7"; + type = "gem"; + }; + version = "2.19.2"; + }; + json-jwt = { + dependencies = [ + "activesupport" + "aes_key_wrap" + "base64" + "bindata" + "faraday" + "faraday-follow_redirects" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "19bjs404inbydn40nampk5ij7vqkwpmqp3hp4dmjf50sdm6gzayc"; + type = "gem"; + }; + version = "1.16.7"; + }; + json-schema = { + dependencies = [ + "addressable" + "bigdecimal" + ]; + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1ma0k5889hzydba2ci8lqg87pxsh9zabz7jchm9cbacwsw7axgk0"; + type = "gem"; + }; + version = "5.2.2"; + }; + jwt = { + dependencies = [ "base64" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1x64l31nkqjwfv51s2vsm0yqq4cwzrlnji12wvaq761myx3fxq9i"; + type = "gem"; + }; + version = "2.10.2"; + }; + langfuse-ruby = { + dependencies = [ + "concurrent-ruby" + "faraday" + "faraday-net_http" + "json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1wbzzajgs2qbldzn2a9ngb59q4nfzhfs2r9lq9818xpi5cs0lkd2"; + type = "gem"; + }; + version = "0.1.4"; + }; + language_server-protocol = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1k0311vah76kg5m6zr7wmkwyk5p2f9d9hyckjpn3xgr83ajkj7px"; + type = "gem"; + }; + version = "3.17.0.5"; + }; + launchy = { + dependencies = [ + "addressable" + "childprocess" + "logger" + ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "17h522xhwi5m4n6n9m22kw8z0vy8100sz5f3wbfqj5cnrjslgf3j"; + type = "gem"; + }; + version = "3.1.1"; + }; + letter_opener = { + dependencies = [ "launchy" ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1cnv3ggnzyagl50vzs1693aacv08bhwlprcvjp8jcg2w7cp3zwrg"; + type = "gem"; + }; + version = "1.10.0"; + }; + lint_roller = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "11yc0d84hsnlvx8cpk4cbj6a4dz9pk0r1k29p0n1fz9acddq831c"; + type = "gem"; + }; + version = "1.1.0"; + }; + listen = { + dependencies = [ + "rb-fsevent" + "rb-inotify" + ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0rwwsmvq79qwzl6324yc53py02kbrcww35si720490z5w0j497nv"; + type = "gem"; + }; + version = "3.9.0"; + }; + logger = { + groups = [ + "default" + "development" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "00q2zznygpbls8asz5knjvvj2brr3ghmqxgr83xnrdj4rk3xwvhr"; + type = "gem"; + }; + version = "1.7.0"; + }; + logtail = { + dependencies = [ "msgpack" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0j1sa8nynck11ifmc3v9h1ry0yj9l1a608wf132d1csk0ilhavc6"; + type = "gem"; + }; + version = "0.1.17"; + }; + logtail-rack = { + dependencies = [ + "logtail" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "13c02xvdi3kv3zar556yhr36x05yb2rvn5l537zgfg6lxx0r95d7"; + type = "gem"; + }; + version = "0.2.6"; + }; + logtail-rails = { + dependencies = [ + "actionpack" + "activerecord" + "logtail" + "logtail-rack" + "railties" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0n759gbizqjvzcmrv501i40y582ybxg7fagpdds8qay8vv7wwm9s"; + type = "gem"; + }; + version = "0.2.10"; + }; + loofah = { + dependencies = [ + "crass" + "nokogiri" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "011fdngxzr1p9dq2hxqz7qq1glj2g44xnhaadjqlf48cplywfdnl"; + type = "gem"; + }; + version = "2.25.1"; + }; + lookbook = { + dependencies = [ + "activemodel" + "css_parser" + "htmlbeautifier" + "htmlentities" + "marcel" + "railties" + "redcarpet" + "rouge" + "view_component" + "yard" + "zeitwerk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1qk8mz6m469bw8hry4vabwib4k9nfzz1zcrqv17h0nxwprn0ayw4"; + type = "gem"; + }; + version = "2.3.11"; + }; + lucide-rails = { + dependencies = [ "railties" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0jfsjfh78ya2hapmjnscnqp2zcmvq5p7pfkgsjdyjwla2pqh6k82"; + type = "gem"; + }; + version = "0.7.3"; + }; + mail = { + dependencies = [ + "mini_mime" + "net-imap" + "net-pop" + "net-smtp" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1bf9pysw1jfgynv692hhaycfxa8ckay1gjw5hz3madrbrynryfzc"; + type = "gem"; + }; + version = "2.8.1"; + }; + marcel = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1vhb1sbzlq42k2pzd9v0w5ws4kjx184y8h4d63296bn57jiwzkzx"; + type = "gem"; + }; + version = "1.1.0"; + }; + matrix = { + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1h2cgkpzkh3dd0flnnwfq6f3nl2b1zff9lvqz8xs853ssv5kq23i"; + type = "gem"; + }; + version = "0.4.2"; + }; + memory_profiler = { + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1y58ba08n4lx123c0hjcc752fc4x802mjy39qj1hq50ak3vpv8br"; + type = "gem"; + }; + version = "1.1.0"; + }; + method_source = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1igmc3sq9ay90f8xjvfnswd1dybj1s3fi0dwd53inwsvqk4h24qq"; + type = "gem"; + }; + version = "1.1.0"; + }; + mini_histogram = { + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "156xs8k7fqqcbk1fbf0ndz6gfw380fb2jrycfvhb06269r84n4ba"; + type = "gem"; + }; + version = "0.3.1"; + }; + mini_magick = { + dependencies = [ + "benchmark" + "logger" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0jiz4jqsrmgnkyvpmsq2vicmvdqa6q2ibzx93lnj8f0xvfzzymr7"; + type = "gem"; + }; + version = "5.2.0"; + }; + mini_mime = { + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1vycif7pjzkr29mfk4dlqv3disc5dn0va04lkwajlpr1wkibg0c6"; + type = "gem"; + }; + version = "1.1.5"; + }; + mini_portile2 = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "12f2830x7pq3kj0v8nz0zjvaw02sv01bqs1zwdrc04704kwcgmqc"; + type = "gem"; + }; + version = "2.8.9"; + }; + minitest = { + groups = [ + "default" + "development" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1mbpz92ml19rcxxfjrj91gmkif9khb1xpzyw38f81rvglgw1ffrd"; + type = "gem"; + }; + version = "5.27.0"; + }; + mocha = { + dependencies = [ "ruby2_keywords" ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0lgqyxxdxgfik77a7lk2hjkr6flimgxr4gcbg3y7bg1ybn6m6zcg"; + type = "gem"; + }; + version = "2.7.1"; + }; + msgpack = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0cnpnbn2yivj9gxkh8mjklbgnpx6nf7b8j2hky01dl0040hy0k76"; + type = "gem"; + }; + version = "1.8.0"; + }; + multi_json = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0vfaab23d85617ps412ydb8ap4ci1sfzi8ainn8yyifc0pl38f9g"; + type = "gem"; + }; + version = "1.20.1"; + }; + multi_xml = { + dependencies = [ "bigdecimal" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0wyzwvch1a4c77g5zjwjhgf9z5inzngq42b197dm9qzqjb8dqjld"; + type = "gem"; + }; + version = "0.8.0"; + }; + multipart-post = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1a5lrlvmg2kb2dhw3lxcsv6x276bwgsxpnka1752082miqxd0wlq"; + type = "gem"; + }; + version = "2.4.1"; + }; + mutex_m = { + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0l875dw0lk7b2ywa54l0wjcggs94vb7gs8khfw9li75n2sn09jyg"; + type = "gem"; + }; + version = "0.3.0"; + }; + net-http = { + dependencies = [ "uri" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "15k96fj6qwbaiv6g52l538ass95ds1qwgynqdridz29yqrkhpfi5"; + type = "gem"; + }; + version = "0.9.1"; + }; + net-imap = { + dependencies = [ + "date" + "net-protocol" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "14zmzjy2sp87ac6iygkk3pz9snjvx4ks681vg4gxz8x8q7gmzajj"; + type = "gem"; + }; + version = "0.5.8"; + }; + net-pop = { + dependencies = [ "net-protocol" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1wyz41jd4zpjn0v1xsf9j778qx1vfrl24yc20cpmph8k42c4x2w4"; + type = "gem"; + }; + version = "0.1.2"; + }; + net-protocol = { + dependencies = [ "timeout" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1a32l4x73hz200cm587bc29q8q9az278syw3x6fkc9d1lv5y0wxa"; + type = "gem"; + }; + version = "0.2.2"; + }; + net-smtp = { + dependencies = [ "net-protocol" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0dh7nzjp0fiaqq1jz90nv4nxhc2w359d7c199gmzq965cfps15pd"; + type = "gem"; + }; + version = "0.5.1"; + }; + nio4r = { + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1a9www524fl1ykspznz54i0phfqya4x45hqaz67in9dvw1lfwpfr"; + type = "gem"; + }; + version = "2.7.4"; + }; + nokogiri = { + dependencies = [ + "mini_portile2" + "racc" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0mhp90nf3g3yy5vgjnwd34czi6rbi0p7057vgngfmmdkknsxiz9q"; + type = "gem"; + }; + version = "1.19.2"; + }; + oauth2 = { + dependencies = [ + "faraday" + "jwt" + "logger" + "multi_xml" + "rack" + "snaky_hash" + "version_gem" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "11rj80dgjz05x5xx93y4bfk9rcn7fl56srj8fgqn7ffzf3j13kxs"; + type = "gem"; + }; + version = "2.0.18"; + }; + octokit = { + dependencies = [ + "faraday" + "sawyer" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1s14kbjfm9vdvcrwqdarfdbfsjqs1jxpglp60plvfdvnkd9rmsc2"; + type = "gem"; + }; + version = "10.0.0"; + }; + omniauth = { + dependencies = [ + "hashie" + "rack" + "rack-protection" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1hjnb5b5m549irs0h1455ipzsv82pikdagx9wjb6r4j1bkjy494d"; + type = "gem"; + }; + version = "2.1.3"; + }; + omniauth-github = { + dependencies = [ + "omniauth" + "omniauth-oauth2" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1m6a7kg3lxz2nm96prln2ja8r4wlm37m5vsy9199vnynqq5fgy4g"; + type = "gem"; + }; + version = "2.0.1"; + }; + omniauth-google-oauth2 = { + dependencies = [ + "jwt" + "oauth2" + "omniauth" + "omniauth-oauth2" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1pdf3bx036l6ggz6lkkykv77m9k4jypwsiw1q7874czwh2v50768"; + type = "gem"; + }; + version = "1.2.1"; + }; + omniauth-oauth2 = { + dependencies = [ + "oauth2" + "omniauth" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0y4y122xm8zgrxn5nnzwg6w39dnjss8pcq2ppbpx9qn7kiayky5j"; + type = "gem"; + }; + version = "1.8.0"; + }; + omniauth-rails_csrf_protection = { + dependencies = [ + "actionpack" + "omniauth" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1q2zvkw34vk1vyhn5kp30783w1wzam9i9g5ygsdjn2gz59kzsw0i"; + type = "gem"; + }; + version = "1.0.2"; + }; + omniauth-saml = { + dependencies = [ + "omniauth" + "ruby-saml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1sznc4d2qhqmkw1vhpx2v5i9ndfb4k25cazhz74cbv18wyp4bk2s"; + type = "gem"; + }; + version = "2.2.4"; + }; + omniauth_openid_connect = { + dependencies = [ + "omniauth" + "openid_connect" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "099xg7s6450wlfzs77mbdx78g3dp0glx5q6f44i78akf7283hbqz"; + type = "gem"; + }; + version = "0.8.0"; + }; + openid_connect = { + dependencies = [ + "activemodel" + "attr_required" + "email_validator" + "faraday" + "faraday-follow_redirects" + "json-jwt" + "mail" + "rack-oauth2" + "swd" + "tzinfo" + "validate_url" + "webfinger" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "10i13cn40jiiw8lslkv7bj1isinnwbmzlk6msgiph3gqry08702x"; + type = "gem"; + }; + version = "2.3.1"; + }; + openssl = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0zazkk5q3p2ldd23ka04wypsz2g8gqwwainf3d58j0kvdc9p8yg2"; + type = "gem"; + }; + version = "4.0.1"; + }; + openssl-signature_algorithm = { + dependencies = [ "openssl" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "103yjl68wqhl5kxaciir5jdnyi7iv9yckishdr52s5knh9g0pd53"; + type = "gem"; + }; + version = "1.3.0"; + }; + os = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0gwd20smyhxbm687vdikfh1gpi96h8qb1x28s2pdcysf6dm6v0ap"; + type = "gem"; + }; + version = "1.1.4"; + }; + ostruct = { + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1h6gazp5837xbz1aqvq9x0a5ffpw32nhvknn931a4074k6i04wvd"; + type = "gem"; + }; + version = "0.6.2"; + }; + pagy = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1mqgiwzjkj8b54146yj15jds53l1pfawvc9a14n8fvxra0qm3abq"; + type = "gem"; + }; + version = "9.3.5"; + }; + parallel = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0c719bfgcszqvk9z47w2p8j2wkz5y35k48ywwas5yxbbh3hm3haa"; + type = "gem"; + }; + version = "1.27.0"; + }; + parser = { + dependencies = [ + "ast" + "racc" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0mwk9syajzdradzqzp3agf03d0cazqwbfd1439nxpkmxli5chq3g"; + type = "gem"; + }; + version = "3.3.10.2"; + }; + pdf-reader = { + dependencies = [ + "Ascii85" + "afm" + "hashery" + "ruby-rc4" + "ttfunk" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1kk8f1f5kkdwsbskv0vikcwx5xaivv19y9zl97x1fcaam23akihq"; + type = "gem"; + }; + version = "2.15.1"; + }; + pg = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1p2gqqrm895fzr9vi8d118zhql67bm8ydjvgqbq1crdnfggzn7kn"; + type = "gem"; + }; + version = "1.5.9"; + }; + plaid = { + dependencies = [ + "faraday" + "faraday-multipart" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0vrmmb043zvkcp5nm1m3n8xk9hqrc4ij3yfcdky6mkqy9fn6b7iw"; + type = "gem"; + }; + version = "41.0.0"; + }; + platform_agent = { + dependencies = [ + "activesupport" + "useragent" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0k6pff1lhn30fcszkr0fhn9sji2jxpaw22whfix0cg289nj1lli5"; + type = "gem"; + }; + version = "1.0.1"; + }; + posthog-ruby = { + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1x9d06ipkhbp0cf047csri9rxr01yw2ddv5kz7ij5415125sdax8"; + type = "gem"; + }; + version = "3.3.3"; + }; + pp = { + dependencies = [ "prettyprint" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1zxnfxjni0r9l2x42fyq0sqpnaf5nakjbap8irgik4kg1h9c6zll"; + type = "gem"; + }; + version = "0.6.2"; + }; + prettyprint = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "14zicq3plqi217w6xahv7b8f7aj5kpxv1j1w98344ix9h5ay3j9b"; + type = "gem"; + }; + version = "0.2.0"; + }; + prism = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0gkhpdjib9zi9i27vd9djrxiwjia03cijmd6q8yj2q1ix403w3nw"; + type = "gem"; + }; + version = "1.4.0"; + }; + propshaft = { + dependencies = [ + "actionpack" + "activesupport" + "rack" + "railties" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0sqg0xf46xd47zdpm8d12kfnwl0y5jb2hj10imzb3bk6mwgkd2fk"; + type = "gem"; + }; + version = "1.1.0"; + }; + psych = { + dependencies = [ + "date" + "stringio" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0vii1xc7x81hicdbp7dlllhmbw5w3jy20shj696n0vfbbnm2hhw1"; + type = "gem"; + }; + version = "5.2.6"; + }; + public_suffix = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1543ap9w3ydhx39ljcd675cdz9cr948x9mp00ab8qvq6118wv9xz"; + type = "gem"; + }; + version = "6.0.2"; + }; + puma = { + dependencies = [ "nio4r" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "11xd3207k5rl6bz0qxhcb3zcr941rhx7ig2f19gxxmdk7s3hcp7j"; + type = "gem"; + }; + version = "6.6.0"; + }; + pundit = { + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1gcb23749jwggmgic4607ky6hm2c9fpkya980iihpy94m8miax73"; + type = "gem"; + }; + version = "2.5.2"; + }; + raabro = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "10m8bln9d00dwzjil1k42i5r7l82x25ysbi45fwyv4932zsrzynl"; + type = "gem"; + }; + version = "1.4.0"; + }; + racc = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa"; + type = "gem"; + }; + version = "1.8.1"; + }; + rack = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1hhjy9gcp52dzij05gmidqac8g28ski5xm67prwmdqmjfcgqxmsy"; + type = "gem"; + }; + version = "3.2.6"; + }; + rack-attack = { + dependencies = [ "rack" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0z6pj5vjgl6swq7a33gssf795k958mss8gpmdb4v4cydcs7px91w"; + type = "gem"; + }; + version = "6.7.0"; + }; + rack-cors = { + dependencies = [ + "logger" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0s1zymxhk7pkzsrgrn5ax862p07s0drbv0qvnq36jq1rvdhvx5bv"; + type = "gem"; + }; + version = "3.0.0"; + }; + rack-mini-profiler = { + dependencies = [ "rack" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "03z02blb8q1c8fiwn249rnvmvrw655s4x36xmpa3mqq1gp5ysyy3"; + type = "gem"; + }; + version = "4.0.0"; + }; + rack-oauth2 = { + dependencies = [ + "activesupport" + "attr_required" + "faraday" + "faraday-follow_redirects" + "json-jwt" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "19fi42hi9l474ki89y6cs8vrpfmc1h8zpd02iwjy4hw0a1yahfn7"; + type = "gem"; + }; + version = "2.2.1"; + }; + rack-protection = { + dependencies = [ + "base64" + "logger" + "rack" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0sniswjyi0yn949l776h7f67rvx5w9f04wh69z5g19vlsnjm98ji"; + type = "gem"; + }; + version = "4.1.1"; + }; + rack-session = { + dependencies = [ + "base64" + "rack" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1s7zcxlmg88a6dam4aqbgk9xkpy6dkdfqmmcszkkliy3q3w38m2r"; + type = "gem"; + }; + version = "2.1.2"; + }; + rack-test = { + dependencies = [ "rack" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0qy4ylhcfdn65a5mz2hly7g9vl0g13p5a0rmm6sc0sih5ilkcnh0"; + type = "gem"; + }; + version = "2.2.0"; + }; + rackup = { + dependencies = [ "rack" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "13brkq5xkj6lcdxj3f0k7v28hgrqhqxjlhd4y2vlicy5slgijdzp"; + type = "gem"; + }; + version = "2.2.1"; + }; + rails = { + dependencies = [ + "actioncable" + "actionmailbox" + "actionmailer" + "actionpack" + "actiontext" + "actionview" + "activejob" + "activemodel" + "activerecord" + "activestorage" + "activesupport" + "railties" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "155skqkjrckvzj1qy37lrnafrillc47qhf3l80g3zvw100ba1h4n"; + type = "gem"; + }; + version = "7.2.3.1"; + }; + rails-dom-testing = { + dependencies = [ + "activesupport" + "minitest" + "nokogiri" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "07awj8bp7jib54d0khqw391ryw8nphvqgw4bb12cl4drlx9pkk4a"; + type = "gem"; + }; + version = "2.3.0"; + }; + rails-html-sanitizer = { + dependencies = [ + "loofah" + "nokogiri" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "128y5g3fyi8fds41jasrr4va1jrs7hcamzklk1523k7rxb64bc98"; + type = "gem"; + }; + version = "1.7.0"; + }; + rails-i18n = { + dependencies = [ + "i18n" + "railties" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1jiiv5ni1jrk15g572wc0l1ansbx6aqqsp2mk0pg9h18mkh1dbpg"; + type = "gem"; + }; + version = "7.0.10"; + }; + rails-settings-cached = { + dependencies = [ + "activerecord" + "railties" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1f59b260w1pd208l52zxxk34jfiz4cg93cxqa0lic6hz48l627bn"; + type = "gem"; + }; + version = "2.9.6"; + }; + railties = { + dependencies = [ + "actionpack" + "activesupport" + "cgi" + "irb" + "rackup" + "rake" + "thor" + "tsort" + "zeitwerk" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0np1m8xqb4wbzwpg66yjnqjban0di92lbjzcrgnwwhq2w4z3k8xf"; + type = "gem"; + }; + version = "7.2.3.1"; + }; + rainbow = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503"; + type = "gem"; + }; + version = "3.1.1"; + }; + rake = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "14s4jdcs1a4saam9qmzbsa2bsh85rj9zfxny5z315x3gg0nhkxcn"; + type = "gem"; + }; + version = "13.3.0"; + }; + rb-fsevent = { + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1zmf31rnpm8553lqwibvv3kkx0v7majm1f341xbxc0bk5sbhp423"; + type = "gem"; + }; + version = "0.11.2"; + }; + rb-inotify = { + dependencies = [ "ffi" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0vmy8xgahixcz6hzwy4zdcyn2y6d6ri8dqv5xccgzc1r292019x0"; + type = "gem"; + }; + version = "0.11.1"; + }; + rbs = { + dependencies = [ "logger" ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1mx533jn2nv29xc5faw9g5xj9qbdaiwl9wv2byv98bgw6gqwhhlf"; + type = "gem"; + }; + version = "3.9.4"; + }; + rchardet = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "03rr05qam5d6gcsnsjs85bnwg80qww484xql347j42kj3bb2xsnm"; + type = "gem"; + }; + version = "1.10.0"; + }; + rdoc = { + dependencies = [ + "erb" + "psych" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "09lj8d16wx5byj0nbcb9wc6v9farsvgn98n91kknm18g2ggl9pcz"; + type = "gem"; + }; + version = "6.14.2"; + }; + redcarpet = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0iglapqs4av4za9yfaac0lna7s16fq2xn36wpk380m55d8792i6l"; + type = "gem"; + }; + version = "3.6.1"; + }; + redis = { + dependencies = [ "redis-client" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0syhyw1bp9nbb0fvcmm58y1c6iav6xw6b4bzjz1rz2j1d7c012br"; + type = "gem"; + }; + version = "5.4.0"; + }; + redis-client = { + dependencies = [ "connection_pool" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0419fjymfl3srw52cyac1162p86jk4qsq36q268zsikklc3zszcj"; + type = "gem"; + }; + version = "0.25.0"; + }; + regexp_parser = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0qccah61pjvzyyg6mrp27w27dlv6vxlbznzipxjcswl7x3fhsvyb"; + type = "gem"; + }; + version = "2.10.0"; + }; + reline = { + dependencies = [ "io-console" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1yvm0svcdk6377ng6l00g39ldkjijbqg4whdg2zcsa8hrgbwkz0s"; + type = "gem"; + }; + version = "0.6.1"; + }; + representable = { + dependencies = [ + "declarative" + "trailblazer-option" + "uber" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1kms3r6w6pnryysnaqqa9fsn0v73zx1ilds9d1c565n3xdzbyafc"; + type = "gem"; + }; + version = "3.2.0"; + }; + retriable = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1g634lvyriq8pk87fn0dnz2ib9mma98ks7y0b30j28a9gm5i2gzv"; + type = "gem"; + }; + version = "3.4.1"; + }; + rexml = { + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "05y4lwzci16c2xgckmpxkzq4czgkyaiiqhvrabdgaym3aj2jd10k"; + type = "gem"; + }; + version = "3.4.2"; + }; + rotp = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0m48hv6wpmmm6cjr6q92q78h1i610riml19k5h1dil2yws3h1m3m"; + type = "gem"; + }; + version = "6.3.0"; + }; + rouge = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "18v8if3jix029rr3j8iwisv73facw223353n0h7avl39ibxk6hh3"; + type = "gem"; + }; + version = "4.5.2"; + }; + rqrcode = { + dependencies = [ + "chunky_png" + "rqrcode_core" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1bwqy1iwbyn1091mg203is5ngsnvfparwa1wh89s1sgnfmirkmg2"; + type = "gem"; + }; + version = "3.1.0"; + }; + rqrcode_core = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1ayrj7pwbv1g6jg5vvx6rq05lr1kbkfzbzqplj169aapmcivhh0y"; + type = "gem"; + }; + version = "2.0.0"; + }; + rspec-core = { + dependencies = [ "rspec-support" ]; + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0bcbh9yv6cs6pv299zs4bvalr8yxa51kcdd1pjl60yv625j3r0m8"; + type = "gem"; + }; + version = "3.13.6"; + }; + rspec-expectations = { + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0dl8npj0jfpy31bxi6syc7jymyd861q277sfr6jawq2hv6hx791k"; + type = "gem"; + }; + version = "3.13.5"; + }; + rspec-mocks = { + dependencies = [ + "diff-lcs" + "rspec-support" + ]; + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0klv9mibmnfqw92w5bc1bab1x4dai60xfh0xz0mhgicibsp3gcbq"; + type = "gem"; + }; + version = "3.13.6"; + }; + rspec-rails = { + dependencies = [ + "actionpack" + "activesupport" + "railties" + "rspec-core" + "rspec-expectations" + "rspec-mocks" + "rspec-support" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1kis8dfxlvi6gdzrv9nsn3ckw0c2z7armhni917qs1jx7yjkjc8i"; + type = "gem"; + }; + version = "8.0.2"; + }; + rspec-support = { + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1cmgz34hwj5s3jwxhyl8mszs24nci12ffbrmr5jb1si74iqf739f"; + type = "gem"; + }; + version = "3.13.6"; + }; + rswag-api = { + dependencies = [ + "activesupport" + "railties" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0x30mviwxvxravw9jfi91sbb1mshi7c2aidb065y32z9jayzflxn"; + type = "gem"; + }; + version = "2.16.0"; + }; + rswag-specs = { + dependencies = [ + "activesupport" + "json-schema" + "railties" + "rspec-core" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "149apnslj99w2fvhlwk39k9wf5zlh1f03j0xs8pbvc08qj2n18lb"; + type = "gem"; + }; + version = "2.16.0"; + }; + rswag-ui = { + dependencies = [ + "actionpack" + "railties" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0kx0scyb766w660y4sazarnfczi13q7h1hg7wvk95nnfgn99xx51"; + type = "gem"; + }; + version = "2.16.0"; + }; + rubocop = { + dependencies = [ + "json" + "language_server-protocol" + "lint_roller" + "parallel" + "parser" + "rainbow" + "regexp_parser" + "rubocop-ast" + "ruby-progressbar" + "unicode-display_width" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1rz0wwhxy6rv0kk2m8jp77fbhwgs7m01p2yys9bj3kwl0xsjsnp1"; + type = "gem"; + }; + version = "1.76.1"; + }; + rubocop-ast = { + dependencies = [ + "parser" + "prism" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0gis8w51k5dsmzzlppvwwznqyfd73fa3zcrpl1xihzy1mm4jw14l"; + type = "gem"; + }; + version = "1.45.1"; + }; + rubocop-performance = { + dependencies = [ + "lint_roller" + "rubocop" + "rubocop-ast" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1h9flnqk2f3llwf8g0mk0fvzzznfj7hsil3qg88m803pi9b06zbg"; + type = "gem"; + }; + version = "1.25.0"; + }; + rubocop-rails = { + dependencies = [ + "activesupport" + "lint_roller" + "rack" + "rubocop" + "rubocop-ast" + ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1404nfa0gw3p0xzmv4b9zg9v1da0nwc4m7796pl73zi2hwy65k4z"; + type = "gem"; + }; + version = "2.32.0"; + }; + rubocop-rails-omakase = { + dependencies = [ + "rubocop" + "rubocop-performance" + "rubocop-rails" + ]; + groups = [ + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "178h17q6wfsxk8gzqk1ca6dw25cwmwc2dgdb34lxwljqxv43mxra"; + type = "gem"; + }; + version = "1.1.0"; + }; + ruby-lsp = { + dependencies = [ + "language_server-protocol" + "prism" + "rbs" + ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0aa1mg6bdl23wgrxd98wycq3963jfpnh9z0yh976p9q03h01r81k"; + type = "gem"; + }; + version = "0.26.9"; + }; + ruby-lsp-rails = { + dependencies = [ "ruby-lsp" ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1bj4bj35l9jas2yf6w93j5ngw3f24lck2j9h5zmxwqs0dn91z7gh"; + type = "gem"; + }; + version = "0.4.8"; + }; + ruby-openai = { + dependencies = [ + "event_stream_parser" + "faraday" + "faraday-multipart" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "052y1ai31bv4ajsgyq718c8sjlgx1liqcwl047z3kc5k07syfsbg"; + type = "gem"; + }; + version = "8.1.0"; + }; + ruby-progressbar = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0cwvyb7j47m7wihpfaq7rc47zwwx9k4v7iqd9s1xch5nm53rrz40"; + type = "gem"; + }; + version = "1.13.0"; + }; + ruby-rc4 = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "00vci475258mmbvsdqkmqadlwn6gj9m01sp7b5a3zd90knil1k00"; + type = "gem"; + }; + version = "0.1.5"; + }; + ruby-saml = { + dependencies = [ + "nokogiri" + "rexml" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "01wi1csw4kjmlxmd1igx5hj2wrwkslay1xamg4cv8l7imr27l3hv"; + type = "gem"; + }; + version = "1.18.1"; + }; + ruby-statistics = { + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1agj0yspf9haqvqlq5dy3gqn8xc0h9a1dd7c44fi9rn4bnyplsbx"; + type = "gem"; + }; + version = "4.1.0"; + }; + ruby-vips = { + dependencies = [ + "ffi" + "logger" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0j8wxbkl261nwg7jr6kdz0zlyim4zcnnb72ynky97grqid6d61d3"; + type = "gem"; + }; + version = "2.2.4"; + }; + ruby2_keywords = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; + type = "gem"; + }; + version = "0.0.5"; + }; + rubyzip = { + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "05an0wz87vkmqwcwyh5rjiaavydfn5f4q1lixcsqkphzvj7chxw5"; + type = "gem"; + }; + version = "2.4.1"; + }; + safety_net_attestation = { + dependencies = [ "jwt" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1apjjd99bqsc22bfq66j27dp4im0amisy619hr9qbghdapfh3kf8"; + type = "gem"; + }; + version = "0.5.0"; + }; + sawyer = { + dependencies = [ + "addressable" + "faraday" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1jks1qjbmqm8f9kvwa81vqj39avaj9wdnzc531xm29a55bb74fps"; + type = "gem"; + }; + version = "0.9.2"; + }; + securerandom = { + groups = [ + "default" + "development" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1cd0iriqfsf1z91qg271sm88xjnfd92b832z49p1nd542ka96lfc"; + type = "gem"; + }; + version = "0.4.1"; + }; + selenium-webdriver = { + dependencies = [ + "base64" + "logger" + "rexml" + "rubyzip" + "websocket" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "07i7ifp8vpgsn9y9smvndnbx1bkcl9mmxjnq8yrf4vz6rccbfyzc"; + type = "gem"; + }; + version = "4.34.0"; + }; + sentry-rails = { + dependencies = [ + "railties" + "sentry-ruby" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "133195jdyn3slgqybj66ig4v8fn3ms6xr60chi02lwlzxinijkdf"; + type = "gem"; + }; + version = "5.26.0"; + }; + sentry-ruby = { + dependencies = [ + "bigdecimal" + "concurrent-ruby" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0jsmjh46kpqfvysl5hp9iynxiq4pcvp6f26vrdr72gv89542vf1p"; + type = "gem"; + }; + version = "5.26.0"; + }; + sentry-sidekiq = { + dependencies = [ + "sentry-ruby" + "sidekiq" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0dc3nffkv79dpkskyhl658kvbz0y4msrlr9rgvcksw34i4g5bc2c"; + type = "gem"; + }; + version = "5.26.0"; + }; + sidekiq = { + dependencies = [ + "connection_pool" + "json" + "logger" + "rack" + "redis-client" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1m7pz58jkkild9y4w7l61rwxrzdv739z7nfr5kd85w3vrxpv4qyh"; + type = "gem"; + }; + version = "8.0.5"; + }; + sidekiq-cron = { + dependencies = [ + "cronex" + "fugit" + "globalid" + "sidekiq" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "05fns2mlajklgx04r9w4lrj1ikarwg6f34z5j8xxpdm5wx2mgiw9"; + type = "gem"; + }; + version = "2.3.0"; + }; + sidekiq-unique-jobs = { + dependencies = [ + "concurrent-ruby" + "sidekiq" + "thor" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "10g1y6258xsw89c831c16z7m66i37ivhrcbfirpi0pb48fwinik3"; + type = "gem"; + }; + version = "8.0.11"; + }; + signet = { + dependencies = [ + "addressable" + "faraday" + "jwt" + "multi_json" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0nydm087m5c3j85gvzvz30w1qb9pl2lzpznw746jha29ybxyj5yn"; + type = "gem"; + }; + version = "0.21.0"; + }; + simplecov = { + dependencies = [ + "docile" + "simplecov-html" + "simplecov_json_formatter" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "198kcbrjxhhzca19yrdcd6jjj9sb51aaic3b0sc3pwjghg3j49py"; + type = "gem"; + }; + version = "0.22.0"; + }; + simplecov-html = { + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "02zi3rwihp7rlnp9x18c9idnkx7x68w6jmxdhyc0xrhjwrz0pasx"; + type = "gem"; + }; + version = "0.13.1"; + }; + simplecov_json_formatter = { + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0a5l0733hj7sk51j81ykfmlk2vd5vaijlq9d5fn165yyx3xii52j"; + type = "gem"; + }; + version = "0.1.4"; + }; + skylight = { + dependencies = [ "activesupport" ]; + groups = [ "production" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "035xplxkr21z73c7mzfaj7ak438w2j63118724s53fbnv8rrw790"; + type = "gem"; + }; + version = "6.0.4"; + }; + smart_properties = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0jrqssk9qhwrpq41arm712226vpcr458xv6xaqbk8cp94a0kycpr"; + type = "gem"; + }; + version = "1.17.0"; + }; + snaky_hash = { + dependencies = [ + "hashie" + "version_gem" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0mnllrwhs7psw6xxs8x5yx85k12qjfdgs8zs0bxm70bfascx58r5"; + type = "gem"; + }; + version = "2.0.3"; + }; + snaptrade = { + dependencies = [ + "faraday" + "faraday-multipart" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "19c6vj1g6iy81czg0z9r28w7mqzfqxp4isg3fzpxgq8x4ihi5s3x"; + type = "gem"; + }; + version = "2.0.156"; + }; + stackprof = { + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "03788mbipmihq2w7rznzvv0ks0s9z1321k1jyr6ffln8as3d5xmg"; + type = "gem"; + }; + version = "0.2.27"; + }; + stimulus-rails = { + dependencies = [ "railties" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "01nbcxyi1mhikq8yjl0g9swy1cpzx146pli6w16gcfpkl7zpcmkn"; + type = "gem"; + }; + version = "1.3.4"; + }; + stringio = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1yh78pg6lm28c3k0pfd2ipskii1fsraq46m6zjs5yc9a4k5vfy2v"; + type = "gem"; + }; + version = "3.1.7"; + }; + stripe = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1wsnpmbswir58hg7hi745mpgwsd5h5452f57mgpc6k7qzbm9v2v2"; + type = "gem"; + }; + version = "15.3.0"; + }; + swd = { + dependencies = [ + "activesupport" + "attr_required" + "faraday" + "faraday-follow_redirects" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0m86fzmwgw0vc8p6fwvnsdbldpgbqdz9cbp2zj9z06bc4jjf5nsc"; + type = "gem"; + }; + version = "2.0.3"; + }; + tailwindcss-rails = { + dependencies = [ + "railties" + "tailwindcss-ruby" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1ab8dd2agzxx6nk8nvwrdqg6y7gl1p9knfypkxc561wxh5qbyl18"; + type = "gem"; + }; + version = "4.2.3"; + }; + tailwindcss-ruby = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0ljizfgxivhlqb14hd2i2szg6dqkmpqvk2xaf4by1kb57vmzhz5b"; + type = "gem"; + }; + version = "4.1.8"; + }; + terminal-table = { + dependencies = [ "unicode-display_width" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1lh18gwpksk25sbcjgh94vmfw2rz0lrq61n7lwp1n9gq0cr7j17m"; + type = "gem"; + }; + version = "4.0.0"; + }; + thor = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0gcarlmpfbmqnjvwfz44gdjhcmm634di7plcx2zdgwdhrhifhqw7"; + type = "gem"; + }; + version = "1.4.0"; + }; + timeout = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1jxcji88mh6xsqz0mfzwnxczpg7cyniph7wpavnavfz7lxl77xbq"; + type = "gem"; + }; + version = "0.6.1"; + }; + tpm-key_attestation = { + dependencies = [ + "bindata" + "openssl" + "openssl-signature_algorithm" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0gqr27hrmg35j7kcb6c2cx3xvkqfs42zpp9jcqw0mzbs79jy9m3z"; + type = "gem"; + }; + version = "0.14.1"; + }; + trailblazer-option = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "18s48fndi2kfvrfzmq6rxvjfwad347548yby0341ixz1lhpg3r10"; + type = "gem"; + }; + version = "0.1.2"; + }; + tsort = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "17q8h020dw73wjmql50lqw5ddsngg67jfw8ncjv476l5ys9sfl4n"; + type = "gem"; + }; + version = "0.2.0"; + }; + ttfunk = { + dependencies = [ "bigdecimal" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1ji0kn8jkf1rpskv3ijzxvqwixg4p6sk8kg0vmwyjinci7jcgjx7"; + type = "gem"; + }; + version = "1.8.0"; + }; + turbo-rails = { + dependencies = [ + "actionpack" + "railties" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "13d31vm4i39cg7nkgn10h8zi89qh77jngafdkrab6xf5y1h1nknj"; + type = "gem"; + }; + version = "2.0.16"; + }; + tzinfo = { + dependencies = [ "concurrent-ruby" ]; + groups = [ + "default" + "development" + "production" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd"; + type = "gem"; + }; + version = "2.0.6"; + }; + tzinfo-data = { + dependencies = [ "tzinfo" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1g0hmv2axxjvk7m5ksql9q0a6mnhqv4cqgqqzh0pd39vsp9x7c3x"; + type = "gem"; + }; + version = "1.2026.2"; + }; + uber = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1p1mm7mngg40x05z52md3mbamkng0zpajbzqjjwmsyw0zw3v9vjv"; + type = "gem"; + }; + version = "0.1.0"; + }; + unaccent = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0cvk3vhs95123r4faa60vqknishx3r6fiy2kq0bm7p3f04q849yr"; + type = "gem"; + }; + version = "0.4.0"; + }; + unicode = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1mx9lwzy021lpcqql5kn4yi20njhf5h7c7wxm2fx51p1r2zr9wj2"; + type = "gem"; + }; + version = "0.4.4.5"; + }; + unicode-display_width = { + dependencies = [ "unicode-emoji" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1has87asspm6m9wgqas8ghhhwyf2i1yqrqgrkv47xw7jq3qjmbwc"; + type = "gem"; + }; + version = "3.1.4"; + }; + unicode-emoji = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0ajk6rngypm3chvl6r0vwv36q1931fjqaqhjjya81rakygvlwb1c"; + type = "gem"; + }; + version = "4.0.4"; + }; + uri = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1ijpbj7mdrq7rhpq2kb51yykhrs2s54wfs6sm9z3icgz4y6sb7rp"; + type = "gem"; + }; + version = "1.1.1"; + }; + useragent = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0i1q2xdjam4d7gwwc35lfnz0wyyzvnca0zslcfxm9fabml9n83kh"; + type = "gem"; + }; + version = "0.16.11"; + }; + validate_url = { + dependencies = [ + "activemodel" + "public_suffix" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0lblym140w5n88ijyfgcvkxvpfj8m6z00rxxf2ckmmhk0x61dzkj"; + type = "gem"; + }; + version = "1.0.15"; + }; + vcr = { + dependencies = [ "base64" ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1v83xjgj5y1fzp7nm4s5dixwpy5yr8crklyjyjilc13jgqanxd9p"; + type = "gem"; + }; + version = "6.3.1"; + }; + vernier = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1pdc4p5vmms5bd7z324g0zmr7aa59l5xwidwbv1gz2m5q9arbky6"; + type = "gem"; + }; + version = "1.8.0"; + }; + version_gem = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "195r5qylwxwqbllnpli9c2pzin0lky6h3fw912h88g2lmri0j6hc"; + type = "gem"; + }; + version = "1.1.9"; + }; + view_component = { + dependencies = [ + "activesupport" + "concurrent-ruby" + "method_source" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0aw962shs2x52dy1vhzkw1qc0b5vxmgaab6lld7hggrqkr5ysbrw"; + type = "gem"; + }; + version = "3.23.2"; + }; + web-console = { + dependencies = [ + "actionview" + "activemodel" + "bindex" + "railties" + ]; + groups = [ "development" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "087y4byl2s3fg0nfhix4s0r25cv1wk7d2j8n5324waza21xg7g77"; + type = "gem"; + }; + version = "4.2.1"; + }; + webauthn = { + dependencies = [ + "android_key_attestation" + "bindata" + "cbor" + "cose" + "openssl" + "safety_net_attestation" + "tpm-key_attestation" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1z710ndfr9yajywhji8mr5gc3j3wnr0alq754q15nh7k73wgbrlv"; + type = "gem"; + }; + version = "3.4.3"; + }; + webfinger = { + dependencies = [ + "activesupport" + "faraday" + "faraday-follow_redirects" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0p39802sfnm62r4x5hai8vn6d1wqbxsxnmbynsk8rcvzwyym4yjn"; + type = "gem"; + }; + version = "2.1.3"; + }; + webmock = { + dependencies = [ + "addressable" + "crack" + "hashdiff" + ]; + groups = [ "test" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "08v374yrqqhjj3xjzmvwnv3yz21r22kn071yr0i67gmwaf9mv7db"; + type = "gem"; + }; + version = "3.25.1"; + }; + websocket = { + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0dr78vh3ag0d1q5gfd8960g1ca9g6arjd2w54mffid8h4i7agrxp"; + type = "gem"; + }; + version = "1.2.11"; + }; + websocket-driver = { + dependencies = [ + "base64" + "websocket-extensions" + ]; + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0qj9dmkmgahmadgh88kydb7cv15w13l1fj3kk9zz28iwji5vl3gd"; + type = "gem"; + }; + version = "0.8.0"; + }; + websocket-extensions = { + groups = [ + "default" + "development" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0hc2g9qps8lmhibl5baa91b4qx8wqw872rgwagml78ydj8qacsqw"; + type = "gem"; + }; + version = "0.1.5"; + }; + xpath = { + dependencies = [ "nokogiri" ]; + groups = [ + "default" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd"; + type = "gem"; + }; + version = "3.2.0"; + }; + yard = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "14k9lb9a60r9z2zcqg08by9iljrrgjxdkbd91gw17rkqkqwi1sd6"; + type = "gem"; + }; + version = "0.9.37"; + }; + zeitwerk = { + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "119ypabas886gd0n9kiid3q41w76gz60s8qmiak6pljpkd56ps5j"; + type = "gem"; + }; + version = "2.7.3"; + }; +} diff --git a/pkgs/by-name/su/sure/sources.json b/pkgs/by-name/su/sure/sources.json new file mode 100644 index 000000000000..aba5d659410a --- /dev/null +++ b/pkgs/by-name/su/sure/sources.json @@ -0,0 +1,6 @@ +{ + "owner": "we-promise", + "repo": "sure", + "version": "v0.7.1", + "hash": "sha256-FK5ZuP8SCeEY2pGdUy6CtlMgCYIUMBPITQGloNChivI=" +} diff --git a/pkgs/by-name/su/sure/update.sh b/pkgs/by-name/su/sure/update.sh new file mode 100755 index 000000000000..73322a076208 --- /dev/null +++ b/pkgs/by-name/su/sure/update.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env nix-shell +#! nix-shell -i bash -p bundix curl jq nix-update nix-prefetch-github ruby_3_4 +set -e +set -o pipefail + +OWNER="we-promise" +REPO="sure" +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd)" +RUBY_ENV_DIR="${SCRIPT_DIR}/rubyEnv" +SOURCES_FILE="${SCRIPT_DIR}/sources.json" + +old_version=$(jq -r .version "${SOURCES_FILE}" || echo -n "0.0.1") +version=$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/${OWNER}/${REPO}/releases/latest" | jq -r ".tag_name") + +echo "Updating to $version" + +if [[ "${old_version}" == "${version}" ]]; then + echo "Already up to date!" + exit 0 +fi + +echo "Fetching source code" +JSON=$(nix-prefetch-github "${OWNER}" "${REPO}" --rev "refs/tags/${version}" 2>/dev/null) +HASH=$(echo "${JSON}" | jq -r .hash) + +sources_tmp="$(mktemp)" +cat >"${sources_tmp}" <=${RUBY_VERSION}\"/" "${RUBY_ENV_DIR}/Gemfile" + +# Bundix doesn't seem to support windows platform: +# https://github.com/nix-community/bundix/issues/57 +# https://github.com/nix-community/bundix/pull/112 +sed -i 's/, platforms: %i\[windows jruby\]//g' "${RUBY_ENV_DIR}/Gemfile" +sed -i 's/, platforms: %i\[mri windows\]//g' "${RUBY_ENV_DIR}/Gemfile" + +# bundix and bundlerEnv fail with system-specific gems +(cd "${RUBY_ENV_DIR}" && BUNDLE_FORCE_RUBY_PLATFORM=true bundle lock) + +bundix --lockfile="${RUBY_ENV_DIR}/Gemfile.lock" --gemfile="${RUBY_ENV_DIR}/Gemfile" --gemset="${RUBY_ENV_DIR}/gemset.nix" +nixfmt "${RUBY_ENV_DIR}/gemset.nix" + +mv "${sources_tmp}" "${SOURCES_FILE}" diff --git a/pkgs/by-name/sy/systemdgenie/package.nix b/pkgs/by-name/sy/systemdgenie/package.nix index 9e8fd6904b8a..131854eaa09c 100644 --- a/pkgs/by-name/sy/systemdgenie/package.nix +++ b/pkgs/by-name/sy/systemdgenie/package.nix @@ -10,14 +10,14 @@ stdenv.mkDerivation { pname = "systemdgenie"; - version = "0.99.0-unstable-2026-05-03"; + version = "0.99.0-unstable-2026-06-04"; src = fetchFromGitLab { domain = "invent.kde.org"; repo = "SystemdGenie"; owner = "system"; - rev = "4b669ff4c51f42f3104d43097f584cbb5d99581a"; - hash = "sha256-qrow4QCkVri+WbOZSe0tYn/oBdVB4n0SQmGuCYX1j8o="; + rev = "4c83c2d0babdc4168b07a90a5ed0accd6c8f9e9c"; + hash = "sha256-quaJRTF2ERw0hDNViphnPHrlbz98MHW9KX7hD6Apfwo="; }; strictDeps = true; diff --git a/pkgs/by-name/te/termscp/package.nix b/pkgs/by-name/te/termscp/package.nix index 9eb8c2f1927c..195bf698ffd0 100644 --- a/pkgs/by-name/te/termscp/package.nix +++ b/pkgs/by-name/te/termscp/package.nix @@ -13,16 +13,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "termscp"; - version = "1.0.0"; + version = "1.1.1"; src = fetchFromGitHub { owner = "veeso"; repo = "termscp"; tag = "v${finalAttrs.version}"; - hash = "sha256-WsTvKQg6TULOlKOAYhdE1wEyAegFKEZFN83QBSX0WdY="; + hash = "sha256-Alp0/f0OqLD7UeJwDhr2OIuk1TPXLQPAVUsZOQzo5jI="; }; - cargoHash = "sha256-Z39YCN2x7FM/rkcQ/DFnx5iLho0bWD/zaUxhAlN2T1k="; + cargoHash = "sha256-7xD+86v0ITBKF8js4UKwoTJFHa20wt6PDqkazShBtvc="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/to/tombi/package.nix b/pkgs/by-name/to/tombi/package.nix index 95aa91872287..5f27aa052a0e 100644 --- a/pkgs/by-name/to/tombi/package.nix +++ b/pkgs/by-name/to/tombi/package.nix @@ -9,19 +9,24 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "tombi"; - version = "0.11.6"; + version = "1.1.2"; + + __structuredAttrs = true; src = fetchFromGitHub { owner = "tombi-toml"; repo = "tombi"; tag = "v${finalAttrs.version}"; - hash = "sha256-m9ppr3P4HIzIzNYbLukbcCoYwRdcTWIpMmcmteIfo84="; + hash = "sha256-qgYyp8PglhRByajXartyuPgLDK8S5Uik7xABJnI26Bw="; }; # Tests relies on the presence of network doCheck = false; - cargoBuildFlags = [ "--package tombi-cli" ]; - cargoHash = "sha256-f67OkZEB98KCtvkjszrcPLoC2QWl/5rd/qvb8jmonxc="; + cargoBuildFlags = [ + "--package" + "tombi-cli" + ]; + cargoHash = "sha256-IgtFNjp8fql01KGCR6h4+QtEm3AxJxsq900ZEwhRWhg="; postPatch = '' substituteInPlace Cargo.toml \ @@ -47,7 +52,10 @@ rustPlatform.buildRustPackage (finalAttrs: { description = "TOML Formatter / Linter / Language Server"; homepage = "https://github.com/tombi-toml/tombi"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ psibi ]; + maintainers = with lib.maintainers; [ + faukah + psibi + ]; mainProgram = "tombi"; }; }) diff --git a/pkgs/by-name/ty/typesetter/package.nix b/pkgs/by-name/ty/typesetter/package.nix index a6c2ffa42211..c7b93fa8558f 100644 --- a/pkgs/by-name/ty/typesetter/package.nix +++ b/pkgs/by-name/ty/typesetter/package.nix @@ -30,19 +30,19 @@ stdenv.mkDerivation (finalAttrs: { pname = "typesetter"; - version = "0.13.3"; + version = "0.13.5"; __structuredAttrs = true; src = fetchFromCodeberg { owner = "haydn"; repo = "typesetter"; tag = "v${finalAttrs.version}"; - hash = "sha256-J9s0PRnU7FHE8cvLuk/izW8zKjAuWQ9pcfvop+sLzoc="; + hash = "sha256-sJUuc7Ado0NFbLrnO3WVxgMA2l5Uh7X0uLvJVhgwwPA="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname version src; - hash = "sha256-0akosKshUW03+9Pz9ISk+IY4cWFZywHlpme0E7gn+2E="; + hash = "sha256-E2ADu5jo8ulXGIw+vd9m4oFcxMMvo85oIetsIJy9ql4="; }; strictDeps = true; diff --git a/pkgs/by-name/un/unifi/package.nix b/pkgs/by-name/un/unifi/package.nix index 8009886e0a45..f1d26cb4ce44 100644 --- a/pkgs/by-name/un/unifi/package.nix +++ b/pkgs/by-name/un/unifi/package.nix @@ -10,12 +10,12 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "unifi-controller"; - version = "10.2.105"; + version = "10.4.57"; # see https://community.ui.com/releases / https://www.ui.com/download/unifi src = fetchurl { url = "https://dl.ui.com/unifi/${finalAttrs.version}/unifi_sysvinit_all.deb"; - hash = "sha256-MBTFxNwrIbx6UKZYCcZ+BjYjSlfdxL60Ogei/ba4O+U="; + hash = "sha256-/DeM+M0r7D0zS/e3Lqv80YYeX65nucFnNUcRMhBbIHI="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/uv/uv/package.nix b/pkgs/by-name/uv/uv/package.nix index d0c399a1b148..c1c2f2eaaac0 100644 --- a/pkgs/by-name/uv/uv/package.nix +++ b/pkgs/by-name/uv/uv/package.nix @@ -18,17 +18,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "uv"; - version = "0.11.17"; + version = "0.11.19"; __structuredAttrs = true; src = fetchFromGitHub { owner = "astral-sh"; repo = "uv"; tag = finalAttrs.version; - hash = "sha256-pjQe/z2Es9k6lhlauo4ie0VCfHE1Co98i3y1RbdwPQw="; + hash = "sha256-2NZVsYK0lZHX5xQqQXXczoaBzEMIGHjT0ls55BVu0RM="; }; - cargoHash = "sha256-r+bxTFVzf1wSq5JeAoerxIA32FlxVKfDjchQqviimkY="; + cargoHash = "sha256-gMCvZUzqLe/Q7O1tWWPJs7pxWklb3LN9QQIULIq4oUU="; buildInputs = [ rust-jemalloc-sys diff --git a/pkgs/by-name/vi/vicinae/package.nix b/pkgs/by-name/vi/vicinae/package.nix index ae2ee689bc32..9609e32b76fa 100644 --- a/pkgs/by-name/vi/vicinae/package.nix +++ b/pkgs/by-name/vi/vicinae/package.nix @@ -21,13 +21,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "vicinae"; - version = "0.21.3"; + version = "0.21.6"; src = fetchFromGitHub { owner = "vicinaehq"; repo = "vicinae"; tag = "v${finalAttrs.version}"; - hash = "sha256-MDx66Kf8TOdszkxlLUzEscvISkYZLcXuGU8Y6Ke0tqs="; + hash = "sha256-4Dj7joNwTKX/e6TWIt9hCK0ojW6oVcrLFqhniHKtwpc="; }; apiDeps = fetchNpmDeps { diff --git a/pkgs/by-name/vm/vmfs-tools/package.nix b/pkgs/by-name/vm/vmfs-tools/package.nix deleted file mode 100644 index b8ce3cd60d99..000000000000 --- a/pkgs/by-name/vm/vmfs-tools/package.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - pkg-config, - asciidoc, - docbook_xsl, - fuse, - libuuid, - libxslt, -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "vmfs-tools"; - version = "0.2.5.20160116"; - - src = fetchFromGitHub { - owner = "glandium"; - repo = "vmfs-tools"; - rev = "4ab76ef5b074bdf06e4b518ff6d50439de05ae7f"; - sha256 = "14y412ww5hxk336ils62s3fwykfh6mx1j0iiaa5cwc615pi6qvi4"; - }; - - nativeBuildInputs = [ - asciidoc - docbook_xsl - libxslt - pkg-config - ]; - - buildInputs = [ - fuse - libuuid - ]; - - enableParallelBuilding = true; - - postInstall = '' - install -Dm444 -t $out/share/doc/vmfs-tools AUTHORS LICENSE README TODO - ''; - - meta = { - description = "FUSE-based VMFS (vmware) file system tools"; - maintainers = with lib.maintainers; [ peterhoeg ]; - license = lib.licenses.gpl2Plus; - platforms = lib.platforms.linux; - inherit (finalAttrs.src.meta) homepage; - }; -}) diff --git a/pkgs/by-name/vu/vuls/package.nix b/pkgs/by-name/vu/vuls/package.nix index 507becfe979c..46d28aa4f087 100644 --- a/pkgs/by-name/vu/vuls/package.nix +++ b/pkgs/by-name/vu/vuls/package.nix @@ -6,17 +6,17 @@ buildGoModule (finalAttrs: { pname = "vuls"; - version = "0.39.2"; + version = "0.39.3"; src = fetchFromGitHub { owner = "future-architect"; repo = "vuls"; tag = "v${finalAttrs.version}"; - hash = "sha256-S3YNBsrvtiTEpJ+jo5lOMMKhRH/eo626aeGr7bqSUh0="; + hash = "sha256-ObwEw4oaA04bwekvAZVw4qD3kNiyKuhYYucASN1j3/g="; fetchSubmodules = true; }; - vendorHash = "sha256-Oc1THgqt7MC+mE5X+4tFZPlVQKWaUD4gdxcD1rMfcAI="; + vendorHash = "sha256-scsAVeFhZFWNuzVTnVAyaMCJdm37FiqEn3Mf92oEx8U="; ldflags = [ "-s" diff --git a/pkgs/by-name/wa/waydroid-helper/package.nix b/pkgs/by-name/wa/waydroid-helper/package.nix index c997c37425a1..828e9caf19c9 100644 --- a/pkgs/by-name/wa/waydroid-helper/package.nix +++ b/pkgs/by-name/wa/waydroid-helper/package.nix @@ -17,22 +17,22 @@ android-tools, e2fsprogs, fakeroot, - fuse, libadwaita, libxml2, systemd, unzip, nix-update-script, + fetchpatch, }: let - version = "0.2.7"; + version = "0.2.9"; src = fetchFromGitHub { owner = "ayasa520"; repo = "waydroid-helper"; tag = "v${version}"; - hash = "sha256-I8DwaPQQz4eSyuTCwkbidhXACfpdOYcmGjP7d03DIU0="; + hash = "sha256-6mVb4GPD2NCsvyaqQAOFox0rNIlyOttiaZKbHBS40Rg="; }; in python3Packages.buildPythonApplication { @@ -40,6 +40,15 @@ python3Packages.buildPythonApplication { inherit version src; pyproject = false; # uses meson + patches = [ + # remove for next release + (fetchpatch { + name = "USE_UMOUNT_NOT_FUSERMOUNT"; + url = "https://github.com/waydroid-helper/waydroid-helper/commit/eb8ccf7a276f95b31972edbd063245704b2b5b2e.patch"; + hash = "sha256-z0PWBZTox3RpPCm8/fGYEukU0v41U7/TFcYE0Ec5Zeg="; + }) + ]; + postPatch = '' substituteInPlace dbus/meson.build \ --replace-fail "dbus_policy_dir," "'$out/share/dbus-1/system.d'," \ @@ -99,7 +108,6 @@ python3Packages.buildPythonApplication { bindfs e2fsprogs fakeroot - fuse unzip ] }" diff --git a/pkgs/by-name/wo/woeusb-ng/package.nix b/pkgs/by-name/wo/woeusb-ng/package.nix index a68853dd6e4f..e6fef0592ad1 100644 --- a/pkgs/by-name/wo/woeusb-ng/package.nix +++ b/pkgs/by-name/wo/woeusb-ng/package.nix @@ -6,6 +6,7 @@ p7zip, parted, grub2, + ntfs3g, }: python3Packages.buildPythonApplication (finalAttrs: { @@ -35,6 +36,7 @@ python3Packages.buildPythonApplication (finalAttrs: { p7zip parted grub2 + ntfs3g ] }" ) diff --git a/pkgs/by-name/wp/wpscan/Gemfile.lock b/pkgs/by-name/wp/wpscan/Gemfile.lock index e67bb515a23c..f8803e049a5e 100644 --- a/pkgs/by-name/wp/wpscan/Gemfile.lock +++ b/pkgs/by-name/wp/wpscan/Gemfile.lock @@ -1,72 +1,87 @@ GEM remote: https://rubygems.org/ specs: - activesupport (8.0.1) + activesupport (8.1.3) base64 - benchmark (>= 0.3) bigdecimal concurrent-ruby (~> 1.0, >= 1.3.1) connection_pool (>= 2.2.5) drb i18n (>= 1.6, < 2) + json logger (>= 1.4.2) minitest (>= 5.1) securerandom (>= 0.3) tzinfo (~> 2.0, >= 2.0.5) uri (>= 0.13.1) - addressable (2.8.7) - public_suffix (>= 2.0.2, < 7.0) - base64 (0.2.0) - benchmark (0.4.0) - bigdecimal (3.1.9) - cms_scanner (0.15.0) - ethon (>= 0.14, < 0.17) - get_process_mem (>= 0.2.5, < 1.1.0) - nokogiri (~> 1.16) - opt_parse_validator (~> 1.10.1) - public_suffix (>= 4.0.3, < 6.1) - ruby-progressbar (>= 1.10, < 1.14) - sys-proctable (>= 1.2.2, < 1.4.0) - typhoeus (>= 1.3, < 1.5) - xmlrpc (~> 0.3) - yajl-ruby (~> 1.4.1) - concurrent-ruby (1.3.5) - connection_pool (2.5.0) - drb (2.2.1) - ethon (0.16.0) + addressable (2.9.0) + public_suffix (>= 2.0.2, < 8.0) + base64 (0.3.0) + bigdecimal (4.1.2) + concurrent-ruby (1.3.6) + connection_pool (3.0.2) + drb (2.2.3) + ethon (0.18.0) ffi (>= 1.15.0) - ffi (1.17.1) + logger + ferrum (0.17.2) + addressable (~> 2.5) + base64 (~> 0.2) + concurrent-ruby (~> 1.1) + webrick (~> 1.7) + websocket-driver (~> 0.7) + ffi (1.17.4) + fiddle (1.1.8) get_process_mem (1.0.0) bigdecimal (>= 2.0) ffi (~> 1.0) - i18n (1.14.7) + i18n (1.14.8) concurrent-ruby (~> 1.0) - logger (1.6.6) - mini_portile2 (2.8.8) - minitest (5.25.4) - nokogiri (1.18.3) + json (2.19.8) + logger (1.7.0) + mini_portile2 (2.8.9) + minitest (6.0.6) + drb (~> 2.0) + prism (~> 1.5) + nokogiri (1.19.3) mini_portile2 (~> 2.8.2) racc (~> 1.4) - opt_parse_validator (1.10.1) - activesupport (>= 5.2, < 8.1.0) - addressable (>= 2.5, < 2.9) - ostruct (~> 0.6) - ostruct (0.6.1) - public_suffix (6.0.1) + ostruct (0.6.3) + prism (1.9.0) + public_suffix (7.0.5) racc (1.8.1) + rexml (3.4.4) ruby-progressbar (1.13.0) securerandom (0.4.1) sys-proctable (1.3.0) ffi (~> 1.1) - typhoeus (1.4.1) - ethon (>= 0.9.0) + typhoeus (1.6.0) + ethon (>= 0.18.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - uri (1.0.3) - webrick (1.9.1) - wpscan (3.8.28) - cms_scanner (~> 0.15.0) - xmlrpc (0.3.3) + uri (1.1.1) + webrick (1.9.2) + websocket-driver (0.8.1) + base64 + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + wpscan (4.0.0) + activesupport (>= 7.1, < 8.2) + addressable (~> 2.9) + ethon (>= 0.14, < 0.19) + ferrum (~> 0.8) + fiddle (~> 1.1) + get_process_mem (>= 0.2.5, < 1.1.0) + nokogiri (~> 1.16) + ostruct (~> 0.6) + public_suffix (>= 4.0.3, < 7.1) + ruby-progressbar (>= 1.10, < 1.14) + sys-proctable (>= 1.2.2, < 1.4.0) + typhoeus (>= 1.3, < 1.7) + xmlrpc (~> 0.3) + yajl-ruby (~> 1.4.1) + xmlrpc (0.3.4) + rexml webrick yajl-ruby (1.4.3) @@ -77,4 +92,4 @@ DEPENDENCIES wpscan BUNDLED WITH - 2.5.22 + 2.7.2 diff --git a/pkgs/by-name/wp/wpscan/gemset.nix b/pkgs/by-name/wp/wpscan/gemset.nix index d48750a39314..0791a73ad477 100644 --- a/pkgs/by-name/wp/wpscan/gemset.nix +++ b/pkgs/by-name/wp/wpscan/gemset.nix @@ -2,12 +2,12 @@ activesupport = { dependencies = [ "base64" - "benchmark" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" + "json" "logger" "minitest" "securerandom" @@ -18,10 +18,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0drfj44a16r86clrrqz3vqmg93qri6bqghjm21ac6jn2853cfnzx"; + sha256 = "03m2vjhq3nmc8c3hpivxhvkjd8igg16nmv0p2fgdsgacppgy1991"; type = "gem"; }; - version = "8.0.1"; + version = "8.1.3"; }; addressable = { dependencies = [ "public_suffix" ]; @@ -29,113 +29,111 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6"; + sha256 = "1by7h2lwziiblizpd5yx87jsq8ppdhzvwf08ga34wzqgcv1nmpvz"; type = "gem"; }; - version = "2.8.7"; + version = "2.9.0"; }; base64 = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; + sha256 = "0yx9yn47a8lkfcjmigk79fykxvr80r4m1i35q82sxzynpbm7lcr7"; type = "gem"; }; - version = "0.2.0"; - }; - benchmark = { - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0jl71qcgamm96dzyqk695j24qszhcc7liw74qc83fpjljp2gh4hg"; - type = "gem"; - }; - version = "0.4.0"; + version = "0.3.0"; }; bigdecimal = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1k6qzammv9r6b2cw3siasaik18i6wjc5m0gw5nfdc6jj64h79z1g"; + sha256 = "1g9zi8c4i7g8zz0c3hxrw6mblrjvgn7akys60clb9si7c1k1gljk"; type = "gem"; }; - version = "3.1.9"; - }; - cms_scanner = { - dependencies = [ - "ethon" - "get_process_mem" - "nokogiri" - "opt_parse_validator" - "public_suffix" - "ruby-progressbar" - "sys-proctable" - "typhoeus" - "xmlrpc" - "yajl-ruby" - ]; - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1bcsb0ifl31zh3mli8kgxxk1ii76cxcp414g4blwy4zh2732y84m"; - type = "gem"; - }; - version = "0.15.0"; + version = "4.1.2"; }; concurrent-ruby = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1ipbrgvf0pp6zxdk5ascp6i29aybz2bx9wdrlchjmpx6mhvkwfw1"; + sha256 = "1aymcakhzl83k77g2f2krz07bg1cbafbcd2ghvwr4lky3rz86mkb"; type = "gem"; }; - version = "1.3.5"; + version = "1.3.6"; }; connection_pool = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1z7bag6zb2vwi7wp2bkdkmk7swkj6zfnbsnc949qq0wfsgw94fr3"; + sha256 = "02ifws3c4x7b54fv17sm4cca18d2pfw1saxpdji2lbd1f6xgbzrk"; type = "gem"; }; - version = "2.5.0"; + version = "3.0.2"; }; drb = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79"; + sha256 = "0wrkl7yiix268s2md1h6wh91311w95ikd8fy8m5gx589npyxc00b"; type = "gem"; }; - version = "2.2.1"; + version = "2.2.3"; }; ethon = { - dependencies = [ "ffi" ]; + dependencies = [ + "ffi" + "logger" + ]; groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "17ix0mijpsy3y0c6ywrk5ibarmvqzjsirjyprpsy3hwax8fdm85v"; + sha256 = "1cpwds6mpija1bwh8p89fqa993llssvi81w5ic3cnj04yg4sz65m"; type = "gem"; }; - version = "0.16.0"; + version = "0.18.0"; + }; + ferrum = { + dependencies = [ + "addressable" + "base64" + "concurrent-ruby" + "webrick" + "websocket-driver" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1vp62wy85hr5fa0d29y3wh3zaj10sszj3pl19mps84dja2l4099c"; + type = "gem"; + }; + version = "0.17.2"; }; ffi = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0fgwn1grxf4zxmyqmb9i4z2hr111585n9jnk17y6y7hhs7dv1xi6"; + sha256 = "1kqasqvy8d7r09ri4n6bkdwbk63j7afd9ilsw34nzlgh0qp69ldw"; type = "gem"; }; - version = "1.17.1"; + version = "1.17.4"; + }; + fiddle = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1vifygrkw22gcd4wzh8gc4pv6h1zpk6kll6mmprrf5174wvfxa3z"; + type = "gem"; + }; + version = "1.1.8"; }; get_process_mem = { dependencies = [ @@ -157,40 +155,54 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "03sx3ahz1v5kbqjwxj48msw3maplpp2iyzs22l4jrzrqh4zmgfnf"; + sha256 = "1994i044vdmzzkyr76g8rpl1fq1532wf0sb21xg5r1ilj5iphmr8"; type = "gem"; }; - version = "1.14.7"; + version = "1.14.8"; + }; + json = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1anz6a6n33x4s3906s0bz6x161kk1ns3h7xxsn3rpxkfsw7k2m33"; + type = "gem"; + }; + version = "2.19.8"; }; logger = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "05s008w9vy7is3njblmavrbdzyrwwc1fsziffdr58w9pwqj8sqfx"; + sha256 = "00q2zznygpbls8asz5knjvvj2brr3ghmqxgr83xnrdj4rk3xwvhr"; type = "gem"; }; - version = "1.6.6"; + version = "1.7.0"; }; mini_portile2 = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0x8asxl83msn815lwmb2d7q5p29p7drhjv5va0byhk60v9n16iwf"; + sha256 = "12f2830x7pq3kj0v8nz0zjvaw02sv01bqs1zwdrc04704kwcgmqc"; type = "gem"; }; - version = "2.8.8"; + version = "2.8.9"; }; minitest = { + dependencies = [ + "drb" + "prism" + ]; groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0izrg03wn2yj3gd76ck7ifbm9h2kgy8kpg4fk06ckpy4bbicmwlw"; + sha256 = "1wfnqyfayx9n9j7x871v2ars4hjhfisi1dl24fa64ylq3mns6ghm"; type = "gem"; }; - version = "5.25.4"; + version = "6.0.6"; }; nokogiri = { dependencies = [ @@ -201,45 +213,40 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0npx535cs8qc33n0lpbbwl0p9fi3a5bczn6ayqhxvknh9yqw77vb"; + sha256 = "1s30b7h7qpyim30m8060xs415mbr3ci7i5hdg09chh1aqfx2qcbq"; type = "gem"; }; - version = "1.18.3"; - }; - opt_parse_validator = { - dependencies = [ - "activesupport" - "addressable" - "ostruct" - ]; - groups = [ "default" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1ffvp04wyzxjkarzg5nbq2hqgdnw77drmb56dhgzmb2wrjpw52sk"; - type = "gem"; - }; - version = "1.10.1"; + version = "1.19.3"; }; ostruct = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "05xqijcf80sza5pnlp1c8whdaay8x5dc13214ngh790zrizgp8q9"; + sha256 = "04nrir9wdpc4izqwqbysxyly8y7hsfr4fsv69rw91lfi9d5fv8lm"; type = "gem"; }; - version = "0.6.1"; + version = "0.6.3"; + }; + prism = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "11ggfikcs1lv17nhmhqyyp6z8nq5pkfcj6a904047hljkxm0qlvv"; + type = "gem"; + }; + version = "1.9.0"; }; public_suffix = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31"; + sha256 = "08znfv30pxmdkjyihvbjqbvv874dj3nybmmyscl958dy3f7v12qs"; type = "gem"; }; - version = "6.0.1"; + version = "7.0.5"; }; racc = { groups = [ "default" ]; @@ -251,6 +258,16 @@ }; version = "1.8.1"; }; + rexml = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0hninnbvqd2pn40h863lbrn9p11gvdxp928izkag5ysx8b1s5q0r"; + type = "gem"; + }; + version = "3.4.4"; + }; ruby-progressbar = { groups = [ "default" ]; platforms = [ ]; @@ -288,10 +305,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0z7gamf6s83wy0yqms3bi4srirn3fc0lc7n65lqanidxcj1xn5qw"; + sha256 = "079k9j2alxxqn8r3vfm1anwp16v9s5f27p01k3i4g59p7v143k5s"; type = "gem"; }; - version = "1.4.1"; + version = "1.6.0"; }; tzinfo = { dependencies = [ "concurrent-ruby" ]; @@ -309,42 +326,84 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "04bhfvc25b07jaiaf62yrach7khhr5jlr5bx6nygg8pf11329wp9"; + sha256 = "1ijpbj7mdrq7rhpq2kb51yykhrs2s54wfs6sm9z3icgz4y6sb7rp"; type = "gem"; }; - version = "1.0.3"; + version = "1.1.1"; }; webrick = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "12d9n8hll67j737ym2zw4v23cn4vxyfkb6vyv1rzpwv6y6a3qbdl"; + sha256 = "0ca1hr2rxrfw7s613rp4r4bxb454i3ylzniv9b9gxpklqigs3d5y"; type = "gem"; }; - version = "1.9.1"; + version = "1.9.2"; + }; + websocket-driver = { + dependencies = [ + "base64" + "websocket-extensions" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "15idgibqpdaj97f734drx8a7k1jcc8wvxlk2nbafac72ihikicjs"; + type = "gem"; + }; + version = "0.8.1"; + }; + websocket-extensions = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0hc2g9qps8lmhibl5baa91b4qx8wqw872rgwagml78ydj8qacsqw"; + type = "gem"; + }; + version = "0.1.5"; }; wpscan = { - dependencies = [ "cms_scanner" ]; + dependencies = [ + "activesupport" + "addressable" + "ethon" + "ferrum" + "fiddle" + "get_process_mem" + "nokogiri" + "ostruct" + "public_suffix" + "ruby-progressbar" + "sys-proctable" + "typhoeus" + "xmlrpc" + "yajl-ruby" + ]; groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0m7blxgyamk09zk5b6q6drbqwdnirgfj1r8mm6gmff8qri3cwxnh"; + sha256 = "17i50avb4qa4dsvbd53mdp2mklbkhirvqczvrzz17zdswm2gfy39"; type = "gem"; }; - version = "3.8.28"; + version = "4.0.0"; }; xmlrpc = { - dependencies = [ "webrick" ]; + dependencies = [ + "rexml" + "webrick" + ]; groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0fwfnccagsjrbvrav5nbk3zracj9zncr7i375nn20jd4cfy4cggc"; + sha256 = "0hjlvq952c80khrj084a3csawrwlshd1v3n8abv5hbpqry6y18jk"; type = "gem"; }; - version = "0.3.3"; + version = "0.3.4"; }; yajl-ruby = { groups = [ "default" ]; diff --git a/pkgs/by-name/zi/zigbee2mqtt/package.nix b/pkgs/by-name/zi/zigbee2mqtt/package.nix index 74bf9850caed..8311c4f3ba47 100644 --- a/pkgs/by-name/zi/zigbee2mqtt/package.nix +++ b/pkgs/by-name/zi/zigbee2mqtt/package.nix @@ -14,20 +14,20 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "zigbee2mqtt"; - version = "2.11.0"; + version = "2.12.0"; src = fetchFromGitHub { owner = "Koenkk"; repo = "zigbee2mqtt"; tag = finalAttrs.version; - hash = "sha256-4/P7ZPVdafWQqfi7sg+9Uy1MZYeHaNDESAaUq0nrBQ8="; + hash = "sha256-R5r8aJmIF3FLc4+wESLoNw+xeE6ixSYy2xcg1gIX2YA="; }; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; pnpm = pnpm_10; fetcherVersion = 4; - hash = "sha256-0jFNbUOaWJBlkDeq2oU7fkpX0P5rPqR3n03v0dkEr/o="; + hash = "sha256-/cNV0PHxoR8P7JXSArPq2hziQnwH5n858SzQhktvXus="; }; nativeBuildInputs = [ diff --git a/pkgs/development/beam-modules/elixir-ls/default.nix b/pkgs/development/beam-modules/elixir-ls/default.nix index 067c907e31cc..0a1c6b294dfc 100644 --- a/pkgs/development/beam-modules/elixir-ls/default.nix +++ b/pkgs/development/beam-modules/elixir-ls/default.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "elixir-ls"; - version = "0.30.0"; + version = "0.31.0"; src = fetchFromGitHub { owner = "elixir-lsp"; repo = "elixir-ls"; rev = "v${version}"; - hash = "sha256-GtkFuof60cOTlHuhcwCnIVtGx6KlHrcazTa/UjAIGAQ="; + hash = "sha256-AKJJyQUCZSsFpqVPtwL7+arCOzDC0251MwooEM8JFM4="; }; patches = [ diff --git a/pkgs/development/beam-modules/elixir-ls/launch.sh.patch b/pkgs/development/beam-modules/elixir-ls/launch.sh.patch index 59f12bbccbf7..b1dbb3356764 100644 --- a/pkgs/development/beam-modules/elixir-ls/launch.sh.patch +++ b/pkgs/development/beam-modules/elixir-ls/launch.sh.patch @@ -1,8 +1,8 @@ diff --git c/scripts/launch.sh w/scripts/launch.sh -index 524f2294..bbea062d 100755 +index d5247535..bbea062d 100755 --- c/scripts/launch.sh +++ w/scripts/launch.sh -@@ -1,114 +1,4 @@ +@@ -1,119 +1,4 @@ -#!/bin/sh -# Actual launcher. This does the hard work of figuring out the best way -# to launch the language server or the debug adapter. @@ -98,7 +98,12 @@ index 524f2294..bbea062d 100755 - # Look for mise executable - if command -v mise >/dev/null 2>&1; then - >&2 echo "mise executable found at $(command -v mise), activating" -- eval "$($(command -v mise) env -s "$preferred_shell")" +- # mise env does not support all shells (e.g. nushell); fall back to bash +- case "$preferred_shell" in +- bash|zsh|fish|elvish|xonsh|pwsh) mise_shell="$preferred_shell" ;; +- *) mise_shell="bash" ;; +- esac +- eval "$($(command -v mise) env -s "$mise_shell")" - export_stdlib_path "mise which elixir" - else - >&2 echo "mise not found" @@ -115,13 +120,13 @@ index 524f2294..bbea062d 100755 - fi -fi +#!/usr/bin/env bash - + # In case that people want to tweak the path, which Elixir to use, or # whatever prior to launching the language server or the debug adapter, we -@@ -127,12 +17,8 @@ fi +@@ -132,12 +17,8 @@ fi # script so we can correctly configure the Erlang library path to # include the local .ez files, and then do what we were asked to do. - + -if [ -z "${ELS_INSTALL_PREFIX}" ]; then - SCRIPT=$(readlink_f "$0") - SCRIPTPATH=$(dirname "$SCRIPT") @@ -130,18 +135,18 @@ index 524f2294..bbea062d 100755 -fi +SCRIPT=$(readlink -f "$0") +SCRIPTPATH=$(dirname "$SCRIPT")/../scripts - + # Unset MIX_OS_DEPS_COMPILE_PARTITION_COUNT as it pollutes stdout # breaking LSP protocol. See https://github.com/elixir-lsp/elixir-ls/issues/1195 -@@ -141,19 +27,16 @@ unset MIX_OS_DEPS_COMPILE_PARTITION_COUNT +@@ -146,19 +27,16 @@ unset MIX_OS_DEPS_COMPILE_PARTITION_COUNT export MIX_ENV=prod # Mix.install prints to stdout and reads from stdin # we need to make sure it doesn't interfere with LSP/DAP -echo "" | elixir "$SCRIPTPATH/quiet_install.exs" >/dev/null || exit 1 +echo "" | @elixir@/bin/elixir "$SCRIPTPATH/quiet_install.exs" >/dev/null || exit 1 - + default_erl_opts="-kernel standard_io_encoding latin1 +sbwt none +sbwtdcpu none +sbwtdio none" - + -if [ "$preferred_shell" = "bash" ]; then - . "$dirname/exec.bash" -elif [ "$preferred_shell" = "zsh" ]; then diff --git a/pkgs/development/interpreters/elixir/1.20.nix b/pkgs/development/interpreters/elixir/1.20.nix index 011b965cbe45..5e4a1b8fb004 100644 --- a/pkgs/development/interpreters/elixir/1.20.nix +++ b/pkgs/development/interpreters/elixir/1.20.nix @@ -1,6 +1,6 @@ import ./generic-builder.nix { - version = "1.20.0"; - hash = "sha256-cTogrKyG2SkJFlnB43pwKiowf41eTHPTHbIS5f44b0Q="; + version = "1.20.1"; + hash = "sha256-eOYqYcZpHJqgbut0iOrey6CMD3LIvpqc3AU9L/g7a+Y="; # https://hexdocs.pm/elixir/1.20.0/compatibility-and-deprecations.html#between-elixir-and-erlang-otp minimumOTPVersion = "27"; maximumOTPVersion = "29"; diff --git a/pkgs/development/python-modules/ansicolors/default.nix b/pkgs/development/python-modules/ansicolors/default.nix index 2fab28de72c3..fa377f8b3d35 100644 --- a/pkgs/development/python-modules/ansicolors/default.nix +++ b/pkgs/development/python-modules/ansicolors/default.nix @@ -3,29 +3,35 @@ buildPythonPackage, fetchPypi, pytest, + setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "ansicolors"; version = "1.1.8"; - format = "setuptools"; + pyproject = true; src = fetchPypi { - inherit pname version; + inherit (finalAttrs) pname version; extension = "zip"; - sha256 = "99f94f5e3348a0bcd43c82e5fc4414013ccc19d70bd939ad71e0133ce9c372e0"; + hash = "sha256-mflPXjNIoLzUPILl/EQUATzMGdcL2TmtceATPOnDcuA="; }; + build-system = [ setuptools ]; + nativeCheckInputs = [ pytest ]; checkPhase = '' py.test ''; + pythonImportsCheck = [ "colors" ]; + meta = { homepage = "https://github.com/verigak/colors/"; + changelog = "https://pypi.org/project/ansicolors/${finalAttrs.version}/"; description = "ANSI colors for Python"; license = lib.licenses.isc; maintainers = [ ]; }; -} +}) diff --git a/pkgs/development/python-modules/aprslib/default.nix b/pkgs/development/python-modules/aprslib/default.nix index b54b607636ed..1296477e045e 100644 --- a/pkgs/development/python-modules/aprslib/default.nix +++ b/pkgs/development/python-modules/aprslib/default.nix @@ -4,17 +4,18 @@ fetchFromGitHub, fetchpatch, pytestCheckHook, + setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "aprslib"; version = "0.7.2"; - format = "setuptools"; + pyproject = true; src = fetchFromGitHub { owner = "rossengeorgiev"; repo = "aprs-python"; - rev = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-2bYTnbJ8wF/smTpZ2tV+3ZRae7FpbNBtXoaR2Sc9Pek="; }; @@ -25,7 +26,9 @@ buildPythonPackage rec { }) ]; - doCheck = false; # mox3 is disabled on python311 + build-system = [ setuptools ]; + + doCheck = false; # mox3 is not packaged nativeCheckInputs = [ pytestCheckHook ]; @@ -34,7 +37,8 @@ buildPythonPackage rec { meta = { description = "Module for accessing APRS-IS and parsing APRS packets"; homepage = "https://github.com/rossengeorgiev/aprs-python"; + changelog = "https://github.com/rossengeorgiev/aprs-python/releases/tag/v${finalAttrs.version}"; license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ dotlambda ]; }; -} +}) diff --git a/pkgs/development/python-modules/asyncua/default.nix b/pkgs/development/python-modules/asyncua/default.nix index f6e9720a5b0a..fe27a420e523 100644 --- a/pkgs/development/python-modules/asyncua/default.nix +++ b/pkgs/development/python-modules/asyncua/default.nix @@ -3,6 +3,7 @@ stdenv, aiofiles, aiosqlite, + anyio, buildPythonPackage, cryptography, fetchFromGitHub, @@ -18,16 +19,16 @@ typing-extensions, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "asyncua"; - version = "1.1.8"; + version = "2.0"; pyproject = true; src = fetchFromGitHub { owner = "FreeOpcUa"; repo = "opcua-asyncio"; - tag = "v${version}"; - hash = "sha256-0eay/NlWn0I2oF0fTln9/d4y31zGfAj9ph3bWkgd8Nk="; + tag = "v${finalAttrs.version}"; + hash = "sha256-mJ4ZUKx4zuprpH6FUrw7MLkekX0RDnzkJscQ4XC7tHE="; fetchSubmodules = true; }; @@ -43,6 +44,7 @@ buildPythonPackage rec { dependencies = [ aiofiles aiosqlite + anyio cryptography pyopenssl python-dateutil @@ -59,29 +61,48 @@ buildPythonPackage rec { pythonImportsCheck = [ "asyncua" ]; + # PermissionError: [Errno 1] Operation not permitted + __darwinAllowLocalNetworking = true; + disabledTests = [ # Failed: DID NOT RAISE "test_publish" + # KeyError: 'Simple' + "test_full_simple" ] ++ lib.optionals (pythonAtLeast "3.13") [ # dbm.sqlite3.error: SQLite objects created in a thread can only be used in that same thread. # The object was created in thread id 140737220687552 and this is thread id 140737343690560. "test_runTest" - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # OSError: [Errno 48] error while attempting to bind on address ('127.0.0.1',... - "test_anonymous_rejection" - "test_certificate_handling_success" - "test_encrypted_private_key_handling_success" - "test_encrypted_private_key_handling_success_with_cert_props" - "test_encrypted_private_key_handling_failure" + # error while attempting to bind on address + "test_failover_warm" + "test_client_admin" + "test_client_user" + "test_client_anonymous" + "test_x509identity_user" + "test_x509identity_anonymous" + "test_client_user_x509identity_admin" + ]; + + disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [ + "tests/test_callback_service.py" + "tests/test_client_cert_chain.py" + "tests/test_crypto_connect.py" + "tests/test_crypto_connect.py" + "tests/test_gen_certificates.py" + "tests/test_password.py" + "tests/test_permissions.py" + "tests/test_pubsub.py" + "tests/test_sync.py" + "tests/test_truststore.py" + "tests/test_subscriptions.py" ]; meta = { description = "OPC UA / IEC 62541 Client and Server for Python"; homepage = "https://github.com/FreeOpcUa/opcua-asyncio"; - changelog = "https://github.com/FreeOpcUa/opcua-asyncio/releases/tag/${src.tag}"; + changelog = "https://github.com/FreeOpcUa/opcua-asyncio/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.lgpl3Plus; maintainers = with lib.maintainers; [ harvidsen ]; }; -} +}) diff --git a/pkgs/development/python-modules/atopile/default.nix b/pkgs/development/python-modules/atopile/default.nix index 9f0ec060f04d..5287f2845ad5 100644 --- a/pkgs/development/python-modules/atopile/default.nix +++ b/pkgs/development/python-modules/atopile/default.nix @@ -187,7 +187,7 @@ buildPythonPackage (finalAttrs: { ]; disabledTests = [ - # timeout + # Timeout (>10.0s) from pytest-timeout. "test_build_error_logging" "test_can_evaluate_literals" "test_examples_build" @@ -196,6 +196,11 @@ buildPythonPackage (finalAttrs: { "test_regression_rp2040_usb_diffpair" "test_reserved_attrs" "test_resistor" + "test_loooooong_chain" + "test_parser_netlist" + "test_dump_load_equality" + "test_performance_mifs_connect_check" + # requires internet "test_simple_pick" "test_simple_negative_pick" diff --git a/pkgs/development/python-modules/awkward-cpp/default.nix b/pkgs/development/python-modules/awkward-cpp/default.nix index 0437f48df198..3090cee91701 100644 --- a/pkgs/development/python-modules/awkward-cpp/default.nix +++ b/pkgs/development/python-modules/awkward-cpp/default.nix @@ -15,13 +15,14 @@ buildPythonPackage (finalAttrs: { pname = "awkward-cpp"; - version = "52"; + version = "53"; pyproject = true; + __structuredAttrs = true; src = fetchPypi { pname = "awkward_cpp"; inherit (finalAttrs) version; - hash = "sha256-7xQesgVE3yYblzyYbPrle+MpAiBhvoaBdQat1nZZcnU="; + hash = "sha256-pHjSt943VGdClGF+Er1tsQ/OaR6Y9d8kjWZdoJPNT/o="; }; build-system = [ diff --git a/pkgs/development/python-modules/awkward/default.nix b/pkgs/development/python-modules/awkward/default.nix index 4287184b7408..fb51ff1dcc6a 100644 --- a/pkgs/development/python-modules/awkward/default.nix +++ b/pkgs/development/python-modules/awkward/default.nix @@ -24,14 +24,15 @@ buildPythonPackage (finalAttrs: { pname = "awkward"; - version = "2.9.0"; + version = "2.9.1"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "scikit-hep"; repo = "awkward"; tag = "v${finalAttrs.version}"; - hash = "sha256-ovbhCPTNxyfL7tkvBCiHF0kZt0l0oMSpdsE4E9S4JJY="; + hash = "sha256-TNXsYZFL60jELed40b1hB8Rk43gcLbCwzzXc3fABu5k="; }; build-system = [ diff --git a/pkgs/development/python-modules/babelgladeextractor/default.nix b/pkgs/development/python-modules/babelgladeextractor/default.nix index 76e7cbbee996..81c9f15f3920 100644 --- a/pkgs/development/python-modules/babelgladeextractor/default.nix +++ b/pkgs/development/python-modules/babelgladeextractor/default.nix @@ -3,31 +3,39 @@ isPy3k, buildPythonPackage, fetchPypi, + setuptools, babel, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "babelgladeextractor"; version = "0.7.0"; - format = "setuptools"; + pyproject = true; + + __structuredAttrs = true; + disabled = (!isPy3k); # uses python3 specific file io in setup.py src = fetchPypi { pname = "BabelGladeExtractor"; - inherit version; + inherit (finalAttrs) version; extension = "tar.bz2"; - sha256 = "160p4wi2ss69g141c2z59azvrhn7ymy5m9h9d65qrcabigi0by5w"; + hash = "sha256-vPgF4otLsYyLaQmmWnz1x8K8v0rlCxZIeMloLSInF5g="; }; - propagatedBuildInputs = [ babel ]; + build-system = [ setuptools ]; + + dependencies = [ babel ]; # SyntaxError: Non-ASCII character '\xc3' in file /build/BabelGladeExtractor-0.6.3/babelglade/tests/test_translate.py on line 20, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details doCheck = isPy3k; + pythonImportsCheck = [ "babelglade" ]; + meta = { homepage = "https://github.com/gnome-keysign/babel-glade"; description = "Babel Glade XML files translatable strings extractor"; license = lib.licenses.bsd3; maintainers = [ ]; }; -} +}) diff --git a/pkgs/development/python-modules/bibtexparser/default.nix b/pkgs/development/python-modules/bibtexparser/default.nix index eb1ff7825f35..2c4088a88201 100644 --- a/pkgs/development/python-modules/bibtexparser/default.nix +++ b/pkgs/development/python-modules/bibtexparser/default.nix @@ -2,23 +2,28 @@ lib, buildPythonPackage, fetchFromGitHub, + setuptools, pyparsing, pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "bibtexparser"; version = "1.4.4"; - format = "setuptools"; + pyproject = true; + + __structuredAttrs = true; src = fetchFromGitHub { owner = "sciunto-org"; - repo = "python-${pname}"; - tag = "v${version}"; + repo = "python-${finalAttrs.pname}"; + tag = "v${finalAttrs.version}"; hash = "sha256-9zLJZAk2IBYTL7lACh6erY7A44XFZGJCr8dcpYlwKRI="; }; - propagatedBuildInputs = [ pyparsing ]; + build-system = [ setuptools ]; + + dependencies = [ pyparsing ]; nativeCheckInputs = [ pytestCheckHook ]; @@ -32,4 +37,4 @@ buildPythonPackage rec { bsd3 ]; }; -} +}) diff --git a/pkgs/development/python-modules/binaryornot/default.nix b/pkgs/development/python-modules/binaryornot/default.nix index 5cc150c6fa7f..496ffc574703 100644 --- a/pkgs/development/python-modules/binaryornot/default.nix +++ b/pkgs/development/python-modules/binaryornot/default.nix @@ -2,33 +2,40 @@ lib, buildPythonPackage, fetchPypi, + setuptools, chardet, hypothesis, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "binaryornot"; version = "0.4.4"; - format = "setuptools"; + pyproject = true; + + __structuredAttrs = true; src = fetchPypi { - inherit pname version; - sha256 = "359501dfc9d40632edc9fac890e19542db1a287bbcfa58175b66658392018061"; + inherit (finalAttrs) pname version; + hash = "sha256-NZUB38nUBjLtyfrIkOGVQtsaKHu8+lgXW2Zlg5IBgGE="; }; + build-system = [ setuptools ]; + prePatch = '' # TypeError: binary() got an unexpected keyword argument 'average_size' substituteInPlace tests/test_check.py \ - --replace "average_size=512" "" + --replace-fail "average_size=512" "" ''; - propagatedBuildInputs = [ chardet ]; + dependencies = [ chardet ]; nativeCheckInputs = [ hypothesis ]; + pythonImportsCheck = [ "binaryornot" ]; + meta = { homepage = "https://github.com/audreyr/binaryornot"; description = "Ultra-lightweight pure Python package to check if a file is binary or text"; license = lib.licenses.bsd3; }; -} +}) diff --git a/pkgs/development/python-modules/bluezero/default.nix b/pkgs/development/python-modules/bluezero/default.nix new file mode 100644 index 000000000000..b301c40b3a7c --- /dev/null +++ b/pkgs/development/python-modules/bluezero/default.nix @@ -0,0 +1,49 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + pygobject3, + nix-update-script, +}: + +buildPythonPackage (finalAttrs: { + pname = "bluezero"; + version = "0.9.1"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "ukBaz"; + repo = "python-bluezero"; + tag = "v${finalAttrs.version}"; + hash = "sha256-H5760bPdA7NECiOWI7fLCxW3K7+c2L0Y3sa/E/krJJw="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + pygobject3 + ]; + + pythonRelaxDeps = [ "pygobject" ]; + + pythonImportsCheck = [ + "bluezero" + ]; + + # Most of the tests are failing due to a missing working dbus instance and bluetooth devices + doCheck = false; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "A simple Python interface to Bluez"; + homepage = "https://github.com/ukBaz/python-bluezero"; + changelog = "https://github.com/ukBaz/python-bluezero/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ drupol ]; + }; +}) diff --git a/pkgs/development/python-modules/boolean-py/default.nix b/pkgs/development/python-modules/boolean-py/default.nix index e5f11a0541a6..66957c8846e7 100644 --- a/pkgs/development/python-modules/boolean-py/default.nix +++ b/pkgs/development/python-modules/boolean-py/default.nix @@ -2,21 +2,26 @@ lib, buildPythonPackage, fetchFromGitHub, + setuptools, pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "boolean-py"; version = "5.0"; - format = "setuptools"; + pyproject = true; + + __structuredAttrs = true; src = fetchFromGitHub { owner = "bastikr"; repo = "boolean.py"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-h5iHcdN77ZRGMJnSJLoYkRTY1TeJ3yQ1eF193HKsNqU="; }; + build-system = [ setuptools ]; + nativeCheckInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "boolean" ]; @@ -27,4 +32,4 @@ buildPythonPackage rec { license = lib.licenses.bsd2; maintainers = [ ]; }; -} +}) diff --git a/pkgs/development/python-modules/boost-histogram/default.nix b/pkgs/development/python-modules/boost-histogram/default.nix index bc57ed4a927d..3ee69a0dea7f 100644 --- a/pkgs/development/python-modules/boost-histogram/default.nix +++ b/pkgs/development/python-modules/boost-histogram/default.nix @@ -28,17 +28,18 @@ hypothesis, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "boost-histogram"; version = "1.7.2"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "scikit-hep"; repo = "boost-histogram"; - tag = "v${version}"; - hash = "sha256-nDNSLpmQ3YOo/nEkHfvsE0l9yATzQnrlunX1qWupbLQ="; + tag = "v${finalAttrs.version}"; fetchSubmodules = true; + hash = "sha256-nDNSLpmQ3YOo/nEkHfvsE0l9yATzQnrlunX1qWupbLQ="; }; nativeBuildInputs = [ cmake ]; @@ -67,19 +68,24 @@ buildPythonPackage rec { pytestFlags = [ "--benchmark-disable" ]; - disabledTests = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ - # Segfaults: boost_histogram/_internal/hist.py", line 799 in sum - # Fatal Python error: Segmentation fault - "test_numpy_conversion_4" - ]; + disabledTests = + lib.optionals stdenv.hostPlatform.isDarwin [ + # Trace/BPT trap: 5 + "test_round_trip_3d_histogram_json" + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ + # Segfaults: boost_histogram/_internal/hist.py", line 799 in sum + # Fatal Python error: Segmentation fault + "test_numpy_conversion_4" + ]; pythonImportsCheck = [ "boost_histogram" ]; meta = { description = "Python bindings for the C++14 Boost::Histogram library"; homepage = "https://github.com/scikit-hep/boost-histogram"; - changelog = "https://github.com/scikit-hep/boost-histogram/releases/tag/${src.tag}"; + changelog = "https://github.com/scikit-hep/boost-histogram/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ veprbl ]; }; -} +}) diff --git a/pkgs/development/python-modules/cadwyn/default.nix b/pkgs/development/python-modules/cadwyn/default.nix index 05b665315500..a63b49ac131a 100644 --- a/pkgs/development/python-modules/cadwyn/default.nix +++ b/pkgs/development/python-modules/cadwyn/default.nix @@ -27,18 +27,16 @@ buildPythonPackage (finalAttrs: { pname = "cadwyn"; - version = "6.2.2"; + version = "7.0.0"; pyproject = true; src = fetchFromGitHub { owner = "zmievsa"; repo = "cadwyn"; tag = finalAttrs.version; - hash = "sha256-IM/7IF3zQHaJWlMmG3el9x4/BOFTXYUmJq4gRLP4gVs="; + hash = "sha256-UI5gD4WXzn3a/7SDNKGvfGLRteMmCD/yHMEoXZ8By+A="; }; - disabled = pythonAtLeast "3.14"; - build-system = [ hatchling ]; dependencies = [ diff --git a/pkgs/development/python-modules/chirpstack-api/default.nix b/pkgs/development/python-modules/chirpstack-api/default.nix index 6565cafabb43..bb3582141f3b 100644 --- a/pkgs/development/python-modules/chirpstack-api/default.nix +++ b/pkgs/development/python-modules/chirpstack-api/default.nix @@ -2,25 +2,30 @@ lib, buildPythonPackage, fetchFromGitHub, + setuptools, google-api-core, grpcio, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "chirpstack-api"; version = "3.12.5"; - format = "setuptools"; + pyproject = true; + + __structuredAttrs = true; src = fetchFromGitHub { owner = "brocaar"; repo = "chirpstack-api"; - rev = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-TDwvUNnGAbt10lLg6U7q+JMg7uu8TLySYqNyt/uk8UY="; }; - sourceRoot = "${src.name}/python/src"; + sourceRoot = "${finalAttrs.src.name}/python/src"; - propagatedBuildInputs = [ + build-system = [ setuptools ]; + + dependencies = [ google-api-core grpcio ]; @@ -36,4 +41,4 @@ buildPythonPackage rec { license = with lib.licenses; [ mit ]; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/clintermission/default.nix b/pkgs/development/python-modules/clintermission/default.nix index dbe1387a9ee8..1223836774d0 100644 --- a/pkgs/development/python-modules/clintermission/default.nix +++ b/pkgs/development/python-modules/clintermission/default.nix @@ -2,22 +2,27 @@ lib, buildPythonPackage, fetchFromGitHub, + setuptools, prompt-toolkit, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "clintermission"; version = "0.3.1"; - format = "setuptools"; + pyproject = true; + + __structuredAttrs = true; src = fetchFromGitHub { owner = "sebageek"; repo = "clintermission"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-e7C9IDr+mhVSfU8lMywjX1BYwFo/qegPNzabak7UPcY="; }; - propagatedBuildInputs = [ prompt-toolkit ]; + build-system = [ setuptools ]; + + dependencies = [ prompt-toolkit ]; # repo contains no tests doCheck = false; @@ -27,8 +32,8 @@ buildPythonPackage rec { meta = { description = "Non-fullscreen command-line selection menu"; homepage = "https://github.com/sebageek/clintermission"; - changelog = "https://github.com/sebageek/clintermission/releases/tag/v${version}"; + changelog = "https://github.com/sebageek/clintermission/releases/tag/v${finalAttrs.version}"; license = lib.licenses.asl20; maintainers = [ ]; }; -} +}) diff --git a/pkgs/development/python-modules/clip/default.nix b/pkgs/development/python-modules/clip/default.nix index b4ba5e8dcc30..b22a461bd5e7 100644 --- a/pkgs/development/python-modules/clip/default.nix +++ b/pkgs/development/python-modules/clip/default.nix @@ -4,6 +4,7 @@ ftfy, lib, regex, + setuptools, torch, torchvision, tqdm, @@ -12,7 +13,9 @@ buildPythonPackage { pname = "clip"; version = "unstable-2022-11-17"; - format = "setuptools"; + pyproject = true; + + __structuredAttrs = true; src = fetchFromGitHub { owner = "openai"; @@ -21,7 +24,9 @@ buildPythonPackage { hash = "sha256-GAitNBb5CzFVv2+Dky0VqSdrFIpKKtoAoyqeLoDaHO4="; }; - propagatedBuildInputs = [ + build-system = [ setuptools ]; + + dependencies = [ ftfy regex torch diff --git a/pkgs/development/python-modules/cmigemo/default.nix b/pkgs/development/python-modules/cmigemo/default.nix index 1e957bce45be..8f187d6430a2 100644 --- a/pkgs/development/python-modules/cmigemo/default.nix +++ b/pkgs/development/python-modules/cmigemo/default.nix @@ -3,6 +3,7 @@ lib, buildPythonPackage, fetchPypi, + setuptools, six, cmigemo, pytestCheckHook, @@ -11,14 +12,18 @@ buildPythonPackage (finalAttrs: { pname = "cmigemo"; version = "0.1.6"; - format = "setuptools"; + pyproject = true; + + __structuredAttrs = true; src = fetchPypi { inherit (finalAttrs) pname version; - sha256 = "09j68kvcskav2cqb7pj12caksmj4wh2lhjp0csq00xpn0wqal4vk"; + hash = "sha256-cxOqMAf2dgCwZuBKSAXkRFY9FRNB3rMwE1tNzfZERiY="; }; - propagatedBuildInputs = [ six ]; + build-system = [ setuptools ]; + + dependencies = [ six ]; preConfigure = '' export LDFLAGS="-L${cmigemo}/lib" diff --git a/pkgs/development/python-modules/cmudict/default.nix b/pkgs/development/python-modules/cmudict/default.nix index ad9878c10d9b..819e349b7b97 100644 --- a/pkgs/development/python-modules/cmudict/default.nix +++ b/pkgs/development/python-modules/cmudict/default.nix @@ -6,6 +6,7 @@ importlib-resources, poetry-core, pytestCheckHook, + nix-update-script, }: buildPythonPackage (finalAttrs: { @@ -13,6 +14,8 @@ buildPythonPackage (finalAttrs: { version = "1.1.3"; pyproject = true; + __structuredAttrs = true; + src = fetchFromGitHub { owner = "prosegrinder"; repo = "python-cmudict"; @@ -32,6 +35,10 @@ buildPythonPackage (finalAttrs: { pythonImportsCheck = [ "cmudict" ]; + passthru = { + updateScript = nix-update-script { }; + }; + meta = { description = "Python wrapper package for The CMU Pronouncing Dictionary data files"; homepage = "https://github.com/prosegrinder/python-cmudict"; diff --git a/pkgs/development/python-modules/credsweeper/default.nix b/pkgs/development/python-modules/credsweeper/default.nix new file mode 100644 index 000000000000..df3793d3da01 --- /dev/null +++ b/pkgs/development/python-modules/credsweeper/default.nix @@ -0,0 +1,107 @@ +{ + lib, + base58, + beautifulsoup4, + buildPythonPackage, + colorama, + cryptography, + deepdiff, + fetchFromGitHub, + gitpython, + hatchling, + humanfriendly, + hypothesis, + lxml, + nix-update-script, + numpy, + odfpy, + onnxruntime, + openpyxl, + pandas, + pdfminer-six, + pybase62, + pyjks, + pytestCheckHook, + python-dateutil, + python-docx, + python-pptx, + pyxlsb, + pyyaml, + rpmfile, + striprtf, + whatthepatch, + xlrd, +}: + +buildPythonPackage (finalAttrs: { + pname = "credsweeper"; + version = "1.16.0"; + pyproject = true; + + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "Samsung"; + repo = "CredSweeper"; + tag = "v${finalAttrs.version}"; + hash = "sha256-DiIT7DzH6ut/Ax2qgga5vKjeXocROGbHdARLWJijejY="; + }; + + build-system = [ hatchling ]; + + dependencies = [ + base58 + beautifulsoup4 + colorama + cryptography + gitpython + humanfriendly + lxml + numpy + odfpy + onnxruntime + openpyxl + pandas + pdfminer-six + pybase62 + pyjks + python-dateutil + python-docx + python-pptx + pyxlsb + pyyaml + rpmfile + striprtf + whatthepatch + xlrd + ]; + + nativeCheckInputs = [ + deepdiff + hypothesis + pytestCheckHook + ]; + + pythonImportsCheck = [ "credsweeper" ]; + + disabledTests = [ + # Probability tests + "test_data_p" + "test_depth_n" + "test_depth_p" + "test_match_n" + "test_multi_jobs_p" + "test_rules_ml_p" + ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Tool to detect credentials in any directories or files"; + homepage = "https://github.com/Samsung/CredSweeper"; + changelog = "https://github.com/Samsung/CredSweeper/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + mainProgram = "credsweeper"; + }; +}) diff --git a/pkgs/development/python-modules/cvxpy/default.nix b/pkgs/development/python-modules/cvxpy/default.nix index 28edbb845ae3..9fad43a2f257 100644 --- a/pkgs/development/python-modules/cvxpy/default.nix +++ b/pkgs/development/python-modules/cvxpy/default.nix @@ -54,6 +54,9 @@ buildPythonPackage (finalAttrs: { setuptools ]; + pythonRelaxDeps = [ + "sparsediffpy" + ]; dependencies = [ clarabel cvxopt diff --git a/pkgs/development/python-modules/cyclonedx-python-lib/default.nix b/pkgs/development/python-modules/cyclonedx-python-lib/default.nix index b474b4e954c1..bd4d1b2d08a9 100644 --- a/pkgs/development/python-modules/cyclonedx-python-lib/default.nix +++ b/pkgs/development/python-modules/cyclonedx-python-lib/default.nix @@ -22,14 +22,14 @@ buildPythonPackage (finalAttrs: { pname = "cyclonedx-python-lib"; - version = "11.8.0"; + version = "11.9.0"; pyproject = true; src = fetchFromGitHub { owner = "CycloneDX"; repo = "cyclonedx-python-lib"; tag = "v${finalAttrs.version}"; - hash = "sha256-eICBnjJm+UIi5cj+25G/j0uhzSK8P+783w0q7LiP4sc="; + hash = "sha256-1Ukq1467cjfrZFewIdFPRWyh73Zf2qmSoZgn4o48h2c="; }; pythonRelaxDeps = [ "py-serializable" ]; diff --git a/pkgs/development/python-modules/cyclopts/default.nix b/pkgs/development/python-modules/cyclopts/default.nix index 9e542285ca2e..0b0e0f9f195b 100644 --- a/pkgs/development/python-modules/cyclopts/default.nix +++ b/pkgs/development/python-modules/cyclopts/default.nix @@ -28,14 +28,14 @@ buildPythonPackage (finalAttrs: { pname = "cyclopts"; - version = "4.16.1"; + version = "4.17.0"; pyproject = true; src = fetchFromGitHub { owner = "BrianPugh"; repo = "cyclopts"; tag = "v${finalAttrs.version}"; - hash = "sha256-uKeGQw/vWDOtRi+CGNHfMAf/ofZyEfRqp2fUUWaIEDs="; + hash = "sha256-JhUfgEGL4EBuBmgeDuHpL8M2vLz4+Yf2s4nCUHdD3us="; }; build-system = [ @@ -81,16 +81,9 @@ buildPythonPackage (finalAttrs: { disabledTests = [ # Building docs "build_succeeds" - # https://github.com/BrianPugh/cyclopts/issues/820 - "test_behavior[fish-literal-positional]" - "test_behavior[fish-multi-positional-second]" - "test_behavior[fish-equals-form-option-value]" - "test_behavior[fish-multi-positional-third]" - ] - # https://github.com/BrianPugh/cyclopts/issues/821 - ++ lib.lists.optional ( - stdenv.hostPlatform.system == "aarch64-linux" - ) "test_collection_option_repeats"; + # timeouts under heavy concurrency + "test_requires_equals_eq_form_value_completion" + ]; meta = { description = "Module to create CLIs based on Python type hints"; diff --git a/pkgs/development/python-modules/easydict/default.nix b/pkgs/development/python-modules/easydict/default.nix index 127b3c555bd2..3e2ae4397b64 100644 --- a/pkgs/development/python-modules/easydict/default.nix +++ b/pkgs/development/python-modules/easydict/default.nix @@ -2,25 +2,33 @@ lib, buildPythonPackage, fetchPypi, + setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "easydict"; version = "1.13"; - format = "setuptools"; + pyproject = true; + + __structuredAttrs = true; src = fetchPypi { - inherit pname version; + inherit (finalAttrs) pname version; hash = "sha256-sRNd7bxByAEOK8H3fsl0TH+qQrzhoch0FnkUSdbId4A="; }; + build-system = [ + setuptools + ]; + doCheck = false; # No tests in archive pythonImportsCheck = [ "easydict" ]; meta = { - homepage = "https://github.com/makinacorpus/easydict"; - license = lib.licenses.lgpl3; description = "Access dict values as attributes (works recursively)"; + homepage = "https://github.com/makinacorpus/easydict"; + changelog = "https://github.com/makinacorpus/easydict/releases/tag/${finalAttrs.version}"; + license = lib.licenses.lgpl3; }; -} +}) diff --git a/pkgs/development/python-modules/easygui/default.nix b/pkgs/development/python-modules/easygui/default.nix index f8eabbbf1fc2..ffd99c3a4f33 100644 --- a/pkgs/development/python-modules/easygui/default.nix +++ b/pkgs/development/python-modules/easygui/default.nix @@ -2,20 +2,25 @@ lib, fetchPypi, buildPythonPackage, + setuptools, tkinter, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "easygui"; version = "0.98.3"; - format = "setuptools"; + pyproject = true; + + __structuredAttrs = true; src = fetchPypi { - inherit pname version; + inherit (finalAttrs) pname version; hash = "sha256-1lP/ee4fQvY7WgkPL5jOAjNdhq2JY7POJmGAXK/pmgQ="; }; - propagatedBuildInputs = [ tkinter ]; + build-system = [ setuptools ]; + + dependencies = [ tkinter ]; doCheck = false; # No tests available @@ -27,4 +32,4 @@ buildPythonPackage rec { license = lib.licenses.bsd3; maintainers = [ ]; }; -} +}) diff --git a/pkgs/development/python-modules/easywatch/default.nix b/pkgs/development/python-modules/easywatch/default.nix index ee3c39a3ca42..f20a6b7b91ca 100644 --- a/pkgs/development/python-modules/easywatch/default.nix +++ b/pkgs/development/python-modules/easywatch/default.nix @@ -2,20 +2,25 @@ lib, fetchPypi, buildPythonPackage, + setuptools, watchdog, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "easywatch"; version = "0.0.5"; - format = "setuptools"; + pyproject = true; + + __structuredAttrs = true; src = fetchPypi { - inherit pname version; + inherit (finalAttrs) pname version; sha256 = "1b40cjigv7s9qj8hxxy6yhwv0320z7qywrigwgkasgh80q0xgphc"; }; - propagatedBuildInputs = [ watchdog ]; + build-system = [ setuptools ]; + + dependencies = [ watchdog ]; # There are no tests doCheck = false; @@ -27,4 +32,4 @@ buildPythonPackage rec { license = lib.licenses.mit; maintainers = with lib.maintainers; [ fgaz ]; }; -} +}) diff --git a/pkgs/development/python-modules/ha-garmin/default.nix b/pkgs/development/python-modules/ha-garmin/default.nix index ab597e436b29..52a64f5d50f1 100644 --- a/pkgs/development/python-modules/ha-garmin/default.nix +++ b/pkgs/development/python-modules/ha-garmin/default.nix @@ -12,14 +12,14 @@ buildPythonPackage (finalAttrs: { pname = "ha-garmin"; - version = "0.1.25"; + version = "0.1.26"; pyproject = true; src = fetchFromGitHub { owner = "cyberjunky"; repo = "ha-garmin"; tag = "v${finalAttrs.version}"; - hash = "sha256-j2AGMfSeLxyqwaILuJaKmnRvIgHoc9Q7BOQLzsTVNts="; + hash = "sha256-q8VXnJNImNbTKQn5WX+9vpYJzHoH8ZcCmcgN3IcQCCw="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/inkex/1001-dxf-fix-binary-dxf-double-parsing-on-big-endian.patch b/pkgs/development/python-modules/inkex/1001-dxf-fix-binary-dxf-double-parsing-on-big-endian.patch new file mode 100644 index 000000000000..67bf2ba99022 --- /dev/null +++ b/pkgs/development/python-modules/inkex/1001-dxf-fix-binary-dxf-double-parsing-on-big-endian.patch @@ -0,0 +1,30 @@ +From 7e103db5e99a82751361d4e9fa926200315bd9d3 Mon Sep 17 00:00:00 2001 +From: Amaan Qureshi +Date: Fri, 20 Mar 2026 21:56:15 -0400 +Subject: [PATCH] dxf: fix binary DXF double parsing on big-endian + +struct.unpack("d") uses native byte order, but the DXF binary format +is always little-endian. All other fields in the parser already use '<' +for little-endian. Without this fix, double-precision coordinates are +byte-swapped on big-endian hosts, producing garbage values that cascade +into empty SVG transforms and ValueErrors. +--- + dxf_input.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/share/extensions/dxf_input.py b/share/extensions/dxf_input.py +index 3f5ce96d..17f62034 100644 +--- a/share/extensions/dxf_input.py ++++ b/share/extensions/dxf_input.py +@@ -1336,7 +1336,7 @@ class DxfInput(inkex.InputExtension): + or 460 <= key <= 469 + or 1010 <= key <= 1059 + ): +- value = struct.unpack("d", stream.read(8))[0] ++ value = struct.unpack("/openvino_tokenizers/lib/libopenvino_tokenizers.so). + cp ${openvino-tokenizers-native}/lib/libopenvino_tokenizers.so $target/lib/ + + runHook postInstall + ''; + + pythonImportsCheck = [ "openvino_tokenizers" ]; + + meta = { + description = "OpenVINO Tokenizers Python API"; + homepage = "https://github.com/openvinotoolkit/openvino_tokenizers"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ jpds ]; + }; +} diff --git a/pkgs/development/python-modules/pybase62/default.nix b/pkgs/development/python-modules/pybase62/default.nix new file mode 100644 index 000000000000..eb0128481761 --- /dev/null +++ b/pkgs/development/python-modules/pybase62/default.nix @@ -0,0 +1,39 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + nix-update-script, + pytestCheckHook, + setuptools, +}: + +buildPythonPackage (finalAttrs: { + pname = "pybase62"; + version = "0.5.0"; + pyproject = true; + + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "suminb"; + repo = "base62"; + tag = finalAttrs.version; + hash = "sha256-/H16MT3mKCdXItoeOn1LWTHlgWmtwJdQHUaCp18eMz0="; + }; + + build-system = [ setuptools ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "base62" ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Module for base62 encoding"; + homepage = "https://github.com/suminb/base62"; + changelog = "https://github.com/suminb/base62/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.bsd2WithViews; + maintainers = with lib.maintainers; [ fab ]; + }; +}) diff --git a/pkgs/development/python-modules/pycapnp/default.nix b/pkgs/development/python-modules/pycapnp/default.nix index 85505ac6c6e5..c5c58935f5d4 100644 --- a/pkgs/development/python-modules/pycapnp/default.nix +++ b/pkgs/development/python-modules/pycapnp/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "pycapnp"; - version = "2.2.2"; + version = "2.2.3"; pyproject = true; src = fetchFromGitHub { owner = "capnproto"; repo = "pycapnp"; tag = "v${version}"; - hash = "sha256-oRgO/FuNxNMSUla+jIypD/dAvFi27TkEfCHbqovhq9I="; + hash = "sha256-WM0DR1lTlgsKpTU8QlquL0RhrqPU/cUQav6p8EP7x9o="; }; patches = [ diff --git a/pkgs/development/python-modules/pyg-lib/default.nix b/pkgs/development/python-modules/pyg-lib/default.nix new file mode 100644 index 000000000000..524e27fdb4a7 --- /dev/null +++ b/pkgs/development/python-modules/pyg-lib/default.nix @@ -0,0 +1,86 @@ +{ + lib, + stdenv, + buildPythonPackage, + fetchFromGitHub, + + # build-system + cmake, + ninja, + setuptools, + torch, + + # tests + pytestCheckHook, +}: +let + inherit (torch) cudaPackages cudaSupport cudaCapabilities; +in +buildPythonPackage.override { inherit (torch) stdenv; } (finalAttrs: { + pname = "pyg-lib"; + version = "0.7.0"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "pyg-team"; + repo = "pyg-lib"; + tag = finalAttrs.version; + fetchSubmodules = true; + hash = "sha256-czHSOIocmoup502kLS8v+aeu6fVPPhqFh3hbGcFvNEQ="; + }; + + build-system = [ + cmake + ninja + setuptools + torch + ]; + dontUseCmakeConfigure = true; + + nativeBuildInputs = lib.optionals cudaSupport [ + cudaPackages.cuda_nvcc + ]; + + env = lib.optionalAttrs cudaSupport { + TORCH_CUDA_ARCH_LIST = "${lib.concatStringsSep ";" cudaCapabilities}"; + }; + + buildInputs = [ + torch.cxxdev + torch + ]; + + pythonImportsCheck = [ "pyg_lib" ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + preCheck = '' + rm -rf pyg_lib + ''; + + disabledTests = + lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ + # aarch64-linux fails cpuinfo test, because /sys/devices/system/cpu/ does not exist in the sandbox: + # RuntimeError: Failed to initialize cpuinfo! + "test_scatter_mean_forward_dtypes" + "test_scatter_sum_forward_dtypes" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Trace/BPT trap: 5 + "test_hetero_neighbor_sampler_temporal_sample" + ]; + + meta = { + description = "Low-Level Graph Neural Network Operators for PyG"; + homepage = "https://github.com/pyg-team/pyg-lib"; + changelog = "https://github.com/pyg-team/pyg-lib/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + license = with lib.licenses; [ + mit + bsd3 + ]; + maintainers = with lib.maintainers; [ GaetanLepage ]; + }; +}) diff --git a/pkgs/development/python-modules/python-aidot/default.nix b/pkgs/development/python-modules/python-aidot/default.nix index 49932bc68d0e..edca63c16594 100644 --- a/pkgs/development/python-modules/python-aidot/default.nix +++ b/pkgs/development/python-modules/python-aidot/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + nix-update-script, setuptools, aiohttp, cryptography, @@ -30,6 +31,15 @@ buildPythonPackage (finalAttrs: { pythonImportsCheck = [ "aidot" ]; + # Upstream publishes pre-release tags (e.g. v0.3.54b4) alongside + # stable ones. Restrict automatic updates to stable versions only. + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "^v([0-9.]+)$" + ]; + }; + meta = { description = "Control the WiFi lights of AIDOT in the local area network"; homepage = "https://github.com/AiDot-Development-Team/python-AiDot"; diff --git a/pkgs/development/python-modules/rns/default.nix b/pkgs/development/python-modules/rns/default.nix index 81b59755d7c4..d2254cd71709 100644 --- a/pkgs/development/python-modules/rns/default.nix +++ b/pkgs/development/python-modules/rns/default.nix @@ -53,6 +53,7 @@ buildPythonPackage (finalAttrs: { # https://github.com/markqvist/Reticulum/blob/master/LICENSE license = lib.licenses.unfree; maintainers = with lib.maintainers; [ + drupol fab qbit ]; diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix index 8316239d4492..ffd8e4689248 100644 --- a/pkgs/development/python-modules/sentry-sdk/default.nix +++ b/pkgs/development/python-modules/sentry-sdk/default.nix @@ -223,7 +223,7 @@ buildPythonPackage (finalAttrs: { "test_span_templates_ai_dicts" "test_span_templates_ai_objects" ] - ++ lib.optionals (pythonAtLeast "3.14" && stdenv.hostPlatform.isDarwin) [ + ++ lib.optionals (pythonAtLeast "3.13" && stdenv.hostPlatform.isDarwin) [ # profiler_id not populated on darwin "test_profile_stops_when_segment_ends" "test_segment_span_has_profiler_id" diff --git a/pkgs/development/python-modules/sparsediffpy/default.nix b/pkgs/development/python-modules/sparsediffpy/default.nix index 5b84d329f292..71197c3d981d 100644 --- a/pkgs/development/python-modules/sparsediffpy/default.nix +++ b/pkgs/development/python-modules/sparsediffpy/default.nix @@ -15,8 +15,9 @@ buildPythonPackage (finalAttrs: { pname = "sparsediffpy"; - version = "0.3.0"; + version = "0.4.0"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "SparseDifferentiation"; @@ -25,7 +26,7 @@ buildPythonPackage (finalAttrs: { # SparseDiffEngine is built from source and their cmake does not support finding it on the # system. We fallback to using the git submodule approach for now. fetchSubmodules = true; - hash = "sha256-4FiObnGIJSSH7BMkKS7y7rc4HYzDgMV7ym+wPZ/KHJ8="; + hash = "sha256-uT+HyZZpDGWPSfalF2j3qTFdWqYyOqYtHO/J9+5Dvz8="; }; build-system = [ diff --git a/pkgs/development/python-modules/trackpy/default.nix b/pkgs/development/python-modules/trackpy/default.nix index f2a707ff3226..13031abcd538 100644 --- a/pkgs/development/python-modules/trackpy/default.nix +++ b/pkgs/development/python-modules/trackpy/default.nix @@ -3,6 +3,7 @@ stdenv, buildPythonPackage, fetchFromGitHub, + setuptools, looseversion, matplotlib, numba, @@ -13,19 +14,23 @@ scipy, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "trackpy"; version = "0.7"; - format = "setuptools"; + pyproject = true; src = fetchFromGitHub { owner = "soft-matter"; repo = "trackpy"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-3e+gHdn/4n8T78eA3Gjz1TdSI4Hd935U2pqd8wG+U0M="; }; - propagatedBuildInputs = [ + build-system = [ + setuptools + ]; + + dependencies = [ looseversion matplotlib numba @@ -49,9 +54,9 @@ buildPythonPackage rec { meta = { description = "Particle-tracking toolkit"; homepage = "https://github.com/soft-matter/trackpy"; - changelog = "https://github.com/soft-matter/trackpy/releases/tag/${src.tag}"; + changelog = "https://github.com/soft-matter/trackpy/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.bsd3; maintainers = [ ]; broken = (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64); }; -} +}) diff --git a/pkgs/development/python-modules/treelog/default.nix b/pkgs/development/python-modules/treelog/default.nix index a25eedf5df7b..f4d6ffbd9901 100644 --- a/pkgs/development/python-modules/treelog/default.nix +++ b/pkgs/development/python-modules/treelog/default.nix @@ -2,22 +2,25 @@ lib, buildPythonPackage, fetchPypi, + setuptools, typing-extensions, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "treelog"; version = "1.0"; - format = "setuptools"; + pyproject = true; src = fetchPypi { - inherit pname version; + inherit (finalAttrs) pname version; sha256 = "0hnivz4p4llky6djxgcsr9r3j4vr46mkjvp0ksybhpx0fsnhdi81"; }; - pythonImportsCheck = [ "treelog" ]; + build-system = [ setuptools ]; - propagatedBuildInputs = [ typing-extensions ]; + dependencies = [ typing-extensions ]; + + pythonImportsCheck = [ "treelog" ]; meta = { description = "Logging framework that organizes messages in a tree structure"; @@ -25,4 +28,4 @@ buildPythonPackage rec { license = lib.licenses.mit; maintainers = [ ]; }; -} +}) diff --git a/pkgs/development/python-modules/uefi-firmware-parser/default.nix b/pkgs/development/python-modules/uefi-firmware-parser/default.nix index ed7946baf952..031880430d35 100644 --- a/pkgs/development/python-modules/uefi-firmware-parser/default.nix +++ b/pkgs/development/python-modules/uefi-firmware-parser/default.nix @@ -2,20 +2,21 @@ fetchFromGitHub, lib, buildPythonPackage, + nix-update-script, setuptools, wheel, }: buildPythonPackage (finalAttrs: { pname = "uefi-firmware-parser"; - version = "1.13"; + version = "1.16"; pyproject = true; src = fetchFromGitHub { owner = "theopolis"; repo = "uefi-firmware-parser"; tag = "v${finalAttrs.version}"; - hash = "sha256-Yiw9idmvSpx4CcVrXHznR8vK/xl7DTL+L7k4Nvql2B8="; + hash = "sha256-2vYTOC7cOiQXPMhYM+hqmFyCJeXCkx6RSxgaTIZqbds="; }; build-system = [ @@ -27,13 +28,15 @@ buildPythonPackage (finalAttrs: { pythonImportsCheck = [ "uefi_firmware" ]; + passthru.updateScript = nix-update-script { }; + meta = { description = "Tool for parsing, extracting, and recreating UEFI firmware volumes"; homepage = "https://github.com/theopolis/uefi-firmware-parser"; changelog = "https://github.com/theopolis/uefi-firmware-parser/releases/tag/${finalAttrs.src.rev}"; license = lib.licenses.mit; mainProgram = "uefi-firmware-parser"; - maintainers = [ ]; + maintainers = [ lib.maintainers.elliotberman ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/development/python-modules/yalexs-ble/default.nix b/pkgs/development/python-modules/yalexs-ble/default.nix index bfbf7222d6f1..6a202d8797c9 100644 --- a/pkgs/development/python-modules/yalexs-ble/default.nix +++ b/pkgs/development/python-modules/yalexs-ble/default.nix @@ -15,14 +15,14 @@ buildPythonPackage (finalAttrs: { pname = "yalexs-ble"; - version = "3.3.0"; + version = "3.3.1"; pyproject = true; src = fetchFromGitHub { owner = "Yale-Libs"; repo = "yalexs-ble"; tag = "v${finalAttrs.version}"; - hash = "sha256-K6DZ1fjXDp6IjTfW2BTc83HR6xi5i0hFn4NOteJaGMU="; + hash = "sha256-TztulpCpTQefyFURZCjDVAVYTQCEs0KIcFGQGDjj02o="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/tools/analysis/rr/default.nix b/pkgs/development/tools/analysis/rr/default.nix index d704b9b9b8fb..2aabf266e193 100644 --- a/pkgs/development/tools/analysis/rr/default.nix +++ b/pkgs/development/tools/analysis/rr/default.nix @@ -1,6 +1,6 @@ { lib, - stdenv, + gccMultiStdenv, fetchFromGitHub, fetchpatch, bash, @@ -18,7 +18,7 @@ zstd, }: -stdenv.mkDerivation (finalAttrs: { +gccMultiStdenv.mkDerivation (finalAttrs: { version = "5.9.0"; pname = "rr"; @@ -77,7 +77,7 @@ stdenv.mkDerivation (finalAttrs: { ]; cmakeFlags = [ - (lib.cmakeBool "disable32bit" true) + (lib.cmakeBool "disable32bit" false) (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) ]; diff --git a/pkgs/development/tools/electron/39-angle-patchdir.patch b/pkgs/development/tools/electron/39-angle-patchdir.patch deleted file mode 100644 index 3e7d49e922dc..000000000000 --- a/pkgs/development/tools/electron/39-angle-patchdir.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/electron/patches/config.json b/electron/patches/config.json -index f5dbe8600f..9e1e5e0704 100644 ---- a/electron/patches/config.json -+++ b/electron/patches/config.json -@@ -14,5 +14,5 @@ - { "patch_dir": "src/electron/patches/reclient-configs", "repo": "src/third_party/engflow-reclient-configs" }, - { "patch_dir": "src/electron/patches/sqlite", "repo": "src/third_party/sqlite/src" }, - { "patch_dir": "src/electron/patches/skia", "repo": "src/third_party/skia" }, -- { "patch_dir": "src/electron/patches/angle", "repo": "src/third_party/angle/src" }, -+ { "patch_dir": "src/electron/patches/angle", "repo": "src/third_party/angle" }, - { "patch_dir": "src/electron/patches/pdfium", "repo": "src/third_party/pdfium" }, - { "patch_dir": "src/electron/patches/libaom", "repo": "src/third_party/libaom/source/libaom" } - ] diff --git a/pkgs/development/tools/electron/CrabbyAvif-Switch-from-no_sanitize-cfi-to-sanitize-cfi-off-2.patch b/pkgs/development/tools/electron/CrabbyAvif-Switch-from-no_sanitize-cfi-to-sanitize-cfi-off-2.patch deleted file mode 100644 index 87140cbd11e6..000000000000 --- a/pkgs/development/tools/electron/CrabbyAvif-Switch-from-no_sanitize-cfi-to-sanitize-cfi-off-2.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/crabbyavif/src/src/reformat/libyuv.rs b/third_party/crabbyavif/src/src/reformat/libyuv.rs -index dd12964..4ae9dc0 100644 ---- a/third_party/crabbyavif/src/src/reformat/libyuv.rs -+++ b/third_party/crabbyavif/src/src/reformat/libyuv.rs -@@ -823,7 +823,7 @@ fn rgb_to_yuv_conversion_function( - } - } - --#[cfg_attr(feature = "disable_cfi", no_sanitize(cfi))] -+#[cfg_attr(feature = "disable_cfi", sanitize(cfi = "off"))] - pub(crate) fn rgb_to_yuv(rgb: &rgb::Image, image: &mut image::Image) -> AvifResult<()> { - let conversion_function = rgb_to_yuv_conversion_function(rgb, image)?; - let plane_u8 = image.plane_ptrs_mut(); diff --git a/pkgs/development/tools/electron/Reland-Use-global_allocator-to-provide-Rust-allocator-implementation.patch b/pkgs/development/tools/electron/Reland-Use-global_allocator-to-provide-Rust-allocator-implementation.patch deleted file mode 100644 index b2c57ca59b87..000000000000 --- a/pkgs/development/tools/electron/Reland-Use-global_allocator-to-provide-Rust-allocator-implementation.patch +++ /dev/null @@ -1,730 +0,0 @@ -From e3a1797dbab3eaa1c808d53215b32c8759d27ac7 Mon Sep 17 00:00:00 2001 -From: Collin Baker -Date: Fri, 4 Apr 2025 14:08:18 -0700 -Subject: [PATCH] Reland "Use #[global_allocator] to provide Rust allocator - implementation" -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This is a reland of commit cfa3beef52625e03ba6ce2b2ac98e1b89dde5cdb - -Original was reverted due to a cronet gn2bp failure. The script -filtered out GN rules in //build/rust/std, but this caused an exception -when //build/rust/std:allocator was referenced later. - -Moving the rules to //build/rust/allocator sidesteps the issue. - -Original change's description: -> Use #[global_allocator] to provide Rust allocator implementation -> -> The allocator shim hack we have been using no longer works with -> upstream Rust. Replace it with a less-unsupported method: provide a -> https://github.com/rust-lang/rust/issues/123015, which still requires -> us to provide a few symbol definitions. -> -> Bug: 408221149, 407024458 -> Change-Id: If1808ca24b12dc80ead35a25521313a3d2e148d5 -> -> Cq-Include-Trybots: luci.chromium.try:android-rust-arm32-rel,android-rust-arm64-dbg,android-rust-arm64-rel,linux-rust-x64-dbg,linux-rust-x64-rel,mac-rust-x64-dbg,win-rust-x64-dbg,win-rust-x64-rel -> Change-Id: If1808ca24b12dc80ead35a25521313a3d2e148d5 -> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6427855 -> Reviewed-by: Alan Zhao -> Reviewed-by: Lei Zhang -> Reviewed-by: Łukasz Anforowicz -> Commit-Queue: Collin Baker -> Auto-Submit: Collin Baker -> Cr-Commit-Position: refs/heads/main@{#1442472} - -Bug: 408221149, 407024458 -Cq-Include-Trybots: luci.chromium.try:android-rust-arm32-rel,android-rust-arm64-dbg,android-rust-arm64-rel,linux-rust-x64-dbg,linux-rust-x64-rel,mac-rust-x64-dbg,win-rust-x64-dbg,win-rust-x64-rel -Change-Id: I36fef217297bfe64ae81519be24b8c653f6fdfa1 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6432410 -Reviewed-by: Mohannad Farrag -Reviewed-by: Łukasz Anforowicz -Auto-Submit: Collin Baker -Commit-Queue: Łukasz Anforowicz -Cr-Commit-Position: refs/heads/main@{#1442922} ---- - build/rust/allocator/BUILD.gn | 90 ++++++++++++++++ - build/rust/{std => allocator}/alias.cc | 4 +- - build/rust/{std => allocator}/alias.h | 6 +- - .../allocator_impls.cc} | 100 ++++++++---------- - build/rust/allocator/allocator_impls.h | 25 +++++ - .../allocator/allocator_shim_definitions.cc | 30 ++++++ - .../{std => allocator}/compiler_specific.h | 6 +- - .../rust/{std => allocator}/immediate_crash.h | 6 +- - build/rust/allocator/lib.rs | 48 +++++++++ - build/rust/cargo_crate.gni | 9 ++ - build/rust/rust_macro.gni | 3 + - build/rust/rust_target.gni | 4 + - build/rust/std/BUILD.gn | 41 ------- - components/cronet/android/dependencies.txt | 1 + - third_party/breakpad/BUILD.gn | 10 +- - 15 files changed, 272 insertions(+), 111 deletions(-) - create mode 100644 build/rust/allocator/BUILD.gn - rename build/rust/{std => allocator}/alias.cc (87%) - rename build/rust/{std => allocator}/alias.h (91%) - rename build/rust/{std/remap_alloc.cc => allocator/allocator_impls.cc} (67%) - create mode 100644 build/rust/allocator/allocator_impls.h - create mode 100644 build/rust/allocator/allocator_shim_definitions.cc - rename build/rust/{std => allocator}/compiler_specific.h (87%) - rename build/rust/{std => allocator}/immediate_crash.h (97%) - create mode 100644 build/rust/allocator/lib.rs - -diff --git a/build/rust/allocator/BUILD.gn b/build/rust/allocator/BUILD.gn -new file mode 100644 -index 00000000000000..06aa47f097c9c4 ---- /dev/null -+++ b/build/rust/allocator/BUILD.gn -@@ -0,0 +1,90 @@ -+# Copyright 2025 The Chromium Authors -+# Use of this source code is governed by a BSD-style license that can be -+# found in the LICENSE file. -+ -+import("//build/buildflag_header.gni") -+import("//build/config/rust.gni") -+import("//build/rust/rust_static_library.gni") -+ -+rust_allocator_uses_partition_alloc = false -+if (build_with_chromium) { -+ import("//base/allocator/partition_allocator/partition_alloc.gni") -+ rust_allocator_uses_partition_alloc = use_partition_alloc_as_malloc -+} -+ -+buildflag_header("buildflags") { -+ header = "buildflags.h" -+ flags = [ -+ "RUST_ALLOCATOR_USES_PARTITION_ALLOC=$rust_allocator_uses_partition_alloc", -+ ] -+ visibility = [ ":*" ] -+} -+ -+if (toolchain_has_rust) { -+ # All targets which depend on Rust code but are not linked by rustc must -+ # depend on this. Usually, this dependency will come from the rust_target() GN -+ # template. However, cargo_crate() does *not* include this dependency so any -+ # C++ targets which directly depend on a cargo_crate() must depend on this. -+ rust_static_library("allocator") { -+ sources = [ "lib.rs" ] -+ crate_root = "lib.rs" -+ cxx_bindings = [ "lib.rs" ] -+ -+ deps = [ -+ ":allocator_impls", -+ ":allocator_shim_definitions", -+ ] -+ -+ no_chromium_prelude = true -+ no_allocator_crate = true -+ allow_unsafe = true -+ } -+ -+ static_library("allocator_impls") { -+ public_deps = [] -+ if (rust_allocator_uses_partition_alloc) { -+ public_deps += [ "//base/allocator/partition_allocator:partition_alloc" ] -+ } -+ -+ sources = [ -+ "allocator_impls.cc", -+ "allocator_impls.h", -+ ] -+ -+ deps = [ -+ ":allocator_cpp_shared", -+ ":buildflags", -+ -+ # TODO(crbug.com/408221149): remove the C++ -> Rust dependency for the -+ # default allocator. -+ "//build/rust/std", -+ ] -+ -+ visibility = [ ":*" ] -+ } -+ -+ source_set("allocator_shim_definitions") { -+ sources = [ "allocator_shim_definitions.cc" ] -+ -+ deps = [ ":allocator_cpp_shared" ] -+ -+ visibility = [ ":*" ] -+ } -+ -+ source_set("allocator_cpp_shared") { -+ sources = [ -+ # `alias.*`, `compiler_specific.h`, and `immediate_crash.*` have been -+ # copied from `//base`. -+ # TODO(crbug.com/40279749): Avoid duplication / reuse code. -+ "alias.cc", -+ "alias.h", -+ "compiler_specific.h", -+ "immediate_crash.h", -+ ] -+ -+ visibility = [ -+ ":allocator_impls", -+ ":allocator_shim_definitions", -+ ] -+ } -+} -diff --git a/build/rust/std/alias.cc b/build/rust/allocator/alias.cc -similarity index 87% -rename from build/rust/std/alias.cc -rename to build/rust/allocator/alias.cc -index 42febac3ed1fc5..ca20986f8ed496 100644 ---- a/build/rust/std/alias.cc -+++ b/build/rust/allocator/alias.cc -@@ -7,9 +7,9 @@ - // - // TODO(crbug.com/40279749): Avoid code duplication / reuse code. - --#include "build/rust/std/alias.h" -+#include "build/rust/allocator/alias.h" - --#include "build/rust/std/compiler_specific.h" -+#include "build/rust/allocator/compiler_specific.h" - - namespace build_rust_std { - namespace debug { -diff --git a/build/rust/std/alias.h b/build/rust/allocator/alias.h -similarity index 91% -rename from build/rust/std/alias.h -rename to build/rust/allocator/alias.h -index 0eaba6766148fa..80995ecfb045e3 100644 ---- a/build/rust/std/alias.h -+++ b/build/rust/allocator/alias.h -@@ -8,8 +8,8 @@ - // - // TODO(crbug.com/40279749): Avoid code duplication / reuse code. - --#ifndef BUILD_RUST_STD_ALIAS_H_ --#define BUILD_RUST_STD_ALIAS_H_ -+#ifndef BUILD_RUST_ALLOCATOR_ALIAS_H_ -+#define BUILD_RUST_ALLOCATOR_ALIAS_H_ - - #include - -@@ -34,4 +34,4 @@ void Alias(const void* var); - const int line_number = __LINE__; \ - build_rust_std::debug::Alias(&line_number) - --#endif // BUILD_RUST_STD_ALIAS_H_ -+#endif // BUILD_RUST_ALLOCATOR_ALIAS_H_ -diff --git a/build/rust/std/remap_alloc.cc b/build/rust/allocator/allocator_impls.cc -similarity index 67% -rename from build/rust/std/remap_alloc.cc -rename to build/rust/allocator/allocator_impls.cc -index a443b11ec513df..1fde98f23cd124 100644 ---- a/build/rust/std/remap_alloc.cc -+++ b/build/rust/allocator/allocator_impls.cc -@@ -2,6 +2,8 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - -+#include "build/rust/allocator/allocator_impls.h" -+ - #ifdef UNSAFE_BUFFERS_BUILD - // TODO(crbug.com/390223051): Remove C-library calls to fix the errors. - #pragma allow_unsafe_libc_calls -@@ -11,9 +13,9 @@ - #include - - #include "build/build_config.h" --#include "build/rust/std/alias.h" --#include "build/rust/std/buildflags.h" --#include "build/rust/std/immediate_crash.h" -+#include "build/rust/allocator/alias.h" -+#include "build/rust/allocator/buildflags.h" -+#include "build/rust/allocator/immediate_crash.h" - - #if BUILDFLAG(RUST_ALLOCATOR_USES_PARTITION_ALLOC) - #include "partition_alloc/partition_alloc_constants.h" // nogncheck -@@ -22,6 +24,11 @@ - #include - #endif - -+// NOTE: this documentation is outdated. -+// -+// TODO(crbug.com/408221149): update this documentation, or replace it with docs -+// in the Rust allocator implementation. -+// - // When linking a final binary, rustc has to pick between either: - // * The default Rust allocator - // * Any #[global_allocator] defined in *any rlib in its dependency tree* -@@ -87,19 +94,6 @@ - // enabling it breaks Win32 APIs like CreateProcess: - // https://issues.chromium.org/u/1/issues/368070343#comment29 - --extern "C" { -- --#ifdef COMPONENT_BUILD --#if BUILDFLAG(IS_WIN) --#define REMAP_ALLOC_ATTRIBUTES __declspec(dllexport) __attribute__((weak)) --#else --#define REMAP_ALLOC_ATTRIBUTES \ -- __attribute__((visibility("default"))) __attribute__((weak)) --#endif --#else --#define REMAP_ALLOC_ATTRIBUTES __attribute__((weak)) --#endif // COMPONENT_BUILD -- - #if !BUILDFLAG(RUST_ALLOCATOR_USES_PARTITION_ALLOC) && BUILDFLAG(IS_WIN) && \ - defined(ADDRESS_SANITIZER) - #define USE_WIN_ALIGNED_MALLOC 1 -@@ -107,17 +101,19 @@ extern "C" { - #define USE_WIN_ALIGNED_MALLOC 0 - #endif - --// This must exist as the stdlib depends on it to prove that we know the --// alloc shims below are unstable. In the future we may be required to replace --// them with a #[global_allocator] crate (see file comment above for more). --// --// Marked as weak as when Rust drives linking it includes this symbol itself, --// and we don't want a collision due to C++ being in the same link target, where --// C++ causes us to explicitly link in the stdlib and this symbol here. --[[maybe_unused]] --__attribute__((weak)) unsigned char __rust_no_alloc_shim_is_unstable; -+// The default allocator functions provided by the Rust standard library. -+extern "C" void* __rdl_alloc(size_t size, size_t align); -+extern "C" void __rdl_dealloc(void* p, size_t size, size_t align); -+extern "C" void* __rdl_realloc(void* p, -+ size_t old_size, -+ size_t align, -+ size_t new_size); -+ -+extern "C" void* __rdl_alloc_zeroed(size_t size, size_t align); -+ -+namespace rust_allocator_internal { - --REMAP_ALLOC_ATTRIBUTES void* __rust_alloc(size_t size, size_t align) { -+unsigned char* alloc(size_t size, size_t align) { - #if BUILDFLAG(RUST_ALLOCATOR_USES_PARTITION_ALLOC) - // PartitionAlloc will crash if given an alignment larger than this. - if (align > partition_alloc::internal::kMaxSupportedAlignment) { -@@ -125,19 +121,19 @@ REMAP_ALLOC_ATTRIBUTES void* __rust_alloc(size_t size, size_t align) { - } - - if (align <= alignof(std::max_align_t)) { -- return allocator_shim::UncheckedAlloc(size); -+ return static_cast(allocator_shim::UncheckedAlloc(size)); - } else { -- return allocator_shim::UncheckedAlignedAlloc(size, align); -+ return static_cast( -+ allocator_shim::UncheckedAlignedAlloc(size, align)); - } - #elif USE_WIN_ALIGNED_MALLOC -- return _aligned_malloc(size, align); -+ return static_cast(_aligned_malloc(size, align)); - #else -- extern void* __rdl_alloc(size_t size, size_t align); -- return __rdl_alloc(size, align); -+ return static_cast(__rdl_alloc(size, align)); - #endif - } - --REMAP_ALLOC_ATTRIBUTES void __rust_dealloc(void* p, size_t size, size_t align) { -+void dealloc(unsigned char* p, size_t size, size_t align) { - #if BUILDFLAG(RUST_ALLOCATOR_USES_PARTITION_ALLOC) - if (align <= alignof(std::max_align_t)) { - allocator_shim::UncheckedFree(p); -@@ -147,54 +143,44 @@ REMAP_ALLOC_ATTRIBUTES void __rust_dealloc(void* p, size_t size, size_t align) { - #elif USE_WIN_ALIGNED_MALLOC - return _aligned_free(p); - #else -- extern void __rdl_dealloc(void* p, size_t size, size_t align); - __rdl_dealloc(p, size, align); - #endif - } - --REMAP_ALLOC_ATTRIBUTES void* __rust_realloc(void* p, -- size_t old_size, -- size_t align, -- size_t new_size) { -+unsigned char* realloc(unsigned char* p, -+ size_t old_size, -+ size_t align, -+ size_t new_size) { - #if BUILDFLAG(RUST_ALLOCATOR_USES_PARTITION_ALLOC) - if (align <= alignof(std::max_align_t)) { -- return allocator_shim::UncheckedRealloc(p, new_size); -+ return static_cast( -+ allocator_shim::UncheckedRealloc(p, new_size)); - } else { -- return allocator_shim::UncheckedAlignedRealloc(p, new_size, align); -+ return static_cast( -+ allocator_shim::UncheckedAlignedRealloc(p, new_size, align)); - } - #elif USE_WIN_ALIGNED_MALLOC -- return _aligned_realloc(p, new_size, align); -+ return static_cast(_aligned_realloc(p, new_size, align)); - #else -- extern void* __rdl_realloc(void* p, size_t old_size, size_t align, -- size_t new_size); -- return __rdl_realloc(p, old_size, align, new_size); -+ return static_cast( -+ __rdl_realloc(p, old_size, align, new_size)); - #endif - } - --REMAP_ALLOC_ATTRIBUTES void* __rust_alloc_zeroed(size_t size, size_t align) { -+unsigned char* alloc_zeroed(size_t size, size_t align) { - #if BUILDFLAG(RUST_ALLOCATOR_USES_PARTITION_ALLOC) || USE_WIN_ALIGNED_MALLOC - // TODO(danakj): When RUST_ALLOCATOR_USES_PARTITION_ALLOC is true, it's - // possible that a partition_alloc::UncheckedAllocZeroed() call would perform - // better than partition_alloc::UncheckedAlloc() + memset. But there is no - // such API today. See b/342251590. -- void* p = __rust_alloc(size, align); -+ unsigned char* p = alloc(size, align); - if (p) { - memset(p, 0, size); - } - return p; - #else -- extern void* __rdl_alloc_zeroed(size_t size, size_t align); -- return __rdl_alloc_zeroed(size, align); -+ return static_cast(__rdl_alloc_zeroed(size, align)); - #endif - } - --REMAP_ALLOC_ATTRIBUTES void __rust_alloc_error_handler(size_t size, -- size_t align) { -- NO_CODE_FOLDING(); -- IMMEDIATE_CRASH(); --} -- --REMAP_ALLOC_ATTRIBUTES extern const unsigned char -- __rust_alloc_error_handler_should_panic = 0; -- --} // extern "C" -+} // namespace rust_allocator_internal -diff --git a/build/rust/allocator/allocator_impls.h b/build/rust/allocator/allocator_impls.h -new file mode 100644 -index 00000000000000..afb335412faf9c ---- /dev/null -+++ b/build/rust/allocator/allocator_impls.h -@@ -0,0 +1,25 @@ -+// Copyright 2025 The Chromium Authors -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+#ifndef BUILD_RUST_ALLOCATOR_ALLOCATOR_IMPLS_H_ -+#define BUILD_RUST_ALLOCATOR_ALLOCATOR_IMPLS_H_ -+ -+#include -+ -+#include "build/build_config.h" -+#include "build/rust/allocator/buildflags.h" -+ -+namespace rust_allocator_internal { -+ -+unsigned char* alloc(size_t size, size_t align); -+void dealloc(unsigned char* p, size_t size, size_t align); -+unsigned char* realloc(unsigned char* p, -+ size_t old_size, -+ size_t align, -+ size_t new_size); -+unsigned char* alloc_zeroed(size_t size, size_t align); -+ -+} // namespace rust_allocator_internal -+ -+#endif // BUILD_RUST_ALLOCATOR_ALLOCATOR_IMPLS_H_ -diff --git a/build/rust/allocator/allocator_shim_definitions.cc b/build/rust/allocator/allocator_shim_definitions.cc -new file mode 100644 -index 00000000000000..a4d1bd77b7016e ---- /dev/null -+++ b/build/rust/allocator/allocator_shim_definitions.cc -@@ -0,0 +1,30 @@ -+// Copyright 2025 The Chromium Authors -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+#include -+ -+#include "build/rust/allocator/alias.h" -+#include "build/rust/allocator/immediate_crash.h" -+ -+extern "C" { -+ -+// As part of rustc's contract for using `#[global_allocator]` without -+// rustc-generated shims we must define this symbol, since we are opting in to -+// unstable functionality. See https://github.com/rust-lang/rust/issues/123015 -+// -+// Mark it weak since rustc will generate it when it drives linking. -+[[maybe_unused]] -+__attribute__((weak)) unsigned char __rust_no_alloc_shim_is_unstable; -+ -+__attribute__((weak)) void __rust_alloc_error_handler(size_t size, -+ size_t align) { -+ NO_CODE_FOLDING(); -+ IMMEDIATE_CRASH(); -+} -+ -+__attribute__(( -+ weak)) extern const unsigned char __rust_alloc_error_handler_should_panic = -+ 0; -+ -+} // extern "C" -diff --git a/build/rust/std/compiler_specific.h b/build/rust/allocator/compiler_specific.h -similarity index 87% -rename from build/rust/std/compiler_specific.h -rename to build/rust/allocator/compiler_specific.h -index ea79a7a8dc2842..f9079679a3e9af 100644 ---- a/build/rust/std/compiler_specific.h -+++ b/build/rust/allocator/compiler_specific.h -@@ -7,8 +7,8 @@ - // - // TODO(crbug.com/40279749): Avoid code duplication / reuse code. - --#ifndef BUILD_RUST_STD_COMPILER_SPECIFIC_H_ --#define BUILD_RUST_STD_COMPILER_SPECIFIC_H_ -+#ifndef BUILD_RUST_ALLOCATOR_COMPILER_SPECIFIC_H_ -+#define BUILD_RUST_ALLOCATOR_COMPILER_SPECIFIC_H_ - - #include "build/build_config.h" - -@@ -35,4 +35,4 @@ - #define NOINLINE - #endif - --#endif // BUILD_RUST_STD_COMPILER_SPECIFIC_H_ -+#endif // BUILD_RUST_ALLOCATOR_COMPILER_SPECIFIC_H_ -diff --git a/build/rust/std/immediate_crash.h b/build/rust/allocator/immediate_crash.h -similarity index 97% -rename from build/rust/std/immediate_crash.h -rename to build/rust/allocator/immediate_crash.h -index e4fd5a09d9379f..9cbf9fd65f3e09 100644 ---- a/build/rust/std/immediate_crash.h -+++ b/build/rust/allocator/immediate_crash.h -@@ -5,8 +5,8 @@ - // This file has been copied from //base/immediate_crash.h. - // TODO(crbug.com/40279749): Avoid code duplication / reuse code. - --#ifndef BUILD_RUST_STD_IMMEDIATE_CRASH_H_ --#define BUILD_RUST_STD_IMMEDIATE_CRASH_H_ -+#ifndef BUILD_RUST_ALLOCATOR_IMMEDIATE_CRASH_H_ -+#define BUILD_RUST_ALLOCATOR_IMMEDIATE_CRASH_H_ - - #include "build/build_config.h" - -@@ -168,4 +168,4 @@ - - #endif // defined(__clang__) || defined(COMPILER_GCC) - --#endif // BUILD_RUST_STD_IMMEDIATE_CRASH_H_ -+#endif // BUILD_RUST_ALLOCATOR_IMMEDIATE_CRASH_H_ -diff --git a/build/rust/allocator/lib.rs b/build/rust/allocator/lib.rs -new file mode 100644 -index 00000000000000..7f4a0fc2456942 ---- /dev/null -+++ b/build/rust/allocator/lib.rs -@@ -0,0 +1,48 @@ -+// Copyright 2025 The Chromium Authors -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+//! Define the allocator that Rust code in Chrome should use. -+//! -+//! Any final artifact that depends on this crate, even transitively, will use -+//! the allocator defined here. Currently this is a thin wrapper around -+//! allocator_impls.cc's functions; see the documentation there. -+ -+use std::alloc::{GlobalAlloc, Layout}; -+ -+struct Allocator; -+ -+unsafe impl GlobalAlloc for Allocator { -+ unsafe fn alloc(&self, layout: Layout) -> *mut u8 { -+ unsafe { ffi::alloc(layout.size(), layout.align()) } -+ } -+ -+ unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) { -+ unsafe { -+ ffi::dealloc(ptr, layout.size(), layout.align()); -+ } -+ } -+ -+ unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8 { -+ unsafe { ffi::alloc_zeroed(layout.size(), layout.align()) } -+ } -+ -+ unsafe fn realloc(&self, ptr: *mut u8, layout: Layout, new_size: usize) -> *mut u8 { -+ unsafe { ffi::realloc(ptr, layout.size(), layout.align(), new_size) } -+ } -+} -+ -+#[global_allocator] -+static GLOBAL: Allocator = Allocator; -+ -+#[cxx::bridge(namespace = "rust_allocator_internal")] -+mod ffi { -+ extern "C++" { -+ include!("build/rust/allocator/allocator_impls.h"); -+ -+ unsafe fn alloc(size: usize, align: usize) -> *mut u8; -+ unsafe fn dealloc(p: *mut u8, size: usize, align: usize); -+ unsafe fn realloc(p: *mut u8, old_size: usize, align: usize, new_size: usize) -> *mut u8; -+ unsafe fn alloc_zeroed(size: usize, align: usize) -> *mut u8; -+ } -+} -diff --git a/build/rust/cargo_crate.gni b/build/rust/cargo_crate.gni -index 6d11c538bf4d5a..d9912722b4ecdb 100644 ---- a/build/rust/cargo_crate.gni -+++ b/build/rust/cargo_crate.gni -@@ -259,6 +259,12 @@ template("cargo_crate") { - # Don't import the `chromium` crate into third-party code. - no_chromium_prelude = true - -+ # Don't depend on the chrome-specific #[global_allocator] crate from -+ # third-party code. This avoids some dependency cycle issues. The allocator -+ # crate will still be used if it exists anywhere in the dependency graph for -+ # a given linked artifact. -+ no_allocator_crate = true -+ - rustc_metadata = _rustc_metadata - - # TODO(crbug.com/40259764): don't default to true. This requires changes to -@@ -483,6 +489,9 @@ template("cargo_crate") { - # Don't import the `chromium` crate into third-party code. - no_chromium_prelude = true - -+ # Build scripts do not need to link to chrome's allocator. -+ no_allocator_crate = true -+ - # The ${_build_script_name}_output target looks for the exe in this - # location. Due to how the Windows component build works, this has to - # be $root_out_dir for all EXEs. In component build, C++ links to the -diff --git a/build/rust/rust_macro.gni b/build/rust/rust_macro.gni -index bcbb30ed441115..41d857632ccdc9 100644 ---- a/build/rust/rust_macro.gni -+++ b/build/rust/rust_macro.gni -@@ -16,6 +16,9 @@ template("rust_macro") { - forward_variables_from(invoker, TESTONLY_AND_VISIBILITY) - proc_macro_configs = invoker.configs - target_type = "rust_proc_macro" -+ -+ # Macros are loaded by rustc and shouldn't use chrome's allocation routines. -+ no_allocator_crate = true - } - } - -diff --git a/build/rust/rust_target.gni b/build/rust/rust_target.gni -index 1a2f96337d4361..1003a7b678352d 100644 ---- a/build/rust/rust_target.gni -+++ b/build/rust/rust_target.gni -@@ -339,6 +339,10 @@ template("rust_target") { - _rust_deps += [ "//build/rust/std" ] - } - -+ if (!defined(invoker.no_allocator_crate) || !invoker.no_allocator_crate) { -+ _rust_deps += [ "//build/rust/allocator" ] -+ } -+ - if (_build_unit_tests) { - _unit_test_target = "${_target_name}_unittests" - if (defined(invoker.unit_test_target)) { -diff --git a/build/rust/std/BUILD.gn b/build/rust/std/BUILD.gn -index 6b996aa1fe3865..25db126076b2fa 100644 ---- a/build/rust/std/BUILD.gn -+++ b/build/rust/std/BUILD.gn -@@ -15,51 +15,12 @@ - # allocator functions to PartitionAlloc when `use_partition_alloc_as_malloc` is - # true, so that Rust and C++ use the same allocator backend. - --import("//build/buildflag_header.gni") - import("//build/config/compiler/compiler.gni") - import("//build/config/coverage/coverage.gni") - import("//build/config/rust.gni") - import("//build/config/sanitizers/sanitizers.gni") - --rust_allocator_uses_partition_alloc = false --if (build_with_chromium) { -- import("//base/allocator/partition_allocator/partition_alloc.gni") -- rust_allocator_uses_partition_alloc = use_partition_alloc_as_malloc --} -- --buildflag_header("buildflags") { -- header = "buildflags.h" -- flags = [ -- "RUST_ALLOCATOR_USES_PARTITION_ALLOC=$rust_allocator_uses_partition_alloc", -- ] -- visibility = [ ":*" ] --} -- - if (toolchain_has_rust) { -- # If clang performs the link step, we need to provide the allocator symbols -- # that are normally injected by rustc during linking. -- # -- # We also "happen to" use this to redirect allocations to PartitionAlloc, -- # though that would be better done through a #[global_allocator] crate (see -- # above). -- source_set("remap_alloc") { -- public_deps = [] -- if (rust_allocator_uses_partition_alloc) { -- public_deps += [ "//base/allocator/partition_allocator:partition_alloc" ] -- } -- deps = [ ":buildflags" ] -- sources = [ -- # `alias.*`, `compiler_specific.h`, and `immediate_crash.*` have been -- # copied from `//base`. -- # TODO(crbug.com/40279749): Avoid duplication / reuse code. -- "alias.cc", -- "alias.h", -- "compiler_specific.h", -- "immediate_crash.h", -- "remap_alloc.cc", -- ] -- } -- - # List of Rust stdlib rlibs which are present in the official Rust toolchain - # we are using from the Android team. This is usually a version or two behind - # nightly. Generally this matches the toolchain we build ourselves, but if -@@ -269,8 +230,6 @@ if (toolchain_has_rust) { - foreach(libname, stdlib_files + skip_stdlib_files) { - deps += [ "rules:$libname" ] - } -- -- public_deps = [ ":remap_alloc" ] - } - } else { - action("find_stdlib") { -diff --git a/components/cronet/android/dependencies.txt b/components/cronet/android/dependencies.txt -index bf56bc45ed41f7..c0e41ef7c6766a 100644 ---- a/components/cronet/android/dependencies.txt -+++ b/components/cronet/android/dependencies.txt -@@ -14,6 +14,7 @@ - //build/config - //build/config/compiler - //build/rust -+//build/rust/allocator - //build/rust/chromium_prelude - //build/rust/std - //build/rust/std/rules -diff --git a/third_party/breakpad/BUILD.gn b/third_party/breakpad/BUILD.gn -index 2f4e1ab0156609..e140ecbedcc9a0 100644 ---- a/third_party/breakpad/BUILD.gn -+++ b/third_party/breakpad/BUILD.gn -@@ -495,7 +495,10 @@ if (is_mac) { - defines = [ "HAVE_MACH_O_NLIST_H" ] - - # Rust demangle support. -- deps = [ "//third_party/rust/rustc_demangle_capi/v0_1:lib" ] -+ deps = [ -+ "//build/rust/allocator", -+ "//third_party/rust/rustc_demangle_capi/v0_1:lib", -+ ] - defines += [ "HAVE_RUSTC_DEMANGLE" ] - include_dirs += [ "//third_party/rust/chromium_crates_io/vendor/rustc-demangle-capi-v0_1/include" ] - sources += [ "//third_party/rust/chromium_crates_io/vendor/rustc-demangle-capi-v0_1/include/rustc_demangle.h" ] -@@ -743,7 +746,10 @@ if (is_linux || is_chromeos || is_android) { - include_dirs = [ "breakpad/src" ] - - # Rust demangle support. -- deps = [ "//third_party/rust/rustc_demangle_capi/v0_1:lib" ] -+ deps = [ -+ "//build/rust/allocator", -+ "//third_party/rust/rustc_demangle_capi/v0_1:lib", -+ ] - defines += [ "HAVE_RUSTC_DEMANGLE" ] - include_dirs += [ "//third_party/rust/chromium_crates_io/vendor/rustc-demangle-capi-v0_1/include" ] - sources += [ "//third_party/rust/chromium_crates_io/vendor/rustc-demangle-capi-v0_1/include/rustc_demangle.h" ] diff --git a/pkgs/development/tools/electron/common.nix b/pkgs/development/tools/electron/common.nix index da16e1b9bdde..33b98017767b 100644 --- a/pkgs/development/tools/electron/common.nix +++ b/pkgs/development/tools/electron/common.nix @@ -108,46 +108,6 @@ in patches = base.patches - ++ lib.optionals (lib.versionOlder info.version "39") [ - # Fix build with Rust 1.90.0 - # https://chromium-review.googlesource.com/c/chromium/src/+/6875644 - (fetchpatch { - name = "Define-rust-alloc-error-handler-should-panic-v2.patch"; - url = "https://github.com/chromium/chromium/commit/23d818d3c7fba4658248f17fd7b8993199242aa9.patch"; - hash = "sha256-JVv36PgU/rr34jrhgCyf4Pp8o5j2T8fD1xBVH1avT48="; - }) - # Fix build with Rust 1.91.0 - # https://chromium-review.googlesource.com/c/chromium/src/+/6949745 - (fetchpatch { - name = "Remove-unicode_width-from-rust-dependencies.patch"; - url = "https://github.com/chromium/chromium/commit/0420449584e2afb7473393f536379efe194ba23c.patch"; - hash = "sha256-2x1QoKkZEBfJw0hBjaErN/E47WrVfZvDngAXSIDzJs4="; - }) - (fetchpatch { - name = "CrabbyAvif-Switch-from-no_sanitize-cfi-to-sanitize-cfi-off-1.patch"; - url = "https://github.com/webmproject/CrabbyAvif/commit/4c70b98d1ebc8a210f2919be7ccabbcf23061cb5.patch"; - extraPrefix = "third_party/crabbyavif/src/"; - stripLen = 1; - hash = "sha256-E8/PmL+8+ZSoDO6L0/YOygIsliCDmcaBptXsi2L6ETQ="; - }) - # backport of https://github.com/webmproject/CrabbyAvif/commit/3ba05863e84fd3acb4f4af2b4545221b317a2e55 - ./CrabbyAvif-Switch-from-no_sanitize-cfi-to-sanitize-cfi-off-2.patch - # https://chromium-review.googlesource.com/c/chromium/src/+/6879484 - (fetchpatch { - name = "crabbyavif-BUILD-gn-Temporarily-remove-disable_cfi-feature.patch"; - url = "https://github.com/chromium/chromium/commit/e46275404d8f8a65ed84b3e583e9b78e4298acc7.patch"; - hash = "sha256-2Dths53ervzCPKFbAVxeBHxtPHckxYhesJhaYZbxGSA="; - }) - # https://chromium-review.googlesource.com/c/chromium/src/+/6960510 - (fetchpatch { - name = "crabbyavif-BUILD-gn-Enable-disable_cfi-feature.patch"; - url = "https://github.com/chromium/chromium/commit/9415f40bc6f853547f791e633be638c71368ce56.patch"; - hash = "sha256-+M4gI77SoQ4dYIe/iGFgIwF1fS/6KQ8s16vj8ht/rik="; - }) - ] - ++ lib.optionals (lib.versions.major info.version == "39") [ - ./39-angle-patchdir.patch - ] ++ lib.optionals (lib.versions.major info.version == "40") [ ./40-angle-patchdir.patch ]; @@ -189,8 +149,6 @@ in EOF echo -n '${info.deps."src/third_party/dawn".args.rev}' > gpu/webgpu/DAWN_VERSION - '' - + lib.optionalString (lib.versionAtLeast info.version "39") '' cat << EOF > gpu/webgpu/dawn_commit_hash.h /* Generated by lastchange.py, do not edit.*/ #ifndef GPU_WEBGPU_DAWN_COMMIT_HASH_H_ @@ -198,8 +156,6 @@ in #define DAWN_COMMIT_HASH "${info.deps."src/third_party/dawn".args.rev}" #endif // GPU_WEBGPU_DAWN_COMMIT_HASH_H_ EOF - '' - + '' ( PATH=$PATH:${ lib.makeBinPath ( @@ -238,8 +194,6 @@ in ) echo 'checkout_glic_e2e_tests = false' >> build/config/gclient_args.gni echo 'checkout_mutter = false' >> build/config/gclient_args.gni - '' - + lib.optionalString (lib.versionAtLeast info.version "38") '' echo 'checkout_clusterfuzz_data = false' >> build/config/gclient_args.gni '' + base.postPatch; @@ -285,12 +239,8 @@ in enable_dangling_raw_ptr_feature_flag = false; clang_unsafe_buffers_paths = ""; enterprise_cloud_content_analysis = false; - } - // lib.optionalAttrs (lib.versionAtLeast info.version "39") { enable_linux_installer = false; enable_pdf_save_to_drive = false; - } - // { # other enable_widevine = false; diff --git a/pkgs/development/web/playwright/chromium-headless-shell.nix b/pkgs/development/web/playwright/chromium-headless-shell.nix index c84c8593572c..13ef53743adf 100644 --- a/pkgs/development/web/playwright/chromium-headless-shell.nix +++ b/pkgs/development/web/playwright/chromium-headless-shell.nix @@ -57,7 +57,7 @@ let libxfixes libxrandr libgbm - libgcc.lib + libgcc libxkbcommon nspr nss diff --git a/pkgs/development/web/playwright/webkit.nix b/pkgs/development/web/playwright/webkit.nix index 250c815a24b0..71a24bda73bb 100644 --- a/pkgs/development/web/playwright/webkit.nix +++ b/pkgs/development/web/playwright/webkit.nix @@ -152,7 +152,7 @@ let libdrm libepoxy libevent - libgcc.lib + libgcc libgcrypt libgpg-error libjpeg8 diff --git a/pkgs/kde/plasma/plasma-vault/default.nix b/pkgs/kde/plasma/plasma-vault/default.nix index 9ae129288028..9af74adc3a89 100644 --- a/pkgs/kde/plasma/plasma-vault/default.nix +++ b/pkgs/kde/plasma/plasma-vault/default.nix @@ -4,8 +4,6 @@ replaceVars, pkg-config, cryfs, - encfs, - fuse, gocryptfs, lsof, }: @@ -15,8 +13,6 @@ mkKdeDerivation { patches = [ (replaceVars ./hardcode-paths.patch { cryfs = lib.getExe' cryfs "cryfs"; - encfs = lib.getExe' encfs "encfs"; - encfsctl = lib.getExe' encfs "encfsctl"; gocryptfs = lib.getExe' gocryptfs "gocryptfs"; lsof = lib.getExe lsof; }) diff --git a/pkgs/kde/plasma/plasma-vault/hardcode-paths.patch b/pkgs/kde/plasma/plasma-vault/hardcode-paths.patch index 10382774eb87..a39328027d6d 100644 --- a/pkgs/kde/plasma/plasma-vault/hardcode-paths.patch +++ b/pkgs/kde/plasma/plasma-vault/hardcode-paths.patch @@ -10,25 +10,6 @@ index f425eb3..5b8cd43 100644 + return process("@cryfs@", arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {{"CRYFS_FRONTEND", "noninteractive"}}); } - } // namespace PlasmaVault -diff --git a/kded/engine/backends/encfs/encfsbackend.cpp b/kded/engine/backends/encfs/encfsbackend.cpp -index 2d15fa2..870b711 100644 ---- a/kded/engine/backends/encfs/encfsbackend.cpp -+++ b/kded/engine/backends/encfs/encfsbackend.cpp -@@ -101,12 +101,12 @@ QProcess *EncFsBackend::encfs(const QStringList &arguments) const - auto config = KSharedConfig::openConfig(PLASMAVAULT_CONFIG_FILE); - KConfigGroup backendConfig(config, "EncfsBackend"); - -- return process("encfs", arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {}); -+ return process("@encfs@", arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {}); - } - - QProcess *EncFsBackend::encfsctl(const QStringList &arguments) const - { -- return process("encfsctl", arguments, {}); -+ return process("@encfsctl@", arguments, {}); - } - } // namespace PlasmaVault diff --git a/kded/engine/backends/gocryptfs/gocryptfsbackend.cpp b/kded/engine/backends/gocryptfs/gocryptfsbackend.cpp index b992f6f..eb828dd 100644 diff --git a/pkgs/servers/home-assistant/custom-components/garmin_connect/package.nix b/pkgs/servers/home-assistant/custom-components/garmin_connect/package.nix index 711f51b252c9..6a6e8c30b1cd 100644 --- a/pkgs/servers/home-assistant/custom-components/garmin_connect/package.nix +++ b/pkgs/servers/home-assistant/custom-components/garmin_connect/package.nix @@ -21,6 +21,10 @@ buildHomeAssistantComponent rec { ha-garmin ]; + # home-assistant-garmin_connect pins an exact version of ha-garmin, but we + # want to allow newer, compatible versions to be used. + ignoreVersionRequirement = [ "ha-garmin" ]; + meta = { changelog = "https://github.com/cyberjunky/home-assistant-garmin_connect/releases/tag/${src.tag}"; description = "Garmin Connect integration allows you to expose data from Garmin Connect to Home Assistant"; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index e6c2115a932f..2225120649c0 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -696,6 +696,7 @@ mapAliases { EmptyEpsilon = throw "'EmptyEpsilon' has been renamed to/replaced by 'empty-epsilon'"; # Converted to throw 2025-10-27 emulationstation = throw "emulationstation was removed due to numerous vulnerabilities in freeimage"; # Added 2025-10-23 emulationstation-de = throw "emulationstation-de was removed due to numerous vulnerabilities in freeimage"; # Added 2025-10-23 + encfs = throw "'encfs' has been removed as it depends on fuse2, which is deprecated"; # Added 2026-05-05 enchant2 = warnAlias "'enchant2' has been renamed to 'enchant_2'" enchant_2; # Added 2026-01-14 encodings = font-encodings; # Added 2026-01-19 enyo-doom = throw "'enyo-doom' has been renamed to/replaced by 'enyo-launcher'"; # Converted to throw 2025-10-27 @@ -852,6 +853,7 @@ mapAliases { gdc11 = throw "gdc11 has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2025-08-08 gdc = throw "gdc has been removed from Nixpkgs, as recent versions require complex bootstrapping"; # Added 2025-08-08 gdmd = throw "gdmd has been removed from Nixpkgs, as it depends on GDC which was removed"; # Added 2025-08-08 + gencfsm = throw "'gnecfsm' has been removed as it depends on encfs, which depends on the deprecated fuse2"; # Added 2026-05-05 gensgs = throw "gensgs has been removed as it was unmaintained, abandoned upstream since 2009 and relied on gtk2"; # Added 2025-10-29 geos_3_9 = throw "geos_3_9 has been removed from nixpkgs. Please use a more recent 'geos' instead."; # Added 2025-09-21 gfie = throw "'gfie' has been removed as it depended on EOL qt5 webengine"; # Added 2026-04-17 @@ -2252,6 +2254,7 @@ mapAliases { vistafonts-cht = throw "'vistafonts-cht' has been renamed to/replaced by 'vista-fonts-cht'"; # Converted to throw 2025-10-27 vkBasalt = throw "'vkBasalt' has been renamed to/replaced by 'vkbasalt'"; # Converted to throw 2025-10-27 vkdt-wayland = throw "'vkdt-wayland' has been renamed to/replaced by 'vkdt'"; # Converted to throw 2025-10-27 + vmfs-tools = throw "'vmfs-tools' has been removed as it depends on unsupported fuse2 and is unmaintained upstream"; # Added 2026-06-07 vokoscreen = throw "'vokoscreen' has been replaced by vokoscreen-ng"; # Added 2025-10-21 volk_2 = throw "'volk_2' has been removed after not being used by any package for a long time"; # Added 2025-10-25 volnoti = throw "'volnoti' has been removed due to lack of maintenance upstream. Consider using 'rumno' instead."; # Added 2024-12-04 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0ac7f919ae5b..b73ce5e99848 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2216,6 +2216,8 @@ self: super: with self; { callPackage ../development/python-modules/bluetooth-sensor-state-data { }; + bluezero = callPackage ../development/python-modules/bluezero { }; + blurhash = callPackage ../development/python-modules/blurhash { }; blurhash-python = callPackage ../development/python-modules/blurhash-python { }; @@ -3342,6 +3344,8 @@ self: super: with self; { credstash = callPackage ../development/python-modules/credstash { }; + credsweeper = callPackage ../development/python-modules/credsweeper { }; + crewai = callPackage ../development/python-modules/crewai { }; crispy-bootstrap3 = callPackage ../development/python-modules/crispy-bootstrap3 { }; @@ -12039,6 +12043,14 @@ self: super: with self; { openvino-native = pkgs.openvino.override { python3Packages = self; }; }; + openvino-genai = callPackage ../development/python-modules/openvino-genai { + openvino-genai-native = pkgs.openvino-genai.override { python3Packages = self; }; + }; + + openvino-tokenizers = callPackage ../development/python-modules/openvino-tokenizers { + openvino-tokenizers-native = pkgs.openvino-tokenizers; + }; + openwebifpy = callPackage ../development/python-modules/openwebifpy { }; openwrt-luci-rpc = callPackage ../development/python-modules/openwrt-luci-rpc { }; @@ -13643,6 +13655,8 @@ self: super: with self; { pybars3 = callPackage ../development/python-modules/pybars3 { }; + pybase62 = callPackage ../development/python-modules/pybase62 { }; + pybase64 = callPackage ../development/python-modules/pybase64 { }; pybbox = callPackage ../development/python-modules/pybbox { }; @@ -14127,6 +14141,8 @@ self: super: with self; { pyfzf = callPackage ../development/python-modules/pyfzf { inherit (pkgs) fzf; }; + pyg-lib = callPackage ../development/python-modules/pyg-lib { }; + pygal = callPackage ../development/python-modules/pygal { }; # pygame-ce is better maintained upstream, the breaking point was https://github.com/NixOS/nixpkgs/pull/475917#issuecomment-3706940043