diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml index 2ae77cf01421..6f31c58e951e 100644 --- a/.github/workflows/labels.yml +++ b/.github/workflows/labels.yml @@ -201,7 +201,7 @@ jobs: pull_number: pull_request.number })) .filter(review => review.state == 'APPROVED') - .map(review => review.user.id) + .map(review => review.user?.id) ) const maintainers = new Set(Object.keys( diff --git a/pkgs/applications/audio/ardour/default.nix b/pkgs/applications/audio/ardour/default.nix index 45e8e95d2c0a..688e9e92599e 100644 --- a/pkgs/applications/audio/ardour/default.nix +++ b/pkgs/applications/audio/ardour/default.nix @@ -62,172 +62,179 @@ optimize ? true, # disable to print Lua DSP script output to stdout videoSupport ? true, }: -stdenv.mkDerivation rec { - pname = "ardour"; - version = "8.11"; +stdenv.mkDerivation ( + finalAttrs: + let + majorVersion = lib.versions.major finalAttrs.version; + in + { + pname = "ardour"; + version = "8.12"; - # We can't use `fetchFromGitea` here, as attempting to fetch release archives from git.ardour.org - # result in an empty archive. See https://tracker.ardour.org/view.php?id=7328 for more info. - src = fetchgit { - url = "git://git.ardour.org/ardour/ardour.git"; - rev = version; - hash = "sha256-z+rIWFVua1IG4GZ8kH3quKaBbN+I7Yr62vukJZk6KAg="; - }; + # We can't use `fetchFromGitea` here, as attempting to fetch release archives from git.ardour.org + # result in an empty archive. See https://tracker.ardour.org/view.php?id=7328 for more info. + src = fetchgit { + url = "git://git.ardour.org/ardour/ardour.git"; + rev = finalAttrs.version; + hash = "sha256-4IgBQ53cwPA35YwNQyo+qBqsMGv+TLn6w1zaDX97erE="; + }; - bundledContent = fetchzip { - url = "https://web.archive.org/web/20221026200824/http://stuff.ardour.org/loops/ArdourBundledMedia.zip"; - hash = "sha256-IbPQWFeyMuvCoghFl1ZwZNNcSvLNsH84rGArXnw+t7A="; - # archive does not contain a single folder at the root - stripRoot = false; - }; + bundledContent = fetchzip { + url = "https://web.archive.org/web/20221026200824/http://stuff.ardour.org/loops/ArdourBundledMedia.zip"; + hash = "sha256-IbPQWFeyMuvCoghFl1ZwZNNcSvLNsH84rGArXnw+t7A="; + # archive does not contain a single folder at the root + stripRoot = false; + }; - patches = [ - # AS=as in the environment causes build failure https://tracker.ardour.org/view.php?id=8096 - ./as-flags.patch - ./default-plugin-search-paths.patch - ]; + patches = [ + # AS=as in the environment causes build failure https://tracker.ardour.org/view.php?id=8096 + ./as-flags.patch + ./default-plugin-search-paths.patch + ]; - # Ardour's wscript requires git revision and date to be available. - # Since they are not, let's generate the file manually. - postPatch = '' - printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = "${version}"; const char* date = ""; }\n' > libs/ardour/revision.cc - sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript - patchShebangs ./tools/ - substituteInPlace libs/ardour/video_tools_paths.cc \ - --replace-fail 'ffmpeg_exe = X_("");' 'ffmpeg_exe = X_("${ffmpeg}/bin/ffmpeg");' \ - --replace-fail 'ffprobe_exe = X_("");' 'ffprobe_exe = X_("${ffmpeg}/bin/ffprobe");' - ''; + # Ardour's wscript requires git revision and date to be available. + # Since they are not, let's generate the file manually. + postPatch = '' + printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = "${finalAttrs.version}"; const char* date = ""; }\n' > libs/ardour/revision.cc + sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript + patchShebangs ./tools/ + substituteInPlace libs/ardour/video_tools_paths.cc \ + --replace-fail 'ffmpeg_exe = X_("");' 'ffmpeg_exe = X_("${ffmpeg}/bin/ffmpeg");' \ + --replace-fail 'ffprobe_exe = X_("");' 'ffprobe_exe = X_("${ffmpeg}/bin/ffprobe");' + ''; - nativeBuildInputs = [ - doxygen - graphviz # for dot - itstool - makeWrapper - perl - pkg-config - python3 - wafHook - ]; - - buildInputs = - [ - alsa-lib - aubio - boost - cairomm - cppunit - curl - dbus - ffmpeg - fftw - fftwSinglePrec - flac - fluidsynth - glibmm - gtkmm2 - hidapi + nativeBuildInputs = [ + doxygen + graphviz # for dot itstool - kissfft - libarchive - libjack2 - liblo - libltc - libogg - libpulseaudio - librdf_rasqal - libsamplerate - libsigcxx - libsndfile - libusb1 - libuv - libwebsockets - libxml2 - libxslt - lilv - lrdf - lv2 - pango + makeWrapper perl + pkg-config python3 - qm-dsp - readline - rubberband - serd - sord - soundtouch - sratom - suil - taglib - vamp-plugin-sdk - ] - ++ lib.optionals videoSupport [ - harvid - xjadeo + wafHook ]; - wafConfigureFlags = [ - "--cxx17" - "--docs" - "--freedesktop" - "--no-phone-home" - "--ptformat" - "--run-tests" - "--test" - # since we don't have https://github.com/agfline/LibAAF yet, - # we need to use some of ardours internal libs, see: - # https://discourse.ardour.org/t/ardour-8-2-released/109615/6 - # and - # https://discourse.ardour.org/t/ardour-8-2-released/109615/8 - # "--use-external-libs" - ] ++ lib.optional optimize "--optimize"; + buildInputs = + [ + alsa-lib + aubio + boost + cairomm + cppunit + curl + dbus + ffmpeg + fftw + fftwSinglePrec + flac + fluidsynth + glibmm + gtkmm2 + hidapi + itstool + kissfft + libarchive + libjack2 + liblo + libltc + libogg + libpulseaudio + librdf_rasqal + libsamplerate + libsigcxx + libsndfile + libusb1 + libuv + libwebsockets + libxml2 + libxslt + lilv + lrdf + lv2 + pango + perl + python3 + qm-dsp + readline + rubberband + serd + sord + soundtouch + sratom + suil + taglib + vamp-plugin-sdk + ] + ++ lib.optionals videoSupport [ + harvid + xjadeo + ]; - postInstall = - '' - # wscript does not install these for some reason - install -vDm 644 "build/gtk2_ardour/ardour.xml" \ - -t "$out/share/mime/packages" - install -vDm 644 "build/gtk2_ardour/ardour${lib.versions.major version}.desktop" \ - -t "$out/share/applications" - for size in 16 22 32 48 256 512; do - install -vDm 644 "gtk2_ardour/resources/Ardour-icon_''${size}px.png" \ - "$out/share/icons/hicolor/''${size}x''${size}/apps/ardour${lib.versions.major version}.png" - done - install -vDm 644 "ardour.1"* -t "$out/share/man/man1" + wafConfigureFlags = [ + "--cxx17" + "--docs" + "--freedesktop" + "--no-phone-home" + "--ptformat" + "--run-tests" + "--test" + # since we don't have https://github.com/agfline/LibAAF yet, + # we need to use some of ardours internal libs, see: + # https://discourse.ardour.org/t/ardour-8-2-released/109615/6 + # and + # https://discourse.ardour.org/t/ardour-8-2-released/109615/8 + # "--use-external-libs" + ] ++ lib.optional optimize "--optimize"; - # install additional bundled beats, chords and progressions - cp -rp "${bundledContent}"/* "$out/share/ardour${lib.versions.major version}/media" - '' - + lib.optionalString videoSupport '' - # `harvid` and `xjadeo` must be accessible in `PATH` for video to work. - wrapProgram "$out/bin/ardour${lib.versions.major version}" \ - --prefix PATH : "${ - lib.makeBinPath [ - harvid - xjadeo - ] - }" - ''; + postInstall = + '' + # wscript does not install these for some reason + install -vDm 644 "build/gtk2_ardour/ardour.xml" \ + -t "$out/share/mime/packages" + install -vDm 644 "build/gtk2_ardour/ardour${majorVersion}.desktop" \ + -t "$out/share/applications" + for size in 16 22 32 48 256 512; do + install -vDm 644 "gtk2_ardour/resources/Ardour-icon_''${size}px.png" \ + "$out/share/icons/hicolor/''${size}x''${size}/apps/ardour${majorVersion}.png" + done + install -vDm 644 "ardour.1"* -t "$out/share/man/man1" - LINKFLAGS = "-lpthread"; + # install additional bundled beats, chords and progressions + cp -rp "${finalAttrs.bundledContent}"/* "$out/share/ardour${majorVersion}/media" + '' + + lib.optionalString videoSupport '' + # `harvid` and `xjadeo` must be accessible in `PATH` for video to work. + wrapProgram "$out/bin/ardour${majorVersion}" \ + --prefix PATH : "${ + lib.makeBinPath [ + harvid + xjadeo + ] + }" + ''; - meta = { - description = "Multi-track hard disk recording software"; - longDescription = '' - Ardour is a digital audio workstation (DAW), You can use it to - record, edit and mix multi-track audio and midi. Produce your - own CDs. Mix video soundtracks. Experiment with new ideas about - music and sound. + LINKFLAGS = "-lpthread"; - Please consider supporting the ardour project financially: - https://community.ardour.org/donate - ''; - homepage = "https://ardour.org/"; - license = lib.licenses.gpl2Plus; - mainProgram = "ardour8"; - platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ - magnetophon - mitchmindtree - ]; - }; -} + meta = { + description = "Multi-track hard disk recording software"; + longDescription = '' + Ardour is a digital audio workstation (DAW), You can use it to + record, edit and mix multi-track audio and midi. Produce your + own CDs. Mix video soundtracks. Experiment with new ideas about + music and sound. + + Please consider supporting the ardour project financially: + https://community.ardour.org/donate + ''; + homepage = "https://ardour.org/"; + license = lib.licenses.gpl2Plus; + mainProgram = "ardour8"; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ + magnetophon + mitchmindtree + ryand56 + ]; + }; + } +) diff --git a/pkgs/applications/audio/seq66/default.nix b/pkgs/applications/audio/seq66/default.nix index c6cbbaa53756..8f4f1283655d 100644 --- a/pkgs/applications/audio/seq66/default.nix +++ b/pkgs/applications/audio/seq66/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "seq66"; - version = "0.99.19"; + version = "0.99.20"; src = fetchFromGitHub { owner = "ahlstromcj"; repo = "seq66"; rev = version; - hash = "sha256-9cEvwJTH6Iwi4aZQHTjQ/DhUtKYw2QC1Oq+D1/tpE90="; + hash = "sha256-YFSvwviC2f5PJD91jcmLuqf+kDqDeMhXNXD3n45kJL8="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/blockchains/bitcoin-abc/default.nix b/pkgs/applications/blockchains/bitcoin-abc/default.nix deleted file mode 100644 index a59989946e5a..000000000000 --- a/pkgs/applications/blockchains/bitcoin-abc/default.nix +++ /dev/null @@ -1,99 +0,0 @@ -{ - lib, - stdenv, - mkDerivation, - fetchFromGitHub, - fetchpatch2, - pkg-config, - cmake, - openssl, - db53, - boost, - zlib, - miniupnpc, - qtbase ? null, - qttools ? null, - util-linux, - protobuf, - qrencode, - libevent, - libnatpmp, - sqlite, - withGui, - python3, - jemalloc, - zeromq, -}: - -mkDerivation rec { - pname = "bitcoin" + lib.optionalString (!withGui) "d" + "-abc"; - version = "0.29.7"; - - src = fetchFromGitHub { - owner = "bitcoin-ABC"; - repo = "bitcoin-abc"; - rev = "v${version}"; - hash = "sha256-+9uBmmdQ/shWYnJ7tM+Y8OgqYcQHHI2qeMw2tl1lE+w="; - }; - - patches = [ - # upnp: add compatibility for miniupnpc 2.2.8 - (fetchpatch2 { - url = "https://github.com/Bitcoin-ABC/bitcoin-abc/commit/5678070f182124a1a8c7c60873d1877094be76ab.patch?full_index=1"; - hash = "sha256-QC7TlWepVxQuIZVTbGtQy+HmmXP8PWNhJWdVYudJvmI="; - }) - ]; - - nativeBuildInputs = [ - pkg-config - cmake - ]; - buildInputs = - [ - openssl - db53 - boost - zlib - python3 - jemalloc - libnatpmp - zeromq - miniupnpc - util-linux - protobuf - libevent - sqlite - ] - ++ lib.optionals withGui [ - qtbase - qttools - qrencode - ]; - - cmakeFlags = lib.optionals (!withGui) [ - "-DBUILD_BITCOIN_QT=OFF" - ]; - - # many of the generated scripts lack execute permissions - postConfigure = '' - find ./. -type f -iname "*.sh" -exec chmod +x {} \; - ''; - - meta = { - description = "Peer-to-peer electronic cash system (Cash client)"; - longDescription = '' - Bitcoin ABC is the name of open source software which enables the use of Bitcoin. - It is designed to facilite a hard fork to increase Bitcoin's block size limit. - "ABC" stands for "Adjustable Blocksize Cap". - - Bitcoin ABC is a fork of the Bitcoin Core software project. - ''; - homepage = "https://bitcoinabc.org/"; - changelog = "https://www.bitcoinabc.org/doc/release-notes/release-notes-${version}.html"; - maintainers = with lib.maintainers; [ lassulus ]; - license = lib.licenses.mit; - broken = stdenv.hostPlatform.isDarwin; - platforms = lib.platforms.unix; - mainProgram = "bitcoin-cli"; - }; -} diff --git a/pkgs/applications/editors/vim/plugins/aliases.nix b/pkgs/applications/editors/vim/plugins/aliases.nix index 89caef0e2376..e1daf3f598b4 100644 --- a/pkgs/applications/editors/vim/plugins/aliases.nix +++ b/pkgs/applications/editors/vim/plugins/aliases.nix @@ -39,6 +39,7 @@ mapAliases ( airline = vim-airline; alternative = a-vim; # backwards compat, added 2014-10-21 bats = bats-vim; + blueballs-neovim = throw "`blueballs-neovim` has been removed"; # added 2025-06-17 BufOnly = BufOnly-vim; calendar = calendar-vim; coffee-script = vim-coffee-script; diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 4130d533d7eb..7e0eb9ee3f45 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -74,12 +74,12 @@ final: prev: { CopilotChat-nvim = buildVimPlugin { pname = "CopilotChat.nvim"; - version = "2025-05-13"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "CopilotC-Nvim"; repo = "CopilotChat.nvim"; - rev = "16d897fd43d07e3b54478ccdb2f8a16e4df4f45a"; - sha256 = "1mda0maxgr4yqyaixl1x56fsldaj46pnq8xlcz01apvmc8i91yq6"; + rev = "5df0b668d23c05c173f6bc79bb19642215b8b66a"; + sha256 = "0mq037ay24xs3948g85hrxn8rfgsrv6d3x6sxfca777fs2wjr04l"; }; meta.homepage = "https://github.com/CopilotC-Nvim/CopilotChat.nvim/"; meta.hydraPlatforms = [ ]; @@ -87,12 +87,12 @@ final: prev: { Coqtail = buildVimPlugin { pname = "Coqtail"; - version = "2025-03-29"; + version = "2025-06-06"; src = fetchFromGitHub { owner = "whonore"; repo = "Coqtail"; - rev = "262e4cf3fe6a6564e536efb631ab9dd6994ebcd9"; - sha256 = "14jhh4b3z6fgs7bxd5a62vb2k4j038v23nq6j8r9l9rcra5i2hik"; + rev = "28340858a528a6e86d3eee2ff5ccbf56f3eaf43f"; + sha256 = "1c43ydn48w54w4wxwfgjibjczd6sg4mw9c6lssdnkq03xy6ysabs"; }; meta.homepage = "https://github.com/whonore/Coqtail/"; meta.hydraPlatforms = [ ]; @@ -217,12 +217,12 @@ final: prev: { LeaderF = buildVimPlugin { pname = "LeaderF"; - version = "2025-05-26"; + version = "2025-06-12"; src = fetchFromGitHub { owner = "Yggdroot"; repo = "LeaderF"; - rev = "007d8487d888dbeacbd4a06783ce3b35d7ba90f4"; - sha256 = "0v0188icx4jd45q8jafbs4f67zafnzbyzr9fiygvjhf071r5rimw"; + rev = "b3e44d5dce2a9f1f882f64d2b24bb68f71acce4c"; + sha256 = "1zb2qqxzdppiwiv18qh93i64n000wa5snd3w1v7ps9m6jgng120d"; }; meta.homepage = "https://github.com/Yggdroot/LeaderF/"; meta.hydraPlatforms = [ ]; @@ -386,12 +386,12 @@ final: prev: { SchemaStore-nvim = buildVimPlugin { pname = "SchemaStore.nvim"; - version = "2025-06-05"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "b0o"; repo = "SchemaStore.nvim"; - rev = "307a3320d3ec6c8ddafd62c4c661e71bc20cb93f"; - sha256 = "17025v5zzp848jglz2iws1fgdji8dwvxknfas6fvkg3m7m79n38i"; + rev = "8e4bade719270663d726a0a781c7555da5d28721"; + sha256 = "0rg0zcza256d42z1fbaxmsicx9yxgc8sxay7jlabqf9a0kszlqmi"; }; meta.homepage = "https://github.com/b0o/SchemaStore.nvim/"; meta.hydraPlatforms = [ ]; @@ -634,12 +634,12 @@ final: prev: { adwaita-nvim = buildVimPlugin { pname = "adwaita.nvim"; - version = "2024-04-28"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "Mofiqul"; repo = "adwaita.nvim"; - rev = "c9379097755701ab597140bafd097fbaff3dd517"; - sha256 = "18qswcjppgcxcf5p8vlr0nwb6p6s3j68a7ng05bpx49i5nwrd0vy"; + rev = "513b0fb829b993a67d9466c9b864144c9f8aee86"; + sha256 = "03np15m734083qnm1463ahggacnbwi2j2928hkl8il09yzm54wwf"; }; meta.homepage = "https://github.com/Mofiqul/adwaita.nvim/"; meta.hydraPlatforms = [ ]; @@ -804,12 +804,12 @@ final: prev: { aniseed = buildVimPlugin { pname = "aniseed"; - version = "2024-08-09"; + version = "2025-06-12"; src = fetchFromGitHub { owner = "Olical"; repo = "aniseed"; - rev = "d558a68329c465bced901adf3238a6f946d62483"; - sha256 = "0dwzxbf0xdlspwynx37y7zwfzi5ng09crlywpymbj9lpdpyfy14p"; + rev = "97078331cf59765613d248ca6d6c7942ebbd219b"; + sha256 = "0gamsyc70yklrcpfv2y4j9crd0zl6h4b1dd9l4rxkwnfbyn70hvl"; }; meta.homepage = "https://github.com/Olical/aniseed/"; meta.hydraPlatforms = [ ]; @@ -895,12 +895,12 @@ final: prev: { astrocore = buildVimPlugin { pname = "astrocore"; - version = "2025-06-05"; + version = "2025-06-06"; src = fetchFromGitHub { owner = "AstroNvim"; repo = "astrocore"; - rev = "cd9a7d82f00df90b7f76e73ef1569551b6993a5f"; - sha256 = "1jg94s5i6q756nq0f7jcw5gvgqwipmnnf8k82sfrsvc0k3j8p126"; + rev = "269484c17558cab87f20e7a0dbc78a0c596f76b8"; + sha256 = "1cpwp76jn0v0g0xxjnvqfnkqgisqz716saj27xhixmizrrnk8kbp"; }; meta.homepage = "https://github.com/AstroNvim/astrocore/"; meta.hydraPlatforms = [ ]; @@ -908,12 +908,12 @@ final: prev: { astrolsp = buildVimPlugin { pname = "astrolsp"; - version = "2025-05-31"; + version = "2025-06-06"; src = fetchFromGitHub { owner = "AstroNvim"; repo = "astrolsp"; - rev = "a215b1caedfc93092374fe5f1d63f958b9efa568"; - sha256 = "0bynmjjdcgkyfgw3dy54j9pzczv9gpcda63jlqlbakdhh6w7zibs"; + rev = "23ee7404b160d6d181aeb96442c2af00b5cf849d"; + sha256 = "0bg167fylnhjzpa6jyyg77432s6jg1hcxa1j3rqxfh68fsl4fbx7"; }; meta.homepage = "https://github.com/AstroNvim/astrolsp/"; meta.hydraPlatforms = [ ]; @@ -921,12 +921,12 @@ final: prev: { astrotheme = buildVimPlugin { pname = "astrotheme"; - version = "2025-02-14"; + version = "2025-06-06"; src = fetchFromGitHub { owner = "AstroNvim"; repo = "astrotheme"; - rev = "f12dcf64b1f9a05839c3ac2146f550f43bae9dab"; - sha256 = "179qgb6c3pv4f2p6jj0w9akzsv8rgn68hfdv3mh0kzhz16myha2n"; + rev = "3d2e2c08344930606812f0934a0afcb522fa1c71"; + sha256 = "1wp56wlmd4sjq5fv0np81bdy31rv38mk9ha4hhjl34rgk19aqw3w"; }; meta.homepage = "https://github.com/AstroNvim/astrotheme/"; meta.hydraPlatforms = [ ]; @@ -934,12 +934,12 @@ final: prev: { astroui = buildVimPlugin { pname = "astroui"; - version = "2025-04-18"; + version = "2025-06-06"; src = fetchFromGitHub { owner = "AstroNvim"; repo = "astroui"; - rev = "fded232ee0001c6bed9b654188e3dd4b0c58317c"; - sha256 = "0vh7qyj0cyd3vq1mv253sd48dcapf7idfnh7wv29qvvpsvwvamxc"; + rev = "525a900e55c86bdf81c52deacfb9407ae1240fae"; + sha256 = "1fqcsf3r8p56kyrlwzp3d690hlsz95l2p89wb6i8p9m8qm9g02zi"; }; meta.homepage = "https://github.com/AstroNvim/astroui/"; meta.hydraPlatforms = [ ]; @@ -1168,12 +1168,12 @@ final: prev: { auto-session = buildVimPlugin { pname = "auto-session"; - version = "2025-04-23"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "rmagatti"; repo = "auto-session"; - rev = "00334ee24b9a05001ad50221c8daffbeedaa0842"; - sha256 = "0pk8qsnimr2csbwnih5fwc0gvay60443c42r75xhb4sli03k6kjx"; + rev = "fffb13dcbe8731b8650e5bf1caa749a485d20556"; + sha256 = "0p7dhk5vyvlhn2g0h5gb5ln0gv8s7a58d1zw3y65iq49y6xhd4nn"; }; meta.homepage = "https://github.com/rmagatti/auto-session/"; meta.hydraPlatforms = [ ]; @@ -1559,12 +1559,12 @@ final: prev: { blink-cmp-spell = buildVimPlugin { pname = "blink-cmp-spell"; - version = "2025-03-05"; + version = "2025-06-07"; src = fetchFromGitHub { owner = "ribru17"; repo = "blink-cmp-spell"; - rev = "782bc76be09c0c5dd08e3edd04e4ec1054c3158e"; - sha256 = "13adgj9qxfmbwzvx348kpkm70h0jli9qv3bqhkwh8p6zkfajm607"; + rev = "2bd0e0d5e7735c047e72b6918a0458f3e8fadaba"; + sha256 = "1h84kmyxnyq9nrv3z6rvsfiabx2cdl54h86r5xxs5zacaygpha67"; }; meta.homepage = "https://github.com/ribru17/blink-cmp-spell/"; meta.hydraPlatforms = [ ]; @@ -1624,12 +1624,12 @@ final: prev: { blink-ripgrep-nvim = buildVimPlugin { pname = "blink-ripgrep.nvim"; - version = "2025-06-02"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "mikavilpas"; repo = "blink-ripgrep.nvim"; - rev = "3b146c70869c3f42c623341ad8befe9a073087a6"; - sha256 = "0058rns7sgkzsfkgdqlx51bi04fn6hxv4ddl8g32mpq27dji13pn"; + rev = "12fb7348cf9d32a0ed2e3ab4960d561632e57ba4"; + sha256 = "1fls5v4ykw23fnbag2ssiwnif7hgif72qpz3bcicqvic4r06dcw7"; }; meta.homepage = "https://github.com/mikavilpas/blink-ripgrep.nvim/"; meta.hydraPlatforms = [ ]; @@ -1661,27 +1661,14 @@ final: prev: { meta.hydraPlatforms = [ ]; }; - blueballs-neovim = buildVimPlugin { - pname = "blueballs-neovim"; - version = "2021-11-28"; - src = fetchFromGitHub { - owner = "blueballs-theme"; - repo = "blueballs-neovim"; - rev = "6201c1bf272bd3d8516a68579f5ead8ac5ab95b0"; - sha256 = "1k9fh5r64csp1xxr647s3rd67h1ay36y57afkp67xgv7mlk17cv5"; - }; - meta.homepage = "https://github.com/blueballs-theme/blueballs-neovim/"; - meta.hydraPlatforms = [ ]; - }; - bluloco-nvim = buildVimPlugin { pname = "bluloco.nvim"; - version = "2025-04-11"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "uloco"; repo = "bluloco.nvim"; - rev = "29322e83d4e5a1577c20532fee7173a9e7c9bd2b"; - sha256 = "08cmn6dnzx4vq17i3y1npmczc3r2dm20y0wvx3ibr8yxjfw6hp2h"; + rev = "afc95b6696a0a568a5a186a7e563f6c9947d0d79"; + sha256 = "1swbvml5h23707b273cnsxv20xf8591s718hhdf6xrq4hjhkqi7j"; }; meta.homepage = "https://github.com/uloco/bluloco.nvim/"; meta.hydraPlatforms = [ ]; @@ -1858,12 +1845,12 @@ final: prev: { catppuccin-nvim = buildVimPlugin { pname = "catppuccin-nvim"; - version = "2025-06-01"; + version = "2025-06-07"; src = fetchFromGitHub { owner = "catppuccin"; repo = "nvim"; - rev = "a0c769bc7cd04bbbf258b3d5f01e2bdce744108d"; - sha256 = "08qv1had0gi2hzd854j7xyq3s3z9bvf1x40bav05ll52xkksn5vx"; + rev = "fa42eb5e26819ef58884257d5ae95dd0552b9a66"; + sha256 = "0pc64ic487icb6acf5g9ncrv61ymdh1whb740wsdzq1b71pdipy2"; }; meta.homepage = "https://github.com/catppuccin/nvim/"; meta.hydraPlatforms = [ ]; @@ -1962,12 +1949,12 @@ final: prev: { checkmate-nvim = buildVimPlugin { pname = "checkmate.nvim"; - version = "2025-06-05"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "bngarren"; repo = "checkmate.nvim"; - rev = "aabe87c58d3c30f45aadab4bef38536e9933cd4a"; - sha256 = "1qc3i32hkp59sha7rxbil1r76krlxgqqxn9wj7qlabc99bh11d3s"; + rev = "6209d045c7f2405c02c865d08e7403ca1c2851df"; + sha256 = "1na4dj236ghvy7dr8d3g38r542gdrcxkasfa8b84g1xpgkr8pia1"; }; meta.homepage = "https://github.com/bngarren/checkmate.nvim/"; meta.hydraPlatforms = [ ]; @@ -2014,12 +2001,12 @@ final: prev: { citruszest-nvim = buildVimPlugin { pname = "citruszest.nvim"; - version = "2025-05-29"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "zootedb0t"; repo = "citruszest.nvim"; - rev = "a2df858072e0820a0a9254b17bcf9734b1a1c727"; - sha256 = "0l789pc4xfryqqg9v6qd1hmx9d5fnm5bspsdd73nmgd6yazf1g42"; + rev = "ce6749e4c3a842679cc302ce1c2db76c2d07f700"; + sha256 = "1mbbz6376gji36l9pxqfr8dwk0bwza74h69s8nniwi5p645svbbj"; }; meta.homepage = "https://github.com/zootedb0t/citruszest.nvim/"; meta.hydraPlatforms = [ ]; @@ -2040,12 +2027,12 @@ final: prev: { claude-code-nvim = buildVimPlugin { pname = "claude-code.nvim"; - version = "2025-05-22"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "greggh"; repo = "claude-code.nvim"; - rev = "ffdf35d8566528cb144d9812eccfecee34502edf"; - sha256 = "0zlf3cdb83kiy2pyrian7rwc1w1ixi87rjvibd0s80ngrn76rrw0"; + rev = "275c47615f4424a0329290ce1d0c18a8320fd8b0"; + sha256 = "14n96zq8yldzqf74rj52gz95n20ig1dk02n20rsjd7vraggad9cc"; }; meta.homepage = "https://github.com/greggh/claude-code.nvim/"; meta.hydraPlatforms = [ ]; @@ -2118,12 +2105,12 @@ final: prev: { cmake-tools-nvim = buildVimPlugin { pname = "cmake-tools.nvim"; - version = "2025-05-25"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "Civitasv"; repo = "cmake-tools.nvim"; - rev = "591ae37fc5494677e929118f0a182d2b61fe1af1"; - sha256 = "0lkwrgbcdxss008bczid3bg4jh03brjvmjg5z32nqq4x7nss58vz"; + rev = "17244215b1a96e4b2a83a16abd6719197f270f96"; + sha256 = "06mk6ba4w5hv53a6f6f1j7i6mlj2frgzjy6a483dvxqrsnk4jccw"; }; meta.homepage = "https://github.com/Civitasv/cmake-tools.nvim/"; meta.hydraPlatforms = [ ]; @@ -2794,12 +2781,12 @@ final: prev: { cmp_yanky = buildVimPlugin { pname = "cmp_yanky"; - version = "2024-11-27"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "chrisgrieser"; repo = "cmp_yanky"; - rev = "fcd2e221f072ef917ed45583de0ee34d43685347"; - sha256 = "0404bqwarm86f0d6ryagvyfzi0gf2z5ap4hn1wlhqzr5zv9x55nn"; + rev = "7204219a68f4fd965260c9cd7c3c7eec2e27ad69"; + sha256 = "1fhcv79hpg5pwq90fvzm4bqk4x5h9q70vrxa9n3qavp1w38jjrg2"; }; meta.homepage = "https://github.com/chrisgrieser/cmp_yanky/"; meta.hydraPlatforms = [ ]; @@ -2885,12 +2872,12 @@ final: prev: { coc-nvim = buildVimPlugin { pname = "coc.nvim"; - version = "2025-06-01"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "neoclide"; repo = "coc.nvim"; - rev = "9f7f280194f70229ec667721373a74d238618220"; - sha256 = "0bmpc1dsd796dmg4ig9i1ijl2a4p9jd1dfmwppmfdlpp9awqp7n3"; + rev = "4fee4938afa69843a3c147f9fdb453de67a1a7a2"; + sha256 = "0lnd8s9rkzwxy0xwxprlhx55jifflp6hva8grh4vwfx4z48fzr8s"; }; meta.homepage = "https://github.com/neoclide/coc.nvim/"; meta.hydraPlatforms = [ ]; @@ -2937,12 +2924,12 @@ final: prev: { codecompanion-history-nvim = buildVimPlugin { pname = "codecompanion-history.nvim"; - version = "2025-06-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "ravitemer"; repo = "codecompanion-history.nvim"; - rev = "66943e78bcacaa27f4ac4a398df4016eb5413ecd"; - sha256 = "053sk528m4cq8xmawqk2vgrdwp5f9m1zv4vnx3n9r4zglp75ibar"; + rev = "33ec95c4f59fdfe31fac52680ff145c3ff1cda79"; + sha256 = "02m8asjnfk92f38ygmlq6wg5bhirswslvz7fpkcyrpvj0aj0x4mw"; }; meta.homepage = "https://github.com/ravitemer/codecompanion-history.nvim/"; meta.hydraPlatforms = [ ]; @@ -2950,12 +2937,12 @@ final: prev: { codecompanion-nvim = buildVimPlugin { pname = "codecompanion.nvim"; - version = "2025-06-05"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "olimorris"; repo = "codecompanion.nvim"; - rev = "cdf772165782e55a451c0793bf4c2a89926b89bd"; - sha256 = "1q2c35b5razr2aav9k8gn3z3z2j7vx4haf12gm4w9dj35gx3d3kq"; + rev = "fa31ecd06ffae66b19ecb143ea39f62bc5ba6679"; + sha256 = "0pflf78ic9vbhgvrr6ks1dkghnspr86f95m58bp3a4fxlkllpy5l"; }; meta.homepage = "https://github.com/olimorris/codecompanion.nvim/"; meta.hydraPlatforms = [ ]; @@ -3054,12 +3041,12 @@ final: prev: { command-t = buildVimPlugin { pname = "command-t"; - version = "2025-03-16"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "wincent"; repo = "command-t"; - rev = "27760ac90e0b554e3a066fe60127e45f924cc973"; - sha256 = "1rfkpzlvxh545j0s97hw138rf71a707ih4q2s70li8kqi5fissqi"; + rev = "c6d088dd080a05e31598a6be79c241442ddbadfc"; + sha256 = "1shgn01aw1s3gk6ds7i3zrca721s983vzlra6da1r95p0kiqxfhr"; }; meta.homepage = "https://github.com/wincent/command-t/"; meta.hydraPlatforms = [ ]; @@ -3223,12 +3210,12 @@ final: prev: { conform-nvim = buildVimPlugin { pname = "conform.nvim"; - version = "2025-06-04"; + version = "2025-06-09"; src = fetchFromGitHub { owner = "stevearc"; repo = "conform.nvim"; - rev = "0e93e0d12d2f7ebdea9e3e444dfaff0050cefbe6"; - sha256 = "0hvpvk0gs76b9sfzrzhmrq9d7rab3ldim0vf18qf424xl72fbw8b"; + rev = "8132ec733eed3bf415b97b76797ca41b59f51d7d"; + sha256 = "0bpvr49j951bq0w8gwidadqx05dsr43nwcsf1njqbmq3vi80yllz"; fetchSubmodules = true; }; meta.homepage = "https://github.com/stevearc/conform.nvim/"; @@ -3237,12 +3224,12 @@ final: prev: { conjure = buildVimPlugin { pname = "conjure"; - version = "2025-05-26"; + version = "2025-06-12"; src = fetchFromGitHub { owner = "Olical"; repo = "conjure"; - rev = "83c6394f916197d73f2a19538bd5615e08842d10"; - sha256 = "02xc264np0dl7fpqf32kkrbxyvvfs5jfblp40lajyb273y3fv9ag"; + rev = "8edc78f7cf2cd49c0feba3ddd9a29eca1673a8ce"; + sha256 = "0qkf9cskj907v2495mhlpmwxd6x0gy5052i1nzhjw1wfsmd8b60a"; }; meta.homepage = "https://github.com/Olical/conjure/"; meta.hydraPlatforms = [ ]; @@ -3276,12 +3263,12 @@ final: prev: { contextfiles-nvim = buildVimPlugin { pname = "contextfiles.nvim"; - version = "2025-05-07"; + version = "2025-06-12"; src = fetchFromGitHub { owner = "banjo"; repo = "contextfiles.nvim"; - rev = "d9541105d60c708e2ec6641109f5f2a6179c2a80"; - sha256 = "1n8nkpy53mqr0hn26lqzcxmp8l6r2873yrsqxrj5cpis0f52qc45"; + rev = "62be911a2f852da4da28c0e6a36c3e92004fdef0"; + sha256 = "0a5jpghfhk2awl252n5dpcayl25fdsyjicmmdirmr6fp62px6zwj"; }; meta.homepage = "https://github.com/banjo/contextfiles.nvim/"; meta.hydraPlatforms = [ ]; @@ -3406,12 +3393,12 @@ final: prev: { coq_nvim = buildVimPlugin { pname = "coq_nvim"; - version = "2025-06-05"; + version = "2025-06-07"; src = fetchFromGitHub { owner = "ms-jpq"; repo = "coq_nvim"; - rev = "09ce78ef988eacad5393ed73908613554b1ea30c"; - sha256 = "1zbpvd90h2jmim9kbp1g9zvacb7qvfkdpi1m6rnqvmii2g5sqvw1"; + rev = "c58e4dd929aa9284975b42e154264d6082b4e77f"; + sha256 = "1jkm8w12hpb5jsmvkfajccw6x08y53004fivabg3af6hgbgyhf8k"; }; meta.homepage = "https://github.com/ms-jpq/coq_nvim/"; meta.hydraPlatforms = [ ]; @@ -3627,12 +3614,12 @@ final: prev: { darcubox-nvim = buildVimPlugin { pname = "darcubox-nvim"; - version = "2025-06-03"; + version = "2025-06-08"; src = fetchFromGitHub { owner = "Koalhack"; repo = "darcubox-nvim"; - rev = "59754cb99fee640da1b64730a17476593af92fd3"; - sha256 = "1xbpisq980hkdybjkd2pxdz8ghhk1a4y33ygpgi311rzx1ijapgs"; + rev = "0202aa268afc9503c38e03570b17c9c01df12836"; + sha256 = "1w7rf731q9zklid9yby8d9rx784wyk39nhh82zdxkfx993qpn9f9"; }; meta.homepage = "https://github.com/Koalhack/darcubox-nvim/"; meta.hydraPlatforms = [ ]; @@ -3757,12 +3744,12 @@ final: prev: { ddc-source-lsp = buildVimPlugin { pname = "ddc-source-lsp"; - version = "2025-05-20"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "Shougo"; repo = "ddc-source-lsp"; - rev = "5338125ad0ad0fa790fc111ce83df3a71cd9727a"; - sha256 = "1ddx1h4d2yq18slb9q9fhf9flkymz7y3gqzm72115zkpgi0m33wc"; + rev = "5b1de333a5c77d74b7c3fa1839578e4bd47ec1c3"; + sha256 = "0w3qjazmsvgiyvf1nab44x58p7l4ak8l4jy01rbn5k0dimqlyl89"; }; meta.homepage = "https://github.com/Shougo/ddc-source-lsp/"; meta.hydraPlatforms = [ ]; @@ -3796,12 +3783,12 @@ final: prev: { ddc-vim = buildVimPlugin { pname = "ddc.vim"; - version = "2025-06-02"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "Shougo"; repo = "ddc.vim"; - rev = "57fc46eef055a9ef8c9b75a01291567a13bf22fe"; - sha256 = "19wr7n18ds2x36khjca5a1wlmphm3vfa76lhlcpskfwxwckpnvmz"; + rev = "78bd46fa1c49fa84d825c94a06ed60d5ee56c08a"; + sha256 = "16g2zpns4xaiqixrd9sf7y0gj0gmv9min0n6l6hds7jiiampifrp"; }; meta.homepage = "https://github.com/Shougo/ddc.vim/"; meta.hydraPlatforms = [ ]; @@ -4084,12 +4071,12 @@ final: prev: { deoplete-lsp = buildVimPlugin { pname = "deoplete-lsp"; - version = "2022-12-13"; + version = "2025-06-09"; src = fetchFromGitHub { owner = "deoplete-plugins"; repo = "deoplete-lsp"; - rev = "bc41a2f523909f852251e9d179bdf6433892bdda"; - sha256 = "061352gf9wv2bvf4bqn3pip0lwdxdv92m8i2y55wjrhfvmmq52xx"; + rev = "cff5f76bd1ac97cb15fc8bbf3c20ea0a20c63118"; + sha256 = "1vvgh3ss1jwdi7k6758r7kyzg9azvvslxjk5n3dk588897y7lb0z"; }; meta.homepage = "https://github.com/deoplete-plugins/deoplete-lsp/"; meta.hydraPlatforms = [ ]; @@ -4435,12 +4422,12 @@ final: prev: { dropbar-nvim = buildVimPlugin { pname = "dropbar.nvim"; - version = "2025-06-01"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "Bekaboo"; repo = "dropbar.nvim"; - rev = "ce1db78abd1fae838abc23740b8fc9525679d6dc"; - sha256 = "17jlzw6qa685w2kqilvlh3i0rmjsp4cscrb7bw71k7cp5s6xxpsn"; + rev = "b695c346fd180d504c1d135435cbcfba08ad3946"; + sha256 = "0syn8461x1a2ywrp46k916g7ljyn59qs1a8wygcvh27df4q12612"; }; meta.homepage = "https://github.com/Bekaboo/dropbar.nvim/"; meta.hydraPlatforms = [ ]; @@ -4461,12 +4448,12 @@ final: prev: { easy-dotnet-nvim = buildVimPlugin { pname = "easy-dotnet.nvim"; - version = "2025-06-03"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "GustavEikaas"; repo = "easy-dotnet.nvim"; - rev = "9fe1ca3e5c9128609b45bf23771935729fc50af0"; - sha256 = "0z1f5hcmjf4fbkmsh0h9nw0mxlyqx69b2gh49hndmx5nk2zagsql"; + rev = "334044f5ced3cb5bf84cebfaa32d18dbc290dbca"; + sha256 = "0ri3z365xbhpmrzzh6366i93qkw0427c869dgrn5k7qv0ynlhav0"; }; meta.homepage = "https://github.com/GustavEikaas/easy-dotnet.nvim/"; meta.hydraPlatforms = [ ]; @@ -4579,12 +4566,12 @@ final: prev: { elixir-tools-nvim = buildVimPlugin { pname = "elixir-tools.nvim"; - version = "2025-03-03"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "elixir-tools"; repo = "elixir-tools.nvim"; - rev = "6beae8194152e2d8b4a59de19a3e60c1f7ffcff5"; - sha256 = "0kncq60x3kvy4plszq4zygrsy6cyzf43g2xgzqwif88i85ki7zq6"; + rev = "8cb756bda5773e8a8f1cd7dc1eff6d3c5b13433f"; + sha256 = "0hfr43624i1rrrj5ygjrnj7qysxzbkr9hrj2g0rmnvv3bz6i3c38"; }; meta.homepage = "https://github.com/elixir-tools/elixir-tools.nvim/"; meta.hydraPlatforms = [ ]; @@ -4710,12 +4697,12 @@ final: prev: { executor-nvim = buildVimPlugin { pname = "executor.nvim"; - version = "2025-01-13"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "google"; repo = "executor.nvim"; - rev = "3fc6493a9cefc91af120394e5fee4465ef0b5f5b"; - sha256 = "0gm6a53m8spc9qk0f1lvj9p5znkgv9l2601rhk4cril2d21j2ps6"; + rev = "07a7f4aa21b54dc3d527800437010297250fe462"; + sha256 = "1zcvm2i7zras7bpkrxmzr4zavcxayss556ljw12mwmqjrjpdjsfk"; }; meta.homepage = "https://github.com/google/executor.nvim/"; meta.hydraPlatforms = [ ]; @@ -4749,12 +4736,12 @@ final: prev: { famous-quotes-nvim = buildVimPlugin { pname = "famous-quotes.nvim"; - version = "2025-05-07"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "mahyarmirrashed"; repo = "famous-quotes.nvim"; - rev = "dc493abfb51581b6716986b4311c367c6a100bab"; - sha256 = "179hgxyhzca4g0xmx02kl7gy7c6058kgww4zv7f1dvl2mf59ln67"; + rev = "522270312ee7c30c7ee54a85ff50050591663ca8"; + sha256 = "1wi6dnhv8smhj192yz4r5vdkn5j7003ablqigq8xzvpyvfaq6bp5"; }; meta.homepage = "https://github.com/mahyarmirrashed/famous-quotes.nvim/"; meta.hydraPlatforms = [ ]; @@ -4775,12 +4762,12 @@ final: prev: { fastaction-nvim = buildVimPlugin { pname = "fastaction.nvim"; - version = "2025-05-28"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "Chaitanyabsprip"; repo = "fastaction.nvim"; - rev = "f9a986b84a6da2a5ebbe57bbda7762d06f1ac64d"; - sha256 = "15jxrif7qkgj7fadvby95y2b2cav90f7dilhjyj6117ky9yxlr8w"; + rev = "9bf0c368565023914c120562473dc5a5c179ee8c"; + sha256 = "12fb8av6q0y2ii23lx7rqln15syqhdxjrf9459jbm9dqjqrm6m9n"; }; meta.homepage = "https://github.com/Chaitanyabsprip/fastaction.nvim/"; meta.hydraPlatforms = [ ]; @@ -5128,12 +5115,12 @@ final: prev: { fugit2-nvim = buildVimPlugin { pname = "fugit2.nvim"; - version = "2025-05-04"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "SuperBo"; repo = "fugit2.nvim"; - rev = "bc68dd19bd2f3957a674ccd2da14a922746e93d9"; - sha256 = "0x85ivhs00pami05ss257fjpbqlisz6f7l7nfi7d1920km7v5k3b"; + rev = "48ceeb550a517e8fd28de4f72a313940a4777a71"; + sha256 = "1zzdxkanpvsl0mickxwbc8zmcmr12fr23nrqp289xwbc9vqmq216"; }; meta.homepage = "https://github.com/SuperBo/fugit2.nvim/"; meta.hydraPlatforms = [ ]; @@ -5232,12 +5219,12 @@ final: prev: { fzf-vim = buildVimPlugin { pname = "fzf.vim"; - version = "2025-05-24"; + version = "2025-06-08"; src = fetchFromGitHub { owner = "junegunn"; repo = "fzf.vim"; - rev = "3ed6ac56d03fff0389cd5b30dfd1e1f940fe91d0"; - sha256 = "0c4ii43dr138k6iv8g16d4wi54gi6lq7ylkk45chj1j2bsaij9bg"; + rev = "98dcd77a189a8a87052c20d1be8082aea60101b7"; + sha256 = "1lbyccgllsw2h7sg2d2cmmjmil1prc4p7bv41d36p6sl9d87gxgm"; }; meta.homepage = "https://github.com/junegunn/fzf.vim/"; meta.hydraPlatforms = [ ]; @@ -5479,12 +5466,12 @@ final: prev: { glance-nvim = buildVimPlugin { pname = "glance.nvim"; - version = "2025-05-22"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "DNLHC"; repo = "glance.nvim"; - rev = "1649b772a7216bfd55125c627e100d065ddf3de9"; - sha256 = "049d0p9jhf970mcf3zv90ql4vvndxrvgy3famygigk4s2zk25vnw"; + rev = "bf86d8b79dce808e65fdb6e9269d0b4ed6d2eefc"; + sha256 = "1c1gdbk3z1i04mi6l4zcgr57y9n6wk3qxz91v0rpjyi5yxmsnyrp"; }; meta.homepage = "https://github.com/DNLHC/glance.nvim/"; meta.hydraPlatforms = [ ]; @@ -5700,12 +5687,12 @@ final: prev: { gruvbox-material-nvim = buildVimPlugin { pname = "gruvbox-material.nvim"; - version = "2025-05-29"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "f4z3r"; repo = "gruvbox-material.nvim"; - rev = "dd9c24d702880c044b3f4a53270f742d0d10c79f"; - sha256 = "021g6c0gannaj25h0lmavx50qv8yagliqcwd8p6rgnnqng4xb3ls"; + rev = "ad2b0129bcf94656660a16512238bb034dc9fdd0"; + sha256 = "0yq5i8j9w692jbsiq1bycgdjm8g6gnz6pal488piyh3pflb010al"; }; meta.homepage = "https://github.com/f4z3r/gruvbox-material.nvim/"; meta.hydraPlatforms = [ ]; @@ -5739,12 +5726,12 @@ final: prev: { guard-nvim = buildVimPlugin { pname = "guard.nvim"; - version = "2025-05-16"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "nvimdev"; repo = "guard.nvim"; - rev = "37e2a5bcc10169b78537f7279afe6bdca85c3446"; - sha256 = "0kz9mn0x3rsazz8dfgjj8iciqy35g53r8kvkc57sv62b8ykak077"; + rev = "9a9f00a6f70e5da2ea8379f203fcd45d8a7250cc"; + sha256 = "15v0snqjsrx711zy4cbw139nk2b4xcs8p8c6156bx75nqqj09v3f"; }; meta.homepage = "https://github.com/nvimdev/guard.nvim/"; meta.hydraPlatforms = [ ]; @@ -5818,12 +5805,12 @@ final: prev: { hardtime-nvim = buildVimPlugin { pname = "hardtime.nvim"; - version = "2025-05-29"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "m4xshen"; repo = "hardtime.nvim"; - rev = "145b930954a3146cfb5b8a73cdcad42eb7d2740c"; - sha256 = "126wxmqc4y8pff7z4rj58pnnzlz61nr9z9vbffk889yphgjjkdfm"; + rev = "b9a989191b3a97c9316a0efea02341c4cdab845a"; + sha256 = "17z058y5qrjjijxyfh4bpi11m8cng1chbqlz4b1k1iaicvk5fcc7"; }; meta.homepage = "https://github.com/m4xshen/hardtime.nvim/"; meta.hydraPlatforms = [ ]; @@ -6040,12 +6027,12 @@ final: prev: { hmts-nvim = buildVimPlugin { pname = "hmts.nvim"; - version = "2024-10-24"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "calops"; repo = "hmts.nvim"; - rev = "c7ff4c3ad96cd05664b18fb5bbbe2abbd7682dd2"; - sha256 = "12x44kcc4bz386cbn7sl7m3lszp0bwlqjdd9ai2yj1kijwh715sp"; + rev = "a32cd413f7d0a69d7f3d279c631f20cb117c8d30"; + sha256 = "1rgw40b00k1n5c0acrvwjg71ngdk3fs4dd5dv2apys4v00k4bx4g"; }; meta.homepage = "https://github.com/calops/hmts.nvim/"; meta.hydraPlatforms = [ ]; @@ -6144,12 +6131,12 @@ final: prev: { hunk-nvim = buildVimPlugin { pname = "hunk.nvim"; - version = "2025-05-14"; + version = "2025-06-09"; src = fetchFromGitHub { owner = "julienvincent"; repo = "hunk.nvim"; - rev = "48713c5348bb0ba001a6ea781f301dcd74fe88d4"; - sha256 = "0apmix9kya5f3912j6is1ckq9jz757ig79mispv33qvcw5rw3z86"; + rev = "1e0a4d719c780bb8b0690a54915601508ced321e"; + sha256 = "036cwnswx36m048mvlwa8rr9baclf7lrgjlq065pb4w13c4drbmx"; }; meta.homepage = "https://github.com/julienvincent/hunk.nvim/"; meta.hydraPlatforms = [ ]; @@ -6157,12 +6144,12 @@ final: prev: { hurl-nvim = buildVimPlugin { pname = "hurl.nvim"; - version = "2025-05-06"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "jellydn"; repo = "hurl.nvim"; - rev = "b211cceb591b04b1bcaa3d7f81e3ef65207221ba"; - sha256 = "0gb7cnfbhyw5nvqfqf1n2k5fp94ix04prqix4j7961yq3pp4yx6j"; + rev = "33ff81c0027c1d0071174eb40257010c7ce61e62"; + sha256 = "1n3d0ahyqr9dlg3p7l3ncarj6fj4czs62283ia0595f2rws18s4b"; }; meta.homepage = "https://github.com/jellydn/hurl.nvim/"; meta.hydraPlatforms = [ ]; @@ -6248,12 +6235,12 @@ final: prev: { img-clip-nvim = buildVimPlugin { pname = "img-clip.nvim"; - version = "2025-04-01"; + version = "2025-06-08"; src = fetchFromGitHub { owner = "HakonHarnes"; repo = "img-clip.nvim"; - rev = "08a02e14c8c0d42fa7a92c30a98fd04d6993b35d"; - sha256 = "0ani8z5pkvqmmalzcgyj27rfhqs76ivmpq79xn8rsdyy5a5fy979"; + rev = "d8b6b030672f9f551a0e3526347699985a779d93"; + sha256 = "1kah8n88jzlp52nz0l2kncws9sjxy6silr556lwpq4n9p8jm46pa"; }; meta.homepage = "https://github.com/HakonHarnes/img-clip.nvim/"; meta.hydraPlatforms = [ ]; @@ -6574,12 +6561,12 @@ final: prev: { jinja-vim = buildVimPlugin { pname = "jinja.vim"; - version = "2025-05-11"; + version = "2025-06-12"; src = fetchFromGitHub { owner = "HiPhish"; repo = "jinja.vim"; - rev = "966cc763f35472ea1033743766688621d93a39af"; - sha256 = "1j37m6bka2y7qisb9g2r404kkxw222134r9aanxp50xlayzn02j9"; + rev = "99afb6bf05b761d87abc0833304b508521ca2bd0"; + sha256 = "13dlzzdnbqz7p9x6nbrrkg8qya2fhy51nsaxfrbv2ww4c1n6w80y"; fetchSubmodules = true; }; meta.homepage = "https://github.com/HiPhish/jinja.vim/"; @@ -6666,12 +6653,12 @@ final: prev: { kanagawa-paper-nvim = buildVimPlugin { pname = "kanagawa-paper.nvim"; - version = "2025-06-04"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "thesimonho"; repo = "kanagawa-paper.nvim"; - rev = "9815b97b8e7e9913495ce2a88afbd47bf31edf25"; - sha256 = "1px6m7s1dk3k2fn282w8mvv622j458iz88jyhvjp10bcpspck5ib"; + rev = "f7b1ef3766081cf6f3d989f8fd67ae861d8e89fa"; + sha256 = "1lhc639cwk5l1zrhq0gh6vls8m21qwjvs470nh78z40fc3d83vkl"; }; meta.homepage = "https://github.com/thesimonho/kanagawa-paper.nvim/"; meta.hydraPlatforms = [ ]; @@ -6679,12 +6666,12 @@ final: prev: { kanso-nvim = buildVimPlugin { pname = "kanso.nvim"; - version = "2025-06-03"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "webhooked"; repo = "kanso.nvim"; - rev = "d5975aa93bc157cfc60d4863d0704ab1d6e4deca"; - sha256 = "17faa8mk90ch2s774lrvf17r4461askvv64b0ls95b9ilps9vl4j"; + rev = "f0b41d6235bf0b4032304202ca84d2cdeb6fb1cb"; + sha256 = "046455w80j1hrp1j2ybn5k0c0g6nlcxvrsrks6rdsis0vn4zj0fi"; }; meta.homepage = "https://github.com/webhooked/kanso.nvim/"; meta.hydraPlatforms = [ ]; @@ -6783,12 +6770,12 @@ final: prev: { kulala-nvim = buildVimPlugin { pname = "kulala.nvim"; - version = "2025-06-02"; + version = "2025-06-08"; src = fetchFromGitHub { owner = "mistweaverco"; repo = "kulala.nvim"; - rev = "1568d31c9d115d6cf36da9fc6bf047e00830f730"; - sha256 = "1kp535fdvw9bzw78p4skqh9xrsnz7647w0j077b9gns7lkcwgyrj"; + rev = "b176ecbc9d4286d83bfa9e5b8f6998230ee42f23"; + sha256 = "1lysy0vn82zvnz161j65bcsxm5bafs4rb1w7dvw84jlciaybkgy9"; fetchSubmodules = true; }; meta.homepage = "https://github.com/mistweaverco/kulala.nvim/"; @@ -6901,12 +6888,12 @@ final: prev: { lazygit-nvim = buildVimPlugin { pname = "lazygit.nvim"; - version = "2025-02-17"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "kdheepak"; repo = "lazygit.nvim"; - rev = "b9eae3badab982e71abab96d3ee1d258f0c07961"; - sha256 = "05vv6np9vva8hz5hq3la4myvhvv7fmm1ijy3p15z1n1c5n37yz9h"; + rev = "4839ab642962cc76bb1bf278427dc4c59be15072"; + sha256 = "020c3yvijy26ls0lx2mp1r11shywrkml3bzggc8y1ny8a26b19vk"; }; meta.homepage = "https://github.com/kdheepak/lazygit.nvim/"; meta.hydraPlatforms = [ ]; @@ -6953,12 +6940,12 @@ final: prev: { leap-nvim = buildVimPlugin { pname = "leap.nvim"; - version = "2025-06-04"; + version = "2025-06-14"; src = fetchFromGitHub { owner = "ggandor"; repo = "leap.nvim"; - rev = "9958013bd9c41e6f32af0202b9ea41055fe4667e"; - sha256 = "1l4hpjwfa2d2vkfrymjsv1zn0clx6vxnr0xzlfdi2jg41ms1niwq"; + rev = "10c14af4ddfb34dbd7721f0bfb2b4d91f0558907"; + sha256 = "1psqljxz120133xz4lfm0g5z02xdiyvwlg7idxmwxj49v1b9736z"; }; meta.homepage = "https://github.com/ggandor/leap.nvim/"; meta.hydraPlatforms = [ ]; @@ -7304,12 +7291,12 @@ final: prev: { llama-vim = buildVimPlugin { pname = "llama.vim"; - version = "2025-05-22"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "ggml-org"; repo = "llama.vim"; - rev = "abbc6841529e99535a739569e60fe7bba388e228"; - sha256 = "0sglwbkd21xr5b5c3ca48bh23hlnf50wa0lfm3ap5i4siqiy3yj0"; + rev = "3c1248c236f471b3987359e262dd0abd56f3028b"; + sha256 = "0pdip1pjd13hzfk12balkr28ip0kymg3kv10dzxkd0p01j6vwfvp"; }; meta.homepage = "https://github.com/ggml-org/llama.vim/"; meta.hydraPlatforms = [ ]; @@ -7434,12 +7421,12 @@ final: prev: { lsp_signature-nvim = buildVimPlugin { pname = "lsp_signature.nvim"; - version = "2025-05-29"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "ray-x"; repo = "lsp_signature.nvim"; - rev = "d50e40b3bf9324128e71b0b7e589765ce89466d2"; - sha256 = "0kw5631k18xjzxv0rlbcxv9vy9ai125bda32cr05yijcl86rf7ld"; + rev = "2923666d092300e6d03c8d895991d0bef43f1613"; + sha256 = "111y70zhbymh1jblx5kkrg7zmsw4qnl2p9w8bjvcl833ysk7y3py"; }; meta.homepage = "https://github.com/ray-x/lsp_signature.nvim/"; meta.hydraPlatforms = [ ]; @@ -7681,12 +7668,12 @@ final: prev: { markview-nvim = buildVimPlugin { pname = "markview.nvim"; - version = "2025-06-02"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "OXY2DEV"; repo = "markview.nvim"; - rev = "c3b270ac84391b9792dba122d47139c741217311"; - sha256 = "1lskdf92s9vjd6jdmnh1dmpjyb93xww4axwlnz7md7155cajqlyd"; + rev = "fbfcd8ed6e3a1323a326cf3384cf110c57eab87f"; + sha256 = "17y1z5g85f9cgcy331b9p2fylli1ygkrpf488vq2jrfphyfjm5zv"; fetchSubmodules = true; }; meta.homepage = "https://github.com/OXY2DEV/markview.nvim/"; @@ -7695,12 +7682,12 @@ final: prev: { mason-lspconfig-nvim = buildVimPlugin { pname = "mason-lspconfig.nvim"; - version = "2025-06-05"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "mason-org"; repo = "mason-lspconfig.nvim"; - rev = "bef29b653ba71d442816bf56286c2a686210be04"; - sha256 = "08nsyzzflaplvy626ai8qpcdl7hjh2q4zgiamh1w2xz9pvy2rm01"; + rev = "bb30c422329e86fcaa4e4920181f6715d634e516"; + sha256 = "0zc4l4d5wczr0nmig28nixmysvql80lz5fz5rsgci53l62wwk01l"; }; meta.homepage = "https://github.com/mason-org/mason-lspconfig.nvim/"; meta.hydraPlatforms = [ ]; @@ -7838,12 +7825,12 @@ final: prev: { melange-nvim = buildVimPlugin { pname = "melange-nvim"; - version = "2025-06-01"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "savq"; repo = "melange-nvim"; - rev = "a51c6faa4fb09331382f87be99f71a8aa48dd422"; - sha256 = "1342j1mlzw51prp9w9ink03mmsjbq0jdp7xk86qazaia3k8ynnd9"; + rev = "ce42f6b629beeaa00591ba73a77d3eeac4cf28ce"; + sha256 = "008wfwradxblsg8adwmgmysb2qypv77jssn30x31rxfw8s18hrz1"; }; meta.homepage = "https://github.com/savq/melange-nvim/"; meta.hydraPlatforms = [ ]; @@ -7903,12 +7890,12 @@ final: prev: { mini-ai = buildVimPlugin { pname = "mini.ai"; - version = "2025-05-31"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.ai"; - rev = "5225f16eacf4dce2cb7204ca345123ef54e209d6"; - sha256 = "0vqf5xywkqw84r96malik5jxib7ifr9vpk1f6ifj74d23ldqzs1c"; + rev = "d172ada7b0281044a06cb9a625a862553c457b6f"; + sha256 = "0pyi0krx7sbhqpbhy35xf09krgsnjm5cys476pvyaks2sz0fxhbq"; }; meta.homepage = "https://github.com/echasnovski/mini.ai/"; meta.hydraPlatforms = [ ]; @@ -7916,12 +7903,12 @@ final: prev: { mini-align = buildVimPlugin { pname = "mini.align"; - version = "2025-05-15"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.align"; - rev = "969bdcdf9b88e30bda9cb8ad6f56afed208778ad"; - sha256 = "0yp6flw1xwwb8s74186bi5pm3m0426aixl34g8dm98wl66hh162c"; + rev = "247af030951ccbd3b2fbaae7711b5d618dbbdeea"; + sha256 = "1amfzamhnhpmjbs899wv6bnvn6sjlf8xncbs8iamyp9zgkyywhic"; }; meta.homepage = "https://github.com/echasnovski/mini.align/"; meta.hydraPlatforms = [ ]; @@ -7929,12 +7916,12 @@ final: prev: { mini-animate = buildVimPlugin { pname = "mini.animate"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.animate"; - rev = "9b518c39c0e25b7b5e4e61db3f1407f7b4889f4e"; - sha256 = "197fgvnh05j5s0bhablgvlz1h6fl4m3n9d1sxzyf6p661dk8chcf"; + rev = "10cc793c7589db42b11353e7186f6e3e19f19072"; + sha256 = "0cblml5rhghwawq71aqz86zcdf6mqikrxa8bz8yisdx2hbdk7kw1"; }; meta.homepage = "https://github.com/echasnovski/mini.animate/"; meta.hydraPlatforms = [ ]; @@ -7942,12 +7929,12 @@ final: prev: { mini-base16 = buildVimPlugin { pname = "mini.base16"; - version = "2025-04-12"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.base16"; - rev = "2eb2d2b889a8c861d1a66ec651bd0edb417d5c7f"; - sha256 = "0g09bgk7y2j83phckg9wlm82ih1ya5j0sgz6xbscbj6jh0w75lvz"; + rev = "521a52b7fedd00b6534cf821f9b2f4951f8df094"; + sha256 = "02jipsxpgikhgs43by3h82dimqwzzw75kx3kdpyx00g8jnys7v0r"; }; meta.homepage = "https://github.com/echasnovski/mini.base16/"; meta.hydraPlatforms = [ ]; @@ -7955,12 +7942,12 @@ final: prev: { mini-basics = buildVimPlugin { pname = "mini.basics"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.basics"; - rev = "9904890cf863a7cbc3f57a1cbac3d298a33e90a4"; - sha256 = "0k9xzdgmyrjvazvi2j1pgy8wsdbm3g3wcq4nnhdxl51i9ib5i3wj"; + rev = "0f1d4d4da527f23a4c0ea00ed56ae3a9f132388a"; + sha256 = "0ls2sbsghr9652ycqs6qy5g5cyljy6nb1w35gp0j2dzaiiv7bh0p"; }; meta.homepage = "https://github.com/echasnovski/mini.basics/"; meta.hydraPlatforms = [ ]; @@ -7968,12 +7955,12 @@ final: prev: { mini-bracketed = buildVimPlugin { pname = "mini.bracketed"; - version = "2025-05-08"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.bracketed"; - rev = "079b8375e40ebf3f8af319ad835263ff390c3965"; - sha256 = "1d7kz48400bjdlkrlfparmi4w44mq08gp5bvz9vggc7hmm0baa4n"; + rev = "a54a2a180dc40f4d85875eeafacbdf991d042a36"; + sha256 = "0dxzz11mbf6ynw84cgdxwm78lgpiyps97sv0ldbis0vh4ww01yk6"; }; meta.homepage = "https://github.com/echasnovski/mini.bracketed/"; meta.hydraPlatforms = [ ]; @@ -7981,12 +7968,12 @@ final: prev: { mini-bufremove = buildVimPlugin { pname = "mini.bufremove"; - version = "2025-04-07"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.bufremove"; - rev = "66019ecebdc5bc0759e04747586994e2e3f98416"; - sha256 = "0pqwi0ix7zl7sg74p19q61mizv48mjmbijigsssi9fbyk0hwmkww"; + rev = "aaee5c281c5ca26c78d6c103ffb51dc93507e211"; + sha256 = "0l1pjalv4maaxavic7my8xqf0wqphg57bp8cm4d8a63x2ix5v7vw"; }; meta.homepage = "https://github.com/echasnovski/mini.bufremove/"; meta.hydraPlatforms = [ ]; @@ -7994,12 +7981,12 @@ final: prev: { mini-clue = buildVimPlugin { pname = "mini.clue"; - version = "2025-05-27"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.clue"; - rev = "97198ef9d8425e69f74d2875e217440ba0ff1730"; - sha256 = "1ma9rmdgqlc9iwl3yrqxljnmibqj4zvs9g3wn2n27mrm10xl1z5y"; + rev = "9d3001a921809f951e4fed04e0b0275bec778d6c"; + sha256 = "1lsc6isz62hi7gf25hhygh8ig0w9p85rggfsyj1f0vqpqz4qgwkm"; }; meta.homepage = "https://github.com/echasnovski/mini.clue/"; meta.hydraPlatforms = [ ]; @@ -8007,12 +7994,12 @@ final: prev: { mini-colors = buildVimPlugin { pname = "mini.colors"; - version = "2025-05-13"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.colors"; - rev = "ef76867adda63d6010acdc8732a816c8527d276b"; - sha256 = "0z2cg6fsy5idqp0p3i6rrx9mp48g4z915ylbi5q597d1vmglqffm"; + rev = "4189460cc02eeb355458f15130350ac1d8485bed"; + sha256 = "1f0nqmqkcxyypqsh74fz7b3khfzam76vzxsi7936ggfxk7wc2xh4"; }; meta.homepage = "https://github.com/echasnovski/mini.colors/"; meta.hydraPlatforms = [ ]; @@ -8020,12 +8007,12 @@ final: prev: { mini-comment = buildVimPlugin { pname = "mini.comment"; - version = "2025-05-25"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.comment"; - rev = "22ee9f6be1c78bcebe009a564758e5b6df08903b"; - sha256 = "1j1bg8506ag9fmjbx41w1hqnd61vyq1paclh2nc25krcbv2plyas"; + rev = "51c173dffa17dc14c81169deaeea430bd394ab51"; + sha256 = "1xy0ppmgwss10nkqsxm230xhryxmwsr1gypj5cq0kwhj61wb6hk0"; }; meta.homepage = "https://github.com/echasnovski/mini.comment/"; meta.hydraPlatforms = [ ]; @@ -8033,12 +8020,12 @@ final: prev: { mini-completion = buildVimPlugin { pname = "mini.completion"; - version = "2025-05-10"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.completion"; - rev = "ea78d31e8164468f0b3a909f863806f2c4cb84c4"; - sha256 = "01zc0kvwiq1h37q4fgwqi0bg875dks8vxw3aqjg3kyjj1v3z0zw9"; + rev = "89e051092ad9d273550d7352169c8b0524f12441"; + sha256 = "03x1j8ldkr92x72p3j1dspr6if9lckr47pljgdrvp798gfil6r99"; }; meta.homepage = "https://github.com/echasnovski/mini.completion/"; meta.hydraPlatforms = [ ]; @@ -8046,12 +8033,12 @@ final: prev: { mini-cursorword = buildVimPlugin { pname = "mini.cursorword"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.cursorword"; - rev = "ab63cc74975f4e107dbb490f6d3040eacfc1c023"; - sha256 = "0sgii7m2lfp95vxnchisk3hpbjwwqpky6ivkx2nc5djkmj07b7mj"; + rev = "d986b696657468708efca66417c039a79e37f1c9"; + sha256 = "0fpa2bin23pp7kw4639a5snzdidr19cry5b86y6xxpql55pj682d"; }; meta.homepage = "https://github.com/echasnovski/mini.cursorword/"; meta.hydraPlatforms = [ ]; @@ -8059,12 +8046,12 @@ final: prev: { mini-deps = buildVimPlugin { pname = "mini.deps"; - version = "2025-05-29"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.deps"; - rev = "be67d7b9e5361e3b3b26705d10ea5f869b74c6bc"; - sha256 = "0lzx5rgqsg212k08fp1qlc0f31y6hvsg3q7gsz6z5vsi9cqfvwml"; + rev = "d5b868777d63c7e1028dcd601dfe6738d4686fca"; + sha256 = "01ydj15x6nbg2gchi35zsvcydrk1q0lzm29n81xsrbhhm2nfixn9"; }; meta.homepage = "https://github.com/echasnovski/mini.deps/"; meta.hydraPlatforms = [ ]; @@ -8072,12 +8059,12 @@ final: prev: { mini-diff = buildVimPlugin { pname = "mini.diff"; - version = "2025-05-25"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.diff"; - rev = "f7bcd3cb4561f7d3a02ae9afafeda899c82f7108"; - sha256 = "1z2jklgm72mj4rpknl4s9kl22in2b40vx1k7psscz4b8d6ljh41m"; + rev = "9bccf260cdb9308223f47a29fb4cb91c817a9349"; + sha256 = "1fjg8ql9v9sx98s0fcbfi1pfjm9a9sg04fifql8hgll626qkcxr5"; }; meta.homepage = "https://github.com/echasnovski/mini.diff/"; meta.hydraPlatforms = [ ]; @@ -8085,12 +8072,12 @@ final: prev: { mini-doc = buildVimPlugin { pname = "mini.doc"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.doc"; - rev = "9b3e1b20508c7a6218cadf59b177a79a5df290f6"; - sha256 = "1anxn3lasm1x3yn1i0hd4im7y8fvf0fhyazn3yj6hzpm4vb12p0k"; + rev = "f6c090a6c2a8c11eea9b981aceaa1e329b7f60c4"; + sha256 = "0n920j25rnb66hk3klrni9ji673800dbxyb8j30vd4dymq5051ym"; }; meta.homepage = "https://github.com/echasnovski/mini.doc/"; meta.hydraPlatforms = [ ]; @@ -8098,12 +8085,12 @@ final: prev: { mini-extra = buildVimPlugin { pname = "mini.extra"; - version = "2025-05-25"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.extra"; - rev = "69ba107ac8712820f3ad391d327f62b57fead277"; - sha256 = "15q6q4laycfzb2rr2h948n61ybgv46cgcsgr8cjfwna4bby8gvj3"; + rev = "7854e6c8c4486f28da22e2e5f131295672208c84"; + sha256 = "0yxhll50xmfbj7sl6pl05dgjhkw7rlmq1dib0zmfhcyzy1yhkh34"; }; meta.homepage = "https://github.com/echasnovski/mini.extra/"; meta.hydraPlatforms = [ ]; @@ -8111,12 +8098,12 @@ final: prev: { mini-files = buildVimPlugin { pname = "mini.files"; - version = "2025-05-05"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.files"; - rev = "49c855977e9f4821d1ed8179ed44fe098b93ea2a"; - sha256 = "12027xb9907zk145hsx6qniq1cjm8bm5405njq4cs9vx992pafsh"; + rev = "6c610050b20a2bc353c418a411401127faceb038"; + sha256 = "0s3agg4p9s1jm3vz6h4xyv263m694dmrj84gas4qn5l5593rmdk0"; }; meta.homepage = "https://github.com/echasnovski/mini.files/"; meta.hydraPlatforms = [ ]; @@ -8124,12 +8111,12 @@ final: prev: { mini-fuzzy = buildVimPlugin { pname = "mini.fuzzy"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.fuzzy"; - rev = "c33d6a93c4fe395ae8a9bd02fed35315a90b688a"; - sha256 = "0n3rnvhz1hzj32l006il96zf61iv4wc0fy6dqp1lyrqm13skadvp"; + rev = "6898e68f9d8f45a09fd8898fbb8f3b5959cdf9a3"; + sha256 = "0hl5ygzlf73g70j7pdd1x4975368sqpynpja1zx7bc5jln698vr4"; }; meta.homepage = "https://github.com/echasnovski/mini.fuzzy/"; meta.hydraPlatforms = [ ]; @@ -8137,12 +8124,12 @@ final: prev: { mini-git = buildVimPlugin { pname = "mini-git"; - version = "2025-04-06"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini-git"; - rev = "a0ddc6302f654523053c28109e8b6dbbf05c08f8"; - sha256 = "0vf0ys710yf1apalglxj7kcdyrnrd7jkz1ksi9v1vj3h60pvany2"; + rev = "9d4e4e220b59fed49c6efbadfdd8230994d969be"; + sha256 = "036djzqr0k37q7x24vshn6cxnb9s5972534m861svf7vj5mvq173"; }; meta.homepage = "https://github.com/echasnovski/mini-git/"; meta.hydraPlatforms = [ ]; @@ -8150,12 +8137,12 @@ final: prev: { mini-hipatterns = buildVimPlugin { pname = "mini.hipatterns"; - version = "2025-04-06"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.hipatterns"; - rev = "e5083df391171dc9d8172645606f8496d9443374"; - sha256 = "116vpf4b86qbwrcax7dfhiswb4pwf3nmj2dh4kafj9vnpwyw1c3w"; + rev = "d71c21167d6bd5f21c9ecf90912c510f9edfc02b"; + sha256 = "1ghkbdkjbi6032mcq5nkl1l1iz4yyhj6d8gvajbf5bkkfznlrcas"; }; meta.homepage = "https://github.com/echasnovski/mini.hipatterns/"; meta.hydraPlatforms = [ ]; @@ -8163,12 +8150,12 @@ final: prev: { mini-hues = buildVimPlugin { pname = "mini.hues"; - version = "2025-06-03"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.hues"; - rev = "62f16a7b4704d051f69c39dbbe867dfdb4f0d3ed"; - sha256 = "0hmflllpxmp39d1x1lx0j6w3mm2yin3mf0mjgfics2s6jdami3pj"; + rev = "2fefb9923b0fedb0d6085f87469e54d9e9ebd269"; + sha256 = "0s2fr2dmj4c1xbzcminad5jxhyvax5cl7056vnih3j7hl0jwqw3b"; }; meta.homepage = "https://github.com/echasnovski/mini.hues/"; meta.hydraPlatforms = [ ]; @@ -8176,12 +8163,12 @@ final: prev: { mini-icons = buildVimPlugin { pname = "mini.icons"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.icons"; - rev = "397ed3807e96b59709ef3292f0a3e253d5c1dc0a"; - sha256 = "110bglbbyafjym4md2slgccyjhf90bgg8h9h2ipya6cfqfs4pizy"; + rev = "94848dad1589a199f876539bd79befb0c5e3abf0"; + sha256 = "1810mvav1k24kxx3kj364v09k26d1s1p2y6dnc2l8mwzw7q70byr"; }; meta.homepage = "https://github.com/echasnovski/mini.icons/"; meta.hydraPlatforms = [ ]; @@ -8189,12 +8176,12 @@ final: prev: { mini-indentscope = buildVimPlugin { pname = "mini.indentscope"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.indentscope"; - rev = "8af2569a7d7fd37300dfa760e44e71efbbf322fd"; - sha256 = "1xk31bl9gchc8r1pv6f2z7nfkr6q7f1i4qrrj3h4crxb6nhpxmry"; + rev = "5fdc3edf7bb1b6365980c2c47dac2f19ec93c97b"; + sha256 = "0dv4c6yf1s5fzvwy1n0chq553353bsix3g8ysajp9lswnd9lhbh4"; }; meta.homepage = "https://github.com/echasnovski/mini.indentscope/"; meta.hydraPlatforms = [ ]; @@ -8202,12 +8189,12 @@ final: prev: { mini-jump = buildVimPlugin { pname = "mini.jump"; - version = "2025-05-23"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.jump"; - rev = "aad72c99f446086b0a53b8a660a2d89d296be057"; - sha256 = "1dsqpcr54sglr0x9mmp0xxpmrmgq10j0xpnj2dxvxabi9h1h179a"; + rev = "c3db083094ab8f146d4c3897682928727082e5e7"; + sha256 = "0k724raf1ifinldb24dr66sislqhx2kq7j8b96rrcgsb6ab47a5s"; }; meta.homepage = "https://github.com/echasnovski/mini.jump/"; meta.hydraPlatforms = [ ]; @@ -8215,12 +8202,12 @@ final: prev: { mini-jump2d = buildVimPlugin { pname = "mini.jump2d"; - version = "2025-05-26"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.jump2d"; - rev = "6045bd61659d97926ba7ae5f9be8924e11c15079"; - sha256 = "1zk5y1gdkg8m1ncic0b0iqcp9k32pd1dklnw69jjwm30mxmixky8"; + rev = "c2bb2ccb1fc023e4d0a9800d999731594c998403"; + sha256 = "1661vzmhs7in897w5cykk54m8gqiyg2pkz37isw5knd276hb4miv"; }; meta.homepage = "https://github.com/echasnovski/mini.jump2d/"; meta.hydraPlatforms = [ ]; @@ -8228,12 +8215,12 @@ final: prev: { mini-keymap = buildVimPlugin { pname = "mini.keymap"; - version = "2025-06-05"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.keymap"; - rev = "da545fb70161aedb5331572ddcbffbdb8e31d8ce"; - sha256 = "0s1x9c2rbz947g3wnbcf50hrs8d6wvqia2y4mi1nk0zafp3v1ijb"; + rev = "64f3573d1f0c7497725e8c95305b601ea550d4b3"; + sha256 = "1i0wfmnc1fs2d5hk5p1ar5scvw4jmym8x8w8r11m5qq50xkm63np"; }; meta.homepage = "https://github.com/echasnovski/mini.keymap/"; meta.hydraPlatforms = [ ]; @@ -8241,12 +8228,12 @@ final: prev: { mini-map = buildVimPlugin { pname = "mini.map"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.map"; - rev = "f3c156693a9f68a10ae285d537edd36f4cf0e64f"; - sha256 = "1z2rf664z7krs40w66b5fjmq3xffv357mv689425i5nyc1q0gr4n"; + rev = "6219866e6ce327365c67c016b10032f6b67e16dd"; + sha256 = "1mqf5bkyp8r05h7ba4drfxx97js2fzmdbjz0xb88xhnpmrikfjnv"; }; meta.homepage = "https://github.com/echasnovski/mini.map/"; meta.hydraPlatforms = [ ]; @@ -8254,12 +8241,12 @@ final: prev: { mini-misc = buildVimPlugin { pname = "mini.misc"; - version = "2025-05-05"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.misc"; - rev = "d92235cfb7b1bce2dfc21d06ee1a1a3d7e04b969"; - sha256 = "0cbq6kw58jiiy7f3fraxkskr1vpwmdnpv38pbywwfr8w1f6rf2fi"; + rev = "02de0d3fa53fcad1bee6c770b92a485769143155"; + sha256 = "0cx751vmhwmvbddhm2ybsib63d8lpvqq3b1ivf37wvysdcp3z2q7"; }; meta.homepage = "https://github.com/echasnovski/mini.misc/"; meta.hydraPlatforms = [ ]; @@ -8267,12 +8254,12 @@ final: prev: { mini-move = buildVimPlugin { pname = "mini.move"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.move"; - rev = "4fe4a855fee53c66b0f3255a4b54ddc2ae6b308c"; - sha256 = "0dd29nx1z54ljjz9m4m9ghhv39x7ajjx43hbr4gn7p1lv2kvjv7p"; + rev = "f471ecb98395781827ef1dffee61afe1af0ace29"; + sha256 = "0cnzfn706s90bc0m49jkx3fjghrcv0byqbajdhwbrv8f77c6crg3"; }; meta.homepage = "https://github.com/echasnovski/mini.move/"; meta.hydraPlatforms = [ ]; @@ -8280,12 +8267,12 @@ final: prev: { mini-notify = buildVimPlugin { pname = "mini.notify"; - version = "2025-04-21"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.notify"; - rev = "3a06b21dd0b335b95d125eae813276113b5e9ce7"; - sha256 = "13pa82zmz6w8is4gfh33fqcd2yx3f1bmd5r3q4sp1kfgf2c68c30"; + rev = "9996951977b503b8c9572a0bdb2c516f099701f9"; + sha256 = "0wxvggpcpyi3ngjdybr6jzz42mfb4b66dwxlikssvham6hs56a6d"; }; meta.homepage = "https://github.com/echasnovski/mini.notify/"; meta.hydraPlatforms = [ ]; @@ -8293,12 +8280,12 @@ final: prev: { mini-nvim = buildVimPlugin { pname = "mini.nvim"; - version = "2025-06-05"; + version = "2025-06-14"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.nvim"; - rev = "c3d398d8bfbd18ae24cb22a17cde1aaad3764cd3"; - sha256 = "1gc67yassyasxl9z6da75rhxgnbclcvlpgbx0z3v48l91ampmv7g"; + rev = "3f5d06a6f710966cb93baaadc4897eeb6d6210e5"; + sha256 = "1pizh780sw61fxg94jssnv9ghy1zxkvvdh29jq93yjc4a4x2q7xx"; }; meta.homepage = "https://github.com/echasnovski/mini.nvim/"; meta.hydraPlatforms = [ ]; @@ -8306,12 +8293,12 @@ final: prev: { mini-operators = buildVimPlugin { pname = "mini.operators"; - version = "2025-05-22"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.operators"; - rev = "b79a95958c57e127704bbeb1dc11a511954fc888"; - sha256 = "0dyackl7a6kayk7chd3qm45j7h1pjf1r6qhbdl7m21dzdbp9c4s5"; + rev = "87753a6748ac8871f7b81aa9473df76adb83a037"; + sha256 = "0vdamhys9p7hv2w5d1nm0qccwlfjmw9fdff1qmxwz52x3y775hsd"; }; meta.homepage = "https://github.com/echasnovski/mini.operators/"; meta.hydraPlatforms = [ ]; @@ -8319,12 +8306,12 @@ final: prev: { mini-pairs = buildVimPlugin { pname = "mini.pairs"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.pairs"; - rev = "69864a2efb36c030877421634487fd90db1e4298"; - sha256 = "0avjjikmz3b8676hzcqck3r2lv0zxsdr8hqs65zn2dr12q8zh41r"; + rev = "42407ccb80ec59c84e7c91d815f42ed90a8cc093"; + sha256 = "0h35xn8029d74sdv1fyrycpkl10vv0m01fvx2v955v0jfc9cii1n"; }; meta.homepage = "https://github.com/echasnovski/mini.pairs/"; meta.hydraPlatforms = [ ]; @@ -8332,12 +8319,12 @@ final: prev: { mini-pick = buildVimPlugin { pname = "mini.pick"; - version = "2025-05-29"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.pick"; - rev = "c272dc61cd0326b344761cd9d031bfcdef1978c7"; - sha256 = "0kpn9ha5kivv46r6m30bpbfv8qksg8k2xgb3n4gih7rlvik9qa3m"; + rev = "fdb920aa92ed624a0447bc13ddac79d9d2653c24"; + sha256 = "14v17p7safqb38n2qk8bfqsvsg48033a61kg575nnfbgp6vqa1jg"; }; meta.homepage = "https://github.com/echasnovski/mini.pick/"; meta.hydraPlatforms = [ ]; @@ -8345,12 +8332,12 @@ final: prev: { mini-sessions = buildVimPlugin { pname = "mini.sessions"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.sessions"; - rev = "dd7fe484dfcbf270a788e9291545df509cdb9691"; - sha256 = "0m8l1hw8y3mwhcnyzhxb7j4jvvwmf8i7ybxddy2r2rq89rc7x3ln"; + rev = "a74bcbf8c461a7b95a89013a5f5c6759db0577c6"; + sha256 = "05c19rdd7mj29f5k1hawwnsrgb71b0fylbc1wsb8qrwh0cgl3gmq"; }; meta.homepage = "https://github.com/echasnovski/mini.sessions/"; meta.hydraPlatforms = [ ]; @@ -8358,12 +8345,12 @@ final: prev: { mini-snippets = buildVimPlugin { pname = "mini.snippets"; - version = "2025-06-03"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.snippets"; - rev = "6f0de3c3f97a8c015f99619f72edf9b2880b6886"; - sha256 = "0pbkwp5p0y3djf3xfvmnf6ys1w5287gyhas09s94ha2ghhsyzy2w"; + rev = "27184798d8fa8aa190cad7004c314a0dc28f0e57"; + sha256 = "0bhaclzjn4hqx90479dfpg39l1xgx6w8j132pvyl9z6qak93vrym"; }; meta.homepage = "https://github.com/echasnovski/mini.snippets/"; meta.hydraPlatforms = [ ]; @@ -8371,12 +8358,12 @@ final: prev: { mini-splitjoin = buildVimPlugin { pname = "mini.splitjoin"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.splitjoin"; - rev = "70240d5d3881ff1b2b1d7902450f98a6fa303800"; - sha256 = "1sp4p0s4cv888n0nmgy04j5k51ndxpmksy235rg9jkk7j5gg47qb"; + rev = "ebde0e2a33ec983ade3b2bb3c495b3751b458e4c"; + sha256 = "0xnc61cm1zpj8j7j10zgpx4438vmqpdwbqick9rrw9jbmbzcc0p5"; }; meta.homepage = "https://github.com/echasnovski/mini.splitjoin/"; meta.hydraPlatforms = [ ]; @@ -8384,12 +8371,12 @@ final: prev: { mini-starter = buildVimPlugin { pname = "mini.starter"; - version = "2025-05-22"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.starter"; - rev = "03a124f307ebfb9fd05a0e6503d30605c32a9e1a"; - sha256 = "0c024xvdww9331bcfd3i7x8pp4phxkgqhnfv3fgld1imbnif1547"; + rev = "1c6467a6a46e02a0f6202de2f69ef6533fe95659"; + sha256 = "171dnnwjcc423xyrwk8p7ajynvwcjs801q5xkmgy73m3kbi7kq4i"; }; meta.homepage = "https://github.com/echasnovski/mini.starter/"; meta.hydraPlatforms = [ ]; @@ -8397,12 +8384,12 @@ final: prev: { mini-statusline = buildVimPlugin { pname = "mini.statusline"; - version = "2025-04-07"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.statusline"; - rev = "e331175f10d9f400b42523b3890841aba202ce16"; - sha256 = "1hhd4fln3m04d9v5pwa3mb1n4nifsilrxp8hs14njcgk2rxv6qar"; + rev = "452d27d764720cddcb9909b786598bb9e80c1ce8"; + sha256 = "1fwimcd7vlmmny961j9nr767ybx3zd1k5f8zfs4jszln12m9q4ig"; }; meta.homepage = "https://github.com/echasnovski/mini.statusline/"; meta.hydraPlatforms = [ ]; @@ -8410,12 +8397,12 @@ final: prev: { mini-surround = buildVimPlugin { pname = "mini.surround"; - version = "2025-06-02"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.surround"; - rev = "0d278217ca98ffa5b768701fb57f52a88b1e1f93"; - sha256 = "0r93kgzd5xhykcwxzfjcmdmcd2dmj80hxqfd4r6ikbaxq6b6vnk0"; + rev = "1a2b59c77a0c4713a5bd8972da322f842f4821b1"; + sha256 = "0ar1c147q6053klj9fg8kciqzmalvhcnynp09lfmhn8siqc6y64j"; }; meta.homepage = "https://github.com/echasnovski/mini.surround/"; meta.hydraPlatforms = [ ]; @@ -8423,12 +8410,12 @@ final: prev: { mini-tabline = buildVimPlugin { pname = "mini.tabline"; - version = "2025-04-08"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.tabline"; - rev = "ff7a050721352580184db1ff203286c1032d5b54"; - sha256 = "142vv5nwg3bvia21frmcyps1ycyqqj1l0v5vclrm46cwaz2b2qfb"; + rev = "3b764ec62ad344f64f5051c5392075174f5c3ec0"; + sha256 = "1as0vdqz3xyzswgmki9gc0dwklq94sprsl6p2vcwcrw5z3jymlrp"; }; meta.homepage = "https://github.com/echasnovski/mini.tabline/"; meta.hydraPlatforms = [ ]; @@ -8436,12 +8423,12 @@ final: prev: { mini-trailspace = buildVimPlugin { pname = "mini.trailspace"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.trailspace"; - rev = "39a0460c025a605519fdd6bea1ce870642429996"; - sha256 = "1d95vcxm7fhav8gz9n8m36q3hkxi6j1p0f6y35qnps1x7yz1wyfg"; + rev = "13e3fcdac308ae2072a015456be88e1ecb7836d3"; + sha256 = "1ihd8fbs5imnp5xcllcj6fgpx0y4vclrkfz802q9fl7fqh00dcay"; }; meta.homepage = "https://github.com/echasnovski/mini.trailspace/"; meta.hydraPlatforms = [ ]; @@ -8449,12 +8436,12 @@ final: prev: { mini-visits = buildVimPlugin { pname = "mini.visits"; - version = "2025-04-01"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.visits"; - rev = "c0a3b02f5d82080a2aa6cd9185ff16944ce2451a"; - sha256 = "02wr34zzd5x6zn4iwhbv5g4shibpvb8536hr5lk0aw7i55aqg5x8"; + rev = "fa369785d530a942c184a3f2e1b88909c6d42e29"; + sha256 = "0wc25nv99mg8s7p96hssfvfqls4cplm2arm7zhgwyciqffbw6hj7"; }; meta.homepage = "https://github.com/echasnovski/mini.visits/"; meta.hydraPlatforms = [ ]; @@ -8683,12 +8670,12 @@ final: prev: { ncm2 = buildVimPlugin { pname = "ncm2"; - version = "2025-05-29"; + version = "2025-06-07"; src = fetchFromGitHub { owner = "ncm2"; repo = "ncm2"; - rev = "259d1bb1d26bf7f7e5935484a3cc15010512f54b"; - sha256 = "1prgwjlw9m6qjrax90hn3ip1fbrx451zq274qwc9ii3isvcr7x6l"; + rev = "6a22e976475c810222623c9418c71f74f720e6a5"; + sha256 = "00q7jg2y26nzdvnyjfkwwrr5qbyjwyiawhvdcrar6c9s6n018mr0"; }; meta.homepage = "https://github.com/ncm2/ncm2/"; meta.hydraPlatforms = [ ]; @@ -8943,12 +8930,12 @@ final: prev: { neo-tree-nvim = buildVimPlugin { pname = "neo-tree.nvim"; - version = "2025-06-01"; + version = "2025-06-09"; src = fetchFromGitHub { owner = "nvim-neo-tree"; repo = "neo-tree.nvim"; - rev = "f3e8633f06007e015f855d3c1ec0cee23af14d8e"; - sha256 = "04ddr8cl67xk7i459y49m3mfxc3ca8kbdzmiwwz3ksrfhxyzr0g1"; + rev = "e01ca7de8e6dbc6118bcb12c4cbe1f88162a337f"; + sha256 = "1wyilri9vmb6il8ikf42hv96rxfbzyz8hj63ga4qrgj307aqx5bf"; }; meta.homepage = "https://github.com/nvim-neo-tree/neo-tree.nvim/"; meta.hydraPlatforms = [ ]; @@ -8969,12 +8956,12 @@ final: prev: { neoconf-nvim = buildVimPlugin { pname = "neoconf.nvim"; - version = "2025-06-05"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "folke"; repo = "neoconf.nvim"; - rev = "27ad122b711ad1ab7fe1cd8d352ded0c454ec05e"; - sha256 = "1n3fi1njgqg27g1aakizi2bqclk0f3hxqzym9ya1jh7dxaxagp3x"; + rev = "070555e5155e185b3d84a9110bdb017b8a33915f"; + sha256 = "1b6ab2spc5f882kg4mwysbzwiazvn1azplgaq8zbzlc6pny48d46"; }; meta.homepage = "https://github.com/folke/neoconf.nvim/"; meta.hydraPlatforms = [ ]; @@ -9021,12 +9008,12 @@ final: prev: { neoformat = buildVimPlugin { pname = "neoformat"; - version = "2025-05-03"; + version = "2025-06-07"; src = fetchFromGitHub { owner = "sbdchd"; repo = "neoformat"; - rev = "33cab6962999ca74824ee6dc6e627f406139d6ee"; - sha256 = "1gw0vxvkwpfawk7ixy8m67hqm0gjyb5b9riy1lx5knjaj198qrjv"; + rev = "9d2e28993e06e86b88c364b6176612b917468f3e"; + sha256 = "06silkhbjkzf43013ffmyprz3xvb2ywf9ilgflqzmvsq2ysl8f00"; }; meta.homepage = "https://github.com/sbdchd/neoformat/"; meta.hydraPlatforms = [ ]; @@ -9047,12 +9034,12 @@ final: prev: { neogit = buildVimPlugin { pname = "neogit"; - version = "2025-06-04"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "NeogitOrg"; repo = "neogit"; - rev = "89a2df9a882868ddfa2a757e3224f57971e38329"; - sha256 = "0smcr2y4nrgdsp7nk2v06dhpchl2gsrn9ckzhzwq1smdh0nlgdkf"; + rev = "1b4f44374f97d9262caa680e41ecbebcaf1553bd"; + sha256 = "0vryfpxgm68mi0955ljzald8yb17qkfibas7sfx373aq11dcqwqj"; }; meta.homepage = "https://github.com/NeogitOrg/neogit/"; meta.hydraPlatforms = [ ]; @@ -9309,12 +9296,12 @@ final: prev: { neotest-golang = buildVimPlugin { pname = "neotest-golang"; - version = "2025-05-31"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "fredrikaverpil"; repo = "neotest-golang"; - rev = "863a9d8cef20b7392aac77eaa7d116faa8344aab"; - sha256 = "04knx74iqwqm1w165jp0jnjf3nas8mdfsqp9yw5vz7krn6cgywql"; + rev = "0a0acff3cf9a0bf140c84ea9e66d818df7c2608f"; + sha256 = "1ig67jwj8hh8h4i66iflr7d7dvv99c8sdg3ingp3dqf1kb2p10mq"; }; meta.homepage = "https://github.com/fredrikaverpil/neotest-golang/"; meta.hydraPlatforms = [ ]; @@ -9349,12 +9336,12 @@ final: prev: { neotest-haskell = buildVimPlugin { pname = "neotest-haskell"; - version = "2025-06-01"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "MrcJkb"; repo = "neotest-haskell"; - rev = "f2a3373ccc5e41ce53dd2f3fa76e8b0a82cf3613"; - sha256 = "06jgrcrbjrpi4wfkschcrwyzapy4bcssfy03vnxw2lj6c5czjrwz"; + rev = "4d0beb0bc7fed78241c12a95d68b3aaebf384b8b"; + sha256 = "0a5iwvb9bpxqqvqjnasa2cyxkrijxhldlykayjycgjykfc93zh9h"; }; meta.homepage = "https://github.com/MrcJkb/neotest-haskell/"; meta.hydraPlatforms = [ ]; @@ -9375,12 +9362,12 @@ final: prev: { neotest-jest = buildVimPlugin { pname = "neotest-jest"; - version = "2024-03-21"; + version = "2025-06-14"; src = fetchFromGitHub { owner = "nvim-neotest"; repo = "neotest-jest"; - rev = "514fd4eae7da15fd409133086bb8e029b65ac43f"; - sha256 = "1lmz248bzdhggvarikhpr5210mbw9fycks93k719d05sb4l6i2dg"; + rev = "dd82016c01704d9bbd5188749fe0586b3b620693"; + sha256 = "1ymh9383yccvgm1fpb1lb3jg036gb2ll74mpxk9cdqmv8kr1snw3"; }; meta.homepage = "https://github.com/nvim-neotest/neotest-jest/"; meta.hydraPlatforms = [ ]; @@ -9479,12 +9466,12 @@ final: prev: { neotest-rspec = buildVimPlugin { pname = "neotest-rspec"; - version = "2025-03-12"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "olimorris"; repo = "neotest-rspec"; - rev = "281c0ed0e55d623e8028796e1c4dc27b7e421fd0"; - sha256 = "0gbdpplvai8cay0xmhiw1j27rxy5wzsx2b6jfnv3cqwk77chbabp"; + rev = "825bc085b7a691860d5cafc5fa7ab140c713e6c8"; + sha256 = "1552sawyf6mn2yrapbpxqi0984mlffwxadmy72jzq6qikqmmbsrc"; }; meta.homepage = "https://github.com/olimorris/neotest-rspec/"; meta.hydraPlatforms = [ ]; @@ -9661,12 +9648,12 @@ final: prev: { nerdy-nvim = buildVimPlugin { pname = "nerdy.nvim"; - version = "2025-06-01"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "2KAbhishek"; repo = "nerdy.nvim"; - rev = "dcf0afa6cd5a325d6779cb75d8d703dc2188adbb"; - sha256 = "0d82dk112dpnk1i4x2gg32nq8fpjc8irv5kj9xnh1m6s4aycg25v"; + rev = "826a74b0e2d86548190ac4575cccd8d5b159c0a1"; + sha256 = "1nxhrdpjicrw7kvhvv4b341pn9qbm4a6w18brjbwrz1lmy8ywmpm"; }; meta.homepage = "https://github.com/2KAbhishek/nerdy.nvim/"; meta.hydraPlatforms = [ ]; @@ -9726,12 +9713,12 @@ final: prev: { nfnl = buildVimPlugin { pname = "nfnl"; - version = "2025-05-19"; + version = "2025-06-14"; src = fetchFromGitHub { owner = "Olical"; repo = "nfnl"; - rev = "19cac83657514a0718b7af4a086d06bd73269b7a"; - sha256 = "0323dfwsg6rfcngnzq7i00n1vsxjpa6z17442shirq5w43b492vq"; + rev = "143b595069d98d47b26b80f0e0375420673de4af"; + sha256 = "1m2c2cjkzsdzqm79y9x28521cgz5a44b66crcn2lzi6n30xbn4h8"; }; meta.homepage = "https://github.com/Olical/nfnl/"; meta.hydraPlatforms = [ ]; @@ -9843,12 +9830,12 @@ final: prev: { nlsp-settings-nvim = buildVimPlugin { pname = "nlsp-settings.nvim"; - version = "2025-06-03"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "tamago324"; repo = "nlsp-settings.nvim"; - rev = "757e1580182f62162a22da6131645a7c51397a25"; - sha256 = "10q2kck6mjnvsk0c3rcnakfqij3757wj67rmml0zgg0k43bar423"; + rev = "a37ba3865f0e56efbfa879289d71aeca771f742e"; + sha256 = "03hjj2fqlksw02d7fs9lih3va2hhjkn0yrsl3lf7ljjn2iqv3ibr"; }; meta.homepage = "https://github.com/tamago324/nlsp-settings.nvim/"; meta.hydraPlatforms = [ ]; @@ -9882,12 +9869,12 @@ final: prev: { no-neck-pain-nvim = buildVimPlugin { pname = "no-neck-pain.nvim"; - version = "2025-06-02"; + version = "2025-06-08"; src = fetchFromGitHub { owner = "shortcuts"; repo = "no-neck-pain.nvim"; - rev = "ecdfe60f23134089fac92659e688b65fdd8b5cc0"; - sha256 = "0a5xmflib60k81gj6v11m1wymnzknyjxl5ydxpawyx61y36k3xhc"; + rev = "0b6e82a6f1db9ff0b694df2a8e3bd3f7828a3958"; + sha256 = "0grs2j9x3qzhrbfj8lc5m6b4fzzy78cmc5is8qh290n6ymqyhsr0"; }; meta.homepage = "https://github.com/shortcuts/no-neck-pain.nvim/"; meta.hydraPlatforms = [ ]; @@ -10038,12 +10025,12 @@ final: prev: { nvchad-ui = buildVimPlugin { pname = "nvchad-ui"; - version = "2025-06-03"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "nvchad"; repo = "ui"; - rev = "b7c656064ec54f77bc6c75e4c51108ba451e6d7a"; - sha256 = "12zqah2zgsi3ic3blhkcyhg8ahpzywk20hjq0gxl7ijpqfqq73d6"; + rev = "c960121b7470c465138177383af364451bb2c102"; + sha256 = "09b8fdawd02g7dav7l850xgz1bkym5izxpgzmylwmyq7smizy383"; }; meta.homepage = "https://github.com/nvchad/ui/"; meta.hydraPlatforms = [ ]; @@ -10090,12 +10077,12 @@ final: prev: { nvim-autopairs = buildVimPlugin { pname = "nvim-autopairs"; - version = "2025-04-13"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "windwp"; repo = "nvim-autopairs"; - rev = "4d74e75913832866aa7de35e4202463ddf6efd1b"; - sha256 = "0q6pv89x05l71nfg2chqf9p0d2ha72agmll2svimq0npp84ymfxz"; + rev = "2647cce4cb64fb35c212146663384e05ae126bdf"; + sha256 = "0qq20icy449c6jhrrxqc9w6fk7xsfnww0a7bwqnxalglvl0ss92k"; }; meta.homepage = "https://github.com/windwp/nvim-autopairs/"; meta.hydraPlatforms = [ ]; @@ -10129,12 +10116,12 @@ final: prev: { nvim-bqf = buildVimPlugin { pname = "nvim-bqf"; - version = "2025-03-29"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "kevinhwang91"; repo = "nvim-bqf"; - rev = "e20417d5e589e03eaaaadc4687904528500608be"; - sha256 = "0gxfpld6f60a6679f58m0v2f2m9lar74mmvi0fh4880gbd92kdm6"; + rev = "9cbec7cf8ad2a902a0a41241ad16c3489620321b"; + sha256 = "106310ra6xqf198bznmbmmvlvyrhc7a8gpaqqkli48zgrndmq5fx"; }; meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/"; meta.hydraPlatforms = [ ]; @@ -10272,12 +10259,12 @@ final: prev: { nvim-dap = buildVimPlugin { pname = "nvim-dap"; - version = "2025-06-04"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "mfussenegger"; repo = "nvim-dap"; - rev = "ea82027c3447dc1a022be9a9884de276c05cd33a"; - sha256 = "0m91bqbprp6n00m7kk5wqrhl237a5q082m98xak6r7gvxg1c7ac7"; + rev = "2edd6375692d9ac1053d50acfe415c1eb2ba92d0"; + sha256 = "19af0kdpkaxilpbbg44yd6jq520vy5fzrnxymz7d58d1niw136hi"; }; meta.homepage = "https://github.com/mfussenegger/nvim-dap/"; meta.hydraPlatforms = [ ]; @@ -10376,12 +10363,12 @@ final: prev: { nvim-dap-view = buildVimPlugin { pname = "nvim-dap-view"; - version = "2025-06-04"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "igorlfs"; repo = "nvim-dap-view"; - rev = "7b305ecbbdeb5c6fb7463e68e42c44c19add60b9"; - sha256 = "0788q2p5534l9qsxpd9ik6dwd99pfprr1j8cszvffl6mh1rjf9ss"; + rev = "1ea46f5ded7d5885a56adbe9e568bead45a9331c"; + sha256 = "06v6kynkh0zbrv8ck5ii4lq9qw987jzgwx3y3p8ig8nc1l89rwr1"; }; meta.homepage = "https://github.com/igorlfs/nvim-dap-view/"; meta.hydraPlatforms = [ ]; @@ -10428,12 +10415,12 @@ final: prev: { nvim-early-retirement = buildVimPlugin { pname = "nvim-early-retirement"; - version = "2025-05-19"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "chrisgrieser"; repo = "nvim-early-retirement"; - rev = "6db15a859cf73d4027e919f5a49cc795ee96831a"; - sha256 = "1532kfsfvjf61gg238dwqyam5p9ncnpzvzbmvw8wjqv12izn39nj"; + rev = "d9ffd8f70ed6d466cecd3e7e2dd1425b0010932f"; + sha256 = "19nph2kp0l5mpykvii8wajh7svqd89gd8l3jzsyqmxdgkyxdg3nw"; }; meta.homepage = "https://github.com/chrisgrieser/nvim-early-retirement/"; meta.hydraPlatforms = [ ]; @@ -10493,12 +10480,12 @@ final: prev: { nvim-genghis = buildVimPlugin { pname = "nvim-genghis"; - version = "2025-05-20"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "chrisgrieser"; repo = "nvim-genghis"; - rev = "80f7725d1e3d537ef4e223e772afd4d6de41b10e"; - sha256 = "0ncqy98qq58gdxpr6j4kn5vgw5hdj7f8p87qknmawfx754x3vykp"; + rev = "16268746ae4617be8e8989748b9a0b0372f5e3b4"; + sha256 = "0j9ymq52dxqq9ysjgz8a5qna8ayi0ym6kvxh6ircnhqs4ff92mli"; }; meta.homepage = "https://github.com/chrisgrieser/nvim-genghis/"; meta.hydraPlatforms = [ ]; @@ -10545,12 +10532,12 @@ final: prev: { nvim-highlite = buildVimPlugin { pname = "nvim-highlite"; - version = "2025-06-03"; + version = "2025-06-06"; src = fetchFromGitHub { owner = "Iron-E"; repo = "nvim-highlite"; - rev = "9097dfdab09c0610c5057a0161f68d9e9a187657"; - sha256 = "0hf826dk6wvfmzs7d6xrnilkvqlrdnfrrr5h5b4jyvqy8k0zsckv"; + rev = "421e76a4f7c11f7dec75feb9412ac4cb169cfa52"; + sha256 = "112l0mnzwfkxg2v818i7z68vf2sxczaxw87hdsknmwwm3b7vl0js"; }; meta.homepage = "https://github.com/Iron-E/nvim-highlite/"; meta.hydraPlatforms = [ ]; @@ -10558,12 +10545,12 @@ final: prev: { nvim-hlslens = buildVimPlugin { pname = "nvim-hlslens"; - version = "2025-04-26"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "kevinhwang91"; repo = "nvim-hlslens"; - rev = "1e650c136f9f9d5fefe34947ad27c80010d3321f"; - sha256 = "05rxzl519p9wqymbdnz3jrc6k1p7l7sj0mw6cz12snsg5cisn2h7"; + rev = "95ced18ebaf19c1bdb64982a614ee8a9d7ee8e51"; + sha256 = "0gyww7b3hgjf5lyrn2xcg14wscpaj6pxf2jmchc5vx0clxl5rybq"; }; meta.homepage = "https://github.com/kevinhwang91/nvim-hlslens/"; meta.hydraPlatforms = [ ]; @@ -10662,12 +10649,12 @@ final: prev: { nvim-jdtls = buildVimPlugin { pname = "nvim-jdtls"; - version = "2025-04-24"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "mfussenegger"; repo = "nvim-jdtls"; - rev = "c23f200fee469a415c77265ca55b496feb646992"; - sha256 = "0sk1gspldc513fhcicv5sqp5v1gin3nprmanvbd87cbi1l3rkhvh"; + rev = "4d77ff02063cf88963d5cf10683ab1fd15d072de"; + sha256 = "16sdq2ymrdnbm8667yairfji3md0w6c34qhssgahwb867185akzl"; }; meta.homepage = "https://github.com/mfussenegger/nvim-jdtls/"; meta.hydraPlatforms = [ ]; @@ -10753,12 +10740,12 @@ final: prev: { nvim-lint = buildVimPlugin { pname = "nvim-lint"; - version = "2025-06-05"; + version = "2025-06-12"; src = fetchFromGitHub { owner = "mfussenegger"; repo = "nvim-lint"; - rev = "cc26ae6a620298bb3f33b0e0681f99a10ae57781"; - sha256 = "0jspqgw8zwz79jrlcqr15waaxzw68n5c10bvhm3hqw02dr0bbipq"; + rev = "2b0039b8be9583704591a13129c600891ac2c596"; + sha256 = "06x67mhdw5d2482f9bq024pklalk3clynpiw0la8p80pakalk0jp"; }; meta.homepage = "https://github.com/mfussenegger/nvim-lint/"; meta.hydraPlatforms = [ ]; @@ -10805,12 +10792,12 @@ final: prev: { nvim-lspconfig = buildVimPlugin { pname = "nvim-lspconfig"; - version = "2025-06-04"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "neovim"; repo = "nvim-lspconfig"; - rev = "036885e8e5456d3907626b634693234f628afef6"; - sha256 = "1zkjmr33srzdcjriwdlvq1dmpia7n0xgy3k5l3cdhrfn66k3mwl2"; + rev = "a371b662a4a8bc56e8a994531fcc280f30260048"; + sha256 = "065xwcbbnrrwkahpwmri0x8mi489md52i9mr1ngf5vqnvvsglgm3"; }; meta.homepage = "https://github.com/neovim/nvim-lspconfig/"; meta.hydraPlatforms = [ ]; @@ -10870,12 +10857,12 @@ final: prev: { nvim-metals = buildVimPlugin { pname = "nvim-metals"; - version = "2025-06-05"; + version = "2025-06-14"; src = fetchFromGitHub { owner = "scalameta"; repo = "nvim-metals"; - rev = "5ab889232ccb6e749094294e7979fda4a71fdecb"; - sha256 = "10asl4vi6di8vzhhjsczf8c5l16lcj0ygj2fbylav44ydy4dlwxd"; + rev = "852b8aa60d8ca30e14ef9253ced91656e845cfb7"; + sha256 = "1dg9fcj54w6xsbqxwv43694fpy3r172qgsnnhnndh82slmnxh55b"; }; meta.homepage = "https://github.com/scalameta/nvim-metals/"; meta.hydraPlatforms = [ ]; @@ -10974,12 +10961,12 @@ final: prev: { nvim-numbertoggle = buildVimPlugin { pname = "nvim-numbertoggle"; - version = "2025-04-25"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "sitiom"; repo = "nvim-numbertoggle"; - rev = "c469e0e588a54895591047f94c9f9ff5a1d658aa"; - sha256 = "1nf74a8ssw23rq3vq0kqkbwpd680pp19pdhl6z4qf11l427jn5n0"; + rev = "4b898b84d6f31f76bd563330d76177d5eb299efa"; + sha256 = "1fdlg874wvxynax8cmjag22sj333m7avavkpxxgqpxna3i61ndrm"; }; meta.homepage = "https://github.com/sitiom/nvim-numbertoggle/"; meta.hydraPlatforms = [ ]; @@ -10987,12 +10974,12 @@ final: prev: { nvim-origami = buildVimPlugin { pname = "nvim-origami"; - version = "2025-05-19"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "chrisgrieser"; repo = "nvim-origami"; - rev = "6965856d2282d015a9679184cdd91f6f01a26dad"; - sha256 = "0w6i90axf6gnf0ixxb8a3q2kgg83kx97zial0rw8sx8x3jy4n79n"; + rev = "d42ac98ae68d0280dc4d36d5968dd8f170ab9ccb"; + sha256 = "0wpbjzvv2l6xkqbs4v9b9qc3kbnvjbf8cbci6g1nakr3c50hv8g3"; }; meta.homepage = "https://github.com/chrisgrieser/nvim-origami/"; meta.hydraPlatforms = [ ]; @@ -11104,12 +11091,12 @@ final: prev: { nvim-rip-substitute = buildVimPlugin { pname = "nvim-rip-substitute"; - version = "2025-06-02"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "chrisgrieser"; repo = "nvim-rip-substitute"; - rev = "1738c92fe35f95a0f9814cd5984534c50f1b5103"; - sha256 = "101lhrnqqywzx9c0n0ad60a7pwgpwrnw1jsy0wqkav1d3l3pqllr"; + rev = "9718e040e3593608eb0654cf643be4982d68bb46"; + sha256 = "14vycvd1sccrg13n0225nl20kikngfn49nfp1pri3c9gy8ksvsl0"; }; meta.homepage = "https://github.com/chrisgrieser/nvim-rip-substitute/"; meta.hydraPlatforms = [ ]; @@ -11117,12 +11104,12 @@ final: prev: { nvim-scissors = buildVimPlugin { pname = "nvim-scissors"; - version = "2025-05-19"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "chrisgrieser"; repo = "nvim-scissors"; - rev = "8123690127a599b7d5669b074d572e6239222c45"; - sha256 = "0d9qw33y3b3jmvddplji284r0y0kj5bah8k014f9kzqbb0sdp3xk"; + rev = "cf890edfa78a5ba49176083150dbed1888872ff9"; + sha256 = "04rzsq8b1yq0x2cghj27i2y4kfb1zbm54df76iip40qksi33igpn"; }; meta.homepage = "https://github.com/chrisgrieser/nvim-scissors/"; meta.hydraPlatforms = [ ]; @@ -11143,12 +11130,12 @@ final: prev: { nvim-scrollview = buildVimPlugin { pname = "nvim-scrollview"; - version = "2025-04-26"; + version = "2025-06-14"; src = fetchFromGitHub { owner = "dstein64"; repo = "nvim-scrollview"; - rev = "70e88d7248eda2f73e8ea0c6a12aa4748b7a950e"; - sha256 = "1xyh04amj12q1cfdl7b6gz1zhym458faw7lymdgbvyg25pm06ah4"; + rev = "095181bc2adb64af670dae73208871a731f0bb86"; + sha256 = "1m2vdd7vw22s5mnvmy4ncwxpgdnr04i0bqxx20w2ywlg3qwpvrw1"; }; meta.homepage = "https://github.com/dstein64/nvim-scrollview/"; meta.hydraPlatforms = [ ]; @@ -11182,12 +11169,12 @@ final: prev: { nvim-snippy = buildVimPlugin { pname = "nvim-snippy"; - version = "2025-04-02"; + version = "2025-06-08"; src = fetchFromGitHub { owner = "dcampos"; repo = "nvim-snippy"; - rev = "93c329f7dad98565ad5db9634ced253d665c1760"; - sha256 = "0n2sp3m8glvwnanqa8yk3d54n9p16rcshqyi7d0manf1iykv9ilh"; + rev = "6e5a522e74595b0b2d45359a00b199dca4981236"; + sha256 = "0bzn5bl9gyj2bp8ljf9nm0p2gig31v54l46xjcj27r9aqccqhqrx"; }; meta.homepage = "https://github.com/dcampos/nvim-snippy/"; meta.hydraPlatforms = [ ]; @@ -11221,12 +11208,12 @@ final: prev: { nvim-spider = buildVimPlugin { pname = "nvim-spider"; - version = "2025-05-19"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "chrisgrieser"; repo = "nvim-spider"; - rev = "99df646eab60df0b948dd2532ef5f5512707a9a4"; - sha256 = "1w87hjylahnnw4dmj65dqd2kp9xb1hn14fn6bmqqg1ayhm3r0w92"; + rev = "d4bdc45eac425e77108f068bd0706ff3ac20be7f"; + sha256 = "1jflkycs68mx3am63gqp5nlqp0m2fgfav5njicl252cb4w1337xv"; }; meta.homepage = "https://github.com/chrisgrieser/nvim-spider/"; meta.hydraPlatforms = [ ]; @@ -11286,12 +11273,12 @@ final: prev: { nvim-tinygit = buildVimPlugin { pname = "nvim-tinygit"; - version = "2025-05-19"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "chrisgrieser"; repo = "nvim-tinygit"; - rev = "5988da3f64665798a67596e25eb93b9fc102a5e1"; - sha256 = "0xr5nlhd355dn330gm8l9d4s52k6shdh5njy8hdx0r13rznjvhvp"; + rev = "ac211b1df4064dd4b6a85f71b7c88e6b610d6881"; + sha256 = "0c7h7g7l6d0wlglgab95pfsd8428wfr44h2b733qgv4qr9s4ljrq"; }; meta.homepage = "https://github.com/chrisgrieser/nvim-tinygit/"; meta.hydraPlatforms = [ ]; @@ -11299,12 +11286,12 @@ final: prev: { nvim-tree-lua = buildVimPlugin { pname = "nvim-tree.lua"; - version = "2025-06-01"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "nvim-tree"; repo = "nvim-tree.lua"; - rev = "1c733e8c1957dc67f47580fe9c458a13b5612d5b"; - sha256 = "1a92zsb1r48s6cjphvx406lbxyc1v9w3gk9kkp3ri0k1l134aaw8"; + rev = "d54a1875a91e1a705795ea26074795210b92ce7f"; + sha256 = "0pwdkbyk2q1w9wl3fd1j7fgc55n2bl4pvci67vzp99pgbcd1srhk"; }; meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/"; meta.hydraPlatforms = [ ]; @@ -11325,12 +11312,12 @@ final: prev: { nvim-treesitter-context = buildVimPlugin { pname = "nvim-treesitter-context"; - version = "2025-06-02"; + version = "2025-06-14"; src = fetchFromGitHub { owner = "nvim-treesitter"; repo = "nvim-treesitter-context"; - rev = "464a443b5a6657f39772b20baa95d02ffe97b268"; - sha256 = "1q8ll6lkgqc2vhr9jz687a9rgzxrd0swy8cnsy2mb6c6626sxxhq"; + rev = "1a1a7c5d6d75cb49bf64049dafab15ebe294a79f"; + sha256 = "0akp0pvnvciigpnhinmmy6x5iwrf27ll2808a9ikq7akayjiz420"; }; meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-context/"; meta.hydraPlatforms = [ ]; @@ -11403,12 +11390,12 @@ final: prev: { nvim-treesitter-textobjects = buildVimPlugin { pname = "nvim-treesitter-textobjects"; - version = "2025-05-23"; + version = "2025-06-14"; src = fetchFromGitHub { owner = "nvim-treesitter"; repo = "nvim-treesitter-textobjects"; - rev = "0f051e9813a36481f48ca1f833897210dbcfffde"; - sha256 = "1vy2ihqknjrbmn4lw81hvhhqdg1pc2wc32ir96506bb3d273am7b"; + rev = "89ebe73cd2836db80a22d9748999ace0241917a5"; + sha256 = "1lvny4hzw0h8f1xdz78ga24w9w7j68ha68sjs9mvqsxn6xqh4ngr"; }; meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/"; meta.hydraPlatforms = [ ]; @@ -11468,12 +11455,12 @@ final: prev: { nvim-ufo = buildVimPlugin { pname = "nvim-ufo"; - version = "2025-05-07"; + version = "2025-06-09"; src = fetchFromGitHub { owner = "kevinhwang91"; repo = "nvim-ufo"; - rev = "3c7a3570e9c9dc198a2ad4491b0b0e51c4d4ba08"; - sha256 = "1akbq1nsm71snjx6n37070ycmhh46n5lqlvz6625zgsfg272fnz2"; + rev = "80fe8215ba566df2fbf3bf4d25f59ff8f41bc0e1"; + sha256 = "1rwk6hfkpvmm9sbbrqy89aacb00myha2ggsmfqqpnv06vmr68z34"; }; meta.homepage = "https://github.com/kevinhwang91/nvim-ufo/"; meta.hydraPlatforms = [ ]; @@ -11494,12 +11481,12 @@ final: prev: { nvim-various-textobjs = buildVimPlugin { pname = "nvim-various-textobjs"; - version = "2025-05-22"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "chrisgrieser"; repo = "nvim-various-textobjs"; - rev = "e60113244e43c8aefc118626056b310261211175"; - sha256 = "03wy31fmzpvjqx7klv6hwlgc66p4alc33vx5g81wjm78nxkr9yr3"; + rev = "61f69a0f2029b32cc3a815e5642592add3713a00"; + sha256 = "1dzjwvbf9kq6qx23vfbirzb01sq5l55b4b3954h5z7a55ag07b6z"; }; meta.homepage = "https://github.com/chrisgrieser/nvim-various-textobjs/"; meta.hydraPlatforms = [ ]; @@ -11624,12 +11611,12 @@ final: prev: { nvzone-typr = buildVimPlugin { pname = "nvzone-typr"; - version = "2025-04-24"; + version = "2025-06-12"; src = fetchFromGitHub { owner = "nvzone"; repo = "typr"; - rev = "ec1abe68229a0c3480ae2df51e1807fd091261ba"; - sha256 = "1n71rcx712cw2yhsiqzmby94j8d7nps9irx0j8bml63h96kkj6wb"; + rev = "bdd9ef7143702851edd1dac85101e0a537056d2f"; + sha256 = "0shikbdl2c82ql5wv0g7dcij6gb0kagywxwh3cy2jn0swqyfpf2h"; }; meta.homepage = "https://github.com/nvzone/typr/"; meta.hydraPlatforms = [ ]; @@ -11637,12 +11624,12 @@ final: prev: { nvzone-volt = buildVimPlugin { pname = "nvzone-volt"; - version = "2025-04-11"; + version = "2025-06-12"; src = fetchFromGitHub { owner = "nvzone"; repo = "volt"; - rev = "c45d5f48da8e802e608b5c6da471ca4d84276dfb"; - sha256 = "0mx2npsj39y0q11i14kg4brc6nqhk5hjfdbwr197x41m0qjdqdpb"; + rev = "7b8c5e790120d9f08c8487dcb80692db6d2087a1"; + sha256 = "0ms94297mw7vzn1kwbdbfri4dfg0h352fvm0gb5a0qrn290byfmk"; }; meta.homepage = "https://github.com/nvzone/volt/"; meta.hydraPlatforms = [ ]; @@ -11650,12 +11637,12 @@ final: prev: { obsidian-nvim = buildVimPlugin { pname = "obsidian.nvim"; - version = "2025-05-28"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "obsidian-nvim"; repo = "obsidian.nvim"; - rev = "b0e121ef4d1475dc56a2146d54a98a7520b87c8a"; - sha256 = "1rmfv5a232ld65y8hp715354am7220nzdfgj5iay8c4fq0dgc02z"; + rev = "08cd55aef5fe1968a2319c244187de160719e422"; + sha256 = "0hkc24makflribyni75ih4zvj8rhbfyicrhvbvww2aw69lz24sfn"; }; meta.homepage = "https://github.com/obsidian-nvim/obsidian.nvim/"; meta.hydraPlatforms = [ ]; @@ -11689,12 +11676,12 @@ final: prev: { octo-nvim = buildVimPlugin { pname = "octo.nvim"; - version = "2025-06-03"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "pwntester"; repo = "octo.nvim"; - rev = "ef7ece509e43cf757f027aa41436c0a40f4ed8bb"; - sha256 = "0smi2g8c7cfaj72jrdsx4na42x8yw9hmyrxrc0jp4swml8cymzfg"; + rev = "010864b6ffd70ac3ee7b2e61d04aa9d94ec225d9"; + sha256 = "01yinxrx1miy79k0gn24j0b4xn78wnp1xajxhhwpszrsyn6pig38"; }; meta.homepage = "https://github.com/pwntester/octo.nvim/"; meta.hydraPlatforms = [ ]; @@ -11767,12 +11754,12 @@ final: prev: { one-small-step-for-vimkind = buildVimPlugin { pname = "one-small-step-for-vimkind"; - version = "2025-06-01"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "jbyuki"; repo = "one-small-step-for-vimkind"; - rev = "81415bd613479d6d6d55e99ac9057264fe6aadac"; - sha256 = "1cr0slzggfbdhqapl2sw80hkqsayh08wigga1xkdcqvzikwjjal3"; + rev = "d9f832598e14f3b206b06f5738d02cebede65269"; + sha256 = "0shm8y5xgi2dj04dq964l1ww81bx7kvgw2h7nkz1lr1a63g4gfpx"; }; meta.homepage = "https://github.com/jbyuki/one-small-step-for-vimkind/"; meta.hydraPlatforms = [ ]; @@ -11936,12 +11923,12 @@ final: prev: { otter-nvim = buildVimPlugin { pname = "otter.nvim"; - version = "2025-06-04"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "jmbuhr"; repo = "otter.nvim"; - rev = "1348aad77adac26fe3dff44aa220c5a7e96aa8ae"; - sha256 = "0qdc2dy16jk9a081g1kfiiibxfmzwxvnl5d5m239mcfivzkwn8yq"; + rev = "f3a401851c25c64220dcf2470252a1adc28308d5"; + sha256 = "107x0x5h3rn8jj0wnm359jdw1nkarb04qia5f6248nnrjvm2xyii"; }; meta.homepage = "https://github.com/jmbuhr/otter.nvim/"; meta.hydraPlatforms = [ ]; @@ -12093,12 +12080,12 @@ final: prev: { parrot-nvim = buildVimPlugin { pname = "parrot.nvim"; - version = "2025-05-31"; + version = "2025-06-06"; src = fetchFromGitHub { owner = "frankroeder"; repo = "parrot.nvim"; - rev = "378d7706a392c06eabe0ddbbdc6ed5fa57ca4db0"; - sha256 = "1q9fg57vp7gvxlvzbml5j9vvzsivby384h0y5bxg32nvggj4amhy"; + rev = "476058b8acd677c556f76f34bb6a40dc2dfeedbd"; + sha256 = "1091jrs22zv1qqmw0193rmfb05p2arqckp73yi3lyqlkjfngwkdq"; }; meta.homepage = "https://github.com/frankroeder/parrot.nvim/"; meta.hydraPlatforms = [ ]; @@ -12119,12 +12106,12 @@ final: prev: { pckr-nvim = buildVimPlugin { pname = "pckr.nvim"; - version = "2025-05-09"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "lewis6991"; repo = "pckr.nvim"; - rev = "a793c6c38e7b54744c4b4658443e2d8fc103d552"; - sha256 = "1796rnacb8wm3bvmqsax78krw6a93yq9865vxm9387088fjd8a8v"; + rev = "dcc0e2766d7a3a1911287fef7060ac07908cf376"; + sha256 = "1230zv396bfx962a5zmq5ng3bhzfqq76bcad1imc3gm99ihvnmin"; }; meta.homepage = "https://github.com/lewis6991/pckr.nvim/"; meta.hydraPlatforms = [ ]; @@ -12367,12 +12354,12 @@ final: prev: { precognition-nvim = buildVimPlugin { pname = "precognition.nvim"; - version = "2025-04-01"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "tris203"; repo = "precognition.nvim"; - rev = "80ac0a99064eba71894dd164e891cc5d7e05827e"; - sha256 = "1v1knpvd3wxvixmfyzrjwg9r7xbixg53n4dvvk7r8d05y5cgbzmc"; + rev = "a0ed9c97b24002394201c39755e10495d47b2d3f"; + sha256 = "15gsd3cyx5na06nwy2p5jj68j6ln5mfjx2v7dvyyns3q6g8k98nl"; }; meta.homepage = "https://github.com/tris203/precognition.nvim/"; meta.hydraPlatforms = [ ]; @@ -12862,12 +12849,12 @@ final: prev: { render-markdown-nvim = buildVimPlugin { pname = "render-markdown.nvim"; - version = "2025-06-04"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "MeanderingProgrammer"; repo = "render-markdown.nvim"; - rev = "6f5a4c36d9383b2a916facaa63dcd573afa11ee8"; - sha256 = "15q8169wxslr6kmzqagvsj20j745cym72a2yjmdavh61mgs56rxh"; + rev = "76f7ce56ccb913632745714f160faa53164c5574"; + sha256 = "0qn538kmyi9m4axigscdkrazwq74bvgi40qlp9ckyg6j1nasqmlg"; }; meta.homepage = "https://github.com/MeanderingProgrammer/render-markdown.nvim/"; meta.hydraPlatforms = [ ]; @@ -12993,12 +12980,12 @@ final: prev: { roslyn-nvim = buildVimPlugin { pname = "roslyn.nvim"; - version = "2025-06-05"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "seblyng"; repo = "roslyn.nvim"; - rev = "21c8ff60d6e36b3938c88d81cc98096e2156d77f"; - sha256 = "00lm72l8zqav2cjv8m0vgrn5s359rbqi6a2p23hr6zbhwx8wbzj4"; + rev = "898dbd66bc88e170a5be5e1682073ecb5074d757"; + sha256 = "0x3bf16l6y94bjfxvj5csgqa2vxmkrjv76j70xh05q4cfyzsff7k"; }; meta.homepage = "https://github.com/seblyng/roslyn.nvim/"; meta.hydraPlatforms = [ ]; @@ -13123,12 +13110,12 @@ final: prev: { schema-companion-nvim = buildVimPlugin { pname = "schema-companion.nvim"; - version = "2025-06-05"; + version = "2025-06-09"; src = fetchFromGitHub { owner = "cenk1cenk2"; repo = "schema-companion.nvim"; - rev = "a39cbf5a31ae7aec71e5aaec5e6d409f22b05099"; - sha256 = "1s0lqxz1rh4f7jspl45pa9981zwz0i0h9c4ml0zy55y926454339"; + rev = "71c9e53b399dc7063381c693b7f06f7144772d45"; + sha256 = "0ahra24bz8zphk9irzlsrab12vmxrqxzfbj6h59bshhp97hm2s40"; }; meta.homepage = "https://github.com/cenk1cenk2/schema-companion.nvim/"; meta.hydraPlatforms = [ ]; @@ -13371,12 +13358,12 @@ final: prev: { smart-splits-nvim = buildVimPlugin { pname = "smart-splits.nvim"; - version = "2025-06-02"; + version = "2025-06-13"; src = fetchFromGitHub { owner = "mrjones2014"; repo = "smart-splits.nvim"; - rev = "e80bf81015a342b78e3e9ef0395a09ca91f666de"; - sha256 = "12nd3cra6dw5nyqgcp9cvsrdxrf4m575ngi3f03180cpnsw6vhmx"; + rev = "dcc9a886ac7214db6dd67d27044b8388b628dcb6"; + sha256 = "189iw8k8zvsg6h9xc7r221dp1jdaqmglrpba62grzz9w2gwayka1"; }; meta.homepage = "https://github.com/mrjones2014/smart-splits.nvim/"; meta.hydraPlatforms = [ ]; @@ -13423,12 +13410,12 @@ final: prev: { smear-cursor-nvim = buildVimPlugin { pname = "smear-cursor.nvim"; - version = "2025-05-08"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "sphamba"; repo = "smear-cursor.nvim"; - rev = "162703638203060b1d3412e73429d232bbd2627e"; - sha256 = "03clizj8bfv4smkf63n4idq6jijynnqj8p61ck8fg9w4l27n51bc"; + rev = "1f90eb06eab82b5fe2ed708b94dcc325d6f5fb5a"; + sha256 = "1pgj8mcmb9ym1h88fc1650mv0vzdgm9j2v7q6k3zplkwvvy143qf"; }; meta.homepage = "https://github.com/sphamba/smear-cursor.nvim/"; meta.hydraPlatforms = [ ]; @@ -13957,12 +13944,12 @@ final: prev: { switch-vim = buildVimPlugin { pname = "switch.vim"; - version = "2025-04-16"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "AndrewRadev"; repo = "switch.vim"; - rev = "f4b831b86e1e65af8c4f8be6434e15bef98d111e"; - sha256 = "1ygv1wj9034r6g2yr9ibb10hnm8z0f1dkf8a3rk5mc59803f3mvs"; + rev = "df58397cfa36d2f428ddc2652ba32d1db2af6d02"; + sha256 = "1yi6dh2icsqvz8i47mnyirgk9i6wipqmmq7gn3jzzcnxp7y327i4"; fetchSubmodules = true; }; meta.homepage = "https://github.com/AndrewRadev/switch.vim/"; @@ -14128,12 +14115,12 @@ final: prev: { tagbar = buildVimPlugin { pname = "tagbar"; - version = "2025-06-03"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "preservim"; repo = "tagbar"; - rev = "b72250e9d77b7a5cf9be067875dc5270652b005e"; - sha256 = "19p2j36bzjma3rgxxms1ckw4ir6sngiz3df8gkmjnxszdwaw5fva"; + rev = "2ef4ecba94440fcf8a8c692a0f2b36b332f1f0f2"; + sha256 = "1axbmapl50yjxdx07rxf7bfna776bv6lpcx42gl291bmilnqgxfq"; }; meta.homepage = "https://github.com/preservim/tagbar/"; meta.hydraPlatforms = [ ]; @@ -14193,14 +14180,14 @@ final: prev: { taskwiki = buildVimPlugin { pname = "taskwiki"; - version = "2024-02-29"; + version = "2025-06-14"; src = fetchFromGitHub { - owner = "tools-life"; + owner = "tbabej"; repo = "taskwiki"; - rev = "0ee63dd1f5d80be3296f14070211f4ade96d0e36"; - sha256 = "0njp2jy76vl2m627iswi6dmfqbp04da7q2p4lc32n1a4p7b2vfcc"; + rev = "e7f4335a777b47cf6896651187ce2b9a64b06825"; + sha256 = "01c4ig1rxnp7iigasca3psmalfpka2zba52zhc3qqhb0ysaxsw81"; }; - meta.homepage = "https://github.com/tools-life/taskwiki/"; + meta.homepage = "https://github.com/tbabej/taskwiki/"; meta.hydraPlatforms = [ ]; }; @@ -14298,12 +14285,12 @@ final: prev: { telescope-file-browser-nvim = buildVimPlugin { pname = "telescope-file-browser.nvim"; - version = "2024-10-24"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "nvim-telescope"; repo = "telescope-file-browser.nvim"; - rev = "626998e5c1b71c130d8bc6cf7abb6709b98287bb"; - sha256 = "066b5mhn35ia6v4fi61zgyswqplfip74qch6j4afqk2kvn5x35jl"; + rev = "7bf55ed0ff5be182ad3301cff266581fc1c56cce"; + sha256 = "1d08218s9qqwdgwzizhcah3p1xxalrrcbzbsljrbg95mrzfi8xrl"; }; meta.homepage = "https://github.com/nvim-telescope/telescope-file-browser.nvim/"; meta.hydraPlatforms = [ ]; @@ -14455,12 +14442,12 @@ final: prev: { telescope-sg = buildVimPlugin { pname = "telescope-sg"; - version = "2024-04-22"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "Marskey"; repo = "telescope-sg"; - rev = "caceaa670f26a581fb20ce99576ed8155c3ae96d"; - sha256 = "0aii4vy97zyh2fpdkawwdanwd7sd0751ih5yznjcwn8cvrv74wl5"; + rev = "9eb1c2a35359892c0b02be4bbdd549e06ad097ba"; + sha256 = "0dzc8s6ycalgzkjpv10vwas98l7aqs2nvjr41nlsyk1jnyxshbpz"; }; meta.homepage = "https://github.com/Marskey/telescope-sg/"; meta.hydraPlatforms = [ ]; @@ -14781,12 +14768,12 @@ final: prev: { timerly = buildVimPlugin { pname = "timerly"; - version = "2025-04-16"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "nvzone"; repo = "timerly"; - rev = "17299a4d332c483ce09052fe8478b41b992f2594"; - sha256 = "0nfyw98nb95df0dpnxlaipgar92b8z2z3rxfih2fc86m6gxv2mm2"; + rev = "8e150d9952f4d8be73d0869f8b2fc766aef068b8"; + sha256 = "07rkikq090xj518rhz2kfh1dcg3iryf0mb1mmw8b8qp47n27r41a"; }; meta.homepage = "https://github.com/nvzone/timerly/"; meta.hydraPlatforms = [ ]; @@ -14818,14 +14805,27 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + tinted-nvim = buildVimPlugin { + pname = "tinted-nvim"; + version = "2025-06-10"; + src = fetchFromGitHub { + owner = "tinted-theming"; + repo = "tinted-nvim"; + rev = "d3e6d9b0875e60e9aa9d105ff8eb64ee9d599514"; + sha256 = "08wn9kzxblbvrjnzx5v52lk57av0dbg6jnk581jaiia8z6c5bja2"; + }; + meta.homepage = "https://github.com/tinted-theming/tinted-nvim/"; + meta.hydraPlatforms = [ ]; + }; + tinted-vim = buildVimPlugin { pname = "tinted-vim"; - version = "2025-06-05"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "tinted-theming"; repo = "tinted-vim"; - rev = "658b34995a253d0ee4764103a0e17440b6cfb45a"; - sha256 = "1b0gsw1nld6r886npp0s64si7x3dpvmjr7vmr4a3jwi1jday15cg"; + rev = "d100783e156d14d9864e1404dc2cc560a8ac5cde"; + sha256 = "1ri64z8zs65zs6i1mbfgp8kln506fvcl66rffmpsa24hnxspjgvd"; }; meta.homepage = "https://github.com/tinted-theming/tinted-vim/"; meta.hydraPlatforms = [ ]; @@ -15043,12 +15043,12 @@ final: prev: { treewalker-nvim = buildVimPlugin { pname = "treewalker.nvim"; - version = "2025-06-05"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "aaronik"; repo = "treewalker.nvim"; - rev = "fe814c2181dc3004d97073a613c20554cc1a7d7b"; - sha256 = "05dkiilkqzl488k1ifwk5xj48zfy14pzny062llm2jyc7pxcrwlk"; + rev = "cfae49dedd041dbe867c2b3d0b081fc381a735e9"; + sha256 = "0iglgg23halpidapj7d4fb391ivclac0i50yq3wzs2jyv1372xmp"; }; meta.homepage = "https://github.com/aaronik/treewalker.nvim/"; meta.hydraPlatforms = [ ]; @@ -15356,12 +15356,12 @@ final: prev: { unified-nvim = buildVimPlugin { pname = "unified.nvim"; - version = "2025-06-08"; + version = "2025-06-16"; src = fetchFromGitHub { owner = "axkirillov"; repo = "unified.nvim"; - rev = "0d8eebd3909b86ca30407d79b547a245185082c2"; - sha256 = "1r3pdh3rhlkrp9ykzxwaqrfww87dpa6b72kfvxf3j24firl0m9nv"; + rev = "020610abdead2a9e953fa4dafc404da27394a84e"; + sha256 = "0kh04a5w0qca52lfnvwwx9khq1drcmhxpvjq1himqisvbqi0g0hm"; }; meta.homepage = "https://github.com/axkirillov/unified.nvim/"; meta.hydraPlatforms = [ ]; @@ -15395,12 +15395,12 @@ final: prev: { unison = buildVimPlugin { pname = "unison"; - version = "2025-06-04"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "unisonweb"; repo = "unison"; - rev = "3766e89f85cb838a89d14e36f5ca836ce022e8b1"; - sha256 = "1sxcypq5fgmjif30vqgdgql6mbvbdm9ckidri6mp6p8rhqy9ssm4"; + rev = "87afbd3d8053c5594b79fd26d7893c4bf60c106b"; + sha256 = "0bz9r6r606gd1vyz24v6vxq5699in0zysp50yyvsl1aivq5qwnrh"; }; meta.homepage = "https://github.com/unisonweb/unison/"; meta.hydraPlatforms = [ ]; @@ -15525,12 +15525,12 @@ final: prev: { vifm-vim = buildVimPlugin { pname = "vifm.vim"; - version = "2025-05-30"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "vifm"; repo = "vifm.vim"; - rev = "169373867147a45db6b5ce5855addbcc1a4d6893"; - sha256 = "09wfp8zm7s3mcsi2j0wps1lwhrlivq5jzjhnl5fiimz441d4k3hn"; + rev = "e5321c4399db69bf8ccfd2d880aae97a2ca44715"; + sha256 = "1dallw577f5ipzmiaj93jkm5vixqmjkq3blmx4wpfga8b357wcb2"; }; meta.homepage = "https://github.com/vifm/vifm.vim/"; meta.hydraPlatforms = [ ]; @@ -17306,12 +17306,12 @@ final: prev: { vim-floaterm = buildVimPlugin { pname = "vim-floaterm"; - version = "2025-05-24"; + version = "2025-06-07"; src = fetchFromGitHub { owner = "voldikss"; repo = "vim-floaterm"; - rev = "b02d1f4a87ad6f5b300d225e5ac62bde9d86086b"; - sha256 = "1wb8bdxiq8hmvz0ffmf9sqyx6bpjh29r5mqrjn51smnlzcfqsxmy"; + rev = "b18b41d15d2492f74f01ecac12f786b81f38262e"; + sha256 = "0xflmkvzgl45srlm8ii87as4sfdi2lhah6qgvx428xicix2sfsq2"; }; meta.homepage = "https://github.com/voldikss/vim-floaterm/"; meta.hydraPlatforms = [ ]; @@ -17774,12 +17774,12 @@ final: prev: { vim-helm = buildVimPlugin { pname = "vim-helm"; - version = "2024-05-31"; + version = "2025-06-08"; src = fetchFromGitHub { owner = "towolf"; repo = "vim-helm"; - rev = "ae1ebc160d2b9b90108477ab10df7a4fc501e358"; - sha256 = "04lv5sv6533fnyg28pbghrqnimhaxssav4lam1zh7h4y5cq7rdn6"; + rev = "cc5ac22444332381f38084a6c7f023c25eef6201"; + sha256 = "0jkfhgw0zczk8kgd3cxj6d5ir0c3llnv19a4wzzfr8zdxv98n2q2"; }; meta.homepage = "https://github.com/towolf/vim-helm/"; meta.hydraPlatforms = [ ]; @@ -20220,12 +20220,12 @@ final: prev: { vim-spirv = buildVimPlugin { pname = "vim-spirv"; - version = "2025-06-05"; + version = "2025-06-12"; src = fetchFromGitHub { owner = "kbenzie"; repo = "vim-spirv"; - rev = "5e5dbebfae3b239bf5b5fdae1ba748940468830e"; - sha256 = "0hicyp3q6hhpsk6v944v3if6v47a8xsg2czz4qka8rlggc039v9w"; + rev = "f5d8ba0a1e184bf98b8676331eebec9bfe4f240d"; + sha256 = "1i4jas25f6swckfsplg03bhph9pkr5h2j6919kf8i7mpsik39dj9"; }; meta.homepage = "https://github.com/kbenzie/vim-spirv/"; meta.hydraPlatforms = [ ]; @@ -20494,12 +20494,12 @@ final: prev: { vim-test = buildVimPlugin { pname = "vim-test"; - version = "2025-06-04"; + version = "2025-06-17"; src = fetchFromGitHub { owner = "vim-test"; repo = "vim-test"; - rev = "202d4cd6ace8399014d5c0e81385cb65da398642"; - sha256 = "0rscbqx2yf4xav8fq3r2dz70k87vsn7lkzkg1yf9q8dkfarvwyyi"; + rev = "672573b20307e0b692da03028770b058668d670f"; + sha256 = "1lswa5qypnybqksk0ffkwrh0rsvz3i35lwbblw9n7hy2xabkgwmv"; }; meta.homepage = "https://github.com/vim-test/vim-test/"; meta.hydraPlatforms = [ ]; @@ -20650,12 +20650,12 @@ final: prev: { vim-tmux-navigator = buildVimPlugin { pname = "vim-tmux-navigator"; - version = "2025-06-02"; + version = "2025-06-08"; src = fetchFromGitHub { owner = "christoomey"; repo = "vim-tmux-navigator"; - rev = "97e58f2b3b4f8fd30ce149302f10202f363cc361"; - sha256 = "0xg9gdybrpm02m3jff393bdhdaynisanidc6zr6hv8lc66vcl6j3"; + rev = "412c474e97468e7934b9c217064025ea7a69e05e"; + sha256 = "15in1awm0xr1mq0i8hpxdfh89hyfa937sb3axxwdgf6sarip6f3k"; }; meta.homepage = "https://github.com/christoomey/vim-tmux-navigator/"; meta.hydraPlatforms = [ ]; @@ -21183,12 +21183,12 @@ final: prev: { vimade = buildVimPlugin { pname = "vimade"; - version = "2025-03-02"; + version = "2025-06-08"; src = fetchFromGitHub { owner = "TaDaa"; repo = "vimade"; - rev = "f63ca5cb9cf811b2c526694e820b87fe2238deb6"; - sha256 = "16cpxgh44lv4z4lqmdvf04ynrak4frnpqyahrh6gc1zn6xg92fwx"; + rev = "7a7252406918c60992c01fd9d8ad08152815ba67"; + sha256 = "0ld3mabhdr33hbwv19nliv7kcfaxz6hxm6fn77dzcag6zmhs1iw8"; }; meta.homepage = "https://github.com/TaDaa/vimade/"; meta.hydraPlatforms = [ ]; @@ -21314,12 +21314,12 @@ final: prev: { vimtex = buildVimPlugin { pname = "vimtex"; - version = "2025-06-12"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "lervag"; repo = "vimtex"; - rev = "4b4f18b1b181cdea35fdc418e5eb511f20e1f0fb"; - sha256 = "1dwp05rkpykq3ppwy45hcy6d8d63sh76i4qmw3387ybisj06929v"; + rev = "e10525a5aa65e2544f11e680dd81c77fba800248"; + sha256 = "0c2pcllw1a7q6jb5dkm3947g4969fan94ca1y6v2lj6bdarrb8a7"; }; meta.homepage = "https://github.com/lervag/vimtex/"; meta.hydraPlatforms = [ ]; @@ -21418,12 +21418,12 @@ final: prev: { visual-whitespace-nvim = buildVimPlugin { pname = "visual-whitespace.nvim"; - version = "2025-06-02"; + version = "2025-06-12"; src = fetchFromGitHub { owner = "mcauley-penney"; repo = "visual-whitespace.nvim"; - rev = "11b654e7e053e52e375297f472c8824a74b1b965"; - sha256 = "0ivs92hr1gbz6hap9vm31gxypdjrqffv4si4hh9nxvaw2hcnmasv"; + rev = "b5ab2ea698a07ef0fa042d0c61667c3cb06e92c8"; + sha256 = "1zkip86yyg4jk05rpm5df256bpcdzvx5aiijj2cvq8j5c69sxjx0"; }; meta.homepage = "https://github.com/mcauley-penney/visual-whitespace.nvim/"; meta.hydraPlatforms = [ ]; @@ -21444,12 +21444,12 @@ final: prev: { vscode-nvim = buildVimPlugin { pname = "vscode.nvim"; - version = "2025-05-14"; + version = "2025-06-10"; src = fetchFromGitHub { owner = "Mofiqul"; repo = "vscode.nvim"; - rev = "57cec1509bfb57dfc3c4d5ba5e8db9a5b5e42be2"; - sha256 = "0w2ibwcxj4i2xa4xs7901mmkyynxs7q0754fmzj4mfhxpb6nqz9q"; + rev = "4d1c3c64d1afddd7934fb0e687fd9557fc66be41"; + sha256 = "0al7q15101sv29plfxjg5l0s1wnac7v4bvx97bz394q6nw1ssjnb"; }; meta.homepage = "https://github.com/Mofiqul/vscode.nvim/"; meta.hydraPlatforms = [ ]; @@ -21730,12 +21730,12 @@ final: prev: { wtf-nvim = buildVimPlugin { pname = "wtf.nvim"; - version = "2025-03-17"; + version = "2025-06-14"; src = fetchFromGitHub { owner = "piersolenski"; repo = "wtf.nvim"; - rev = "22dac666c8847c9cb03afe99229d459f1d0822c4"; - sha256 = "0hraiw10ia93ryhfb207kha6hhhnsbmfdid6h44dsg87mkixm3c8"; + rev = "7e6a73f3db0fb9e572a91d015c2bec2083da95d2"; + sha256 = "1qka1d19azxbn3r5zfrbvvwzpc2gfhda254fhzaamamriwzs39z8"; }; meta.homepage = "https://github.com/piersolenski/wtf.nvim/"; meta.hydraPlatforms = [ ]; @@ -21795,12 +21795,12 @@ final: prev: { yaml-schema-detect-nvim = buildVimPlugin { pname = "yaml-schema-detect.nvim"; - version = "2025-05-15"; + version = "2025-06-06"; src = fetchFromGitHub { owner = "cwrau"; repo = "yaml-schema-detect.nvim"; - rev = "18b40548cb9a8c70e0d35c362e5f7150d6baef12"; - sha256 = "1kydjk8816b2348yny3ci0dqd96syy7jsf4g577dm7d0rsskimz8"; + rev = "debcb2835685a06d5b22666bb30d2d930e23d68a"; + sha256 = "1q4n6ns8rw84lhc8ydcnb1n856x9pvfwhl33w09lv9k7nqplcl00"; }; meta.homepage = "https://github.com/cwrau/yaml-schema-detect.nvim/"; meta.hydraPlatforms = [ ]; @@ -21835,12 +21835,12 @@ final: prev: { yazi-nvim = buildVimPlugin { pname = "yazi.nvim"; - version = "2025-06-01"; + version = "2025-06-15"; src = fetchFromGitHub { owner = "mikavilpas"; repo = "yazi.nvim"; - rev = "e2ddbaa88ec61d0b96e3d53ba851b0e7a0b36f14"; - sha256 = "1d3lk4q5ivysvjmy8pq2l39cd2sabwkh9y0iizcydaa2vdax8cyy"; + rev = "c61f2d29ab94c5f22cbca5088dcfd33d7659dae8"; + sha256 = "0nzj7b0v0xnvi92yxx95wl5212gk7yfw3l0za7rwnyb443x2afgw"; }; meta.homepage = "https://github.com/mikavilpas/yazi.nvim/"; meta.hydraPlatforms = [ ]; @@ -21939,12 +21939,12 @@ final: prev: { zenbones-nvim = buildVimPlugin { pname = "zenbones.nvim"; - version = "2025-04-22"; + version = "2025-06-11"; src = fetchFromGitHub { owner = "zenbones-theme"; repo = "zenbones.nvim"; - rev = "9deaa8a38e43e8c587b427095dd43c3511255b21"; - sha256 = "1raj06j4qr0gamvjvpj109dhaxybrkcmdb271f1v42aw7v1mn9w0"; + rev = "510819be60a7e470f244488bc705c1fbcd88c4fc"; + sha256 = "0xm8nys1sjqrihlgrsiv2adpwwhmgsqc3jfjr0rpzhik6mbkagpw"; }; meta.homepage = "https://github.com/zenbones-theme/zenbones.nvim/"; meta.hydraPlatforms = [ ]; @@ -21991,12 +21991,12 @@ final: prev: { zk-nvim = buildVimPlugin { pname = "zk-nvim"; - version = "2025-05-20"; + version = "2025-06-06"; src = fetchFromGitHub { owner = "zk-org"; repo = "zk-nvim"; - rev = "08f3591d55cc73828a99019ef6545b939a88cc13"; - sha256 = "1fxyl3gj792li8s3kpcvsf6yxa6bbwaibrfh22jcpr0hpc5haz7s"; + rev = "b18782530b23ad118d578c0fa0e4d0b8d386db4c"; + sha256 = "1wnlh24gh5v2bkw8gbagravlchx73i4l0x5virp9q6f82kscmq43"; }; meta.homepage = "https://github.com/zk-org/zk-nvim/"; meta.hydraPlatforms = [ ]; diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix index 1979699c777c..46b813529cc8 100644 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix @@ -43,12 +43,12 @@ }; angular = buildGrammar { language = "angular"; - version = "0.0.0+rev=8435251"; + version = "0.0.0+rev=820566b"; src = fetchFromGitHub { owner = "dlvandenberg"; repo = "tree-sitter-angular"; - rev = "843525141575e397541e119698f0532755e959f6"; - hash = "sha256-SPBtbwEMGPrEUCbxSlQl44+hK4Yphngp8QsLkmMsDBk="; + rev = "820566bb4eb3d288822dbfee42417a5a9491aea6"; + hash = "sha256-sSa/a0Py0M5fDRxe/9jTLHDq7Wl4bK3umSZOI82FLwg="; }; meta.homepage = "https://github.com/dlvandenberg/tree-sitter-angular"; }; @@ -121,12 +121,12 @@ }; bash = buildGrammar { language = "bash"; - version = "0.0.0+rev=0c46d79"; + version = "0.0.0+rev=56b54c6"; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-bash"; - rev = "0c46d792d54c536be5ff7eb18eb95c70fccdb232"; - hash = "sha256-ODWgFpCLLPgzNYXFhfAVvDXPr5bW8/49ezsaS9MOWMk="; + rev = "56b54c61fb48bce0c63e3dfa2240b5d274384763"; + hash = "sha256-vRaN/mNfpR+hdv2HVS1bzaW0o+HGjizRFsk3iinICJE="; }; meta.homepage = "https://github.com/tree-sitter/tree-sitter-bash"; }; @@ -231,23 +231,23 @@ }; c = buildGrammar { language = "c"; - version = "0.0.0+rev=0910937"; + version = "0.0.0+rev=7fa1be1"; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-c"; - rev = "091093731389448e10822dd140621cfec1ff96b2"; - hash = "sha256-VKbmi5UjwkK1sME11x97lAvLvliDK4Wc/1V0hkQZDS0="; + rev = "7fa1be1b694b6e763686793d97da01f36a0e5c12"; + hash = "sha256-gmzbdwvrKSo6C1fqTJFGxy8x0+T+vUTswm7F5sojzKc="; }; meta.homepage = "https://github.com/tree-sitter/tree-sitter-c"; }; c3 = buildGrammar { language = "c3"; - version = "0.0.0+rev=dce56cc"; + version = "0.0.0+rev=6eb8acc"; src = fetchFromGitHub { owner = "c3lang"; repo = "tree-sitter-c3"; - rev = "dce56ccc5d2731ac14a0f6bb3fd1666d994b2a25"; - hash = "sha256-EWM787+zcaEULu2fnt/fmATSmBhVU/zp9vxI4xdcXEI="; + rev = "6eb8acc275961d137b4b4dd7fe84a19a0680c893"; + hash = "sha256-SRA1u4763dyRilr3oja/izNDEx5eejGivMbxVg9snYo="; }; meta.homepage = "https://github.com/c3lang/tree-sitter-c3"; }; @@ -319,12 +319,12 @@ }; clojure = buildGrammar { language = "clojure"; - version = "0.0.0+rev=f4236d4"; + version = "0.0.0+rev=40c5fc2"; src = fetchFromGitHub { owner = "sogaiu"; repo = "tree-sitter-clojure"; - rev = "f4236d4da8aa92bc105d9c118746474c608e6af7"; - hash = "sha256-UlK6D/xnuPFL/Cu5W7hBMQ/zbodFwrS1CeJDjVpZFpo="; + rev = "40c5fc2e2a0f511a802a82002553c5de00feeaf4"; + hash = "sha256-t5lLOUBgsUewnfTOIreGq83OnGNzUbl6UDDB/HCocpg="; }; meta.homepage = "https://github.com/sogaiu/tree-sitter-clojure"; }; @@ -452,12 +452,12 @@ }; cylc = buildGrammar { language = "cylc"; - version = "0.0.0+rev=1f3cb70"; + version = "0.0.0+rev=5517eca"; src = fetchFromGitHub { owner = "elliotfontaine"; repo = "tree-sitter-cylc"; - rev = "1f3cb70200b4e238e19652705336e7f2c52b8e2f"; - hash = "sha256-bUyjBY4lunMKYvuD/AnqLJF8Ej0AM7unnEropIcqwFg="; + rev = "5517ecade85b1de85ed8e0cb742b81decc64183a"; + hash = "sha256-nKlQ80s7JytMsvJdoIdGmWo3KRs9YDe3W3PBjcvSB1A="; }; meta.homepage = "https://github.com/elliotfontaine/tree-sitter-cylc"; }; @@ -584,12 +584,12 @@ }; dtd = buildGrammar { language = "dtd"; - version = "0.0.0+rev=291b020"; + version = "0.0.0+rev=87be254"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-xml"; - rev = "291b02018c525abe70fec41559cfe8f2f1cc84b2"; - hash = "sha256-UxFI86fbhuij+QTex4l139PPMMgAha7rZcBlHSRPJYI="; + rev = "87be254e12169240a0e0214dbee5e208df96fa75"; + hash = "sha256-Wf5PY8I0i/YH5dTgVhiZ+DZ2LGsc+NPVWyzkidaQxeI="; }; location = "dtd"; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-xml"; @@ -619,12 +619,12 @@ }; editorconfig = buildGrammar { language = "editorconfig"; - version = "0.0.0+rev=65de8da"; + version = "0.0.0+rev=cbe0d13"; src = fetchFromGitHub { owner = "ValdezFOmar"; repo = "tree-sitter-editorconfig"; - rev = "65de8da4ff21a8be40adb5dadcd7a0f39d2f0747"; - hash = "sha256-nxDl0/2zsTL7ae1L+NvMn2QoaaJa0YTk7BP8bHnkAUA="; + rev = "cbe0d13e8d67d3a97856f29e5b1d4233cbf32577"; + hash = "sha256-NAFZy/Mhn8o3Cvfs6eRdwJL3etD9eh8o3wQ7nejXl8Y="; }; meta.homepage = "https://github.com/ValdezFOmar/tree-sitter-editorconfig"; }; @@ -707,23 +707,23 @@ }; enforce = buildGrammar { language = "enforce"; - version = "0.0.0+rev=36064bd"; + version = "0.0.0+rev=8e4c841"; src = fetchFromGitHub { owner = "simonvic"; repo = "tree-sitter-enforce"; - rev = "36064bd71ce22e9a8c73b64b1a3448cc600a4312"; - hash = "sha256-Ijt0OSQtyXU1zTqkaudN0c7i0jV6asN1VR/Ip06LLsw="; + rev = "8e4c84144153deaf2b8461def43126cea6790020"; + hash = "sha256-63zruBKP7aeyJ6SOTMaic/7xXibxuiETdPVqhj1UlfI="; }; meta.homepage = "https://github.com/simonvic/tree-sitter-enforce"; }; erlang = buildGrammar { language = "erlang"; - version = "0.0.0+rev=067d669"; + version = "0.0.0+rev=07dad14"; src = fetchFromGitHub { owner = "WhatsApp"; repo = "tree-sitter-erlang"; - rev = "067d66937c8eeb6651e349f400c1756c2ea90b2e"; - hash = "sha256-EJJZr193G6O8cTOkqfp1zbWfzp0NBWzAqReGHk0+BQo="; + rev = "07dad1469ecb7df80f2b6d5178f79564d19d67e0"; + hash = "sha256-wo6EX5X0Cuby9CEwfTTZjZ/RHq3/U910wuowFoNkQf8="; }; meta.homepage = "https://github.com/WhatsApp/tree-sitter-erlang"; }; @@ -740,12 +740,12 @@ }; faust = buildGrammar { language = "faust"; - version = "0.0.0+rev=f3b9274"; + version = "0.0.0+rev=aa033eb"; src = fetchFromGitHub { owner = "khiner"; repo = "tree-sitter-faust"; - rev = "f3b9274514b5f9bf6b0dd4a01c30f9cc15c58bc4"; - hash = "sha256-JwR8LCEptgQmEG/ruK5ukIGCNtvKJw5bobZ0WXF1ulY="; + rev = "aa033eb46c3b40e936db5847e0e91445ab606ee4"; + hash = "sha256-OTevU/b8jcnShXXPHTHhF5urppU0QMa+6iFO/m+7NDY="; }; meta.homepage = "https://github.com/khiner/tree-sitter-faust"; }; @@ -784,12 +784,12 @@ }; fish = buildGrammar { language = "fish"; - version = "0.0.0+rev=70640c0"; + version = "0.0.0+rev=aa074a0"; src = fetchFromGitHub { owner = "ram02z"; repo = "tree-sitter-fish"; - rev = "70640c0696abde32622afc43291a385681afbd32"; - hash = "sha256-d+z43w7nl0ZzVjypwxk+xPivb/W6xJ21Uc63Ux9S74k="; + rev = "aa074a0bacde8b5823c592574d7138f156a95776"; + hash = "sha256-ZQj6XR7pHGoCOBS6GOHiRW9LWNoNPlwVcZe5F2mtGNE="; }; meta.homepage = "https://github.com/ram02z/tree-sitter-fish"; }; @@ -817,12 +817,12 @@ }; fortran = buildGrammar { language = "fortran"; - version = "0.0.0+rev=d738334"; + version = "0.0.0+rev=1b08f4c"; src = fetchFromGitHub { owner = "stadelmanma"; repo = "tree-sitter-fortran"; - rev = "d738334e4a21866a1ab81fb3f27f9b0b2ad2e515"; - hash = "sha256-NiGBc8o+WOegHm/2yl5EXAdjpKE+l9Lo5bUvOkCWXqo="; + rev = "1b08f4c65fb47c76d3532cd3f7432d03abb9ef69"; + hash = "sha256-s3yRM80QTy1KnVObmHtKQRY8hLe/nBRUWpdsHf7TYLc="; }; meta.homepage = "https://github.com/stadelmanma/tree-sitter-fortran"; }; @@ -895,12 +895,12 @@ }; gdscript = buildGrammar { language = "gdscript"; - version = "0.0.0+rev=e964ce9"; + version = "0.0.0+rev=48b4933"; src = fetchFromGitHub { owner = "PrestonKnopp"; repo = "tree-sitter-gdscript"; - rev = "e964ce912b5b835f1caedb600df9d5be77e803a8"; - hash = "sha256-nLe5AY3my4fjez6EFRL8l3JFJWJWoq3jWUn0Apq/Lac="; + rev = "48b49330888a4669b48619b211cc8da573827725"; + hash = "sha256-mGmrCK3nGSzi/66mOxvpRyTA9b74aTMSoIISqzj+l90="; }; meta.homepage = "https://github.com/PrestonKnopp/tree-sitter-gdscript"; }; @@ -939,12 +939,12 @@ }; gitattributes = buildGrammar { language = "gitattributes"; - version = "0.0.0+rev=5425944"; + version = "0.0.0+rev=f23072a"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-gitattributes"; - rev = "5425944fd61bf2b3bad2c17c2dc9f53172b0f01d"; - hash = "sha256-X6M9/41xISnkDnXNgQAWexs68h8A0dwOz+aQa86H0pc="; + rev = "f23072a51e1c764d6c5bf461194a775c8a5c7a95"; + hash = "sha256-CPs4loc+UcFZTeC+NkFo/LK2UAxG39RTkbnKR6g9kOE="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-gitattributes"; }; @@ -1071,12 +1071,12 @@ }; godot_resource = buildGrammar { language = "godot_resource"; - version = "0.0.0+rev=a1a7295"; + version = "0.0.0+rev=9bbb540"; src = fetchFromGitHub { owner = "PrestonKnopp"; repo = "tree-sitter-godot-resource"; - rev = "a1a7295b376fbd2531601f4ffff191b031ffc795"; - hash = "sha256-+tUMLqtak9ToY+UUnIiqngDs6diG8crW8Ac0mbk7FMo="; + rev = "9bbb540e8a2734101c6857bd437f04baa974e03d"; + hash = "sha256-cBhDILQwu+RmYVXrnQ2eBCyUlDj7yztdc2nb/jIFikg="; }; meta.homepage = "https://github.com/PrestonKnopp/tree-sitter-godot-resource"; }; @@ -1225,12 +1225,12 @@ }; hcl = buildGrammar { language = "hcl"; - version = "0.0.0+rev=009def4"; + version = "0.0.0+rev=28e327c"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-hcl"; - rev = "009def4ae38ec30e5b40beeae26efe93484ab286"; - hash = "sha256-3tM4cggewH2uorO8sgM0E/YFt1//zxBKHAqZVNmZVQU="; + rev = "28e327cd3f5be4816020b1230c0602a6deb40290"; + hash = "sha256-IAcr6D53b6i8S9/5ZTHKcH6BBPcg4BIbssD16n382YM="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-hcl"; }; @@ -1358,12 +1358,12 @@ }; hyprlang = buildGrammar { language = "hyprlang"; - version = "0.0.0+rev=d0441fd"; + version = "0.0.0+rev=d626ec0"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-hyprlang"; - rev = "d0441fd4b883ecc0e70140723a1cf5907992639a"; - hash = "sha256-pNAN5TF01Bnqfcsoa0IllchCCBph9/SowzIoMyQcN5w="; + rev = "d626ec06e4d876fc41200a30b3e6f2b4714c7367"; + hash = "sha256-f8CjiLd2tof+zfr7ze/CxZWtKRqQv8sK9Q21ZxEg6C8="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-hyprlang"; }; @@ -1391,12 +1391,12 @@ }; ini = buildGrammar { language = "ini"; - version = "0.0.0+rev=32b3186"; + version = "0.0.0+rev=31899df"; src = fetchFromGitHub { owner = "justinmk"; repo = "tree-sitter-ini"; - rev = "32b31863f222bf22eb43b07d4e9be8017e36fb31"; - hash = "sha256-kWCaOIC81GP5EHCqzPZP9EUgYy39CZ6/8TVS6soB6Wo="; + rev = "31899dfa3b91622ea39e5c0bcddc88f45a9a3cfe"; + hash = "sha256-vplaqSCW2hUU0A4jzc+bpozTuUlGI6TaEUaglD8E6w0="; }; meta.homepage = "https://github.com/justinmk/tree-sitter-ini"; }; @@ -1411,17 +1411,6 @@ }; meta.homepage = "https://github.com/inko-lang/tree-sitter-inko"; }; - ipkg = buildGrammar { - language = "ipkg"; - version = "0.0.0+rev=8d3e978"; - src = fetchFromGitHub { - owner = "srghma"; - repo = "tree-sitter-ipkg"; - rev = "8d3e9782f2d091d0cd39c13bfb3068db0c675960"; - hash = "sha256-DyxD+Ehoqh0ywgU+J6EgnOQTcwOUJEuuXSOVjZ8M89c="; - }; - meta.homepage = "https://github.com/srghma/tree-sitter-ipkg"; - }; ispc = buildGrammar { language = "ispc"; version = "0.0.0+rev=9b2f9ae"; @@ -1457,12 +1446,12 @@ }; javadoc = buildGrammar { language = "javadoc"; - version = "0.0.0+rev=001a8e4"; + version = "0.0.0+rev=573ff1f"; src = fetchFromGitHub { owner = "rmuir"; repo = "tree-sitter-javadoc"; - rev = "001a8e4f8e839b640201c49046fbf5957fe1ee2c"; - hash = "sha256-8jNosU9jcQ5ffA1asoa6eFBdX/jE+sZPqOj3hufDl+g="; + rev = "573ff1f5e909daade4fba984fc5e8b14afe278ef"; + hash = "sha256-SpOICmpBjVZ5NR7jafJbspgjtq8a/aP5SUPmNXotnnk="; }; meta.homepage = "https://github.com/rmuir/tree-sitter-javadoc"; }; @@ -1569,12 +1558,12 @@ }; julia = buildGrammar { language = "julia"; - version = "0.0.0+rev=18b739c"; + version = "0.0.0+rev=12a3aed"; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-julia"; - rev = "18b739c1563c83fc816170a4241adfa4b69e5c47"; - hash = "sha256-DLzbu/r+CNQinHDoy4IihHHbr/j+WDMfimn03gWNO5s="; + rev = "12a3aede757bc7fbdfb1909507c7a6fddd31df37"; + hash = "sha256-527US8LI8ZItb/O0em47+v4HnYnhJd48KBAWpasD62E="; }; meta.homepage = "https://github.com/tree-sitter/tree-sitter-julia"; }; @@ -1635,12 +1624,12 @@ }; koto = buildGrammar { language = "koto"; - version = "0.0.0+rev=1e61074"; + version = "0.0.0+rev=620ff8a"; src = fetchFromGitHub { owner = "koto-lang"; repo = "tree-sitter-koto"; - rev = "1e610746f48c24607733fac158d5bae79accd845"; - hash = "sha256-+Qzj4jliz4KyitBln6YyQyxpNrngnZo6KICqdvmIAsk="; + rev = "620ff8a32143f24f6f8e157bd1836183599d334d"; + hash = "sha256-IT9ZgZr2VViD9PyyqZTEmkgLHDD17aYMPx+IznagNAQ="; }; meta.homepage = "https://github.com/koto-lang/tree-sitter-koto"; }; @@ -1668,12 +1657,12 @@ }; latex = buildGrammar { language = "latex"; - version = "0.0.0+rev=f736d24"; + version = "0.0.0+rev=8e130cd"; src = fetchFromGitHub { owner = "latex-lsp"; repo = "tree-sitter-latex"; - rev = "f736d24d89acbd90092d92089e5171e6a449db40"; - hash = "sha256-R2HYfoLL4vEeSRbp3APVw6YsEYSppu7k3g0aN3+ld2Q="; + rev = "8e130cd5394487f5b686fbbb547f4ad7dbe811db"; + hash = "sha256-n8earQJI1KEuU89o7NmvzczB4HiJsKHRkvMTNccckic="; }; generate = true; meta.homepage = "https://github.com/latex-lsp/tree-sitter-latex"; @@ -1812,36 +1801,36 @@ }; markdown = buildGrammar { language = "markdown"; - version = "0.0.0+rev=efb075c"; + version = "0.0.0+rev=9dca2b6"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-markdown"; - rev = "efb075cbd57ce33f694c2bb264b99cdba0f31789"; - hash = "sha256-Vz5bzIvJ0ZojK61RbU+uV59c5cyLA4M1Vw7H6O8JFrE="; + rev = "9dca2b6834df9be17bed2ec0fc05c215fa10acf3"; + hash = "sha256-8O8U7bLvzimLYzQAhwi7fYa9QkrvMHwVtL++4Fu4uyk="; }; location = "tree-sitter-markdown"; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-markdown"; }; markdown_inline = buildGrammar { language = "markdown_inline"; - version = "0.0.0+rev=efb075c"; + version = "0.0.0+rev=9dca2b6"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-markdown"; - rev = "efb075cbd57ce33f694c2bb264b99cdba0f31789"; - hash = "sha256-Vz5bzIvJ0ZojK61RbU+uV59c5cyLA4M1Vw7H6O8JFrE="; + rev = "9dca2b6834df9be17bed2ec0fc05c215fa10acf3"; + hash = "sha256-8O8U7bLvzimLYzQAhwi7fYa9QkrvMHwVtL++4Fu4uyk="; }; location = "tree-sitter-markdown-inline"; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-markdown"; }; matlab = buildGrammar { language = "matlab"; - version = "0.0.0+rev=88ccb5e"; + version = "0.0.0+rev=a419361"; src = fetchFromGitHub { owner = "acristoffers"; repo = "tree-sitter-matlab"; - rev = "88ccb5ee90711e9961582d421c42bc8c6bd53f59"; - hash = "sha256-iiELNwO4m0lr2Bcowu5zj0VdA2Eg2i5N58MwC7HiGbs="; + rev = "a419361e4a6f2ec435dac4465fb0c0e5b2446b08"; + hash = "sha256-QPxuK+1jiKZakVE2+Op96yxmtJZgQ+sCCXZ7UPEkec4="; }; meta.homepage = "https://github.com/acristoffers/tree-sitter-matlab"; }; @@ -1869,23 +1858,23 @@ }; meson = buildGrammar { language = "meson"; - version = "0.0.0+rev=b1ff003"; + version = "0.0.0+rev=243aa33"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-meson"; - rev = "b1ff0037b665e7e84715390820d6ecbe763a9c79"; - hash = "sha256-wO8N5RBZMQ5Bwq8JPHiYldjwOw0qKRv3WfSX5p5Vhpo="; + rev = "243aa33382d6ac7b8b66d962024d339cb3bae3f6"; + hash = "sha256-pL7PnHVUt0wmJSk8UUQhc5s8je6FRAlJ0nPk9OVlvVM="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-meson"; }; mlir = buildGrammar { language = "mlir"; - version = "0.0.0+rev=4d2396f"; + version = "0.0.0+rev=eb78968"; src = fetchFromGitHub { owner = "artagnon"; repo = "tree-sitter-mlir"; - rev = "4d2396f21722d0c8d2ea285f380b21f1a71668b3"; - hash = "sha256-zYT9C6NXJqlOiv2JZLTfu4Vv4tmwA1SaKWKRFobrJKc="; + rev = "eb78968fdb3728510f9260129a2dd57b7c04f761"; + hash = "sha256-CC13vsuX41Ie/lqbT8gtMj7BcT9pkmD1j6fqtq2To1E="; }; generate = true; meta.homepage = "https://github.com/artagnon/tree-sitter-mlir"; @@ -1991,12 +1980,12 @@ }; nu = buildGrammar { language = "nu"; - version = "0.0.0+rev=d5c71a1"; + version = "0.0.0+rev=100d06e"; src = fetchFromGitHub { owner = "nushell"; repo = "tree-sitter-nu"; - rev = "d5c71a10b4d1b02e38967b05f8de70e847448dd1"; - hash = "sha256-7Ny3wXa5iE6s7szqTkPqaXWL/NL5yA2MbhdQHylxwE0="; + rev = "100d06e29d13a8ebfc3f29173c07a5c4f2050586"; + hash = "sha256-ZKpaAvXwMP6Z/15u1TwocCrgfD+ebPywM+UDTt04Sh0="; }; meta.homepage = "https://github.com/nushell/tree-sitter-nu"; }; @@ -2024,24 +2013,24 @@ }; ocaml = buildGrammar { language = "ocaml"; - version = "0.0.0+rev=ef6ed4a"; + version = "0.0.0+rev=3ef7c00"; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-ocaml"; - rev = "ef6ed4a773a260545f0b03c43d2ca78235e9a488"; - hash = "sha256-mSp6ib5FWSB8iA3HmOEk6CAh0/sPw0a13lcFQNzTSLA="; + rev = "3ef7c00b29e41e3a0c1d18e82ea37c64d72b93fc"; + hash = "sha256-8u1jtUFMjykVG6aCDzqcb4vFCY401CZ2o+JPGMadg6o="; }; location = "grammars/ocaml"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml"; }; ocaml_interface = buildGrammar { language = "ocaml_interface"; - version = "0.0.0+rev=ef6ed4a"; + version = "0.0.0+rev=3ef7c00"; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-ocaml"; - rev = "ef6ed4a773a260545f0b03c43d2ca78235e9a488"; - hash = "sha256-mSp6ib5FWSB8iA3HmOEk6CAh0/sPw0a13lcFQNzTSLA="; + rev = "3ef7c00b29e41e3a0c1d18e82ea37c64d72b93fc"; + hash = "sha256-8u1jtUFMjykVG6aCDzqcb4vFCY401CZ2o+JPGMadg6o="; }; location = "grammars/interface"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml"; @@ -2115,24 +2104,24 @@ }; php = buildGrammar { language = "php"; - version = "0.0.0+rev=eb289f1"; + version = "0.0.0+rev=b2278db"; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-php"; - rev = "eb289f127fc341ae7129902a2dd1c6c197a4c1e7"; - hash = "sha256-RtUzTFt23b/qA0NHjR/T4L5+JzTUoyBKf7U2zsQPwXs="; + rev = "b2278dbac9d58b02653fe6a8530ccebc492e4ed4"; + hash = "sha256-xvUUw+532j49MhEgAeEDfLo+bqN0U65s/uV9BPbsVt4="; }; location = "php"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-php"; }; php_only = buildGrammar { language = "php_only"; - version = "0.0.0+rev=eb289f1"; + version = "0.0.0+rev=b2278db"; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-php"; - rev = "eb289f127fc341ae7129902a2dd1c6c197a4c1e7"; - hash = "sha256-RtUzTFt23b/qA0NHjR/T4L5+JzTUoyBKf7U2zsQPwXs="; + rev = "b2278dbac9d58b02653fe6a8530ccebc492e4ed4"; + hash = "sha256-xvUUw+532j49MhEgAeEDfLo+bqN0U65s/uV9BPbsVt4="; }; location = "php_only"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-php"; @@ -2340,12 +2329,12 @@ }; purescript = buildGrammar { language = "purescript"; - version = "0.0.0+rev=4cacfda"; + version = "0.0.0+rev=603daa9"; src = fetchFromGitHub { owner = "postsolar"; repo = "tree-sitter-purescript"; - rev = "4cacfdaa75090bb790965674fe387bb215bab64b"; - hash = "sha256-UPK3PkBLO5c5AokvFfICwBjy1cPUOVx/pwDNuZTW8FA="; + rev = "603daa9178bcef3386b3040d86435794965fc6f2"; + hash = "sha256-hOY2TfG+rAZyjm3PxXvF/Z3kEpIC2yZctk9YvWfG8wg="; }; meta.homepage = "https://github.com/postsolar/tree-sitter-purescript"; }; @@ -2406,23 +2395,23 @@ }; query = buildGrammar { language = "query"; - version = "0.0.0+rev=8bf3112"; + version = "0.0.0+rev=2b36699"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-query"; - rev = "8bf3112db43bdba3002bb1f88b7cda5f6278fc88"; - hash = "sha256-3HnLSe47TQzQwy/ZLO87b6S+fi0CKytsoRkUncy8/+k="; + rev = "2b3669919b22f1a6e5bfcf3753caaa63fd14e8ec"; + hash = "sha256-9lNtbyRCwTvYGscDyncSfnzQFIP9KOV981QvtPHQKK8="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-query"; }; r = buildGrammar { language = "r"; - version = "0.0.0+rev=a0d3e33"; + version = "0.0.0+rev=95aff09"; src = fetchFromGitHub { owner = "r-lib"; repo = "tree-sitter-r"; - rev = "a0d3e3307489c3ca54da8c7b5b4e0c5f5fd6953a"; - hash = "sha256-ryKgJ+3dv/O2AN5zIGtQnKml0zU0/s4Io8Tumpm62Gc="; + rev = "95aff097aa927a66bb357f715b58cde821be8867"; + hash = "sha256-H4iK2p4xXjP6gGrOP/qpHQCiO3Jyy0jmb8u29RM0sBg="; }; meta.homepage = "https://github.com/r-lib/tree-sitter-r"; }; @@ -2582,12 +2571,12 @@ }; roc = buildGrammar { language = "roc"; - version = "0.0.0+rev=0b1afe8"; + version = "0.0.0+rev=94634c7"; src = fetchFromGitHub { owner = "faldor20"; repo = "tree-sitter-roc"; - rev = "0b1afe88161cbd81f5ddea1bb4fa786314ed49a7"; - hash = "sha256-DO0c6xRpJvj35qifh9/sfj5Op9CPsKA+4X6A7FBTGLI="; + rev = "94634c7e882d3c55066aa074cab4911284326deb"; + hash = "sha256-469w0zP+hQ6zbC+WSVInpfzXBZr2+51Ee/tuz9oGi38="; }; meta.homepage = "https://github.com/faldor20/tree-sitter-roc"; }; @@ -2648,12 +2637,12 @@ }; scala = buildGrammar { language = "scala"; - version = "0.0.0+rev=c118995"; + version = "0.0.0+rev=2d55e74"; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-scala"; - rev = "c1189954df854977c3a52003ca8a247c5f4729ba"; - hash = "sha256-aomchVnOjYrgGA3hem/PEumkiUuIiJbb89hnz7uYAwI="; + rev = "2d55e74b0485fe05058ffe5e8155506c9710c767"; + hash = "sha256-ZE+zjpb52hvehJjNchJYK81XZbGAudeTRxlczuoix5g="; }; meta.homepage = "https://github.com/tree-sitter/tree-sitter-scala"; }; @@ -2671,12 +2660,12 @@ }; scheme = buildGrammar { language = "scheme"; - version = "0.0.0+rev=1e4d38d"; + version = "0.0.0+rev=e35b41a"; src = fetchFromGitHub { owner = "6cdh"; repo = "tree-sitter-scheme"; - rev = "1e4d38d650bf6b53930ec9d41a7000775c134039"; - hash = "sha256-ZBMDnFp5dqVLng5AvdzzJxbF+jZctoAzFmkmvDW4sCA="; + rev = "e35b41a183164f4a12e10da3d0c430e837c3d75a"; + hash = "sha256-drLgTk0opTlyQFgsFdz0hPNl6wzMcQaRycpqIpWirIk="; }; meta.homepage = "https://github.com/6cdh/tree-sitter-scheme"; }; @@ -2705,34 +2694,34 @@ }; slang = buildGrammar { language = "slang"; - version = "0.0.0+rev=327b1b8"; + version = "0.0.0+rev=a4454e3"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-slang"; - rev = "327b1b821c255867a4fb724c8eee48887e3d014b"; - hash = "sha256-Oj3Z1Zw1geM2jid7xg0041cYtStV+CRl7anXbIIGE5c="; + rev = "a4454e3004a9e8fea2df7fd2535fbaa05500da21"; + hash = "sha256-z1cIxsunZ7ZhzaQVuYtsXbgdrNjDcYtGi/jOQ+FhlYM="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-slang"; }; slim = buildGrammar { language = "slim"; - version = "0.0.0+rev=d8a79d1"; + version = "0.0.0+rev=a06113f"; src = fetchFromGitHub { owner = "theoo"; repo = "tree-sitter-slim"; - rev = "d8a79d15c7b9a68d2d1616c319d2b04d1999ab9f"; - hash = "sha256-jgED9DCpv3Kz24LvUbUmO1/G+O8hVQTY2K0qI6j+fRA="; + rev = "a06113f5175b805a37d20df0a6f9d722e0ab6cfe"; + hash = "sha256-Uk0AltQNhVd3VHQYRN+gJWd7tnVYr7qzBce6yEdtVaw="; }; meta.homepage = "https://github.com/theoo/tree-sitter-slim"; }; slint = buildGrammar { language = "slint"; - version = "0.0.0+rev=3493309"; + version = "0.0.0+rev=cd04d91"; src = fetchFromGitHub { owner = "slint-ui"; repo = "tree-sitter-slint"; - rev = "3493309534cd08ae176c7b917ec79068dca2c1c9"; - hash = "sha256-GM1h+7IcPXTxoRVjVIRWk+3xSWxS3nhPdGaehq2/1xE="; + rev = "cd04d91ff4eaff3467a6a0968e29fa9e4ac8f024"; + hash = "sha256-Kf87ccFZrVyVduEB/2/g3BmDLQGVutKoloYt4AKSDB4="; }; meta.homepage = "https://github.com/slint-ui/tree-sitter-slint"; }; @@ -2806,12 +2795,12 @@ }; sourcepawn = buildGrammar { language = "sourcepawn"; - version = "0.0.0+rev=f2af8d0"; + version = "0.0.0+rev=5a8fdd4"; src = fetchFromGitHub { owner = "nilshelmig"; repo = "tree-sitter-sourcepawn"; - rev = "f2af8d0dc14c6790130cceb2a20027eb41a8297c"; - hash = "sha256-u8/wM2Dj+uO3g24MsGZfH9zkABCEaWWFI8EX3fxuljk="; + rev = "5a8fdd446b516c81e218245c12129c6ad4bccfa2"; + hash = "sha256-TfLCG2Ro3QnGStyCNqHwO54HQMR2fEOV6FjBv+0LjJ0="; }; meta.homepage = "https://github.com/nilshelmig/tree-sitter-sourcepawn"; }; @@ -2984,12 +2973,12 @@ }; t32 = buildGrammar { language = "t32"; - version = "0.0.0+rev=61607b3"; + version = "0.0.0+rev=15f0032"; src = fetchFromGitLab { owner = "xasc"; repo = "tree-sitter-t32"; - rev = "61607b32915fdeda275b2346e6a76a7c9b363251"; - hash = "sha256-tNRYOPUSquxxyazBvgvjRCObf8Z7D98GDtKY5MAExqE="; + rev = "15f0032f3eadf95988293338e883c095fd5936f6"; + hash = "sha256-wL19lYFhtGRXQst1NSTIamONKJVT5fl6J2h+S/11/BA="; }; meta.homepage = "https://gitlab.com/xasc/tree-sitter-t32"; }; @@ -3017,12 +3006,12 @@ }; tcl = buildGrammar { language = "tcl"; - version = "0.0.0+rev=8f11ac7"; + version = "0.0.0+rev=f15e711"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-tcl"; - rev = "8f11ac7206a54ed11210491cee1e0657e2962c47"; - hash = "sha256-JrGSHGolf7OhInxotXslw1QXxJscl+bXCxZPYJeBfTY="; + rev = "f15e711167661d1ba541d4f62b9dbfc4ce61ec56"; + hash = "sha256-173xUAc2/LMDQSTEM3l3R4UuF/R5fdUyhEpXv6Eh02s="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-tcl"; }; @@ -3040,12 +3029,12 @@ }; templ = buildGrammar { language = "templ"; - version = "0.0.0+rev=5504cc9"; + version = "0.0.0+rev=de35706"; src = fetchFromGitHub { owner = "vrischmann"; repo = "tree-sitter-templ"; - rev = "5504cc96fbf5c9a029add2dfcb6e585e8fdaad75"; - hash = "sha256-bbwRwk8FHmtL4VcGIWm9w5ApPfYN0EAHHkcjt7wF1OY="; + rev = "de35706f89beed5087670a9c4421b7794ef02411"; + hash = "sha256-YMhUsJHeUPbWf6FGIoE5S39Bglo/5f78XWelg4qecG0="; }; meta.homepage = "https://github.com/vrischmann/tree-sitter-templ"; }; @@ -3062,12 +3051,12 @@ }; terraform = buildGrammar { language = "terraform"; - version = "0.0.0+rev=009def4"; + version = "0.0.0+rev=28e327c"; src = fetchFromGitHub { owner = "MichaHoffmann"; repo = "tree-sitter-hcl"; - rev = "009def4ae38ec30e5b40beeae26efe93484ab286"; - hash = "sha256-3tM4cggewH2uorO8sgM0E/YFt1//zxBKHAqZVNmZVQU="; + rev = "28e327cd3f5be4816020b1230c0602a6deb40290"; + hash = "sha256-IAcr6D53b6i8S9/5ZTHKcH6BBPcg4BIbssD16n382YM="; }; location = "dialects/terraform"; meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-hcl"; @@ -3343,12 +3332,12 @@ }; vhdl = buildGrammar { language = "vhdl"; - version = "0.0.0+rev=ec2cb14"; + version = "0.0.0+rev=5840549"; src = fetchFromGitHub { owner = "jpt13653903"; repo = "tree-sitter-vhdl"; - rev = "ec2cb14f68053cf49d1d18cd5742af8e81771ebb"; - hash = "sha256-UbrTs3r+0gSHePTRiHyxZe55t9EIkaK2Auwojq6Dd+A="; + rev = "5840549516f2faf8c45cae5a3b16c1b81a2498a1"; + hash = "sha256-53KZbyiYZR/vlmgcELzo/0+Fop3CQrFQudFpARbNrEs="; }; meta.homepage = "https://github.com/jpt13653903/tree-sitter-vhdl"; }; @@ -3464,35 +3453,35 @@ }; xml = buildGrammar { language = "xml"; - version = "0.0.0+rev=291b020"; + version = "0.0.0+rev=87be254"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-xml"; - rev = "291b02018c525abe70fec41559cfe8f2f1cc84b2"; - hash = "sha256-UxFI86fbhuij+QTex4l139PPMMgAha7rZcBlHSRPJYI="; + rev = "87be254e12169240a0e0214dbee5e208df96fa75"; + hash = "sha256-Wf5PY8I0i/YH5dTgVhiZ+DZ2LGsc+NPVWyzkidaQxeI="; }; location = "xml"; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-xml"; }; xresources = buildGrammar { language = "xresources"; - version = "0.0.0+rev=dcbce0c"; + version = "0.0.0+rev=45c020e"; src = fetchFromGitHub { owner = "ValdezFOmar"; repo = "tree-sitter-xresources"; - rev = "dcbce0c5dde0fca01dd83a8f497ebe4d053eab1d"; - hash = "sha256-JgPQxB0nT+4YvwKfAHgUC+Eo664l93ITuWLG7IWUZnU="; + rev = "45c020e74e924d8e3a0656a0dbe18688c063f5f0"; + hash = "sha256-+HXnWfSlI09HOeBfKx1FJVSn4rXbjIlMTrTYvtHudIU="; }; meta.homepage = "https://github.com/ValdezFOmar/tree-sitter-xresources"; }; yaml = buildGrammar { language = "yaml"; - version = "0.0.0+rev=08c5caa"; + version = "0.0.0+rev=3431ec2"; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-yaml"; - rev = "08c5caaeb34e5ccd614706d3b5359a78f1c9e275"; - hash = "sha256-mQvo90Z4xCXwMDKnCGScw9dKtplEtJuRa1QDjhM4wR4="; + rev = "3431ec21da1dde751bab55520963cf3a4f1121f3"; + hash = "sha256-4XYAgMXq9AmEuejbM+y1x9oHrStxgrXlm3zg33iEvNQ="; }; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-yaml"; }; diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix index 643bab355ea9..e7ff898d8257 100644 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix @@ -1,6 +1,5 @@ { lib, - stdenv, callPackage, tree-sitter, neovim, @@ -8,6 +7,7 @@ runCommand, vimPlugins, tree-sitter-grammars, + writableTmpDirAsHomeHook, }: self: super: @@ -16,17 +16,6 @@ let inherit (neovimUtils) grammarToPlugin; overrides = prev: { - ocamllex = - if stdenv.hostPlatform.isDarwin then - # remove after https://github.com/314eter/tree-sitter-ocamllex/issues/10 is resolved - # see https://github.com/NixOS/nixpkgs/pull/394636 - (prev.ocamllex.overrideAttrs { - src = prev.ocamllex.src.override { - hash = "sha256-UBGVc98lrtTCp/kYDEFM/8iG9n7Tekx+xbE7Wdyp2uQ="; - }; - }) - else - prev.ocamllex; }; generatedGrammars = @@ -100,19 +89,22 @@ in in runCommand "nvim-treesitter-check-queries" { - nativeBuildInputs = [ nvimWithAllGrammars ]; + nativeBuildInputs = [ + nvimWithAllGrammars + writableTmpDirAsHomeHook + ]; CI = true; } '' touch $out - export HOME=$(mktemp -d) ln -s ${withAllGrammars}/CONTRIBUTING.md . + export ALLOWED_INSTALLATION_FAILURES=ipkg,norg nvim --headless "+luafile ${withAllGrammars}/scripts/check-queries.lua" | tee log if grep -q Warning log; then - echo "Error: warnings were emitted by the check" - exit 1 + echo "WARNING: warnings were emitted by the check" + echo "Check if they were expected warnings!" fi ''; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index b6d004ea7b52..b0d7453038b2 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -126,7 +126,6 @@ https://github.com/mikavilpas/blink-ripgrep.nvim/,HEAD, https://github.com/Saghen/blink.compat/,HEAD, https://github.com/dundalek/bloat.nvim/,HEAD, https://github.com/HampusHauffman/block.nvim/,HEAD, -https://github.com/blueballs-theme/blueballs-neovim/,, https://github.com/uloco/bluloco.nvim/,, https://github.com/rockerBOO/boo-colorscheme-nvim/,, https://github.com/nat-418/boole.nvim/,HEAD, @@ -1089,7 +1088,7 @@ https://github.com/vim-scripts/taglist.vim/,, https://github.com/luckasRanarison/tailwind-tools.nvim/,HEAD, https://github.com/themaxmarchuk/tailwindcss-colors.nvim/,HEAD, https://github.com/wellle/targets.vim/,, -https://github.com/tools-life/taskwiki/,, +https://github.com/tbabej/taskwiki/,, https://github.com/tomtom/tcomment_vim/,, https://github.com/nvim-telekasten/telekasten.nvim/,, https://github.com/GustavoKatel/telescope-asynctasks.nvim/,, @@ -1137,6 +1136,7 @@ https://github.com/itchyny/thumbnail.vim/,, https://github.com/nvzone/timerly/,HEAD, https://github.com/vim-scripts/timestamp.vim/,, https://github.com/levouh/tint.nvim/,HEAD, +https://github.com/tinted-theming/tinted-nvim/,HEAD, https://github.com/tinted-theming/tinted-vim/,HEAD, https://github.com/rachartier/tiny-devicons-auto-colors.nvim/,HEAD, https://github.com/rachartier/tiny-inline-diagnostic.nvim/,HEAD, diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 4a4622e1b953..1c48755b68ad 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -3940,8 +3940,8 @@ let mktplcRef = { name = "prisma"; publisher = "Prisma"; - version = "6.9.0"; - hash = "sha256-xXmGPQs/tmYLkyzRstr34X43P64BrTR+suwKTYtd/ac="; + version = "6.10.0"; + hash = "sha256-+oYDEbDMltGhyjtyCJcDaR074SzVWW48vzoOlxklojU="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/Prisma.prisma/changelog"; diff --git a/pkgs/applications/editors/vscode/extensions/mongodb.mongodb-vscode/default.nix b/pkgs/applications/editors/vscode/extensions/mongodb.mongodb-vscode/default.nix index 830d23ef8ddf..07d95019b5d5 100644 --- a/pkgs/applications/editors/vscode/extensions/mongodb.mongodb-vscode/default.nix +++ b/pkgs/applications/editors/vscode/extensions/mongodb.mongodb-vscode/default.nix @@ -4,8 +4,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "mongodb-vscode"; publisher = "mongodb"; - version = "1.13.2"; - hash = "sha256-XgDFiB0LaHNC8Z9+pug6f+x/MGwtkm7a49pyfIBKkwo="; + version = "1.13.3"; + hash = "sha256-SCKo1yUnv3FVy19DHEUH1dkubGLjzZbF3Gq9YTsVpxw="; }; meta = { diff --git a/pkgs/applications/emulators/libretro/cores/snes9x.nix b/pkgs/applications/emulators/libretro/cores/snes9x.nix index d2031ec06789..d206e6afbe98 100644 --- a/pkgs/applications/emulators/libretro/cores/snes9x.nix +++ b/pkgs/applications/emulators/libretro/cores/snes9x.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "snes9x"; - version = "0-unstable-2025-05-03"; + version = "0-unstable-2025-06-13"; src = fetchFromGitHub { owner = "snes9xgit"; repo = "snes9x"; - rev = "97bc6b08b1da511fa449ecb412ca74fa54f4a3fb"; - hash = "sha256-BZTpQACkjFxk9QsDievu8NHYkJiRAQ0jAuD4LlkrZ7A="; + rev = "a93dd67c516061c3390506eb26e0457a264f86b6"; + hash = "sha256-IOxYhDkrd9TgzEGiCM2HQxUiTv3Icmc0JE6216PqbYg="; }; makefile = "Makefile"; diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix index 12724709f993..b439df92a0cd 100644 --- a/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix +++ b/pkgs/applications/networking/cluster/helm/plugins/helm-git.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "helm-git"; - version = "1.3.0"; + version = "1.4.0"; src = fetchFromGitHub { owner = "aslafy-z"; repo = pname; rev = "v${version}"; - sha256 = "sha256-o9y1C4O1uG2Z7f3kCEoK1tSmSuQh1zJxB/CZBv/GPus="; + sha256 = "sha256-/J/RAFNsxwG9aiCe28daJmC2D6Gz7CrPjucqkhC++y0="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/networking/cluster/kuma/default.nix b/pkgs/applications/networking/cluster/kuma/default.nix index 12f67a593caf..2308c31db40d 100644 --- a/pkgs/applications/networking/cluster/kuma/default.nix +++ b/pkgs/applications/networking/cluster/kuma/default.nix @@ -16,17 +16,17 @@ buildGoModule rec { inherit pname; - version = "2.10.1"; + version = "2.11.0"; tags = lib.optionals enableGateway [ "gateway" ]; src = fetchFromGitHub { owner = "kumahq"; repo = "kuma"; - rev = version; - hash = "sha256-7vRz2B1aSxpQrV7Om8Zs4o1kJgSVd9rMsOagQZyWMLI="; + tag = version; + hash = "sha256-NXhBwbazoi3DONWf5tuKKnXrIBHZ/lyL5BQE6yCGQ+Y="; }; - vendorHash = "sha256-1vI61lfs9R9aY1vFQUxXN99zE1SPSfPQ8RxWxykqqp0="; + vendorHash = "sha256-hq+n9nTSf7LDMvlttTmk59pZQaJJIRlqwOSBtMJKPfc="; # no test files doCheck = false; diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index d6ebbe65584d..a040135885ae 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -252,13 +252,13 @@ "vendorHash": null }, "cloudamqp": { - "hash": "sha256-jB2tR53z9/ZHe/oI1TH4tQ0YrJmK7HiFCSzeI3brnRI=", + "hash": "sha256-v+hbbmGAbCY+DlgQPzZmiknQ/88icn6ja6UIecoMDbU=", "homepage": "https://registry.terraform.io/providers/cloudamqp/cloudamqp", "owner": "cloudamqp", "repo": "terraform-provider-cloudamqp", - "rev": "v1.34.0", + "rev": "v1.35.1", "spdx": "MPL-2.0", - "vendorHash": "sha256-f6sqKzoQAUpCDrpQdMuK1SuLTKrd2PUn/J6VuKxXGZI=" + "vendorHash": "sha256-shRiTPn4A1rmwBnoSlRDfdYuHqSFvL4o6o8vAJutu3Q=" }, "cloudflare": { "hash": "sha256-REHAEG7Ux+Twv0kA13NQpthBdb+LulYm0McquE6gL14=", @@ -525,11 +525,11 @@ "vendorHash": "sha256-YZI6zhxXU2aABARP6GcTMeU98F4+imbL1vKIEMzsJHM=" }, "google-beta": { - "hash": "sha256-9VjgTc0vCXxPEbuycMbxWdbwnhz/4Clff3GcMZ+zKoc=", + "hash": "sha256-ujeUKkyVKix+H4vROuu5+hjYuPpPBiSseoWHEl4ULPU=", "homepage": "https://registry.terraform.io/providers/hashicorp/google-beta", "owner": "hashicorp", "repo": "terraform-provider-google-beta", - "rev": "v6.38.0", + "rev": "v6.40.0", "spdx": "MPL-2.0", "vendorHash": "sha256-oz4zVv5swFokYCdcJhBE+PLrIOjwszl58Cn0e7hOKmI=" }, @@ -976,13 +976,13 @@ "vendorHash": "sha256-HQVKblAm8H0Q5pbJdIVSMc5FLi3O9TV475yass6BraY=" }, "opentelekomcloud": { - "hash": "sha256-v7nJcnVbxwf7khyjlSfVAyz0ZZEuIJNjjXpsIynNPZk=", + "hash": "sha256-PPrZAxJxLiR3LLEAtWucdWXI5qvsmOVfwCDCtjWuu/A=", "homepage": "https://registry.terraform.io/providers/opentelekomcloud/opentelekomcloud", "owner": "opentelekomcloud", "repo": "terraform-provider-opentelekomcloud", - "rev": "v1.36.39", + "rev": "v1.36.40", "spdx": "MPL-2.0", - "vendorHash": "sha256-rTyx5FuBzO4RZ3IefsWaVTSW5YtTBT95ZtP8aZJgoD8=" + "vendorHash": "sha256-04ijE9Levq9ZsaEfn1O1iueDt15boOKlBqnX4iJ1EM4=" }, "openwrt": { "hash": "sha256-z78IceF2VJtiQpVqC+rTUDsph73LZawIK+az3rEhljA=", @@ -1192,13 +1192,13 @@ "vendorHash": "sha256-MIO0VHofPtKPtynbvjvEukMNr5NXHgk7BqwIhbc9+u0=" }, "signalfx": { - "hash": "sha256-VDBnZMvXEDjyDCC0fbm+kppglY9W83re6ABBsX6Ur+M=", + "hash": "sha256-8G+IYK3vt6kyNtccmuz0OtTWvZPH8p9kWSY0guAdASo=", "homepage": "https://registry.terraform.io/providers/splunk-terraform/signalfx", "owner": "splunk-terraform", "repo": "terraform-provider-signalfx", - "rev": "v9.15.0", + "rev": "v9.16.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-2q3IMGzGm7CVuzs+jfU2oUD+NGwck+ny8GwcMnKfU9U=" + "vendorHash": "sha256-1iRf42VxhKvmmasQ3IaPBbLcRmB8SavFXzwXlmFwYfU=" }, "skytap": { "hash": "sha256-JII4czazo6Di2sad1uFHMKDO2gWgZlQE8l/+IRYHQHU=", @@ -1427,13 +1427,13 @@ "vendorHash": "sha256-eCIJ2w8DjmUCGp0VbliLaQ6C29mJhl6Spya06Xyiqd4=" }, "venafi": { - "hash": "sha256-9/rFRZz5KqfUnX3/Dp8CVfGOtlEVu6HuYsUT2WVAPg0=", + "hash": "sha256-A3/uphCYgHtYgtCuHQUPIOeiUOJ23p9Oy6NkGUGPzXw=", "homepage": "https://registry.terraform.io/providers/Venafi/venafi", "owner": "Venafi", "repo": "terraform-provider-venafi", - "rev": "v0.22.1", + "rev": "v0.22.2", "spdx": "MPL-2.0", - "vendorHash": "sha256-OUQgisFi8ZR/Hv70pKB5Kwdk+Rd/Ll6qx3vKaX4NNtA=" + "vendorHash": "sha256-s6D5cWrPtPckFVbJkAA7WifpJY+mA4YvN55xUFdBb1I=" }, "vinyldns": { "hash": "sha256-ow+o9fRw/t2i4N65zuVFbfPb68ZUcJfNB5ARYqRTsIs=", diff --git a/pkgs/applications/networking/sync/backintime/common.nix b/pkgs/applications/networking/sync/backintime/common.nix index 8bc4f5f856ee..dc36d5e933ca 100644 --- a/pkgs/applications/networking/sync/backintime/common.nix +++ b/pkgs/applications/networking/sync/backintime/common.nix @@ -32,13 +32,13 @@ let in stdenv.mkDerivation rec { pname = "backintime-common"; - version = "1.5.4"; + version = "1.5.5"; src = fetchFromGitHub { owner = "bit-team"; repo = "backintime"; rev = "v${version}"; - sha256 = "sha256-QTUezD3OdOMqrxOCrdPFI8fB5XDhNVo9XpLgi7Y2aRg="; + sha256 = "sha256-Xrls+FE41bcx0S/mO4z5Mm97+P5fmIJDSkS3puKmdig="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix index 93cff7b35fde..141bdcb9c306 100644 --- a/pkgs/applications/science/logic/why3/default.nix +++ b/pkgs/applications/science/logic/why3/default.nix @@ -8,7 +8,7 @@ rubber, hevea, emacs, - version ? "1.8.0", + version ? "1.8.1", ideSupport ? true, wrapGAppsHook3, }: @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { url = "https://why3.gitlabpages.inria.fr/releases/${pname}-${version}.tar.gz"; hash = { - "1.8.0" = "sha256-gDe4OI0AuoYmJSCg/SMRQYcgelX/SM28ClQfKhnw88E="; + "1.8.1" = "sha256-RSj89bP8ZBdTQM7x5cpJTsk55SIXlc2SXMQj6Q1GFW8="; "1.7.2" = "sha256-VaSG/FiO2MDdSSFXGJJrIylQx0LPwtT8AF7TpPVZhCQ="; "1.6.0" = "sha256-hFvM6kHScaCtcHCc6Vezl9CR7BFbiKPoTEh7kj0ZJxw="; } diff --git a/pkgs/applications/video/mpv/scripts/eisa01.nix b/pkgs/applications/video/mpv/scripts/eisa01.nix index 508b1fdf64e4..4dd052a8f994 100644 --- a/pkgs/applications/video/mpv/scripts/eisa01.nix +++ b/pkgs/applications/video/mpv/scripts/eisa01.nix @@ -12,13 +12,13 @@ let let self = { inherit pname; - version = "0-unstable-2025-05-08"; + version = "25-09-2023-unstable-2025-05-14"; src = fetchFromGitHub { owner = "Eisa01"; repo = "mpv-scripts"; - rev = "4701419f9b9063a5425f3942ec62cc029599430d"; - hash = "sha256-QXpuqViVXIGCDbX0OVjDW7E67odZTMbk1iXfz7bBasU="; + rev = "100fea81ae8560c6fb113b1f6bb20857a41a5705"; + hash = "sha256-bMEKsHrJ+mgG7Vqpzj4TAr7Hehq2o2RuneowhrDCd5k="; # avoid downloading screenshots and videos sparseCheckout = [ "scripts/" diff --git a/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix b/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix index 647b821a32bb..b754c4f19944 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "obs-move-transition"; - version = "3.1.3"; + version = "3.1.4"; src = fetchFromGitHub { owner = "exeldro"; repo = "obs-move-transition"; rev = version; - sha256 = "sha256-8H0CJvJDrB7aP52VXsZ/GuTHQw/QJKLSHnKzhT1drU4="; + sha256 = "sha256-dOPt0++vBV95GycItuzaCHUQ8DHVEj6Q6EhNhhss4mA="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix index 8138cf1e35d8..75d52f342601 100644 --- a/pkgs/applications/virtualization/cri-o/default.nix +++ b/pkgs/applications/virtualization/cri-o/default.nix @@ -17,13 +17,13 @@ buildGoModule rec { pname = "cri-o"; - version = "1.33.0"; + version = "1.33.1"; src = fetchFromGitHub { owner = "cri-o"; repo = "cri-o"; rev = "v${version}"; - hash = "sha256-SM+68ZQjmEkDNW+KSHpxDJ3ADAk+euIkbQokp86Fm+I="; + hash = "sha256-leWFoZ8aMGQgy0JDcbyZ+GX9B6Qdm+f5ng1X0beIcw0="; }; vendorHash = null; diff --git a/pkgs/by-name/an/andika/package.nix b/pkgs/by-name/an/andika/package.nix index 8d39ab9ed109..4b339b2a6a98 100644 --- a/pkgs/by-name/an/andika/package.nix +++ b/pkgs/by-name/an/andika/package.nix @@ -6,11 +6,11 @@ stdenvNoCC.mkDerivation rec { pname = "andika"; - version = "6.200"; + version = "7.000"; src = fetchzip { url = "https://software.sil.org/downloads/r/andika/Andika-${version}.zip"; - hash = "sha256-Ge+Yq3+1IJ+mXhjw7Vtpu5DIWiMfwOdEH/S1RSzYh3A="; + hash = "sha256-46kbzFxNEpSuqyUwpScnxxgZi1dJlwK+AUkdULcinok="; }; installPhase = '' diff --git a/pkgs/by-name/an/ansel/package.nix b/pkgs/by-name/an/ansel/package.nix index 383e1e907ece..89e301c54729 100644 --- a/pkgs/by-name/an/ansel/package.nix +++ b/pkgs/by-name/an/ansel/package.nix @@ -81,13 +81,13 @@ let in stdenv.mkDerivation { pname = "ansel"; - version = "0-unstable-2025-05-31"; + version = "0-unstable-2025-06-11"; src = fetchFromGitHub { owner = "aurelienpierreeng"; repo = "ansel"; - rev = "b5d5f5ee7a3d4b68994a7bcfef4429a80cc2f287"; - hash = "sha256-gb/Mp3YUeDLRxZQ7t55+FaxcfQDKdrNFZSV2uHhZ8Xo="; + rev = "b51cfa38c41abe9933b40e1583807b105c5933c1"; + hash = "sha256-EEML6agNDQbCZ1+b4dTHr3JA9Jh3iTW0U4krVylGVTg="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/au/automatic-timezoned/package.nix b/pkgs/by-name/au/automatic-timezoned/package.nix index a09130b6596c..352d04af20c2 100644 --- a/pkgs/by-name/au/automatic-timezoned/package.nix +++ b/pkgs/by-name/au/automatic-timezoned/package.nix @@ -6,17 +6,17 @@ rustPlatform.buildRustPackage rec { pname = "automatic-timezoned"; - version = "2.0.79"; + version = "2.0.80"; src = fetchFromGitHub { owner = "maxbrunet"; repo = "automatic-timezoned"; rev = "v${version}"; - sha256 = "sha256-FPSwTtLLf1T4lx4ZmPPa6dnhcI9pBCFjhsABeIccRKk="; + sha256 = "sha256-5JrIcdNgi68g+5zF0y4YeNboFl6SS9QvZEsmcMh35gE="; }; useFetchCargoVendor = true; - cargoHash = "sha256-H4bFSqt8hOH6tF2WO1mQqqmbK9U2qlFC+7swz/xj1I8="; + cargoHash = "sha256-IX3lSupcKn1ET4Q7tLpUBhQ+wfmfUyM/onlTwW7wloU="; meta = { description = "Automatically update system timezone based on location"; diff --git a/pkgs/by-name/be/better-commits/package.nix b/pkgs/by-name/be/better-commits/package.nix index b29e209e3d64..72219970a280 100644 --- a/pkgs/by-name/be/better-commits/package.nix +++ b/pkgs/by-name/be/better-commits/package.nix @@ -8,13 +8,13 @@ buildNpmPackage rec { pname = "better-commits"; - version = "1.16.1"; + version = "1.17.0"; src = fetchFromGitHub { owner = "Everduin94"; repo = "better-commits"; tag = "v${version}"; - hash = "sha256-70PEcktGGck7egDmaIteFEMCNpo6ZuWyIVPiOywr2tc="; + hash = "sha256-77wjS/BvJLDV+48xYE7XkC6A2GkCefWFydxOU53rXME="; }; npmDepsHash = "sha256-g34UutgT5315BpsQSuGGLIU6Ga+hpEz74HNLKKOB+ec="; diff --git a/pkgs/by-name/by/byedpi/package.nix b/pkgs/by-name/by/byedpi/package.nix index 226b402eb609..d80429cea8fe 100644 --- a/pkgs/by-name/by/byedpi/package.nix +++ b/pkgs/by-name/by/byedpi/package.nix @@ -6,13 +6,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "byedpi"; - version = "0.16.6"; + version = "0.17"; src = fetchFromGitHub { owner = "hufrea"; repo = "byedpi"; tag = "v${finalAttrs.version}"; - hash = "sha256-8iGmEfc/7ZLZmMdxuH6SjO1Wb/KuiLUJeYjrtnplalE="; + hash = "sha256-JedtEgkj21pDnNM19Oq6asI7iMIHZqf3ZolDlUDhHg8="; }; installPhase = '' diff --git a/pkgs/by-name/ca/candy-icons/package.nix b/pkgs/by-name/ca/candy-icons/package.nix index 0dc9fedfe78c..f2b4ab8b64f1 100644 --- a/pkgs/by-name/ca/candy-icons/package.nix +++ b/pkgs/by-name/ca/candy-icons/package.nix @@ -8,13 +8,13 @@ stdenvNoCC.mkDerivation { pname = "candy-icons"; - version = "0-unstable-2025-05-24"; + version = "0-unstable-2025-06-07"; src = fetchFromGitHub { owner = "EliverLara"; repo = "candy-icons"; - rev = "b099e7f437da41f65ffb710d801471e2f813f1b2"; - hash = "sha256-gy58GQMoYOFXbvXoKELUydg/X/B8BJ6hIbcOl5com1E="; + rev = "9720f52c97f582780f0927541ba19963603ad7f5"; + hash = "sha256-bXUlc8SnLIEopGtqyXbqu50qe1PNW5875l8WdsfyANw="; }; nativeBuildInputs = [ gtk3 ]; diff --git a/pkgs/by-name/ce/certspotter/package.nix b/pkgs/by-name/ce/certspotter/package.nix index 044e5256abd7..1666f356c02b 100644 --- a/pkgs/by-name/ce/certspotter/package.nix +++ b/pkgs/by-name/ce/certspotter/package.nix @@ -7,13 +7,13 @@ buildGoModule rec { pname = "certspotter"; - version = "0.19.1"; + version = "0.20.0"; src = fetchFromGitHub { owner = "SSLMate"; repo = "certspotter"; rev = "v${version}"; - hash = "sha256-aVlCN2bk/gKUb6gQ7/VnhJCx1x5A9UzOzg/WA9VxBVY="; + hash = "sha256-CX0YchfX6EwIjH+m1FEHqfuXurg51JC4l+97BgXYXJg="; }; vendorHash = "sha256-+6Gu3y708XXX7CHvZmEh7j3ILNBi/++8Mud34mOrtmA="; diff --git a/pkgs/by-name/ch/cherrytree/package.nix b/pkgs/by-name/ch/cherrytree/package.nix index 3004d14356a2..8d1160694c1a 100644 --- a/pkgs/by-name/ch/cherrytree/package.nix +++ b/pkgs/by-name/ch/cherrytree/package.nix @@ -21,13 +21,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "cherrytree"; - version = "1.4.0"; + version = "1.5.0"; src = fetchFromGitHub { owner = "giuspen"; repo = "cherrytree"; tag = "v${finalAttrs.version}"; - hash = "sha256-X87L3oSidnXH/IIHtVbeIn0ehWkSgrAkX0+TUGQomV0="; + hash = "sha256-WsxN2VGESrDUv0sSTsMSpZr6Ca7yDwGNR2aB3BrmfkY="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/de/delve/package.nix b/pkgs/by-name/de/delve/package.nix index 6b7e51b078e9..098d4a5e4a46 100644 --- a/pkgs/by-name/de/delve/package.nix +++ b/pkgs/by-name/de/delve/package.nix @@ -8,13 +8,13 @@ buildGoModule rec { pname = "delve"; - version = "1.24.2"; + version = "1.25.0"; src = fetchFromGitHub { owner = "go-delve"; repo = "delve"; rev = "v${version}"; - hash = "sha256-BFezzZpkF88xYsOcn3pI2zsH+OTRLvuwqa3CaU9Fk44="; + hash = "sha256-bp8pYWS3Vpg0R2Xfe5agDTENzLGu9r43BgORa8VrP+Y="; }; vendorHash = null; diff --git a/pkgs/by-name/de/descent3-unwrapped/package.nix b/pkgs/by-name/de/descent3-unwrapped/package.nix index 538b06a475c5..9fa5941085b9 100644 --- a/pkgs/by-name/de/descent3-unwrapped/package.nix +++ b/pkgs/by-name/de/descent3-unwrapped/package.nix @@ -20,11 +20,11 @@ stdenv.mkDerivation rec { # the wrapped version of Descent 3. Once there’s a stable version of Descent # 3 that supports the -additionaldir command-line option, we can stop using # an unstable version of Descent 3. - version = "1.5.0-beta-unstable-2025-05-23"; + version = "1.5.0-beta-unstable-2025-06-03"; src = fetchFromGitHub { owner = "DescentDevelopers"; repo = "Descent3"; - rev = "76b527b5afd15fbf6f32d67ec637ea64298c6e68"; + rev = "a7278df85ef8a6015e5f6c226523a3ed6e26da69"; leaveDotGit = true; # Descent 3 is supposed to display its Git commit hash in the bottom right # corner of the main menu. That feature only works if either the .git @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { git rev-parse --verify HEAD | tr --delete '\n' > git-hash.txt rm -r .git ''; - hash = "sha256-1cXiTWKwVgyVM78+0PpuvyJn8v/8BHp7mkw0DgVPolg="; + hash = "sha256-ms5CC1lnK317jfJQJhWYbz7QyqiEld+kPkwo8phBlac="; }; hardeningDisable = [ "format" ]; diff --git a/pkgs/by-name/do/dosbox-staging/package.nix b/pkgs/by-name/do/dosbox-staging/package.nix index 7aeeb8215cc3..909530579007 100644 --- a/pkgs/by-name/do/dosbox-staging/package.nix +++ b/pkgs/by-name/do/dosbox-staging/package.nix @@ -31,14 +31,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "dosbox-staging"; - version = "0.82.1"; - shortRev = "13441a2"; + version = "0.82.2"; + shortRev = "f8c24f8"; src = fetchFromGitHub { owner = "dosbox-staging"; repo = "dosbox-staging"; - rev = "v${finalAttrs.version}"; - hash = "sha256-BVeFBKqTQiEftWVvMkSYBjC6dCYI4juWD4A6Bx8E8/Y="; + tag = "v${finalAttrs.version}"; + hash = "sha256-u9W6TfHF+BNeoExcx98kCVJu1BNwWnvjBEg84evMnBw="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/el/electron-cash/package.nix b/pkgs/by-name/el/electron-cash/package.nix deleted file mode 100644 index ff2b24cdc7e0..000000000000 --- a/pkgs/by-name/el/electron-cash/package.nix +++ /dev/null @@ -1,112 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - python3Packages, - qt5, - secp256k1, -}: - -python3Packages.buildPythonApplication rec { - pname = "electron-cash"; - version = "4.4.2"; - - src = fetchFromGitHub { - owner = "Electron-Cash"; - repo = "Electron-Cash"; - tag = version; - sha256 = "sha256-hqaPxetS6JONvlRMjNonXUGFpdmnuadD00gcPzY07x0="; - }; - - build-system = with python3Packages; [ - cython - ]; - - propagatedBuildInputs = with python3Packages; [ - # requirements - pyaes - ecdsa - requests - qrcode - protobuf - jsonrpclib-pelix - pysocks - qdarkstyle - python-dateutil - stem - certifi - pathvalidate - dnspython - bitcoinrpc - - # requirements-binaries - pyqt5 - psutil - pycryptodomex - cryptography - zxing-cpp - - # requirements-hw - trezor - keepkey - btchip-python - hidapi - pyopenssl - pyscard - pysatochip - ]; - - nativeBuildInputs = [ qt5.wrapQtAppsHook ]; - - buildInputs = [ ] ++ lib.optional stdenv.hostPlatform.isLinux qt5.qtwayland; - - # If secp256k1 wasn't added to the library path, the following warning is given: - # - # Electron Cash was unable to find the secp256k1 library on this system. - # Elliptic curve cryptography operations will be performed in slow - # Python-only mode. - # - # Upstream hardcoded `libsecp256k1.so.0` where we provides - # `libsecp256k1.so.5`. The only breaking change is the removal of two - # functions which seem not used by electron-cash. - # See: - postPatch = '' - substituteInPlace setup.py \ - --replace-fail "(share_dir" '("share"' - substituteInPlace electroncash/secp256k1.py \ - --replace-fail "libsecp256k1.so.0" "${secp256k1}/lib/libsecp256k1.so.5" - ''; - - preFixup = '' - makeWrapperArgs+=("''${qtWrapperArgs[@]}") - ''; - - doInstallCheck = true; - installCheckPhase = '' - output="$($out/bin/electron-cash help 2>&1)" - if [[ "$output" == *"failed to load"* ]]; then - echo "$output" - echo "Forbidden text detected: failed to load" - exit 1 - fi - ''; - - meta = { - description = "Bitcoin Cash SPV Wallet"; - mainProgram = "electron-cash"; - longDescription = '' - An easy-to-use Bitcoin Cash client featuring wallets generated from - mnemonic seeds (in addition to other, more advanced, wallet options) - and the ability to perform transactions without downloading a copy - of the blockchain. - ''; - homepage = "https://www.electroncash.org/"; - platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ - lassulus - nyanloutre - oxalica - ]; - license = lib.licenses.mit; - }; -} diff --git a/pkgs/by-name/fa/fanficfare/package.nix b/pkgs/by-name/fa/fanficfare/package.nix index 25590da452a1..4900e7b92513 100644 --- a/pkgs/by-name/fa/fanficfare/package.nix +++ b/pkgs/by-name/fa/fanficfare/package.nix @@ -6,12 +6,12 @@ python3Packages.buildPythonApplication rec { pname = "fanficfare"; - version = "4.45.0"; + version = "4.46.0"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-KCKuPaXH9EqcqrRucJcvDrIEqKE4sx/evkIfoqVcZ4g="; + hash = "sha256-stJ3vnPwUL6fh0B09EiL42CLdEDQujqYZ9cbUR+LFcY="; }; nativeBuildInputs = with python3Packages; [ diff --git a/pkgs/by-name/gi/gitwatch/package.nix b/pkgs/by-name/gi/gitwatch/package.nix index 468618c604d9..0df7cf190586 100644 --- a/pkgs/by-name/gi/gitwatch/package.nix +++ b/pkgs/by-name/gi/gitwatch/package.nix @@ -13,12 +13,12 @@ }: runCommand "gitwatch" rec { - version = "0.2"; + version = "0.3"; src = fetchFromGitHub { owner = "gitwatch"; repo = "gitwatch"; rev = "v${version}"; - hash = "sha256-KuWD2FAMi2vZ/7e4fIg97DGuAPEV9b9iOuF8NIGFVpE="; + hash = "sha256-dKXKuqUQhFUXMwPs7Uilzn2yKH6DIlBTOFztKo+PqVU="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/go/go-dnscollector/package.nix b/pkgs/by-name/go/go-dnscollector/package.nix index 9c5a7f9add01..cc428c1fdae0 100644 --- a/pkgs/by-name/go/go-dnscollector/package.nix +++ b/pkgs/by-name/go/go-dnscollector/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "go-dnscollector"; - version = "1.7.0"; + version = "1.8.0"; src = fetchFromGitHub { owner = "dmachard"; repo = "go-dnscollector"; rev = "v${version}"; - sha256 = "sha256-antLNQEOA20XxmmZHFQcs0VuLVfgM5V3wyXOYIX4hlk="; + sha256 = "sha256-q12hMnSqA/KCkmiqsmBpvDmyHtuEWhMBTKwOOyw3Wfs="; }; - vendorHash = "sha256-9EQr4lhv6+PkAnMJ6iWnBsK/SzZaOyVkSpqSYsX07LY="; + vendorHash = "sha256-TtlOwmNyO2/eQCajPBu6Pgdbuk4gacpgtcnr1vZgZdg="; subPackages = [ "." ]; diff --git a/pkgs/by-name/go/go-mockery/package.nix b/pkgs/by-name/go/go-mockery/package.nix index 99cd99afeaaa..8910fe5c35f6 100644 --- a/pkgs/by-name/go/go-mockery/package.nix +++ b/pkgs/by-name/go/go-mockery/package.nix @@ -2,80 +2,39 @@ lib, buildGoModule, # sync with go below, update to latest release fetchFromGitHub, - - # passthru test - go-mockery, - runCommand, - go, + versionCheckHook, }: buildGoModule rec { pname = "go-mockery"; - version = "2.53.3"; + version = "3.2.5"; src = fetchFromGitHub { owner = "vektra"; repo = "mockery"; - rev = "v${version}"; - sha256 = "sha256-X0cHpv4o6pzgjg7+ULCuFkspeff95WFtJbVHqy4LxAg="; + tag = "v${version}"; + hash = "sha256-QtfiW9yZvqCjKb3wH+QqfD98d7FLDVBQxj2Y/GC6Yhk="; }; ldflags = [ "-s" "-w" - "-X" - "github.com/vektra/mockery/v${lib.versions.major version}/pkg/logging.SemVer=v${version}" + "-X github.com/vektra/mockery/v${lib.versions.major version}/internal/logging.SemVer=v${version}" ]; env.CGO_ENABLED = false; proxyVendor = true; - vendorHash = "sha256-AQY4x2bLqMwHIjoKHzEm1hebR29gRs3LJN8i00Uup5o="; + vendorHash = "sha256-ac9wqHmkmpb1tIkQQ7x8+X+wQ217vsNm4IIidzNlne0="; + doInstallCheck = true; + nativeInstallCheckInputs = [ + versionCheckHook + ]; + versionCheckProgram = "${placeholder "out"}/bin/mockery"; + versionCheckProgramArg = "version"; subPackages = [ "." ]; - preCheck = '' - # check all paths - unset subPackages - - substituteInPlace ./pkg/generator_test.go --replace-fail 0.0.0-dev ${version} - substituteInPlace ./pkg/logging/logging_test.go --replace-fail v0.0 v${lib.versions.majorMinor version} - ''; - - passthru.tests = { - generateMock = - runCommand "${pname}-test" - { - nativeBuildInputs = [ go-mockery ]; - buildInputs = [ go ]; - } - '' - if [[ $(${meta.mainProgram} --version) != *"${version}"* ]]; then - echo "Error: program version does not match package version" - exit 1 - fi - - export HOME=$TMPDIR - - cat < foo.go - package main - - type Foo interface { - Bark() string - } - EOF - - ${meta.mainProgram} --name Foo --dir . - - if [[ ! -f "mocks/Foo.go" ]]; then - echo "Error: mocks/Foo.go was not generated by ${pname}" - exit 1 - fi - - touch $out - ''; - }; - meta = { homepage = "https://github.com/vektra/mockery"; description = "Mock code autogenerator for Golang"; diff --git a/pkgs/by-name/gq/gqlgen/package.nix b/pkgs/by-name/gq/gqlgen/package.nix index a45d38f22d3a..76e609a446a8 100644 --- a/pkgs/by-name/gq/gqlgen/package.nix +++ b/pkgs/by-name/gq/gqlgen/package.nix @@ -6,7 +6,7 @@ }: let - version = "0.17.74"; + version = "0.17.75"; in buildGoModule { pname = "gqlgen"; @@ -16,10 +16,10 @@ buildGoModule { owner = "99designs"; repo = "gqlgen"; tag = "v${version}"; - hash = "sha256-vnUsqJTurGK4pymgDHYpatQ8qW00SfJdxk+CfC/62UA="; + hash = "sha256-VtpD7UfrypaREUu/uon6OTi3jvSzUaj1Y0yTiUw9u0A="; }; - vendorHash = "sha256-k0jWR8t9ZaShEYAXrJi7bUXs7uJ8/rbtHQioQd7/pf8="; + vendorHash = "sha256-sOiEgSGxIp4COfSQjDXv5sm/iryOcRK8MUbnvrglpbc="; subPackages = [ "." ]; diff --git a/pkgs/by-name/he/heimdall/package.nix b/pkgs/by-name/he/heimdall/package.nix index 27fd4cfb18d2..c11e381b470a 100644 --- a/pkgs/by-name/he/heimdall/package.nix +++ b/pkgs/by-name/he/heimdall/package.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "heimdall"; - version = "2.2.1"; + version = "2.2.2"; src = fetchFromSourcehut { owner = "~grimler"; repo = "Heimdall"; rev = "v${finalAttrs.version}"; - hash = "sha256-x+mDTT+oUJ4ffZOmn+UDk3+YE5IevXM8jSxLKhGxXSM="; + hash = "sha256-ga2hAZhsKosEG//qXEf+1vhJYtsHwyq6QvMlZaSFIgQ="; }; passthru.updateScript = gitUpdater { rev-prefix = "v"; }; diff --git a/pkgs/by-name/hm/hmcl/package.nix b/pkgs/by-name/hm/hmcl/package.nix index 4a1b9a9b1c0c..867d97f8c374 100644 --- a/pkgs/by-name/hm/hmcl/package.nix +++ b/pkgs/by-name/hm/hmcl/package.nix @@ -6,7 +6,15 @@ wrapGAppsHook3, copyDesktopItems, imagemagick, - jre, + jdk, + jdk17, + jdk21, + hmclJdk ? jdk, + minecraftJdks ? [ + jdk + jdk17 + jdk21 + ], xorg, glib, libGL, @@ -96,9 +104,10 @@ stdenv.mkDerivation (finalAttrs: { '' runHook preFixup - makeBinaryWrapper ${jre}/bin/java $out/bin/hmcl \ + makeBinaryWrapper ${hmclJdk}/bin/java $out/bin/hmcl \ --add-flags "-jar $out/lib/hmcl/hmcl.jar" \ --set LD_LIBRARY_PATH ${libpath} \ + --prefix PATH : "${lib.makeBinPath minecraftJdks}"\ ''${gappsWrapperArgs[@]} runHook postFixup @@ -111,6 +120,6 @@ stdenv.mkDerivation (finalAttrs: { sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.gpl3Only; maintainers = with maintainers; [ daru-san ]; - inherit (jre.meta) platforms; + inherit (hmclJdk.meta) platforms; }; }) diff --git a/pkgs/by-name/ht/httm/package.nix b/pkgs/by-name/ht/httm/package.nix index b6e147467da3..d5839954d192 100644 --- a/pkgs/by-name/ht/httm/package.nix +++ b/pkgs/by-name/ht/httm/package.nix @@ -7,17 +7,17 @@ rustPlatform.buildRustPackage rec { pname = "httm"; - version = "0.48.3"; + version = "0.48.4"; src = fetchFromGitHub { owner = "kimono-koans"; repo = "httm"; rev = version; - hash = "sha256-55rUNITdz8lM0yuQQrNhXCKxwx4m7FPVhE1usEAVj0I="; + hash = "sha256-636Two3kGtzpx6gQfvBKhhz5BQflP8joYpw0CY5UnoA="; }; useFetchCargoVendor = true; - cargoHash = "sha256-Hbn+PlmJ9FiwHme3kXjvG7m2rkgR4nGnpTT04JHJrao="; + cargoHash = "sha256-95xqzwFcTusL50Ue6dsM2BhD6J2Fi/qsrGQYniFVVd4="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/ir/irpf/package.nix b/pkgs/by-name/ir/irpf/package.nix index 998dcc91ebc1..b7e593ee2dfe 100644 --- a/pkgs/by-name/ir/irpf/package.nix +++ b/pkgs/by-name/ir/irpf/package.nix @@ -13,7 +13,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "irpf"; - version = "2025-1.3"; + version = "2025-1.4"; # https://www.gov.br/receitafederal/pt-br/centrais-de-conteudo/download/pgd/dirpf # Para outros sistemas operacionais -> Multi @@ -23,7 +23,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { in fetchzip { url = "https://downloadirpf.receita.fazenda.gov.br/irpf/${year}/irpf/arquivos/IRPF${finalAttrs.version}.zip"; - hash = "sha256-BWCxnKPvkijVkXfbA1iVbdcgLZqY5SAzASqnzdjXwiw="; + hash = "sha256-pSnqBvG6Jk6aAOhpWt390oZWqi99htxu5ojWAc7FBeQ="; }; passthru.updateScript = writeScript "update-irpf" '' diff --git a/pkgs/by-name/ka/kafkactl/package.nix b/pkgs/by-name/ka/kafkactl/package.nix index e69f2e5f04ef..e269c8b7d5f2 100644 --- a/pkgs/by-name/ka/kafkactl/package.nix +++ b/pkgs/by-name/ka/kafkactl/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "kafkactl"; - version = "5.8.0"; + version = "5.9.0"; src = fetchFromGitHub { owner = "deviceinsight"; repo = "kafkactl"; tag = "v${version}"; - hash = "sha256-e21q4nXN3aI21PbNltRb6mzj67WmLsvJc8J0s7rrQBo="; + hash = "sha256-yoNZD6WiaGtZlJRQJeu6rIDCN2ozVXYTr71PAVpgWIE="; }; - vendorHash = "sha256-NVk5sguBWcl4W3VMiqpMvvNJ22Dk0dmoddakCbA9zTY="; + vendorHash = "sha256-eGTT3ETww+tR8nuhALy3fbQu3fmRLSLPIEGHHa6TVsE="; doCheck = false; diff --git a/pkgs/by-name/ke/keyguard/deps.json b/pkgs/by-name/ke/keyguard/deps.json index 885d38edc22e..066ddff4aad2 100644 --- a/pkgs/by-name/ke/keyguard/deps.json +++ b/pkgs/by-name/ke/keyguard/deps.json @@ -2674,8 +2674,8 @@ "org/bouncycastle/bcutil-jdk18on/maven-metadata": { "xml": { "groupId": "org.bouncycastle", - "lastUpdated": "20250114201150", - "release": "1.80" + "lastUpdated": "20250604080934", + "release": "1.81" } }, "org/checkerframework#checker-qual/2.5.8": { diff --git a/pkgs/by-name/ke/keyguard/package.nix b/pkgs/by-name/ke/keyguard/package.nix index 6fa9edb37afd..b305093f520b 100644 --- a/pkgs/by-name/ke/keyguard/package.nix +++ b/pkgs/by-name/ke/keyguard/package.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "keyguard"; - version = "1.12.2"; + version = "1.12.3"; src = fetchFromGitHub { owner = "AChep"; repo = "keyguard-app"; - tag = "r20250528"; - hash = "sha256-QKMyUuZ2tluMSVidGp+vRnB5Qm4QwfYDZYRWOV0kbxY="; + tag = "r20250530"; + hash = "sha256-FTDZ4ztFv+pcyupI+tHr+VLrENSN6hqs13i1KJmreAM="; }; postPatch = '' diff --git a/pkgs/by-name/le/lefthook/package.nix b/pkgs/by-name/le/lefthook/package.nix index eaae6378b411..b66a4b5ccf55 100644 --- a/pkgs/by-name/le/lefthook/package.nix +++ b/pkgs/by-name/le/lefthook/package.nix @@ -7,7 +7,7 @@ let pname = "lefthook"; - version = "1.11.13"; + version = "1.11.14"; in buildGoModule { inherit pname version; @@ -16,7 +16,7 @@ buildGoModule { owner = "evilmartians"; repo = "lefthook"; rev = "v${version}"; - hash = "sha256-lOyQiNBgLoe2pPcI69ffWxGOi37rZAbl7Nw7c6skTis="; + hash = "sha256-QD1fDHzR9ZRS8FZBvGJk9rxecqnTE69WWZqaN3eXOhU="; }; vendorHash = "sha256-vatbvmtdh/23ul6S/cgbyWEtsUgKXZ5BR+aUuQ0MxMg="; diff --git a/pkgs/by-name/li/libdwarf-lite/package.nix b/pkgs/by-name/li/libdwarf-lite/package.nix deleted file mode 100644 index 7091ac3f9730..000000000000 --- a/pkgs/by-name/li/libdwarf-lite/package.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - cmake, -}: -stdenv.mkDerivation (finalAttrs: { - pname = "libdwarf-lite"; - version = "0.12.0"; - - src = fetchFromGitHub { - owner = "jeremy-rifkin"; - repo = "libdwarf-lite"; - rev = "v${finalAttrs.version}"; - hash = "sha256-/E0aUVEhEy1v4wm2/t5wLck93Xb/RrKMIwqFYpi6BLA="; - }; - - outputs = [ - "dev" - "lib" - "out" - ]; - - nativeBuildInputs = [ cmake ]; - - cmakeFlags = [ - (lib.cmakeBool "BUILD_DWARFDUMP" false) - (lib.cmakeBool "PIC_ALWAYS" true) - ]; - - meta = { - description = "Minimal libdwarf mirror for faster cloning and configuration"; - homepage = "https://github.com/jeremy-rifkin/libdwarf-lite"; - license = lib.licenses.lgpl21Only; - maintainers = [ ]; - mainProgram = "libdwarf-lite"; - platforms = lib.platforms.all; - }; -}) diff --git a/pkgs/by-name/li/libretro-shaders-slang/package.nix b/pkgs/by-name/li/libretro-shaders-slang/package.nix index 3f9616f16310..7e05c3a808da 100644 --- a/pkgs/by-name/li/libretro-shaders-slang/package.nix +++ b/pkgs/by-name/li/libretro-shaders-slang/package.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation { pname = "libretro-shaders-slang"; - version = "0-unstable-2025-05-31"; + version = "0-unstable-2025-06-14"; src = fetchFromGitHub { owner = "libretro"; repo = "slang-shaders"; - rev = "3f15f4930a1dd80117d00bab1ed95d7a7ba62b4b"; - hash = "sha256-yhnblVSV6HZ0ZnfD5glZ6y7+SOio17+l5bVs0+vaY7w="; + rev = "536b12633d56ae38cdc440a9804e9f245728bec1"; + hash = "sha256-rf8wul91X9My9RPAr1iPdV/eTuTQzF3R60TjR+NcUNE="; }; dontConfigure = true; diff --git a/pkgs/by-name/ma/matrix-commander-rs/package.nix b/pkgs/by-name/ma/matrix-commander-rs/package.nix index b5782bd57d1b..2f5cc53ee0aa 100644 --- a/pkgs/by-name/ma/matrix-commander-rs/package.nix +++ b/pkgs/by-name/ma/matrix-commander-rs/package.nix @@ -9,17 +9,17 @@ rustPlatform.buildRustPackage rec { pname = "matrix-commander-rs"; - version = "0.10.0"; + version = "0.10.1"; src = fetchFromGitHub { owner = "8go"; repo = "matrix-commander-rs"; tag = "v${version}"; - hash = "sha256-eEkSdr6qHLUBp4natvq7uMbcqxDOTJAE1vEPWLE3KKM="; + hash = "sha256-ljRFZYfTSyiIVgABgQAVLlwhOmeMumAyZe9tASPtMZA="; }; useFetchCargoVendor = true; - cargoHash = "sha256-I7g3yNjq1i7YXv6S7PPZnOQ0Y5665dNayz7XEQl/WAE="; + cargoHash = "sha256-BMVxxCOAznAsqKUgGHJ9hPgdIksCyzMVUHeLa+om09U="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/mo/moar/package.nix b/pkgs/by-name/mo/moar/package.nix index 547effbcf0ed..1a32b138ac78 100644 --- a/pkgs/by-name/mo/moar/package.nix +++ b/pkgs/by-name/mo/moar/package.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "moar"; - version = "1.31.8"; + version = "1.31.10"; src = fetchFromGitHub { owner = "walles"; repo = "moar"; rev = "v${version}"; - hash = "sha256-Ql2RWE8yttUSWZf4kJxv8l2lDBetJ7JB7W7A8GYVkyg="; + hash = "sha256-MnxElICkTCWwaY0lz9bsK0ioX4IFe8DgVcU7D1csBpI="; }; - vendorHash = "sha256-J9u7LxzXk4npRyymmMKyN2ZTmhT4WwKjy0X5ITcHtoE="; + vendorHash = "sha256-eKL6R2Xmj6JOwXGuJJdSGwobEzDzZ0FUD8deO2d1unc="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/na/naja/package.nix b/pkgs/by-name/na/naja/package.nix index 24cf7ee71259..10695db23b28 100644 --- a/pkgs/by-name/na/naja/package.nix +++ b/pkgs/by-name/na/naja/package.nix @@ -8,21 +8,21 @@ capnproto, doxygen, flex, - libdwarf-lite, pkg-config, python3, tbb_2021_11, buildPackages, + nix-update-script, }: -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "naja"; - version = "0-unstable-2025-01-13"; + version = "0.1.16"; src = fetchFromGitHub { owner = "najaeda"; repo = "naja"; - rev = "ffc29daa22e02565b2a0a108f8e65236cdee413a"; - hash = "sha256-XGlgSUHSpHxNrms50pOQ9eoGZ6y79Rbm/sDYW2C4qsg="; + tag = "v${finalAttrs.version}"; + hash = "sha256-MwMpxmmr8fJN49RkRguiEEwPVUIm+OcNFjEixpjn9UY="; fetchSubmodules = true; }; @@ -63,14 +63,11 @@ stdenv.mkDerivation { boost capnproto # cmake modules flex # include dir - libdwarf-lite tbb_2021_11 python3 ]; cmakeFlags = [ - (lib.cmakeBool "CPPTRACE_USE_EXTERNAL_LIBDWARF" true) - (lib.cmakeBool "CPPTRACE_USE_EXTERNAL_ZSTD" true) # provide correct executables for cross (lib.cmakeFeature "Python3_EXECUTABLE" (lib.getExe python3.pythonOnBuildForHost)) # TODO: remove these once capnp cross is fixed properly @@ -78,12 +75,14 @@ stdenv.mkDerivation { (lib.cmakeFeature "CAPNPC_CXX_EXECUTABLE" (lib.getExe' buildPackages.capnproto "capnpc-c++")) ]; - doCheck = true; - postInstall = '' moveToOutput lib/libnaja_bne.so $lib ''; + doCheck = true; + + passthru.updateScript = nix-update-script { }; + meta = { description = "Structural Netlist API (and more) for EDA post synthesis flow development"; homepage = "https://github.com/najaeda/naja"; @@ -92,4 +91,4 @@ stdenv.mkDerivation { mainProgram = "naja_edit"; platforms = lib.platforms.all; }; -} +}) diff --git a/pkgs/by-name/nu/nuclei-templates/package.nix b/pkgs/by-name/nu/nuclei-templates/package.nix index 3b2e538d82b6..f6a8d985298c 100644 --- a/pkgs/by-name/nu/nuclei-templates/package.nix +++ b/pkgs/by-name/nu/nuclei-templates/package.nix @@ -6,13 +6,13 @@ stdenvNoCC.mkDerivation rec { pname = "nuclei-templates"; - version = "10.2.2"; + version = "10.2.3"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = "nuclei-templates"; tag = "v${version}"; - hash = "sha256-FWOfh/W2Hy01Z7oEItLtWidbvEfwVBDU9KAaCoFO0AI="; + hash = "sha256-WncT1mij/EncI+uGyDJLfK1Qk7kQAEDbeUdIcI67zPk="; }; installPhase = '' diff --git a/pkgs/by-name/nu/nuclei/package.nix b/pkgs/by-name/nu/nuclei/package.nix index 718f411c1867..68d87769cd3a 100644 --- a/pkgs/by-name/nu/nuclei/package.nix +++ b/pkgs/by-name/nu/nuclei/package.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "nuclei"; - version = "3.4.4"; + version = "3.4.5"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = "nuclei"; tag = "v${version}"; - hash = "sha256-pZA7Alrn3E9w283nQ5G0sVaTd8/QqnMqa3WGaMsNllQ="; + hash = "sha256-X2jgmSEpfeq6vet37wWL2SP3GRHIyQpU6eMNIEPISZQ="; }; - vendorHash = "sha256-mrLXVfZR+OtinIsvRaEMss//oKl6IWDFcfS8ku05zx4="; + vendorHash = "sha256-eRuTv4F669S7YqKC4cbwRp7veWUUsIGMMyyUzLqbZ5k="; proxyVendor = true; # hash mismatch between Linux and Darwin diff --git a/pkgs/by-name/nw/nwg-look/package.nix b/pkgs/by-name/nw/nwg-look/package.nix index 96a9e5b19964..0da3a4ae20ca 100644 --- a/pkgs/by-name/nw/nwg-look/package.nix +++ b/pkgs/by-name/nw/nwg-look/package.nix @@ -14,13 +14,13 @@ buildGoModule rec { pname = "nwg-look"; - version = "1.0.5"; + version = "1.0.6"; src = fetchFromGitHub { owner = "nwg-piotr"; repo = "nwg-look"; rev = "v${version}"; - hash = "sha256-SyGyW4Hq0zT+jBrCmsuG+9Smcu4ruP6+aR3VUK205MM="; + hash = "sha256-cNVUgtbdzEuttDO7DZyipDugACr/fIU8RKmh5trykPw="; }; vendorHash = "sha256-8ooWJTOC4fmuu+/Dy7JOaGSO5YlsMfKcf2lyv2ojJIw="; diff --git a/pkgs/by-name/nw/nwjs-ffmpeg-prebuilt/package.nix b/pkgs/by-name/nw/nwjs-ffmpeg-prebuilt/package.nix index b4b8f08b630c..c0a83a38dfad 100644 --- a/pkgs/by-name/nw/nwjs-ffmpeg-prebuilt/package.nix +++ b/pkgs/by-name/nw/nwjs-ffmpeg-prebuilt/package.nix @@ -7,7 +7,7 @@ let bits = if stdenv.hostPlatform.is64bit then "x64" else "ia32"; - version = "0.100.0"; + version = "0.100.1"; in stdenv.mkDerivation { pname = "nwjs-ffmpeg-prebuilt"; @@ -16,8 +16,8 @@ stdenv.mkDerivation { src = let hashes = { - "x64" = "sha256-F82ofunAKVVTu0hjAOj2i0ZBr7HcbeXEqQvnipQe7hI="; - "ia32" = "sha256-F82ofunAKVVTu0hjAOj2i0ZBr7HcbeXEqQvnipQe7hI="; + "x64" = "sha256-+XvY8zK/HlrE8difeMnc+smy2+ydAqKd+7nZ1slx5y4="; + "ia32" = "sha256-+XvY8zK/HlrE8difeMnc+smy2+ydAqKd+7nZ1slx5y4="; }; in fetchurl { diff --git a/pkgs/by-name/oc/oci-cli/package.nix b/pkgs/by-name/oc/oci-cli/package.nix index f4320471c193..a6e1c0604fb5 100644 --- a/pkgs/by-name/oc/oci-cli/package.nix +++ b/pkgs/by-name/oc/oci-cli/package.nix @@ -25,14 +25,14 @@ in py.pkgs.buildPythonApplication rec { pname = "oci-cli"; - version = "3.56.1"; + version = "3.58.1"; format = "setuptools"; src = fetchFromGitHub { owner = "oracle"; repo = "oci-cli"; tag = "v${version}"; - hash = "sha256-KvyhQ8MM74MYR8gf18XVYZrOSEKcOqdmyITg2UyNqp8="; + hash = "sha256-h/iFB7JIrVa/FBCMqjYIeN9DlF/H8oQYHtYT9bII/CU="; }; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/oh/oh-my-posh/package.nix b/pkgs/by-name/oh/oh-my-posh/package.nix index 639b88560c98..6f734f481bd6 100644 --- a/pkgs/by-name/oh/oh-my-posh/package.nix +++ b/pkgs/by-name/oh/oh-my-posh/package.nix @@ -6,16 +6,16 @@ }: buildGoModule rec { pname = "oh-my-posh"; - version = "25.23.3"; + version = "26.8.0"; src = fetchFromGitHub { owner = "jandedobbeleer"; repo = "oh-my-posh"; tag = "v${version}"; - hash = "sha256-FStopBbBp5HVH5tXFPpComAuXItEwwtQf8VRGJaicPs="; + hash = "sha256-CWc9i+QGdcp+6eRfctn4oJFaQOy8D+jDTHTmUzBXez4="; }; - vendorHash = "sha256-BucMDbubJ+gEb5tBBSOf+P0A+KkDnUSAJRALyL9uhXU="; + vendorHash = "sha256-oqsQbcvcgid6odTZY7m74NNilBpukEmifqZGx+xeEXA="; sourceRoot = "${src.name}/src"; diff --git a/pkgs/by-name/oh/oh-my-zsh/package.nix b/pkgs/by-name/oh/oh-my-zsh/package.nix index d0d8e99009e6..d15357b7f6cf 100644 --- a/pkgs/by-name/oh/oh-my-zsh/package.nix +++ b/pkgs/by-name/oh/oh-my-zsh/package.nix @@ -19,14 +19,14 @@ }: stdenv.mkDerivation rec { - version = "2025-05-24"; + version = "2025-06-10"; pname = "oh-my-zsh"; src = fetchFromGitHub { owner = "ohmyzsh"; repo = "ohmyzsh"; - rev = "095ac3ca8f4c3a89a69ff3b45cb67346f76babbd"; - sha256 = "sha256-Xn9JC7ue/G3w/QpgH8tFZI5F8KlxKmue8Of9Sk6eujY="; + rev = "042605ee6b2afeb21e380d05b22d5072f0eeff44"; + sha256 = "sha256-qAD9lSjHDtZoWznbBAnUUI+bMa3DpXaaxNoY5fEN4lY="; }; strictDeps = true; diff --git a/pkgs/by-name/pa/papilo/package.nix b/pkgs/by-name/pa/papilo/package.nix index 2e9e6b348de1..1813f0a236a1 100644 --- a/pkgs/by-name/pa/papilo/package.nix +++ b/pkgs/by-name/pa/papilo/package.nix @@ -1,37 +1,48 @@ { - blas, - boost, - cmake, - fetchFromGitHub, - gfortran12, lib, stdenv, - tbb, - zlib, + fetchFromGitHub, + cmake, + boost, + tbb_2022_0, }: stdenv.mkDerivation (finalAttrs: { pname = "papilo"; - version = "2.3.0"; + version = "2.4.2"; src = fetchFromGitHub { owner = "scipopt"; repo = "papilo"; - rev = "v${finalAttrs.version}"; - hash = "sha256-rB8kRyBxd+zn3XFueTQoN16jbFpXMvneqatQm8Hh2Hg="; + tag = "v${finalAttrs.version}"; + hash = "sha256-/1AsAesUh/5YXeCU2OYopoG3SXAwAecPD88QvGkb2bY="; }; - buildInputs = [ - blas - boost - cmake - gfortran12 - zlib - ]; + # skip SEGFAULT tests + postPatch = + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace test/CMakeLists.txt \ + --replace-fail '"matrix-buffer"' "" \ + --replace-fail '"vector-comparisons"' "" \ + --replace-fail '"matrix-comparisons"' "" \ + --replace-fail '"presolve-activity-is-updated-correctly-huge-values"' "" \ + --replace-fail '"problem-comparisons"' "" \ + --replace-fail "Boost_IOSTREAMS_FOUND" "FALSE" + '' + + (lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) '' + substituteInPlace test/CMakeLists.txt \ + --replace-fail '"happy-path-replace-variable"' "" + ''); nativeBuildInputs = [ cmake ]; - propagatedBuildInputs = [ tbb ]; + buildInputs = [ + boost + cmake + tbb_2022_0 + ]; + + propagatedBuildInputs = [ tbb_2022_0 ]; strictDeps = true; diff --git a/pkgs/by-name/pg/pgcopydb/package.nix b/pkgs/by-name/pg/pgcopydb/package.nix index 86a346c55fdd..f01025740d26 100644 --- a/pkgs/by-name/pg/pgcopydb/package.nix +++ b/pkgs/by-name/pg/pgcopydb/package.nix @@ -2,6 +2,7 @@ lib, clangStdenv, fetchFromGitHub, + boehmgc, libkrb5, openssl, pam, @@ -15,13 +16,13 @@ clangStdenv.mkDerivation (finalAttrs: { pname = "pgcopydb"; - version = "0.15"; + version = "0.17"; src = fetchFromGitHub { owner = "dimitri"; repo = "pgcopydb"; - rev = "v${finalAttrs.version}"; - hash = "sha256-m9iIF8h6V3wWLUQuPntXtRAh16RrmR3uqZZIljGCY08="; + tag = "v${finalAttrs.version}"; + hash = "sha256-g5MC4F0BYgTimpJZDX+PepFLXv1QuH7XGlzV66xM11M="; }; nativeBuildInputs = [ @@ -31,6 +32,7 @@ clangStdenv.mkDerivation (finalAttrs: { buildInputs = [ + boehmgc libkrb5 openssl postgresql @@ -58,13 +60,13 @@ clangStdenv.mkDerivation (finalAttrs: { }; }; - meta = with lib; { + meta = { description = "Copy a Postgres database to a target Postgres server (pg_dump | pg_restore on steroids"; homepage = "https://github.com/dimitri/pgcopydb"; changelog = "https://github.com/dimitri/pgcopydb/blob/${finalAttrs.src.rev}/CHANGELOG.md"; - license = licenses.postgresql; + license = lib.licenses.postgresql; maintainers = [ ]; mainProgram = "pgcopydb"; - platforms = platforms.all; + platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/pg/pgmoneta/package.nix b/pkgs/by-name/pg/pgmoneta/package.nix index fd898ea8dd3b..31a0471e48d3 100644 --- a/pkgs/by-name/pg/pgmoneta/package.nix +++ b/pkgs/by-name/pg/pgmoneta/package.nix @@ -20,13 +20,13 @@ stdenv.mkDerivation rec { pname = "pgmoneta"; - version = "0.17.1"; + version = "0.17.2"; src = fetchFromGitHub { owner = "pgmoneta"; repo = "pgmoneta"; rev = version; - hash = "sha256-5yatgiNl9szTnZbn6nKaGKgfnm2bOG4gvXGN5SqtbJI="; + hash = "sha256-d0F+gbYZ9qWRvbOXdKRQS0Rkcvsa5zzu2kiqwLiXpxw="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/re/reindeer/package.nix b/pkgs/by-name/re/reindeer/package.nix index beffff2eaddf..08c68ee81200 100644 --- a/pkgs/by-name/re/reindeer/package.nix +++ b/pkgs/by-name/re/reindeer/package.nix @@ -9,17 +9,17 @@ rustPlatform.buildRustPackage rec { pname = "reindeer"; - version = "2025.06.02.00"; + version = "2025.06.16.00"; src = fetchFromGitHub { owner = "facebookincubator"; repo = "reindeer"; tag = "v${version}"; - hash = "sha256-bKsMR3ubAfeZNVA3Q7RpDmaD9UlZUkVWTi5zevytOj0="; + hash = "sha256-tvDOGt0fLwj0YhwBMTdsXYqCLY2+M4bQCNgf3Bq5hkU="; }; useFetchCargoVendor = true; - cargoHash = "sha256-PNCcTztLMt0d8L+tcvOgl4y85Zs4CJR6fDehUImNu6Y="; + cargoHash = "sha256-ZAefAr8uXqaIm4NOqHaz2rDVxGRJfoobAzPOa+3GqNE="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/re/renode-unstable/package.nix b/pkgs/by-name/re/renode-unstable/package.nix index 4f3dbc2f2dff..e2f8983b2923 100644 --- a/pkgs/by-name/re/renode-unstable/package.nix +++ b/pkgs/by-name/re/renode-unstable/package.nix @@ -7,11 +7,11 @@ renode.overrideAttrs ( finalAttrs: _: { pname = "renode-unstable"; - version = "1.15.3+20250507git91a4bb342"; + version = "1.15.3+20250528gitc8bcc4cd7"; src = fetchurl { url = "https://builds.renode.io/renode-${finalAttrs.version}.linux-dotnet.tar.gz"; - hash = "sha256-x0g7wsaDCi3QUTEQcw/gGtzkWTmJB7ZZVqCE9fOyCFI="; + hash = "sha256-bt4IWsZXiOmv+FU4vlKg7Uehk3cinumCXC2LHNjtdZ4="; }; passthru.updateScript = diff --git a/pkgs/by-name/ru/ruff/package.nix b/pkgs/by-name/ru/ruff/package.nix index 4cad9bee4f43..7f6cb8812264 100644 --- a/pkgs/by-name/ru/ruff/package.nix +++ b/pkgs/by-name/ru/ruff/package.nix @@ -16,19 +16,19 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ruff"; - version = "0.11.13"; + version = "0.12.0"; src = fetchFromGitHub { owner = "astral-sh"; repo = "ruff"; tag = finalAttrs.version; - hash = "sha256-qa4TCvjk0zrXRdiTTqjJbUnCXQKpwiRwtA28y8ZuGpw="; + hash = "sha256-g3fodKPDV4UaqnRalG5tEu4acvyhuoDXUevSQeHunBY="; }; cargoBuildFlags = [ "--package=ruff" ]; useFetchCargoVendor = true; - cargoHash = "sha256-JkhvTONWKd3/2jI/yQU2jRfEQ2eAp3drup9SsYWOXNA="; + cargoHash = "sha256-GNBQ522FX7Yly963/msRfiYKybpk+XDmn1rujfbO22A="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/sk/skyscraper/package.nix b/pkgs/by-name/sk/skyscraper/package.nix index 35d5e2967e89..3018c7900674 100644 --- a/pkgs/by-name/sk/skyscraper/package.nix +++ b/pkgs/by-name/sk/skyscraper/package.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "skyscraper"; - version = "3.17.2"; + version = "3.17.3"; src = fetchFromGitHub { owner = "Gemba"; repo = "skyscraper"; rev = "refs/tags/${finalAttrs.version}"; - hash = "sha256-VcXa+aI2z+EKJgAtMKsYO/QZ3Ky2acsRYcqDqMFNedg="; + hash = "sha256-vQkvIQnTonvEByZaUQbumfR9aSiakEvy4MLXvllztis="; }; strictDeps = true; diff --git a/pkgs/by-name/sp/spacetimedb/package.nix b/pkgs/by-name/sp/spacetimedb/package.nix index 43802b8c824c..5768501cc232 100644 --- a/pkgs/by-name/sp/spacetimedb/package.nix +++ b/pkgs/by-name/sp/spacetimedb/package.nix @@ -9,17 +9,17 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "spacetimedb"; - version = "1.1.2"; + version = "1.2.0"; src = fetchFromGitHub { owner = "clockworklabs"; repo = "spacetimedb"; tag = "v${finalAttrs.version}"; - hash = "sha256-eBbRdkJafkMXOEsnh1yoht8WJAwZToPobWnhjTWhnA4="; + hash = "sha256-6Fqv3g9e/9i5JMYHwbymm0n2mBEI0207TAyu/nF39Xk="; }; useFetchCargoVendor = true; - cargoHash = "sha256-gs1A/gtjA941TWZw+wxMR+9TCayRa1k49/G8XnzW2ek="; + cargoHash = "sha256-N7A7GAdk9j84qtKHTMtloU469FRwiYtqUdSytFVidlA="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/sr/srtrelay/package.nix b/pkgs/by-name/sr/srtrelay/package.nix index 975a38408c37..0c0a7c324093 100644 --- a/pkgs/by-name/sr/srtrelay/package.nix +++ b/pkgs/by-name/sr/srtrelay/package.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "srtrelay"; - version = "1.3.0"; + version = "1.4.0"; src = fetchFromGitHub { owner = "voc"; repo = "srtrelay"; rev = "v${version}"; - sha256 = "sha256-llBPlfvW9Bvm9nL8w4BTOgccsQNAAb3omRBXBISNBcc="; + sha256 = "sha256-idWAJD6dvvM5OHox5+MI8q3knyl2ANqBiXfQ0VlF67Q="; }; - vendorHash = "sha256-z9sBrSGEHPLdC79hsNKZiI9+w8t0JrVQ8pRdBykaI5Q="; + vendorHash = "sha256-a4Efva0nWeyHjftuky76znbHOrZYXaIVENKbHK9xnb8="; buildInputs = [ srt ]; nativeCheckInputs = [ ffmpeg ]; diff --git a/pkgs/by-name/st/statping-ng/package.nix b/pkgs/by-name/st/statping-ng/package.nix index 149de8993d13..589ed1c9f6d1 100644 --- a/pkgs/by-name/st/statping-ng/package.nix +++ b/pkgs/by-name/st/statping-ng/package.nix @@ -10,13 +10,13 @@ yarnConfigHook, }: let - version = "0.92.0"; + version = "0.93.0"; src = fetchFromGitHub { owner = "statping-ng"; repo = "statping-ng"; tag = "v${version}"; - hash = "sha256-E4sVIa8sKmjRcduATTHLklkr+LKX6KucDw42uVFhK4g="; + hash = "sha256-VVM3Jyahs0OQuHiF/r+U9vq9TBOFOtuTzBurAhR1Dhc="; }; frontend = stdenv.mkDerivation { diff --git a/pkgs/by-name/st/storj-uplink/package.nix b/pkgs/by-name/st/storj-uplink/package.nix index b1bcb44831eb..074cbdb68a16 100644 --- a/pkgs/by-name/st/storj-uplink/package.nix +++ b/pkgs/by-name/st/storj-uplink/package.nix @@ -6,18 +6,18 @@ buildGoModule rec { pname = "storj-uplink"; - version = "1.130.6"; + version = "1.131.3"; src = fetchFromGitHub { owner = "storj"; repo = "storj"; rev = "v${version}"; - hash = "sha256-5IFMIiDP+HmR/yc7OQjs23lO5Cw12lZBsD8oIo2CaLE="; + hash = "sha256-9ZBe9m6HD9Cz8afyGqPLnKqrA6OPaxB2azUgr9VP5OY="; }; subPackages = [ "cmd/uplink" ]; - vendorHash = "sha256-PnRnnl3uFs889eYQbD+oNvDtJgNepNIJ90KTjnGthI8="; + vendorHash = "sha256-8g5NZpw2T2NuyizSh/cA2seSChEGWzlZmR82Xg0ClKQ="; ldflags = [ "-s" diff --git a/pkgs/by-name/te/tenv/package.nix b/pkgs/by-name/te/tenv/package.nix index 94f96dd48319..50b681a4a266 100644 --- a/pkgs/by-name/te/tenv/package.nix +++ b/pkgs/by-name/te/tenv/package.nix @@ -10,13 +10,13 @@ buildGoModule rec { pname = "tenv"; - version = "4.7.0"; + version = "4.7.6"; src = fetchFromGitHub { owner = "tofuutils"; repo = "tenv"; tag = "v${version}"; - hash = "sha256-2ZtXmbrA68lGYvaclkZK1pjiw7AipdIImDzgrrxcz+4="; + hash = "sha256-zgkHE1Vvm2pLBXvpRJyWHHEDL32PDS9Xy8hy48BrO7o="; }; vendorHash = "sha256-acJNxu7M3YOBcQ3KY9qL9vpBoaYIZRUtIDuvkLgATTc="; diff --git a/pkgs/by-name/te/terminal-parrot/package.nix b/pkgs/by-name/te/terminal-parrot/package.nix index f3e7cec81db3..7dfe33d93288 100644 --- a/pkgs/by-name/te/terminal-parrot/package.nix +++ b/pkgs/by-name/te/terminal-parrot/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "terminal-parrot"; - version = "1.2.0"; + version = "1.2.1"; src = fetchFromGitHub { owner = "jmhobbs"; repo = "terminal-parrot"; rev = version; - hash = "sha256-LI67DDcK3M084r9JPx8NcBWthaiBOCEL4lQJhuUJSok="; + hash = "sha256-VOV1KKaZrKyz+Fj//RbPrBE3ImC60FNauayVAMmoxFc="; }; vendorHash = "sha256-EhnmOpT+rx4RVpmqgEQ4qO+Uca1W9uhx4fcExXG9LOI="; diff --git a/pkgs/by-name/te/terraform-ls/package.nix b/pkgs/by-name/te/terraform-ls/package.nix index 5a31714dda31..84306c5bdf33 100644 --- a/pkgs/by-name/te/terraform-ls/package.nix +++ b/pkgs/by-name/te/terraform-ls/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "terraform-ls"; - version = "0.36.4"; + version = "0.36.5"; src = fetchFromGitHub { owner = "hashicorp"; repo = "terraform-ls"; rev = "v${version}"; - hash = "sha256-20spDPVJC48r6Qy6KS8Yp6lUE22DuoOM17WPS3+KN9E="; + hash = "sha256-oSrv0Ct60nN2AVihtcQcIWVpLFDra2Jv3bjjlM6pn9E="; }; - vendorHash = "sha256-+nE36oxW60OKTAEMetuZQhOCJraMTvU5f362k5aYVpc="; + vendorHash = "sha256-Q2a6rCyx59cRaUBTzkKH6OgB9DRlkQSTgAI7WKDCbCI="; ldflags = [ "-s" diff --git a/pkgs/by-name/tf/tfautomv/package.nix b/pkgs/by-name/tf/tfautomv/package.nix index 68b851ff5ae4..2f8732233263 100644 --- a/pkgs/by-name/tf/tfautomv/package.nix +++ b/pkgs/by-name/tf/tfautomv/package.nix @@ -6,19 +6,19 @@ buildGoModule rec { pname = "tfautomv"; - version = "0.6.2"; + version = "0.7.0"; src = fetchFromGitHub { owner = "busser"; repo = "tfautomv"; rev = "v${version}"; - hash = "sha256-qUeIbHJqxGkt2esMm4w6fM52ZE16jWnxugVXxqBh1Qc="; + hash = "sha256-/bwCP8HViGQr3kLVQxHOg7bhNwe2D+wif96IdcHD4nk="; }; # checks require unfree programs like terraform/terragrunt doCheck = false; - vendorHash = "sha256-BZ8IhVPxZTPQXBotFBrxV3dfwvst0te8R84I/urq3gY="; + vendorHash = "sha256-7BjytBX52xB8ThneBoSV6sEVcknQMs776D3nY7ckrBM="; ldflags = [ "-s" diff --git a/pkgs/by-name/to/touchosc/package.nix b/pkgs/by-name/to/touchosc/package.nix index 2ccad4bc7d82..8026c643be17 100644 --- a/pkgs/by-name/to/touchosc/package.nix +++ b/pkgs/by-name/to/touchosc/package.nix @@ -46,7 +46,7 @@ in stdenv.mkDerivation rec { pname = "touchosc"; - version = "1.4.0.230"; + version = "1.4.3.234"; suffix = { @@ -60,9 +60,9 @@ stdenv.mkDerivation rec { url = "https://hexler.net/pub/${pname}/${pname}-${version}-${suffix}.deb"; hash = { - aarch64-linux = "sha256-RXv5j542pLApvp5y9EG6I/WWywoCFZx/F71mKusBSv4="; - armv7l-linux = "sha256-5ySPBbB51tQjrhLpHzoEb5EPDv4nDGJL/hKQOSl3/YI="; - x86_64-linux = "sha256-v7ePfkKxM/yu3KVQfDaK3dMij2TNfLY34ox5/dHJgGI="; + aarch64-linux = "sha256-yeDlc9yM8N3gfCRzABijlrAO/JB20gWah6lqpucX1mQ="; + armv7l-linux = "sha256-DtnWZJ+FgKjwfbZ0FctiWtOANPg2A/k4gqS6l/JFe6Q="; + x86_64-linux = "sha256-0P+DTR8u1SJzF8t3Hm1TC/N9KEbLtv4eZFZH9sKQ1lw="; } .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; diff --git a/pkgs/by-name/tr/trino-cli/package.nix b/pkgs/by-name/tr/trino-cli/package.nix index b0a116e1d5be..810b07362edc 100644 --- a/pkgs/by-name/tr/trino-cli/package.nix +++ b/pkgs/by-name/tr/trino-cli/package.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { pname = "trino-cli"; - version = "475"; + version = "476"; jarfilename = "${pname}-${version}-executable.jar"; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://maven/io/trino/${pname}/${version}/${jarfilename}"; - sha256 = "sha256-NGfouDTSk1M51pEkQbDCzFGCe3jpZd/8FYGGyBzsArI="; + sha256 = "sha256-/k6cf7VpzWdnOvoWIpRfYwjh5ZvbglQZNSuAiHZhdXs="; }; dontUnpack = true; diff --git a/pkgs/by-name/ts/ts-warp/package.nix b/pkgs/by-name/ts/ts-warp/package.nix index 653b0856ac80..d2481c1295b0 100644 --- a/pkgs/by-name/ts/ts-warp/package.nix +++ b/pkgs/by-name/ts/ts-warp/package.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "ts-warp"; - version = "1.5.7"; + version = "1.5.8"; src = fetchFromGitHub { owner = "mezantrop"; repo = "ts-warp"; - rev = finalAttrs.version; - hash = "sha256-bFF/xVI6K2pDMQazJ3E/lAMfrAMbb0cCVUgbfoFxd4Y="; + tag = finalAttrs.version; + hash = "sha256-eHw8OUBlrptLzMhG4udjYH/WIXbu+3G9IVLUwO4JlpU="; }; nativeBuildInputs = [ which ]; diff --git a/pkgs/by-name/tu/turso-cli/package.nix b/pkgs/by-name/tu/turso-cli/package.nix index c55b3fbb9032..c3a22f4f7dee 100644 --- a/pkgs/by-name/tu/turso-cli/package.nix +++ b/pkgs/by-name/tu/turso-cli/package.nix @@ -8,13 +8,13 @@ }: buildGoModule rec { pname = "turso-cli"; - version = "1.0.10"; + version = "1.0.11"; src = fetchFromGitHub { owner = "tursodatabase"; repo = "turso-cli"; rev = "v${version}"; - hash = "sha256-aXFMsY8bxj+NJizeThlebcv8nNvjqF7q+AN6sQ4/5PQ="; + hash = "sha256-Is1WlwMLkXaKxHUzAGSJN/xVFC7ZQ3C/TS6McAn7ACQ="; }; vendorHash = "sha256-tBO21IgUczwMgrEyV7scV3YTY898lYHASaLeXqvBopU="; diff --git a/pkgs/by-name/tu/tutanota-desktop/package.nix b/pkgs/by-name/tu/tutanota-desktop/package.nix index 9dd31dbe9039..bd9e16e3af1e 100644 --- a/pkgs/by-name/tu/tutanota-desktop/package.nix +++ b/pkgs/by-name/tu/tutanota-desktop/package.nix @@ -7,11 +7,11 @@ appimageTools.wrapType2 rec { pname = "tutanota-desktop"; - version = "287.250523.0"; + version = "287.250602.0"; src = fetchurl { url = "https://github.com/tutao/tutanota/releases/download/tutanota-desktop-release-${version}/tutanota-desktop-linux.AppImage"; - hash = "sha256-7tt0wy1b3sD/DKaUqvltSfm13YsITNv85SQwcvUKipg="; + hash = "sha256-HHr2XaVYy0o/HdVcyGi1+5iHDhqlkFp0wlRpr7v61OA="; }; extraPkgs = pkgs: [ pkgs.libsecret ]; diff --git a/pkgs/by-name/vi/vi-mongo/package.nix b/pkgs/by-name/vi/vi-mongo/package.nix index d5bb129d22c5..bc3bcf0d614d 100644 --- a/pkgs/by-name/vi/vi-mongo/package.nix +++ b/pkgs/by-name/vi/vi-mongo/package.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "vi-mongo"; - version = "0.1.28"; + version = "0.1.29"; src = fetchFromGitHub { owner = "kopecmaciej"; repo = "vi-mongo"; tag = "v${version}"; - hash = "sha256-vqwsFWU/DSxvmlHGG91MK8MqRYmSZrzB1ypjMNug6v0="; + hash = "sha256-hxQPqTQ+U6ebTv6HZReiWMeP8RoyjQC0pA3Qug1MSFo="; }; - vendorHash = "sha256-Z1qvTde0TtoIKUppfDRcNx9qAFbAqFf3xIOTNQnPQng="; + vendorHash = "sha256-QoYjNzWWNrEDS4Xq1NF77iqX5WTNxnVV1UJiYq2slhw="; ldflags = [ "-s" diff --git a/pkgs/by-name/vu/vuetorrent/package.nix b/pkgs/by-name/vu/vuetorrent/package.nix index 46664f0d26c5..6db3e8920e9e 100644 --- a/pkgs/by-name/vu/vuetorrent/package.nix +++ b/pkgs/by-name/vu/vuetorrent/package.nix @@ -7,16 +7,16 @@ buildNpmPackage rec { pname = "vuetorrent"; - version = "2.24.2"; + version = "2.26.0"; src = fetchFromGitHub { owner = "VueTorrent"; repo = "VueTorrent"; tag = "v${version}"; - hash = "sha256-+BTnFQxg+8vJdfwER6lM7dszRxBiX20K/vYv+nuH/1Y="; + hash = "sha256-/oNeQdep05DVrwprDsX9oBnvL/u4AOqLd8aMCBseb6s="; }; - npmDepsHash = "sha256-4lIxaNqXO5jDmXgPfoxRuSe8p6jV7momSbpl9Nns0VI="; + npmDepsHash = "sha256-d9wBE29YUoN3AqF3idgCH8eJtTw1TxlycgYs+ffkISY="; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/wa/warp-plus/package.nix b/pkgs/by-name/wa/warp-plus/package.nix index 2b34aed01ea9..e783ca677f56 100644 --- a/pkgs/by-name/wa/warp-plus/package.nix +++ b/pkgs/by-name/wa/warp-plus/package.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "warp-plus"; - version = "1.2.5"; + version = "1.2.6"; src = fetchFromGitHub { owner = "bepass-org"; repo = "warp-plus"; rev = "v${version}"; - hash = "sha256-gDn4zicSD+Hz3GsL6pzGpUaiHcw+8KHDaOJGCML6LOA="; + hash = "sha256-Zi428QI0DBIPEywXPi0TwDQWJuQyQcB6N5nqtYkkpHk="; }; - vendorHash = "sha256-MWzF9+yK+aUr8D4d64+qCD6XIqtmWH5hCLmQoksgFf8="; + vendorHash = "sha256-cCMbda2dVZypGqy9zoh0D3lVHWw/HNbCaSe0Nj5wL6s="; ldflags = [ "-s" @@ -32,6 +32,7 @@ buildGoModule rec { # Skip tests that require network access skippedTests = [ "TestConcurrencySafety" + "TestNoiseHandshake" "TestTwoDevicePing" ]; in diff --git a/pkgs/applications/video/yuview/disable_version_check.patch b/pkgs/by-name/yu/yuview/disable_version_check.patch similarity index 100% rename from pkgs/applications/video/yuview/disable_version_check.patch rename to pkgs/by-name/yu/yuview/disable_version_check.patch diff --git a/pkgs/applications/video/yuview/default.nix b/pkgs/by-name/yu/yuview/package.nix similarity index 73% rename from pkgs/applications/video/yuview/default.nix rename to pkgs/by-name/yu/yuview/package.nix index 3a15d32c4205..6993ec3aa74d 100644 --- a/pkgs/applications/video/yuview/default.nix +++ b/pkgs/by-name/yu/yuview/package.nix @@ -2,31 +2,31 @@ lib, stdenv, fetchFromGitHub, - qmake, - wrapQtAppsHook, + libsForQt5, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "yuview"; - version = "2.13"; + version = "2.14"; src = fetchFromGitHub { owner = "IENT"; repo = "YUView"; - rev = "v.${version}"; - sha256 = "sha256-2mNIuyY/ni+zkUc8V/iXUEa7JeBJyOnNod7friMYAm8="; + tag = "v${finalAttrs.version}"; + hash = "sha256-YuKPRYBr1CKrwickk1T89ZCYFt99jP86tdanp+JZMO4="; }; nativeBuildInputs = [ - qmake - wrapQtAppsHook + libsForQt5.qmake + libsForQt5.wrapQtAppsHook ]; patches = [ ./disable_version_check.patch ]; enableParallelBuilding = true; - meta = with lib; { + meta = { + changelog = "https://github.com/IENT/YUView/releases/tag/${finalAttrs.src.tag}"; homepage = "https://ient.github.io/YUView"; description = "YUV Viewer and Analysis Tool"; longDescription = '' @@ -42,9 +42,9 @@ stdenv.mkDerivation rec { sequences, and many more. Further information can be found in the YUV help in the application itself or in our wiki. ''; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ leixb ]; - platforms = platforms.unix; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ leixb ]; + platforms = lib.platforms.unix; mainProgram = "YUView"; }; -} +}) diff --git a/pkgs/by-name/za/zabbix-agent2-plugin-postgresql/package.nix b/pkgs/by-name/za/zabbix-agent2-plugin-postgresql/package.nix index 3247710fa10a..739d0cfbbc9c 100644 --- a/pkgs/by-name/za/zabbix-agent2-plugin-postgresql/package.nix +++ b/pkgs/by-name/za/zabbix-agent2-plugin-postgresql/package.nix @@ -6,11 +6,11 @@ buildGoModule rec { pname = "zabbix-agent2-plugin-postgresql"; - version = "7.2.6"; + version = "7.2.7"; src = fetchurl { url = "https://cdn.zabbix.com/zabbix-agent2-plugins/sources/postgresql/zabbix-agent2-plugin-postgresql-${version}.tar.gz"; - hash = "sha256-ZDSz+zCH9nHbcRYG1GR+TH+S7VV4nI1HSomNL3Un0/A="; + hash = "sha256-gdrNsdjxo1bbGKI3gu+cqOX4/InvClpjOSzwmeWi9cw="; }; vendorHash = null; diff --git a/pkgs/by-name/zi/zim-tools/fix_build_with_icu76.patch b/pkgs/by-name/zi/zim-tools/fix_build_with_icu76.patch index 5313f1f3370a..1ef6a1f830a9 100644 --- a/pkgs/by-name/zi/zim-tools/fix_build_with_icu76.patch +++ b/pkgs/by-name/zi/zim-tools/fix_build_with_icu76.patch @@ -2,17 +2,16 @@ diff --git a/meson.build b/meson.build index 344bbaf..ddad570 100644 --- a/meson.build +++ b/meson.build -@@ -17,8 +17,11 @@ if static_linkage +@@ -17,7 +17,11 @@ endif endif - --libzim_dep = dependency('libzim', version:'>=9.2.0', static:static_linkage) --libzim_dep = dependency('libzim', version:'<10.0.0', static:static_linkage) + +-libzim_dep = dependency('libzim', version:['>=9.2.0', '<10.0.0'], static:static_linkage) +libzim_dep = [ + dependency('libzim', version:['>=9.2.0', '<10.0.0'], static:static_linkage), + dependency('icu-i18n', static:static_linkage), + dependency('icu-uc', static:static_linkage) +] - - with_xapian_support = compiler.has_header_symbol('zim/zim.h', 'LIBZIM_WITH_XAPIAN') - + + with_xapian_support = compiler.has_header_symbol( + 'zim/zim.h', 'LIBZIM_WITH_XAPIAN', dependencies: libzim_dep) diff --git a/pkgs/by-name/zi/zim-tools/package.nix b/pkgs/by-name/zi/zim-tools/package.nix index 9fabae99cd67..9dcf8baa538d 100644 --- a/pkgs/by-name/zi/zim-tools/package.nix +++ b/pkgs/by-name/zi/zim-tools/package.nix @@ -15,15 +15,15 @@ gtest, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "zim-tools"; - version = "3.5.0"; + version = "3.6.0"; src = fetchFromGitHub { owner = "openzim"; repo = "zim-tools"; - tag = version; - hash = "sha256-gcCo3u1pLm1CnTF3CATOri5+zat839zUbmQnMOVjanI="; + tag = finalAttrs.version; + hash = "sha256-8+/3+FOq35FSYzpQdpqs5MTMtUO5SYbKLPECFi+IIKw="; }; patches = [ @@ -59,4 +59,4 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl3Plus; platforms = lib.platforms.all; }; -} +}) diff --git a/pkgs/development/interpreters/python/cpython/3.14/CVE-2025-4517.patch b/pkgs/development/interpreters/python/cpython/3.14/CVE-2025-4517.patch deleted file mode 100644 index 5ad45fdde9fa..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.14/CVE-2025-4517.patch +++ /dev/null @@ -1,2055 +0,0 @@ -From 9e0ac76d96cf80b49055f6d6b9a6763fb9215c2a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C5=81ukasz=20Langa?= -Date: Tue, 3 Jun 2025 14:05:00 +0200 -Subject: [PATCH] [3.14] gh-135034: Normalize link targets in tarfile, add - `os.path.realpath(strict='allow_missing')` (gh-135037) (gh-135065) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Addresses CVEs 2024-12718, 2025-4138, 2025-4330, and 2025-4517. - -(cherry picked from commit 3612d8f51741b11f36f8fb0494d79086bac9390a) - -Signed-off-by: Łukasz Langa -Co-authored-by: Petr Viktorin -Co-authored-by: Seth Michael Larson -Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> -Co-authored-by: Serhiy Storchaka ---- - Doc/library/os.path.rst | 32 +- - Doc/library/tarfile.rst | 20 ++ - Doc/whatsnew/3.14.rst | 32 ++ - Lib/genericpath.py | 11 +- - Lib/ntpath.py | 38 ++- - Lib/posixpath.py | 57 ++-- - Lib/tarfile.py | 163 +++++++-- - Lib/test/test_ntpath.py | 216 ++++++++++-- - Lib/test/test_posixpath.py | 252 +++++++++++--- - Lib/test/test_tarfile.py | 310 +++++++++++++++++- - ...-06-02-11-32-23.gh-issue-135034.RLGjbp.rst | 6 + - 11 files changed, 967 insertions(+), 170 deletions(-) - create mode 100644 Misc/NEWS.d/next/Security/2025-06-02-11-32-23.gh-issue-135034.RLGjbp.rst - -diff --git a/Doc/library/os.path.rst b/Doc/library/os.path.rst -index ecbbc1d7605f9f..f72aee19d8f332 100644 ---- a/Doc/library/os.path.rst -+++ b/Doc/library/os.path.rst -@@ -408,9 +408,26 @@ the :mod:`glob` module.) - system). On Windows, this function will also resolve MS-DOS (also called 8.3) - style names such as ``C:\\PROGRA~1`` to ``C:\\Program Files``. - -- If a path doesn't exist or a symlink loop is encountered, and *strict* is -- ``True``, :exc:`OSError` is raised. If *strict* is ``False`` these errors -- are ignored, and so the result might be missing or otherwise inaccessible. -+ By default, the path is evaluated up to the first component that does not -+ exist, is a symlink loop, or whose evaluation raises :exc:`OSError`. -+ All such components are appended unchanged to the existing part of the path. -+ -+ Some errors that are handled this way include "access denied", "not a -+ directory", or "bad argument to internal function". Thus, the -+ resulting path may be missing or inaccessible, may still contain -+ links or loops, and may traverse non-directories. -+ -+ This behavior can be modified by keyword arguments: -+ -+ If *strict* is ``True``, the first error encountered when evaluating the path is -+ re-raised. -+ In particular, :exc:`FileNotFoundError` is raised if *path* does not exist, -+ or another :exc:`OSError` if it is otherwise inaccessible. -+ -+ If *strict* is :py:data:`os.path.ALLOW_MISSING`, errors other than -+ :exc:`FileNotFoundError` are re-raised (as with ``strict=True``). -+ Thus, the returned path will not contain any symbolic links, but the named -+ file and some of its parent directories may be missing. - - .. note:: - This function emulates the operating system's procedure for making a path -@@ -429,6 +446,15 @@ the :mod:`glob` module.) - .. versionchanged:: 3.10 - The *strict* parameter was added. - -+ .. versionchanged:: next -+ The :py:data:`~os.path.ALLOW_MISSING` value for the *strict* parameter -+ was added. -+ -+.. data:: ALLOW_MISSING -+ -+ Special value used for the *strict* argument in :func:`realpath`. -+ -+ .. versionadded:: next - - .. function:: relpath(path, start=os.curdir) - -diff --git a/Doc/library/tarfile.rst b/Doc/library/tarfile.rst -index f9cb5495e60cd2..7cec108a5bd41d 100644 ---- a/Doc/library/tarfile.rst -+++ b/Doc/library/tarfile.rst -@@ -255,6 +255,15 @@ The :mod:`tarfile` module defines the following exceptions: - Raised to refuse extracting a symbolic link pointing outside the destination - directory. - -+.. exception:: LinkFallbackError -+ -+ Raised to refuse emulating a link (hard or symbolic) by extracting another -+ archive member, when that member would be rejected by the filter location. -+ The exception that was raised to reject the replacement member is available -+ as :attr:`!BaseException.__context__`. -+ -+ .. versionadded:: next -+ - - The following constants are available at the module level: - -@@ -1068,6 +1077,12 @@ reused in custom filters: - Implements the ``'data'`` filter. - In addition to what ``tar_filter`` does: - -+ - Normalize link targets (:attr:`TarInfo.linkname`) using -+ :func:`os.path.normpath`. -+ Note that this removes internal ``..`` components, which may change the -+ meaning of the link if the path in :attr:`!TarInfo.linkname` traverses -+ symbolic links. -+ - - :ref:`Refuse ` to extract links (hard or soft) - that link to absolute paths, or ones that link outside the destination. - -@@ -1099,6 +1114,10 @@ reused in custom filters: - Note that this filter does not block *all* dangerous archive features. - See :ref:`tarfile-further-verification` for details. - -+ .. versionchanged:: next -+ -+ Link targets are now normalized. -+ - - .. _tarfile-extraction-refuse: - -@@ -1127,6 +1146,7 @@ Here is an incomplete list of things to consider: - * Extract to a :func:`new temporary directory ` - to prevent e.g. exploiting pre-existing links, and to make it easier to - clean up after a failed extraction. -+* Disallow symbolic links if you do not need the functionality. - * When working with untrusted data, use external (e.g. OS-level) limits on - disk, memory and CPU usage. - * Check filenames against an allow-list of characters -diff --git a/Doc/whatsnew/3.14.rst b/Doc/whatsnew/3.14.rst -index 561d1a8914b50c..1e6a3615963ff4 100644 ---- a/Doc/whatsnew/3.14.rst -+++ b/Doc/whatsnew/3.14.rst -@@ -1608,6 +1608,16 @@ os - (Contributed by Cody Maloney in :gh:`129205`.) - - -+os.path -+------- -+ -+* The *strict* parameter to :func:`os.path.realpath` accepts a new value, -+ :data:`os.path.ALLOW_MISSING`. -+ If used, errors other than :exc:`FileNotFoundError` will be re-raised; -+ the resulting path can be missing but it will be free of symlinks. -+ (Contributed by Petr Viktorin for :cve:`2025-4517`.) -+ -+ - pathlib - ------- - -@@ -1796,6 +1806,28 @@ sysconfig - (Contributed by Xuehai Pan in :gh:`131799`.) - - -+tarfile -+------- -+ -+* :func:`~tarfile.data_filter` now normalizes symbolic link targets in order to -+ avoid path traversal attacks. -+ (Contributed by Petr Viktorin in :gh:`127987` and :cve:`2025-4138`.) -+* :func:`~tarfile.TarFile.extractall` now skips fixing up directory attributes -+ when a directory was removed or replaced by another kind of file. -+ (Contributed by Petr Viktorin in :gh:`127987` and :cve:`2024-12718`.) -+* :func:`~tarfile.TarFile.extract` and :func:`~tarfile.TarFile.extractall` -+ now (re-)apply the extraction filter when substituting a link (hard or -+ symbolic) with a copy of another archive member, and when fixing up -+ directory attributes. -+ The former raises a new exception, :exc:`~tarfile.LinkFallbackError`. -+ (Contributed by Petr Viktorin for :cve:`2025-4330` and :cve:`2024-12718`.) -+* :func:`~tarfile.TarFile.extract` and :func:`~tarfile.TarFile.extractall` -+ no longer extract rejected members when -+ :func:`~tarfile.TarFile.errorlevel` is zero. -+ (Contributed by Matt Prodani and Petr Viktorin in :gh:`112887` -+ and :cve:`2025-4435`.) -+ -+ - threading - --------- - -diff --git a/Lib/genericpath.py b/Lib/genericpath.py -index ba7b0a13c7f81d..9363f564aab7a6 100644 ---- a/Lib/genericpath.py -+++ b/Lib/genericpath.py -@@ -8,7 +8,7 @@ - - __all__ = ['commonprefix', 'exists', 'getatime', 'getctime', 'getmtime', - 'getsize', 'isdevdrive', 'isdir', 'isfile', 'isjunction', 'islink', -- 'lexists', 'samefile', 'sameopenfile', 'samestat'] -+ 'lexists', 'samefile', 'sameopenfile', 'samestat', 'ALLOW_MISSING'] - - - # Does a path exist? -@@ -189,3 +189,12 @@ def _check_arg_types(funcname, *args): - f'os.PathLike object, not {s.__class__.__name__!r}') from None - if hasstr and hasbytes: - raise TypeError("Can't mix strings and bytes in path components") from None -+ -+# A singleton with a true boolean value. -+@object.__new__ -+class ALLOW_MISSING: -+ """Special value for use in realpath().""" -+ def __repr__(self): -+ return 'os.path.ALLOW_MISSING' -+ def __reduce__(self): -+ return self.__class__.__name__ -diff --git a/Lib/ntpath.py b/Lib/ntpath.py -index 52ff2af743af6c..9cdc16480f9afe 100644 ---- a/Lib/ntpath.py -+++ b/Lib/ntpath.py -@@ -29,7 +29,7 @@ - "abspath","curdir","pardir","sep","pathsep","defpath","altsep", - "extsep","devnull","realpath","supports_unicode_filenames","relpath", - "samefile", "sameopenfile", "samestat", "commonpath", "isjunction", -- "isdevdrive"] -+ "isdevdrive", "ALLOW_MISSING"] - - def _get_bothseps(path): - if isinstance(path, bytes): -@@ -601,9 +601,10 @@ def abspath(path): - from nt import _findfirstfile, _getfinalpathname, readlink as _nt_readlink - except ImportError: - # realpath is a no-op on systems without _getfinalpathname support. -- realpath = abspath -+ def realpath(path, *, strict=False): -+ return abspath(path) - else: -- def _readlink_deep(path): -+ def _readlink_deep(path, ignored_error=OSError): - # These error codes indicate that we should stop reading links and - # return the path we currently have. - # 1: ERROR_INVALID_FUNCTION -@@ -636,7 +637,7 @@ def _readlink_deep(path): - path = old_path - break - path = normpath(join(dirname(old_path), path)) -- except OSError as ex: -+ except ignored_error as ex: - if ex.winerror in allowed_winerror: - break - raise -@@ -645,7 +646,7 @@ def _readlink_deep(path): - break - return path - -- def _getfinalpathname_nonstrict(path): -+ def _getfinalpathname_nonstrict(path, ignored_error=OSError): - # These error codes indicate that we should stop resolving the path - # and return the value we currently have. - # 1: ERROR_INVALID_FUNCTION -@@ -673,17 +674,18 @@ def _getfinalpathname_nonstrict(path): - try: - path = _getfinalpathname(path) - return join(path, tail) if tail else path -- except OSError as ex: -+ except ignored_error as ex: - if ex.winerror not in allowed_winerror: - raise - try: - # The OS could not resolve this path fully, so we attempt - # to follow the link ourselves. If we succeed, join the tail - # and return. -- new_path = _readlink_deep(path) -+ new_path = _readlink_deep(path, -+ ignored_error=ignored_error) - if new_path != path: - return join(new_path, tail) if tail else new_path -- except OSError: -+ except ignored_error: - # If we fail to readlink(), let's keep traversing - pass - # If we get these errors, try to get the real name of the file without accessing it. -@@ -691,7 +693,7 @@ def _getfinalpathname_nonstrict(path): - try: - name = _findfirstfile(path) - path, _ = split(path) -- except OSError: -+ except ignored_error: - path, name = split(path) - else: - path, name = split(path) -@@ -721,6 +723,15 @@ def realpath(path, *, strict=False): - if normcase(path) == devnull: - return '\\\\.\\NUL' - had_prefix = path.startswith(prefix) -+ -+ if strict is ALLOW_MISSING: -+ ignored_error = FileNotFoundError -+ strict = True -+ elif strict: -+ ignored_error = () -+ else: -+ ignored_error = OSError -+ - if not had_prefix and not isabs(path): - path = join(cwd, path) - try: -@@ -728,17 +739,16 @@ def realpath(path, *, strict=False): - initial_winerror = 0 - except ValueError as ex: - # gh-106242: Raised for embedded null characters -- # In strict mode, we convert into an OSError. -+ # In strict modes, we convert into an OSError. - # Non-strict mode returns the path as-is, since we've already - # made it absolute. - if strict: - raise OSError(str(ex)) from None - path = normpath(path) -- except OSError as ex: -- if strict: -- raise -+ except ignored_error as ex: - initial_winerror = ex.winerror -- path = _getfinalpathname_nonstrict(path) -+ path = _getfinalpathname_nonstrict(path, -+ ignored_error=ignored_error) - # The path returned by _getfinalpathname will always start with \\?\ - - # strip off that prefix unless it was already provided on the original - # path. -diff --git a/Lib/posixpath.py b/Lib/posixpath.py -index db72ded8826056..d38f3bd5872bcd 100644 ---- a/Lib/posixpath.py -+++ b/Lib/posixpath.py -@@ -36,7 +36,7 @@ - "samefile","sameopenfile","samestat", - "curdir","pardir","sep","pathsep","defpath","altsep","extsep", - "devnull","realpath","supports_unicode_filenames","relpath", -- "commonpath", "isjunction","isdevdrive"] -+ "commonpath", "isjunction","isdevdrive","ALLOW_MISSING"] - - - def _get_sep(path): -@@ -402,10 +402,18 @@ def realpath(filename, *, strict=False): - curdir = '.' - pardir = '..' - getcwd = os.getcwd -- return _realpath(filename, strict, sep, curdir, pardir, getcwd) -+ if strict is ALLOW_MISSING: -+ ignored_error = FileNotFoundError -+ strict = True -+ elif strict: -+ ignored_error = () -+ else: -+ ignored_error = OSError -+ -+ lstat = os.lstat -+ readlink = os.readlink -+ maxlinks = None - --def _realpath(filename, strict=False, sep=sep, curdir=curdir, pardir=pardir, -- getcwd=os.getcwd, lstat=os.lstat, readlink=os.readlink, maxlinks=None): - # The stack of unresolved path parts. When popped, a special value of None - # indicates that a symlink target has been resolved, and that the original - # symlink path can be retrieved by popping again. The [::-1] slice is a -@@ -477,27 +485,28 @@ def _realpath(filename, strict=False, sep=sep, curdir=curdir, pardir=pardir, - path = newpath - continue - target = readlink(newpath) -- except OSError: -- if strict: -- raise -- path = newpath -+ except ignored_error: -+ pass -+ else: -+ # Resolve the symbolic link -+ if target.startswith(sep): -+ # Symlink target is absolute; reset resolved path. -+ path = sep -+ if maxlinks is None: -+ # Mark this symlink as seen but not fully resolved. -+ seen[newpath] = None -+ # Push the symlink path onto the stack, and signal its specialness -+ # by also pushing None. When these entries are popped, we'll -+ # record the fully-resolved symlink target in the 'seen' mapping. -+ rest.append(newpath) -+ rest.append(None) -+ # Push the unresolved symlink target parts onto the stack. -+ target_parts = target.split(sep)[::-1] -+ rest.extend(target_parts) -+ part_count += len(target_parts) - continue -- # Resolve the symbolic link -- if target.startswith(sep): -- # Symlink target is absolute; reset resolved path. -- path = sep -- if maxlinks is None: -- # Mark this symlink as seen but not fully resolved. -- seen[newpath] = None -- # Push the symlink path onto the stack, and signal its specialness -- # by also pushing None. When these entries are popped, we'll -- # record the fully-resolved symlink target in the 'seen' mapping. -- rest.append(newpath) -- rest.append(None) -- # Push the unresolved symlink target parts onto the stack. -- target_parts = target.split(sep)[::-1] -- rest.extend(target_parts) -- part_count += len(target_parts) -+ # An error occurred and was ignored. -+ path = newpath - - return path - -diff --git a/Lib/tarfile.py b/Lib/tarfile.py -index 212b71f6509740..068aa13ed70356 100644 ---- a/Lib/tarfile.py -+++ b/Lib/tarfile.py -@@ -67,7 +67,7 @@ - "DEFAULT_FORMAT", "open","fully_trusted_filter", "data_filter", - "tar_filter", "FilterError", "AbsoluteLinkError", - "OutsideDestinationError", "SpecialFileError", "AbsolutePathError", -- "LinkOutsideDestinationError"] -+ "LinkOutsideDestinationError", "LinkFallbackError"] - - - #--------------------------------------------------------- -@@ -766,10 +766,22 @@ def __init__(self, tarinfo, path): - super().__init__(f'{tarinfo.name!r} would link to {path!r}, ' - + 'which is outside the destination') - -+class LinkFallbackError(FilterError): -+ def __init__(self, tarinfo, path): -+ self.tarinfo = tarinfo -+ self._path = path -+ super().__init__(f'link {tarinfo.name!r} would be extracted as a ' -+ + f'copy of {path!r}, which was rejected') -+ -+# Errors caused by filters -- both "fatal" and "non-fatal" -- that -+# we consider to be issues with the argument, rather than a bug in the -+# filter function -+_FILTER_ERRORS = (FilterError, OSError, ExtractError) -+ - def _get_filtered_attrs(member, dest_path, for_data=True): - new_attrs = {} - name = member.name -- dest_path = os.path.realpath(dest_path) -+ dest_path = os.path.realpath(dest_path, strict=os.path.ALLOW_MISSING) - # Strip leading / (tar's directory separator) from filenames. - # Include os.sep (target OS directory separator) as well. - if name.startswith(('/', os.sep)): -@@ -779,7 +791,8 @@ def _get_filtered_attrs(member, dest_path, for_data=True): - # For example, 'C:/foo' on Windows. - raise AbsolutePathError(member) - # Ensure we stay in the destination -- target_path = os.path.realpath(os.path.join(dest_path, name)) -+ target_path = os.path.realpath(os.path.join(dest_path, name), -+ strict=os.path.ALLOW_MISSING) - if os.path.commonpath([target_path, dest_path]) != dest_path: - raise OutsideDestinationError(member, target_path) - # Limit permissions (no high bits, and go-w) -@@ -817,6 +830,9 @@ def _get_filtered_attrs(member, dest_path, for_data=True): - if member.islnk() or member.issym(): - if os.path.isabs(member.linkname): - raise AbsoluteLinkError(member) -+ normalized = os.path.normpath(member.linkname) -+ if normalized != member.linkname: -+ new_attrs['linkname'] = normalized - if member.issym(): - target_path = os.path.join(dest_path, - os.path.dirname(name), -@@ -824,7 +840,8 @@ def _get_filtered_attrs(member, dest_path, for_data=True): - else: - target_path = os.path.join(dest_path, - member.linkname) -- target_path = os.path.realpath(target_path) -+ target_path = os.path.realpath(target_path, -+ strict=os.path.ALLOW_MISSING) - if os.path.commonpath([target_path, dest_path]) != dest_path: - raise LinkOutsideDestinationError(member, target_path) - return new_attrs -@@ -2386,30 +2403,58 @@ def extractall(self, path=".", members=None, *, numeric_owner=False, - members = self - - for member in members: -- tarinfo = self._get_extract_tarinfo(member, filter_function, path) -+ tarinfo, unfiltered = self._get_extract_tarinfo( -+ member, filter_function, path) - if tarinfo is None: - continue - if tarinfo.isdir(): - # For directories, delay setting attributes until later, - # since permissions can interfere with extraction and - # extracting contents can reset mtime. -- directories.append(tarinfo) -+ directories.append(unfiltered) - self._extract_one(tarinfo, path, set_attrs=not tarinfo.isdir(), -- numeric_owner=numeric_owner) -+ numeric_owner=numeric_owner, -+ filter_function=filter_function) - - # Reverse sort directories. - directories.sort(key=lambda a: a.name, reverse=True) - -+ - # Set correct owner, mtime and filemode on directories. -- for tarinfo in directories: -- dirpath = os.path.join(path, tarinfo.name) -+ for unfiltered in directories: - try: -+ # Need to re-apply any filter, to take the *current* filesystem -+ # state into account. -+ try: -+ tarinfo = filter_function(unfiltered, path) -+ except _FILTER_ERRORS as exc: -+ self._log_no_directory_fixup(unfiltered, repr(exc)) -+ continue -+ if tarinfo is None: -+ self._log_no_directory_fixup(unfiltered, -+ 'excluded by filter') -+ continue -+ dirpath = os.path.join(path, tarinfo.name) -+ try: -+ lstat = os.lstat(dirpath) -+ except FileNotFoundError: -+ self._log_no_directory_fixup(tarinfo, 'missing') -+ continue -+ if not stat.S_ISDIR(lstat.st_mode): -+ # This is no longer a directory; presumably a later -+ # member overwrote the entry. -+ self._log_no_directory_fixup(tarinfo, 'not a directory') -+ continue - self.chown(tarinfo, dirpath, numeric_owner=numeric_owner) - self.utime(tarinfo, dirpath) - self.chmod(tarinfo, dirpath) - except ExtractError as e: - self._handle_nonfatal_error(e) - -+ def _log_no_directory_fixup(self, member, reason): -+ self._dbg(2, "tarfile: Not fixing up directory %r (%s)" % -+ (member.name, reason)) -+ - def extract(self, member, path="", set_attrs=True, *, numeric_owner=False, - filter=None): - """Extract a member from the archive to the current working directory, -@@ -2425,41 +2470,56 @@ def extract(self, member, path="", set_attrs=True, *, numeric_owner=False, - String names of common filters are accepted. - """ - filter_function = self._get_filter_function(filter) -- tarinfo = self._get_extract_tarinfo(member, filter_function, path) -+ tarinfo, unfiltered = self._get_extract_tarinfo( -+ member, filter_function, path) - if tarinfo is not None: - self._extract_one(tarinfo, path, set_attrs, numeric_owner) - - def _get_extract_tarinfo(self, member, filter_function, path): -- """Get filtered TarInfo (or None) from member, which might be a str""" -+ """Get (filtered, unfiltered) TarInfos from *member* -+ -+ *member* might be a string. -+ -+ Return (None, None) if not found. -+ """ -+ - if isinstance(member, str): -- tarinfo = self.getmember(member) -+ unfiltered = self.getmember(member) - else: -- tarinfo = member -+ unfiltered = member - -- unfiltered = tarinfo -+ filtered = None - try: -- tarinfo = filter_function(tarinfo, path) -+ filtered = filter_function(unfiltered, path) - except (OSError, UnicodeEncodeError, FilterError) as e: - self._handle_fatal_error(e) - except ExtractError as e: - self._handle_nonfatal_error(e) -- if tarinfo is None: -+ if filtered is None: - self._dbg(2, "tarfile: Excluded %r" % unfiltered.name) -- return None -+ return None, None -+ - # Prepare the link target for makelink(). -- if tarinfo.islnk(): -- tarinfo = copy.copy(tarinfo) -- tarinfo._link_target = os.path.join(path, tarinfo.linkname) -- return tarinfo -+ if filtered.islnk(): -+ filtered = copy.copy(filtered) -+ filtered._link_target = os.path.join(path, filtered.linkname) -+ return filtered, unfiltered -+ -+ def _extract_one(self, tarinfo, path, set_attrs, numeric_owner, -+ filter_function=None): -+ """Extract from filtered tarinfo to disk. - -- def _extract_one(self, tarinfo, path, set_attrs, numeric_owner): -- """Extract from filtered tarinfo to disk""" -+ filter_function is only used when extracting a *different* -+ member (e.g. as fallback to creating a symlink) -+ """ - self._check("r") - - try: - self._extract_member(tarinfo, os.path.join(path, tarinfo.name), - set_attrs=set_attrs, -- numeric_owner=numeric_owner) -+ numeric_owner=numeric_owner, -+ filter_function=filter_function, -+ extraction_root=path) - except (OSError, UnicodeEncodeError) as e: - self._handle_fatal_error(e) - except ExtractError as e: -@@ -2517,9 +2577,13 @@ def extractfile(self, member): - return None - - def _extract_member(self, tarinfo, targetpath, set_attrs=True, -- numeric_owner=False): -- """Extract the TarInfo object tarinfo to a physical -+ numeric_owner=False, *, filter_function=None, -+ extraction_root=None): -+ """Extract the filtered TarInfo object tarinfo to a physical - file called targetpath. -+ -+ filter_function is only used when extracting a *different* -+ member (e.g. as fallback to creating a symlink) - """ - # Fetch the TarInfo object for the given name - # and build the destination pathname, replacing -@@ -2548,7 +2612,10 @@ def _extract_member(self, tarinfo, targetpath, set_attrs=True, - elif tarinfo.ischr() or tarinfo.isblk(): - self.makedev(tarinfo, targetpath) - elif tarinfo.islnk() or tarinfo.issym(): -- self.makelink(tarinfo, targetpath) -+ self.makelink_with_filter( -+ tarinfo, targetpath, -+ filter_function=filter_function, -+ extraction_root=extraction_root) - elif tarinfo.type not in SUPPORTED_TYPES: - self.makeunknown(tarinfo, targetpath) - else: -@@ -2631,10 +2698,18 @@ def makedev(self, tarinfo, targetpath): - os.makedev(tarinfo.devmajor, tarinfo.devminor)) - - def makelink(self, tarinfo, targetpath): -+ return self.makelink_with_filter(tarinfo, targetpath, None, None) -+ -+ def makelink_with_filter(self, tarinfo, targetpath, -+ filter_function, extraction_root): - """Make a (symbolic) link called targetpath. If it cannot be created - (platform limitation), we try to make a copy of the referenced file - instead of a link. -+ -+ filter_function is only used when extracting a *different* -+ member (e.g. as fallback to creating a link). - """ -+ keyerror_to_extracterror = False - try: - # For systems that support symbolic and hard links. - if tarinfo.issym(): -@@ -2642,18 +2717,38 @@ def makelink(self, tarinfo, targetpath): - # Avoid FileExistsError on following os.symlink. - os.unlink(targetpath) - os.symlink(tarinfo.linkname, targetpath) -+ return - else: - if os.path.exists(tarinfo._link_target): - os.link(tarinfo._link_target, targetpath) -- else: -- self._extract_member(self._find_link_target(tarinfo), -- targetpath) -+ return - except symlink_exception: -+ keyerror_to_extracterror = True -+ -+ try: -+ unfiltered = self._find_link_target(tarinfo) -+ except KeyError: -+ if keyerror_to_extracterror: -+ raise ExtractError( -+ "unable to resolve link inside archive") from None -+ else: -+ raise -+ -+ if filter_function is None: -+ filtered = unfiltered -+ else: -+ if extraction_root is None: -+ raise ExtractError( -+ "makelink_with_filter: if filter_function is not None, " -+ + "extraction_root must also not be None") - try: -- self._extract_member(self._find_link_target(tarinfo), -- targetpath) -- except KeyError: -- raise ExtractError("unable to resolve link inside archive") from None -+ filtered = filter_function(unfiltered, extraction_root) -+ except _FILTER_ERRORS as cause: -+ raise LinkFallbackError(tarinfo, unfiltered.name) from cause -+ if filtered is not None: -+ self._extract_member(filtered, targetpath, -+ filter_function=filter_function, -+ extraction_root=extraction_root) - - def chown(self, tarinfo, targetpath, numeric_owner): - """Set owner of targetpath according to tarinfo. If numeric_owner -diff --git a/Lib/test/test_ntpath.py b/Lib/test/test_ntpath.py -index f83ef225a6e48e..927a0befcc8c13 100644 ---- a/Lib/test/test_ntpath.py -+++ b/Lib/test/test_ntpath.py -@@ -7,7 +7,8 @@ - import unittest - import warnings - from test.support import cpython_only, os_helper --from test.support import TestFailed, is_emscripten -+from test.support import TestFailed -+from ntpath import ALLOW_MISSING - from test.support.os_helper import FakePath - from test import test_genericpath - from tempfile import TemporaryFile -@@ -77,6 +78,27 @@ def tester(fn, wantResult): - %(str(fn), str(wantResult), repr(gotResult))) - - -+def _parameterize(*parameters): -+ """Simplistic decorator to parametrize a test -+ -+ Runs the decorated test multiple times in subTest, with a value from -+ 'parameters' passed as an extra positional argument. -+ Calls doCleanups() after each run. -+ -+ Not for general use. Intended to avoid indenting for easier backports. -+ -+ See https://discuss.python.org/t/91827 for discussing generalizations. -+ """ -+ def _parametrize_decorator(func): -+ def _parameterized(self, *args, **kwargs): -+ for parameter in parameters: -+ with self.subTest(parameter): -+ func(self, *args, parameter, **kwargs) -+ self.doCleanups() -+ return _parameterized -+ return _parametrize_decorator -+ -+ - class NtpathTestCase(unittest.TestCase): - def assertPathEqual(self, path1, path2): - if path1 == path2 or _norm(path1) == _norm(path2): -@@ -475,6 +497,27 @@ def test_realpath_curdir(self): - tester("ntpath.realpath('.\\.')", expected) - tester("ntpath.realpath('\\'.join(['.'] * 100))", expected) - -+ def test_realpath_curdir_strict(self): -+ expected = ntpath.normpath(os.getcwd()) -+ tester("ntpath.realpath('.', strict=True)", expected) -+ tester("ntpath.realpath('./.', strict=True)", expected) -+ tester("ntpath.realpath('/'.join(['.'] * 100), strict=True)", expected) -+ tester("ntpath.realpath('.\\.', strict=True)", expected) -+ tester("ntpath.realpath('\\'.join(['.'] * 100), strict=True)", expected) -+ -+ def test_realpath_curdir_missing_ok(self): -+ expected = ntpath.normpath(os.getcwd()) -+ tester("ntpath.realpath('.', strict=ALLOW_MISSING)", -+ expected) -+ tester("ntpath.realpath('./.', strict=ALLOW_MISSING)", -+ expected) -+ tester("ntpath.realpath('/'.join(['.'] * 100), strict=ALLOW_MISSING)", -+ expected) -+ tester("ntpath.realpath('.\\.', strict=ALLOW_MISSING)", -+ expected) -+ tester("ntpath.realpath('\\'.join(['.'] * 100), strict=ALLOW_MISSING)", -+ expected) -+ - def test_realpath_pardir(self): - expected = ntpath.normpath(os.getcwd()) - tester("ntpath.realpath('..')", ntpath.dirname(expected)) -@@ -487,24 +530,59 @@ def test_realpath_pardir(self): - tester("ntpath.realpath('\\'.join(['..'] * 50))", - ntpath.splitdrive(expected)[0] + '\\') - -+ def test_realpath_pardir_strict(self): -+ expected = ntpath.normpath(os.getcwd()) -+ tester("ntpath.realpath('..', strict=True)", ntpath.dirname(expected)) -+ tester("ntpath.realpath('../..', strict=True)", -+ ntpath.dirname(ntpath.dirname(expected))) -+ tester("ntpath.realpath('/'.join(['..'] * 50), strict=True)", -+ ntpath.splitdrive(expected)[0] + '\\') -+ tester("ntpath.realpath('..\\..', strict=True)", -+ ntpath.dirname(ntpath.dirname(expected))) -+ tester("ntpath.realpath('\\'.join(['..'] * 50), strict=True)", -+ ntpath.splitdrive(expected)[0] + '\\') -+ -+ def test_realpath_pardir_missing_ok(self): -+ expected = ntpath.normpath(os.getcwd()) -+ tester("ntpath.realpath('..', strict=ALLOW_MISSING)", -+ ntpath.dirname(expected)) -+ tester("ntpath.realpath('../..', strict=ALLOW_MISSING)", -+ ntpath.dirname(ntpath.dirname(expected))) -+ tester("ntpath.realpath('/'.join(['..'] * 50), strict=ALLOW_MISSING)", -+ ntpath.splitdrive(expected)[0] + '\\') -+ tester("ntpath.realpath('..\\..', strict=ALLOW_MISSING)", -+ ntpath.dirname(ntpath.dirname(expected))) -+ tester("ntpath.realpath('\\'.join(['..'] * 50), strict=ALLOW_MISSING)", -+ ntpath.splitdrive(expected)[0] + '\\') -+ - @os_helper.skip_unless_symlink - @unittest.skipUnless(HAVE_GETFINALPATHNAME, 'need _getfinalpathname') -- def test_realpath_basic(self): -+ @_parameterize({}, {'strict': True}, {'strict': ALLOW_MISSING}) -+ def test_realpath_basic(self, kwargs): - ABSTFN = ntpath.abspath(os_helper.TESTFN) - open(ABSTFN, "wb").close() - self.addCleanup(os_helper.unlink, ABSTFN) - self.addCleanup(os_helper.unlink, ABSTFN + "1") - - os.symlink(ABSTFN, ABSTFN + "1") -- self.assertPathEqual(ntpath.realpath(ABSTFN + "1"), ABSTFN) -- self.assertPathEqual(ntpath.realpath(os.fsencode(ABSTFN + "1")), -+ self.assertPathEqual(ntpath.realpath(ABSTFN + "1", **kwargs), ABSTFN) -+ self.assertPathEqual(ntpath.realpath(os.fsencode(ABSTFN + "1"), **kwargs), - os.fsencode(ABSTFN)) - - # gh-88013: call ntpath.realpath with binary drive name may raise a - # TypeError. The drive should not exist to reproduce the bug. - drives = {f"{c}:\\" for c in string.ascii_uppercase} - set(os.listdrives()) - d = drives.pop().encode() -- self.assertEqual(ntpath.realpath(d), d) -+ self.assertEqual(ntpath.realpath(d, strict=False), d) -+ -+ # gh-106242: Embedded nulls and non-strict fallback to abspath -+ if kwargs: -+ with self.assertRaises(OSError): -+ ntpath.realpath(os_helper.TESTFN + "\0spam", -+ **kwargs) -+ else: -+ self.assertEqual(ABSTFN + "\0spam", -+ ntpath.realpath(os_helper.TESTFN + "\0spam", **kwargs)) - - @os_helper.skip_unless_symlink - @unittest.skipUnless(HAVE_GETFINALPATHNAME, 'need _getfinalpathname') -@@ -527,51 +605,66 @@ def test_realpath_invalid_paths(self): - self.assertEqual(realpath(path, strict=False), path) - # gh-106242: Embedded nulls should raise OSError (not ValueError) - self.assertRaises(OSError, realpath, path, strict=True) -+ self.assertRaises(OSError, realpath, path, strict=ALLOW_MISSING) - path = ABSTFNb + b'\x00' - self.assertEqual(realpath(path, strict=False), path) - self.assertRaises(OSError, realpath, path, strict=True) -+ self.assertRaises(OSError, realpath, path, strict=ALLOW_MISSING) - path = ABSTFN + '\\nonexistent\\x\x00' - self.assertEqual(realpath(path, strict=False), path) - self.assertRaises(OSError, realpath, path, strict=True) -+ self.assertRaises(OSError, realpath, path, strict=ALLOW_MISSING) - path = ABSTFNb + b'\\nonexistent\\x\x00' - self.assertEqual(realpath(path, strict=False), path) - self.assertRaises(OSError, realpath, path, strict=True) -+ self.assertRaises(OSError, realpath, path, strict=ALLOW_MISSING) - path = ABSTFN + '\x00\\..' - self.assertEqual(realpath(path, strict=False), os.getcwd()) - self.assertEqual(realpath(path, strict=True), os.getcwd()) -+ self.assertEqual(realpath(path, strict=ALLOW_MISSING), os.getcwd()) - path = ABSTFNb + b'\x00\\..' - self.assertEqual(realpath(path, strict=False), os.getcwdb()) - self.assertEqual(realpath(path, strict=True), os.getcwdb()) -+ self.assertEqual(realpath(path, strict=ALLOW_MISSING), os.getcwdb()) - path = ABSTFN + '\\nonexistent\\x\x00\\..' - self.assertEqual(realpath(path, strict=False), ABSTFN + '\\nonexistent') - self.assertRaises(OSError, realpath, path, strict=True) -+ self.assertEqual(realpath(path, strict=ALLOW_MISSING), ABSTFN + '\\nonexistent') - path = ABSTFNb + b'\\nonexistent\\x\x00\\..' - self.assertEqual(realpath(path, strict=False), ABSTFNb + b'\\nonexistent') - self.assertRaises(OSError, realpath, path, strict=True) -+ self.assertEqual(realpath(path, strict=ALLOW_MISSING), ABSTFNb + b'\\nonexistent') - -+ @unittest.skipUnless(HAVE_GETFINALPATHNAME, 'need _getfinalpathname') -+ @_parameterize({}, {'strict': True}, {'strict': ALLOW_MISSING}) -+ def test_realpath_invalid_unicode_paths(self, kwargs): -+ realpath = ntpath.realpath -+ ABSTFN = ntpath.abspath(os_helper.TESTFN) -+ ABSTFNb = os.fsencode(ABSTFN) - path = ABSTFNb + b'\xff' -- self.assertRaises(UnicodeDecodeError, realpath, path, strict=False) -- self.assertRaises(UnicodeDecodeError, realpath, path, strict=True) -+ self.assertRaises(UnicodeDecodeError, realpath, path, **kwargs) -+ self.assertRaises(UnicodeDecodeError, realpath, path, **kwargs) - path = ABSTFNb + b'\\nonexistent\\\xff' -- self.assertRaises(UnicodeDecodeError, realpath, path, strict=False) -- self.assertRaises(UnicodeDecodeError, realpath, path, strict=True) -+ self.assertRaises(UnicodeDecodeError, realpath, path, **kwargs) -+ self.assertRaises(UnicodeDecodeError, realpath, path, **kwargs) - path = ABSTFNb + b'\xff\\..' -- self.assertRaises(UnicodeDecodeError, realpath, path, strict=False) -- self.assertRaises(UnicodeDecodeError, realpath, path, strict=True) -+ self.assertRaises(UnicodeDecodeError, realpath, path, **kwargs) -+ self.assertRaises(UnicodeDecodeError, realpath, path, **kwargs) - path = ABSTFNb + b'\\nonexistent\\\xff\\..' -- self.assertRaises(UnicodeDecodeError, realpath, path, strict=False) -- self.assertRaises(UnicodeDecodeError, realpath, path, strict=True) -+ self.assertRaises(UnicodeDecodeError, realpath, path, **kwargs) -+ self.assertRaises(UnicodeDecodeError, realpath, path, **kwargs) - - @os_helper.skip_unless_symlink - @unittest.skipUnless(HAVE_GETFINALPATHNAME, 'need _getfinalpathname') -- def test_realpath_relative(self): -+ @_parameterize({}, {'strict': True}, {'strict': ALLOW_MISSING}) -+ def test_realpath_relative(self, kwargs): - ABSTFN = ntpath.abspath(os_helper.TESTFN) - open(ABSTFN, "wb").close() - self.addCleanup(os_helper.unlink, ABSTFN) - self.addCleanup(os_helper.unlink, ABSTFN + "1") - - os.symlink(ABSTFN, ntpath.relpath(ABSTFN + "1")) -- self.assertPathEqual(ntpath.realpath(ABSTFN + "1"), ABSTFN) -+ self.assertPathEqual(ntpath.realpath(ABSTFN + "1", **kwargs), ABSTFN) - - @os_helper.skip_unless_symlink - @unittest.skipUnless(HAVE_GETFINALPATHNAME, 'need _getfinalpathname') -@@ -723,7 +816,62 @@ def test_realpath_symlink_loops_strict(self): - - @os_helper.skip_unless_symlink - @unittest.skipUnless(HAVE_GETFINALPATHNAME, 'need _getfinalpathname') -- def test_realpath_symlink_prefix(self): -+ def test_realpath_symlink_loops_raise(self): -+ # Symlink loops raise OSError in ALLOW_MISSING mode -+ ABSTFN = ntpath.abspath(os_helper.TESTFN) -+ self.addCleanup(os_helper.unlink, ABSTFN) -+ self.addCleanup(os_helper.unlink, ABSTFN + "1") -+ self.addCleanup(os_helper.unlink, ABSTFN + "2") -+ self.addCleanup(os_helper.unlink, ABSTFN + "y") -+ self.addCleanup(os_helper.unlink, ABSTFN + "c") -+ self.addCleanup(os_helper.unlink, ABSTFN + "a") -+ self.addCleanup(os_helper.unlink, ABSTFN + "x") -+ -+ os.symlink(ABSTFN, ABSTFN) -+ self.assertRaises(OSError, ntpath.realpath, ABSTFN, strict=ALLOW_MISSING) -+ -+ os.symlink(ABSTFN + "1", ABSTFN + "2") -+ os.symlink(ABSTFN + "2", ABSTFN + "1") -+ self.assertRaises(OSError, ntpath.realpath, ABSTFN + "1", -+ strict=ALLOW_MISSING) -+ self.assertRaises(OSError, ntpath.realpath, ABSTFN + "2", -+ strict=ALLOW_MISSING) -+ self.assertRaises(OSError, ntpath.realpath, ABSTFN + "1\\x", -+ strict=ALLOW_MISSING) -+ -+ # Windows eliminates '..' components before resolving links; -+ # realpath is not expected to raise if this removes the loop. -+ self.assertPathEqual(ntpath.realpath(ABSTFN + "1\\.."), -+ ntpath.dirname(ABSTFN)) -+ self.assertPathEqual(ntpath.realpath(ABSTFN + "1\\..\\x"), -+ ntpath.dirname(ABSTFN) + "\\x") -+ -+ os.symlink(ABSTFN + "x", ABSTFN + "y") -+ self.assertPathEqual(ntpath.realpath(ABSTFN + "1\\..\\" -+ + ntpath.basename(ABSTFN) + "y"), -+ ABSTFN + "x") -+ self.assertRaises( -+ OSError, ntpath.realpath, -+ ABSTFN + "1\\..\\" + ntpath.basename(ABSTFN) + "1", -+ strict=ALLOW_MISSING) -+ -+ os.symlink(ntpath.basename(ABSTFN) + "a\\b", ABSTFN + "a") -+ self.assertRaises(OSError, ntpath.realpath, ABSTFN + "a", -+ strict=ALLOW_MISSING) -+ -+ os.symlink("..\\" + ntpath.basename(ntpath.dirname(ABSTFN)) -+ + "\\" + ntpath.basename(ABSTFN) + "c", ABSTFN + "c") -+ self.assertRaises(OSError, ntpath.realpath, ABSTFN + "c", -+ strict=ALLOW_MISSING) -+ -+ # Test using relative path as well. -+ self.assertRaises(OSError, ntpath.realpath, ntpath.basename(ABSTFN), -+ strict=ALLOW_MISSING) -+ -+ @os_helper.skip_unless_symlink -+ @unittest.skipUnless(HAVE_GETFINALPATHNAME, 'need _getfinalpathname') -+ @_parameterize({}, {'strict': True}, {'strict': ALLOW_MISSING}) -+ def test_realpath_symlink_prefix(self, kwargs): - ABSTFN = ntpath.abspath(os_helper.TESTFN) - self.addCleanup(os_helper.unlink, ABSTFN + "3") - self.addCleanup(os_helper.unlink, "\\\\?\\" + ABSTFN + "3.") -@@ -738,9 +886,9 @@ def test_realpath_symlink_prefix(self): - f.write(b'1') - os.symlink("\\\\?\\" + ABSTFN + "3.", ABSTFN + "3.link") - -- self.assertPathEqual(ntpath.realpath(ABSTFN + "3link"), -+ self.assertPathEqual(ntpath.realpath(ABSTFN + "3link", **kwargs), - ABSTFN + "3") -- self.assertPathEqual(ntpath.realpath(ABSTFN + "3.link"), -+ self.assertPathEqual(ntpath.realpath(ABSTFN + "3.link", **kwargs), - "\\\\?\\" + ABSTFN + "3.") - - # Resolved paths should be usable to open target files -@@ -750,14 +898,17 @@ def test_realpath_symlink_prefix(self): - self.assertEqual(f.read(), b'1') - - # When the prefix is included, it is not stripped -- self.assertPathEqual(ntpath.realpath("\\\\?\\" + ABSTFN + "3link"), -+ self.assertPathEqual(ntpath.realpath("\\\\?\\" + ABSTFN + "3link", **kwargs), - "\\\\?\\" + ABSTFN + "3") -- self.assertPathEqual(ntpath.realpath("\\\\?\\" + ABSTFN + "3.link"), -+ self.assertPathEqual(ntpath.realpath("\\\\?\\" + ABSTFN + "3.link", **kwargs), - "\\\\?\\" + ABSTFN + "3.") - - @unittest.skipUnless(HAVE_GETFINALPATHNAME, 'need _getfinalpathname') - def test_realpath_nul(self): - tester("ntpath.realpath('NUL')", r'\\.\NUL') -+ tester("ntpath.realpath('NUL', strict=False)", r'\\.\NUL') -+ tester("ntpath.realpath('NUL', strict=True)", r'\\.\NUL') -+ tester("ntpath.realpath('NUL', strict=ALLOW_MISSING)", r'\\.\NUL') - - @unittest.skipUnless(HAVE_GETFINALPATHNAME, 'need _getfinalpathname') - @unittest.skipUnless(HAVE_GETSHORTPATHNAME, 'need _getshortpathname') -@@ -781,12 +932,20 @@ def test_realpath_cwd(self): - - self.assertPathEqual(test_file_long, ntpath.realpath(test_file_short)) - -- with os_helper.change_cwd(test_dir_long): -- self.assertPathEqual(test_file_long, ntpath.realpath("file.txt")) -- with os_helper.change_cwd(test_dir_long.lower()): -- self.assertPathEqual(test_file_long, ntpath.realpath("file.txt")) -- with os_helper.change_cwd(test_dir_short): -- self.assertPathEqual(test_file_long, ntpath.realpath("file.txt")) -+ for kwargs in {}, {'strict': True}, {'strict': ALLOW_MISSING}: -+ with self.subTest(**kwargs): -+ with os_helper.change_cwd(test_dir_long): -+ self.assertPathEqual( -+ test_file_long, -+ ntpath.realpath("file.txt", **kwargs)) -+ with os_helper.change_cwd(test_dir_long.lower()): -+ self.assertPathEqual( -+ test_file_long, -+ ntpath.realpath("file.txt", **kwargs)) -+ with os_helper.change_cwd(test_dir_short): -+ self.assertPathEqual( -+ test_file_long, -+ ntpath.realpath("file.txt", **kwargs)) - - @unittest.skipUnless(HAVE_GETFINALPATHNAME, 'need _getfinalpathname') - def test_realpath_permission(self): -@@ -807,12 +966,15 @@ def test_realpath_permission(self): - # Automatic generation of short names may be disabled on - # NTFS volumes for the sake of performance. - # They're not supported at all on ReFS and exFAT. -- subprocess.run( -+ p = subprocess.run( - # Try to set the short name manually. - ['fsutil.exe', 'file', 'setShortName', test_file, 'LONGFI~1.TXT'], - creationflags=subprocess.DETACHED_PROCESS - ) - -+ if p.returncode: -+ raise unittest.SkipTest('failed to set short name') -+ - try: - self.assertPathEqual(test_file, ntpath.realpath(test_file_short)) - except AssertionError: -diff --git a/Lib/test/test_posixpath.py b/Lib/test/test_posixpath.py -index f3f9895f529470..c45ce6d3ef7820 100644 ---- a/Lib/test/test_posixpath.py -+++ b/Lib/test/test_posixpath.py -@@ -4,7 +4,8 @@ - import random - import sys - import unittest --from posixpath import realpath, abspath, dirname, basename -+from functools import partial -+from posixpath import realpath, abspath, dirname, basename, ALLOW_MISSING - from test import support - from test import test_genericpath - from test.support import import_helper -@@ -33,6 +34,27 @@ def skip_if_ABSTFN_contains_backslash(test): - msg = "ABSTFN is not a posix path - tests fail" - return [test, unittest.skip(msg)(test)][found_backslash] - -+ -+def _parameterize(*parameters): -+ """Simplistic decorator to parametrize a test -+ -+ Runs the decorated test multiple times in subTest, with a value from -+ 'parameters' passed as an extra positional argument. -+ Does *not* call doCleanups() after each run. -+ -+ Not for general use. Intended to avoid indenting for easier backports. -+ -+ See https://discuss.python.org/t/91827 for discussing generalizations. -+ """ -+ def _parametrize_decorator(func): -+ def _parameterized(self, *args, **kwargs): -+ for parameter in parameters: -+ with self.subTest(parameter): -+ func(self, *args, parameter, **kwargs) -+ return _parameterized -+ return _parametrize_decorator -+ -+ - class PosixPathTest(unittest.TestCase): - - def setUp(self): -@@ -442,32 +464,35 @@ def test_normpath(self): - self.assertEqual(result, expected) - - @skip_if_ABSTFN_contains_backslash -- def test_realpath_curdir(self): -- self.assertEqual(realpath('.'), os.getcwd()) -- self.assertEqual(realpath('./.'), os.getcwd()) -- self.assertEqual(realpath('/'.join(['.'] * 100)), os.getcwd()) -+ @_parameterize({}, {'strict': True}, {'strict': ALLOW_MISSING}) -+ def test_realpath_curdir(self, kwargs): -+ self.assertEqual(realpath('.', **kwargs), os.getcwd()) -+ self.assertEqual(realpath('./.', **kwargs), os.getcwd()) -+ self.assertEqual(realpath('/'.join(['.'] * 100), **kwargs), os.getcwd()) - -- self.assertEqual(realpath(b'.'), os.getcwdb()) -- self.assertEqual(realpath(b'./.'), os.getcwdb()) -- self.assertEqual(realpath(b'/'.join([b'.'] * 100)), os.getcwdb()) -+ self.assertEqual(realpath(b'.', **kwargs), os.getcwdb()) -+ self.assertEqual(realpath(b'./.', **kwargs), os.getcwdb()) -+ self.assertEqual(realpath(b'/'.join([b'.'] * 100), **kwargs), os.getcwdb()) - - @skip_if_ABSTFN_contains_backslash -- def test_realpath_pardir(self): -- self.assertEqual(realpath('..'), dirname(os.getcwd())) -- self.assertEqual(realpath('../..'), dirname(dirname(os.getcwd()))) -- self.assertEqual(realpath('/'.join(['..'] * 100)), '/') -+ @_parameterize({}, {'strict': True}, {'strict': ALLOW_MISSING}) -+ def test_realpath_pardir(self, kwargs): -+ self.assertEqual(realpath('..', **kwargs), dirname(os.getcwd())) -+ self.assertEqual(realpath('../..', **kwargs), dirname(dirname(os.getcwd()))) -+ self.assertEqual(realpath('/'.join(['..'] * 100), **kwargs), '/') - -- self.assertEqual(realpath(b'..'), dirname(os.getcwdb())) -- self.assertEqual(realpath(b'../..'), dirname(dirname(os.getcwdb()))) -- self.assertEqual(realpath(b'/'.join([b'..'] * 100)), b'/') -+ self.assertEqual(realpath(b'..', **kwargs), dirname(os.getcwdb())) -+ self.assertEqual(realpath(b'../..', **kwargs), dirname(dirname(os.getcwdb()))) -+ self.assertEqual(realpath(b'/'.join([b'..'] * 100), **kwargs), b'/') - - @os_helper.skip_unless_symlink - @skip_if_ABSTFN_contains_backslash -- def test_realpath_basic(self): -+ @_parameterize({}, {'strict': ALLOW_MISSING}) -+ def test_realpath_basic(self, kwargs): - # Basic operation. - try: - os.symlink(ABSTFN+"1", ABSTFN) -- self.assertEqual(realpath(ABSTFN), ABSTFN+"1") -+ self.assertEqual(realpath(ABSTFN, **kwargs), ABSTFN+"1") - finally: - os_helper.unlink(ABSTFN) - -@@ -487,90 +512,115 @@ def test_realpath_invalid_paths(self): - path = '/\x00' - self.assertRaises(ValueError, realpath, path, strict=False) - self.assertRaises(ValueError, realpath, path, strict=True) -+ self.assertRaises(ValueError, realpath, path, strict=ALLOW_MISSING) - path = b'/\x00' - self.assertRaises(ValueError, realpath, path, strict=False) - self.assertRaises(ValueError, realpath, path, strict=True) -+ self.assertRaises(ValueError, realpath, path, strict=ALLOW_MISSING) - path = '/nonexistent/x\x00' - self.assertRaises(ValueError, realpath, path, strict=False) - self.assertRaises(FileNotFoundError, realpath, path, strict=True) -+ self.assertRaises(ValueError, realpath, path, strict=ALLOW_MISSING) - path = b'/nonexistent/x\x00' - self.assertRaises(ValueError, realpath, path, strict=False) - self.assertRaises(FileNotFoundError, realpath, path, strict=True) -+ self.assertRaises(ValueError, realpath, path, strict=ALLOW_MISSING) - path = '/\x00/..' - self.assertRaises(ValueError, realpath, path, strict=False) - self.assertRaises(ValueError, realpath, path, strict=True) -+ self.assertRaises(ValueError, realpath, path, strict=ALLOW_MISSING) - path = b'/\x00/..' - self.assertRaises(ValueError, realpath, path, strict=False) - self.assertRaises(ValueError, realpath, path, strict=True) -+ self.assertRaises(ValueError, realpath, path, strict=ALLOW_MISSING) -+ - path = '/nonexistent/x\x00/..' - self.assertRaises(ValueError, realpath, path, strict=False) - self.assertRaises(FileNotFoundError, realpath, path, strict=True) -+ self.assertRaises(ValueError, realpath, path, strict=ALLOW_MISSING) - path = b'/nonexistent/x\x00/..' - self.assertRaises(ValueError, realpath, path, strict=False) - self.assertRaises(FileNotFoundError, realpath, path, strict=True) -+ self.assertRaises(ValueError, realpath, path, strict=ALLOW_MISSING) - - path = '/\udfff' - if sys.platform == 'win32': - self.assertEqual(realpath(path, strict=False), path) - self.assertRaises(FileNotFoundError, realpath, path, strict=True) -+ self.assertEqual(realpath(path, strict=ALLOW_MISSING), path) - else: - self.assertRaises(UnicodeEncodeError, realpath, path, strict=False) - self.assertRaises(UnicodeEncodeError, realpath, path, strict=True) -+ self.assertRaises(UnicodeEncodeError, realpath, path, strict=ALLOW_MISSING) - path = '/nonexistent/\udfff' - if sys.platform == 'win32': - self.assertEqual(realpath(path, strict=False), path) -+ self.assertEqual(realpath(path, strict=ALLOW_MISSING), path) - else: - self.assertRaises(UnicodeEncodeError, realpath, path, strict=False) -+ self.assertRaises(UnicodeEncodeError, realpath, path, strict=ALLOW_MISSING) - self.assertRaises(FileNotFoundError, realpath, path, strict=True) - path = '/\udfff/..' - if sys.platform == 'win32': - self.assertEqual(realpath(path, strict=False), '/') - self.assertRaises(FileNotFoundError, realpath, path, strict=True) -+ self.assertEqual(realpath(path, strict=ALLOW_MISSING), '/') - else: - self.assertRaises(UnicodeEncodeError, realpath, path, strict=False) - self.assertRaises(UnicodeEncodeError, realpath, path, strict=True) -+ self.assertRaises(UnicodeEncodeError, realpath, path, strict=ALLOW_MISSING) - path = '/nonexistent/\udfff/..' - if sys.platform == 'win32': - self.assertEqual(realpath(path, strict=False), '/nonexistent') -+ self.assertEqual(realpath(path, strict=ALLOW_MISSING), '/nonexistent') - else: - self.assertRaises(UnicodeEncodeError, realpath, path, strict=False) -+ self.assertRaises(UnicodeEncodeError, realpath, path, strict=ALLOW_MISSING) - self.assertRaises(FileNotFoundError, realpath, path, strict=True) - - path = b'/\xff' - if sys.platform == 'win32': - self.assertRaises(UnicodeDecodeError, realpath, path, strict=False) - self.assertRaises(UnicodeDecodeError, realpath, path, strict=True) -+ self.assertRaises(UnicodeDecodeError, realpath, path, strict=ALLOW_MISSING) - else: - self.assertEqual(realpath(path, strict=False), path) - if support.is_wasi: - self.assertRaises(OSError, realpath, path, strict=True) -+ self.assertRaises(OSError, realpath, path, strict=ALLOW_MISSING) - else: - self.assertRaises(FileNotFoundError, realpath, path, strict=True) -+ self.assertEqual(realpath(path, strict=ALLOW_MISSING), path) - path = b'/nonexistent/\xff' - if sys.platform == 'win32': - self.assertRaises(UnicodeDecodeError, realpath, path, strict=False) -+ self.assertRaises(UnicodeDecodeError, realpath, path, strict=ALLOW_MISSING) - else: - self.assertEqual(realpath(path, strict=False), path) - if support.is_wasi: - self.assertRaises(OSError, realpath, path, strict=True) -+ self.assertRaises(OSError, realpath, path, strict=ALLOW_MISSING) - else: - self.assertRaises(FileNotFoundError, realpath, path, strict=True) - - @os_helper.skip_unless_symlink - @skip_if_ABSTFN_contains_backslash -- def test_realpath_relative(self): -+ @_parameterize({}, {'strict': ALLOW_MISSING}) -+ def test_realpath_relative(self, kwargs): - try: - os.symlink(posixpath.relpath(ABSTFN+"1"), ABSTFN) -- self.assertEqual(realpath(ABSTFN), ABSTFN+"1") -+ self.assertEqual(realpath(ABSTFN, **kwargs), ABSTFN+"1") - finally: - os_helper.unlink(ABSTFN) - - @os_helper.skip_unless_symlink - @skip_if_ABSTFN_contains_backslash -- def test_realpath_missing_pardir(self): -+ @_parameterize({}, {'strict': ALLOW_MISSING}) -+ def test_realpath_missing_pardir(self, kwargs): - try: - os.symlink(TESTFN + "1", TESTFN) -- self.assertEqual(realpath("nonexistent/../" + TESTFN), ABSTFN + "1") -+ self.assertEqual( -+ realpath("nonexistent/../" + TESTFN, **kwargs), ABSTFN + "1") - finally: - os_helper.unlink(TESTFN) - -@@ -617,37 +667,38 @@ def test_realpath_symlink_loops(self): - - @os_helper.skip_unless_symlink - @skip_if_ABSTFN_contains_backslash -- def test_realpath_symlink_loops_strict(self): -+ @_parameterize({'strict': True}, {'strict': ALLOW_MISSING}) -+ def test_realpath_symlink_loops_strict(self, kwargs): - # Bug #43757, raise OSError if we get into an infinite symlink loop in -- # strict mode. -+ # the strict modes. - try: - os.symlink(ABSTFN, ABSTFN) -- self.assertRaises(OSError, realpath, ABSTFN, strict=True) -+ self.assertRaises(OSError, realpath, ABSTFN, **kwargs) - - os.symlink(ABSTFN+"1", ABSTFN+"2") - os.symlink(ABSTFN+"2", ABSTFN+"1") -- self.assertRaises(OSError, realpath, ABSTFN+"1", strict=True) -- self.assertRaises(OSError, realpath, ABSTFN+"2", strict=True) -+ self.assertRaises(OSError, realpath, ABSTFN+"1", **kwargs) -+ self.assertRaises(OSError, realpath, ABSTFN+"2", **kwargs) - -- self.assertRaises(OSError, realpath, ABSTFN+"1/x", strict=True) -- self.assertRaises(OSError, realpath, ABSTFN+"1/..", strict=True) -- self.assertRaises(OSError, realpath, ABSTFN+"1/../x", strict=True) -+ self.assertRaises(OSError, realpath, ABSTFN+"1/x", **kwargs) -+ self.assertRaises(OSError, realpath, ABSTFN+"1/..", **kwargs) -+ self.assertRaises(OSError, realpath, ABSTFN+"1/../x", **kwargs) - os.symlink(ABSTFN+"x", ABSTFN+"y") - self.assertRaises(OSError, realpath, -- ABSTFN+"1/../" + basename(ABSTFN) + "y", strict=True) -+ ABSTFN+"1/../" + basename(ABSTFN) + "y", **kwargs) - self.assertRaises(OSError, realpath, -- ABSTFN+"1/../" + basename(ABSTFN) + "1", strict=True) -+ ABSTFN+"1/../" + basename(ABSTFN) + "1", **kwargs) - - os.symlink(basename(ABSTFN) + "a/b", ABSTFN+"a") -- self.assertRaises(OSError, realpath, ABSTFN+"a", strict=True) -+ self.assertRaises(OSError, realpath, ABSTFN+"a", **kwargs) - - os.symlink("../" + basename(dirname(ABSTFN)) + "/" + - basename(ABSTFN) + "c", ABSTFN+"c") -- self.assertRaises(OSError, realpath, ABSTFN+"c", strict=True) -+ self.assertRaises(OSError, realpath, ABSTFN+"c", **kwargs) - - # Test using relative path as well. - with os_helper.change_cwd(dirname(ABSTFN)): -- self.assertRaises(OSError, realpath, basename(ABSTFN), strict=True) -+ self.assertRaises(OSError, realpath, basename(ABSTFN), **kwargs) - finally: - os_helper.unlink(ABSTFN) - os_helper.unlink(ABSTFN+"1") -@@ -658,13 +709,14 @@ def test_realpath_symlink_loops_strict(self): - - @os_helper.skip_unless_symlink - @skip_if_ABSTFN_contains_backslash -- def test_realpath_repeated_indirect_symlinks(self): -+ @_parameterize({}, {'strict': True}, {'strict': ALLOW_MISSING}) -+ def test_realpath_repeated_indirect_symlinks(self, kwargs): - # Issue #6975. - try: - os.mkdir(ABSTFN) - os.symlink('../' + basename(ABSTFN), ABSTFN + '/self') - os.symlink('self/self/self', ABSTFN + '/link') -- self.assertEqual(realpath(ABSTFN + '/link'), ABSTFN) -+ self.assertEqual(realpath(ABSTFN + '/link', **kwargs), ABSTFN) - finally: - os_helper.unlink(ABSTFN + '/self') - os_helper.unlink(ABSTFN + '/link') -@@ -672,14 +724,15 @@ def test_realpath_repeated_indirect_symlinks(self): - - @os_helper.skip_unless_symlink - @skip_if_ABSTFN_contains_backslash -- def test_realpath_deep_recursion(self): -+ @_parameterize({}, {'strict': True}, {'strict': ALLOW_MISSING}) -+ def test_realpath_deep_recursion(self, kwargs): - depth = 10 - try: - os.mkdir(ABSTFN) - for i in range(depth): - os.symlink('/'.join(['%d' % i] * 10), ABSTFN + '/%d' % (i + 1)) - os.symlink('.', ABSTFN + '/0') -- self.assertEqual(realpath(ABSTFN + '/%d' % depth), ABSTFN) -+ self.assertEqual(realpath(ABSTFN + '/%d' % depth, **kwargs), ABSTFN) - - # Test using relative path as well. - with os_helper.change_cwd(ABSTFN): -@@ -691,7 +744,8 @@ def test_realpath_deep_recursion(self): - - @os_helper.skip_unless_symlink - @skip_if_ABSTFN_contains_backslash -- def test_realpath_resolve_parents(self): -+ @_parameterize({}, {'strict': ALLOW_MISSING}) -+ def test_realpath_resolve_parents(self, kwargs): - # We also need to resolve any symlinks in the parents of a relative - # path passed to realpath. E.g.: current working directory is - # /usr/doc with 'doc' being a symlink to /usr/share/doc. We call -@@ -702,7 +756,8 @@ def test_realpath_resolve_parents(self): - os.symlink(ABSTFN + "/y", ABSTFN + "/k") - - with os_helper.change_cwd(ABSTFN + "/k"): -- self.assertEqual(realpath("a"), ABSTFN + "/y/a") -+ self.assertEqual(realpath("a", **kwargs), -+ ABSTFN + "/y/a") - finally: - os_helper.unlink(ABSTFN + "/k") - os_helper.rmdir(ABSTFN + "/y") -@@ -710,7 +765,8 @@ def test_realpath_resolve_parents(self): - - @os_helper.skip_unless_symlink - @skip_if_ABSTFN_contains_backslash -- def test_realpath_resolve_before_normalizing(self): -+ @_parameterize({}, {'strict': True}, {'strict': ALLOW_MISSING}) -+ def test_realpath_resolve_before_normalizing(self, kwargs): - # Bug #990669: Symbolic links should be resolved before we - # normalize the path. E.g.: if we have directories 'a', 'k' and 'y' - # in the following hierarchy: -@@ -725,10 +781,10 @@ def test_realpath_resolve_before_normalizing(self): - os.symlink(ABSTFN + "/k/y", ABSTFN + "/link-y") - - # Absolute path. -- self.assertEqual(realpath(ABSTFN + "/link-y/.."), ABSTFN + "/k") -+ self.assertEqual(realpath(ABSTFN + "/link-y/..", **kwargs), ABSTFN + "/k") - # Relative path. - with os_helper.change_cwd(dirname(ABSTFN)): -- self.assertEqual(realpath(basename(ABSTFN) + "/link-y/.."), -+ self.assertEqual(realpath(basename(ABSTFN) + "/link-y/..", **kwargs), - ABSTFN + "/k") - finally: - os_helper.unlink(ABSTFN + "/link-y") -@@ -738,7 +794,8 @@ def test_realpath_resolve_before_normalizing(self): - - @os_helper.skip_unless_symlink - @skip_if_ABSTFN_contains_backslash -- def test_realpath_resolve_first(self): -+ @_parameterize({}, {'strict': True}, {'strict': ALLOW_MISSING}) -+ def test_realpath_resolve_first(self, kwargs): - # Bug #1213894: The first component of the path, if not absolute, - # must be resolved too. - -@@ -748,8 +805,8 @@ def test_realpath_resolve_first(self): - os.symlink(ABSTFN, ABSTFN + "link") - with os_helper.change_cwd(dirname(ABSTFN)): - base = basename(ABSTFN) -- self.assertEqual(realpath(base + "link"), ABSTFN) -- self.assertEqual(realpath(base + "link/k"), ABSTFN + "/k") -+ self.assertEqual(realpath(base + "link", **kwargs), ABSTFN) -+ self.assertEqual(realpath(base + "link/k", **kwargs), ABSTFN + "/k") - finally: - os_helper.unlink(ABSTFN + "link") - os_helper.rmdir(ABSTFN + "/k") -@@ -767,12 +824,67 @@ def test_realpath_unreadable_symlink(self): - self.assertEqual(realpath(ABSTFN + '/foo'), ABSTFN + '/foo') - self.assertEqual(realpath(ABSTFN + '/../foo'), dirname(ABSTFN) + '/foo') - self.assertEqual(realpath(ABSTFN + '/foo/..'), ABSTFN) -- with self.assertRaises(PermissionError): -- realpath(ABSTFN, strict=True) - finally: - os.chmod(ABSTFN, 0o755, follow_symlinks=False) - os_helper.unlink(ABSTFN) - -+ @os_helper.skip_unless_symlink -+ @skip_if_ABSTFN_contains_backslash -+ @unittest.skipIf(os.chmod not in os.supports_follow_symlinks, "Can't set symlink permissions") -+ @unittest.skipIf(sys.platform != "darwin", "only macOS requires read permission to readlink()") -+ @_parameterize({'strict': True}, {'strict': ALLOW_MISSING}) -+ def test_realpath_unreadable_symlink_strict(self, kwargs): -+ try: -+ os.symlink(ABSTFN+"1", ABSTFN) -+ os.chmod(ABSTFN, 0o000, follow_symlinks=False) -+ with self.assertRaises(PermissionError): -+ realpath(ABSTFN, **kwargs) -+ with self.assertRaises(PermissionError): -+ realpath(ABSTFN + '/foo', **kwargs), -+ with self.assertRaises(PermissionError): -+ realpath(ABSTFN + '/../foo', **kwargs) -+ with self.assertRaises(PermissionError): -+ realpath(ABSTFN + '/foo/..', **kwargs) -+ finally: -+ os.chmod(ABSTFN, 0o755, follow_symlinks=False) -+ os.unlink(ABSTFN) -+ -+ @skip_if_ABSTFN_contains_backslash -+ @os_helper.skip_unless_symlink -+ def test_realpath_unreadable_directory(self): -+ try: -+ os.mkdir(ABSTFN) -+ os.mkdir(ABSTFN + '/k') -+ os.chmod(ABSTFN, 0o000) -+ self.assertEqual(realpath(ABSTFN, strict=False), ABSTFN) -+ self.assertEqual(realpath(ABSTFN, strict=True), ABSTFN) -+ self.assertEqual(realpath(ABSTFN, strict=ALLOW_MISSING), ABSTFN) -+ -+ try: -+ os.stat(ABSTFN) -+ except PermissionError: -+ pass -+ else: -+ self.skipTest('Cannot block permissions') -+ -+ self.assertEqual(realpath(ABSTFN + '/k', strict=False), -+ ABSTFN + '/k') -+ self.assertRaises(PermissionError, realpath, ABSTFN + '/k', -+ strict=True) -+ self.assertRaises(PermissionError, realpath, ABSTFN + '/k', -+ strict=ALLOW_MISSING) -+ -+ self.assertEqual(realpath(ABSTFN + '/missing', strict=False), -+ ABSTFN + '/missing') -+ self.assertRaises(PermissionError, realpath, ABSTFN + '/missing', -+ strict=True) -+ self.assertRaises(PermissionError, realpath, ABSTFN + '/missing', -+ strict=ALLOW_MISSING) -+ finally: -+ os.chmod(ABSTFN, 0o755) -+ os_helper.rmdir(ABSTFN + '/k') -+ os_helper.rmdir(ABSTFN) -+ - @skip_if_ABSTFN_contains_backslash - def test_realpath_nonterminal_file(self): - try: -@@ -780,14 +892,27 @@ def test_realpath_nonterminal_file(self): - f.write('test_posixpath wuz ere') - self.assertEqual(realpath(ABSTFN, strict=False), ABSTFN) - self.assertEqual(realpath(ABSTFN, strict=True), ABSTFN) -+ self.assertEqual(realpath(ABSTFN, strict=ALLOW_MISSING), ABSTFN) -+ - self.assertEqual(realpath(ABSTFN + "/", strict=False), ABSTFN) - self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/", strict=True) -+ self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/", -+ strict=ALLOW_MISSING) -+ - self.assertEqual(realpath(ABSTFN + "/.", strict=False), ABSTFN) - self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/.", strict=True) -+ self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/.", -+ strict=ALLOW_MISSING) -+ - self.assertEqual(realpath(ABSTFN + "/..", strict=False), dirname(ABSTFN)) - self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/..", strict=True) -+ self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/..", -+ strict=ALLOW_MISSING) -+ - self.assertEqual(realpath(ABSTFN + "/subdir", strict=False), ABSTFN + "/subdir") - self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/subdir", strict=True) -+ self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/subdir", -+ strict=ALLOW_MISSING) - finally: - os_helper.unlink(ABSTFN) - -@@ -800,14 +925,27 @@ def test_realpath_nonterminal_symlink_to_file(self): - os.symlink(ABSTFN + "1", ABSTFN) - self.assertEqual(realpath(ABSTFN, strict=False), ABSTFN + "1") - self.assertEqual(realpath(ABSTFN, strict=True), ABSTFN + "1") -+ self.assertEqual(realpath(ABSTFN, strict=ALLOW_MISSING), ABSTFN + "1") -+ - self.assertEqual(realpath(ABSTFN + "/", strict=False), ABSTFN + "1") - self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/", strict=True) -+ self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/", -+ strict=ALLOW_MISSING) -+ - self.assertEqual(realpath(ABSTFN + "/.", strict=False), ABSTFN + "1") - self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/.", strict=True) -+ self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/.", -+ strict=ALLOW_MISSING) -+ - self.assertEqual(realpath(ABSTFN + "/..", strict=False), dirname(ABSTFN)) - self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/..", strict=True) -+ self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/..", -+ strict=ALLOW_MISSING) -+ - self.assertEqual(realpath(ABSTFN + "/subdir", strict=False), ABSTFN + "1/subdir") - self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/subdir", strict=True) -+ self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/subdir", -+ strict=ALLOW_MISSING) - finally: - os_helper.unlink(ABSTFN) - os_helper.unlink(ABSTFN + "1") -@@ -822,14 +960,27 @@ def test_realpath_nonterminal_symlink_to_symlinks_to_file(self): - os.symlink(ABSTFN + "1", ABSTFN) - self.assertEqual(realpath(ABSTFN, strict=False), ABSTFN + "2") - self.assertEqual(realpath(ABSTFN, strict=True), ABSTFN + "2") -+ self.assertEqual(realpath(ABSTFN, strict=True), ABSTFN + "2") -+ - self.assertEqual(realpath(ABSTFN + "/", strict=False), ABSTFN + "2") - self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/", strict=True) -+ self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/", -+ strict=ALLOW_MISSING) -+ - self.assertEqual(realpath(ABSTFN + "/.", strict=False), ABSTFN + "2") - self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/.", strict=True) -+ self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/.", -+ strict=ALLOW_MISSING) -+ - self.assertEqual(realpath(ABSTFN + "/..", strict=False), dirname(ABSTFN)) - self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/..", strict=True) -+ self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/..", -+ strict=ALLOW_MISSING) -+ - self.assertEqual(realpath(ABSTFN + "/subdir", strict=False), ABSTFN + "2/subdir") - self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/subdir", strict=True) -+ self.assertRaises(NotADirectoryError, realpath, ABSTFN + "/subdir", -+ strict=ALLOW_MISSING) - finally: - os_helper.unlink(ABSTFN) - os_helper.unlink(ABSTFN + "1") -@@ -1017,9 +1168,12 @@ def test_path_normpath(self): - def test_path_abspath(self): - self.assertPathEqual(self.path.abspath) - -- def test_path_realpath(self): -+ @_parameterize({}, {'strict': True}, {'strict': ALLOW_MISSING}) -+ def test_path_realpath(self, kwargs): - self.assertPathEqual(self.path.realpath) - -+ self.assertPathEqual(partial(self.path.realpath, **kwargs)) -+ - def test_path_relpath(self): - self.assertPathEqual(self.path.relpath) - -diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py -index cf218a2bf14369..7055e1ed147a9e 100644 ---- a/Lib/test/test_tarfile.py -+++ b/Lib/test/test_tarfile.py -@@ -2715,6 +2715,31 @@ def test_useful_error_message_when_modules_missing(self): - str(excinfo.exception), - ) - -+ @unittest.skipUnless(os_helper.can_symlink(), 'requires symlink support') -+ @unittest.skipUnless(hasattr(os, 'chmod'), "missing os.chmod") -+ @unittest.mock.patch('os.chmod') -+ def test_deferred_directory_attributes_update(self, mock_chmod): -+ # Regression test for gh-127987: setting attributes on arbitrary files -+ tempdir = os.path.join(TEMPDIR, 'test127987') -+ def mock_chmod_side_effect(path, mode, **kwargs): -+ target_path = os.path.realpath(path) -+ if os.path.commonpath([target_path, tempdir]) != tempdir: -+ raise Exception("should not try to chmod anything outside the destination", target_path) -+ mock_chmod.side_effect = mock_chmod_side_effect -+ -+ outside_tree_dir = os.path.join(TEMPDIR, 'outside_tree_dir') -+ with ArchiveMaker() as arc: -+ arc.add('x', symlink_to='.') -+ arc.add('x', type=tarfile.DIRTYPE, mode='?rwsrwsrwt') -+ arc.add('x', symlink_to=outside_tree_dir) -+ -+ os.makedirs(outside_tree_dir) -+ try: -+ arc.open().extractall(path=tempdir, filter='tar') -+ finally: -+ os_helper.rmtree(outside_tree_dir) -+ os_helper.rmtree(tempdir) -+ - - class CommandLineTest(unittest.TestCase): - -@@ -3275,6 +3300,10 @@ def check_files_present(self, directory): - got_paths = set( - p.relative_to(directory) - for p in pathlib.Path(directory).glob('**/*')) -+ if self.extraction_filter in (None, 'data'): -+ # The 'data' filter is expected to reject special files -+ for path in 'ustar/fifotype', 'ustar/blktype', 'ustar/chrtype': -+ got_paths.discard(pathlib.Path(path)) - self.assertEqual(self.control_paths, got_paths) - - @contextmanager -@@ -3504,12 +3533,28 @@ def __exit__(self, *exc): - self.bio = None - - def add(self, name, *, type=None, symlink_to=None, hardlink_to=None, -- mode=None, size=None, **kwargs): -- """Add a member to the test archive. Call within `with`.""" -+ mode=None, size=None, content=None, **kwargs): -+ """Add a member to the test archive. Call within `with`. -+ -+ Provides many shortcuts: -+ - default `type` is based on symlink_to, hardlink_to, and trailing `/` -+ in name (which is stripped) -+ - size & content defaults are based on each other -+ - content can be str or bytes -+ - mode should be textual ('-rwxrwxrwx') -+ -+ (add more! this is unstable internal test-only API) -+ """ - name = str(name) - tarinfo = tarfile.TarInfo(name).replace(**kwargs) -+ if content is not None: -+ if isinstance(content, str): -+ content = content.encode() -+ size = len(content) - if size is not None: - tarinfo.size = size -+ if content is None: -+ content = bytes(tarinfo.size) - if mode: - tarinfo.mode = _filemode_to_int(mode) - if symlink_to is not None: -@@ -3523,7 +3568,7 @@ def add(self, name, *, type=None, symlink_to=None, hardlink_to=None, - if type is not None: - tarinfo.type = type - if tarinfo.isreg(): -- fileobj = io.BytesIO(bytes(tarinfo.size)) -+ fileobj = io.BytesIO(content) - else: - fileobj = None - self.tar_w.addfile(tarinfo, fileobj) -@@ -3557,7 +3602,7 @@ class TestExtractionFilters(unittest.TestCase): - destdir = outerdir / 'dest' - - @contextmanager -- def check_context(self, tar, filter): -+ def check_context(self, tar, filter, *, check_flag=True): - """Extracts `tar` to `self.destdir` and allows checking the result - - If an error occurs, it must be checked using `expect_exception` -@@ -3566,27 +3611,40 @@ def check_context(self, tar, filter): - except the destination directory itself and parent directories of - other files. - When checking directories, do so before their contents. -+ -+ A file called 'flag' is made in outerdir (i.e. outside destdir) -+ before extraction; it should not be altered nor should its contents -+ be read/copied. - """ - with os_helper.temp_dir(self.outerdir): -+ flag_path = self.outerdir / 'flag' -+ flag_path.write_text('capture me') - try: - tar.extractall(self.destdir, filter=filter) - except Exception as exc: - self.raised_exception = exc -+ self.reraise_exception = True - self.expected_paths = set() - else: - self.raised_exception = None -+ self.reraise_exception = False - self.expected_paths = set(self.outerdir.glob('**/*')) - self.expected_paths.discard(self.destdir) -+ self.expected_paths.discard(flag_path) - try: -- yield -+ yield self - finally: - tar.close() -- if self.raised_exception: -+ if self.reraise_exception: - raise self.raised_exception - self.assertEqual(self.expected_paths, set()) -+ if check_flag: -+ self.assertEqual(flag_path.read_text(), 'capture me') -+ else: -+ assert filter == 'fully_trusted' - - def expect_file(self, name, type=None, symlink_to=None, mode=None, -- size=None): -+ size=None, content=None): - """Check a single file. See check_context.""" - if self.raised_exception: - raise self.raised_exception -@@ -3605,26 +3663,45 @@ def expect_file(self, name, type=None, symlink_to=None, mode=None, - # The symlink might be the same (textually) as what we expect, - # but some systems change the link to an equivalent path, so - # we fall back to samefile(). -- if expected != got: -- self.assertTrue(got.samefile(expected)) -+ try: -+ if expected != got: -+ self.assertTrue(got.samefile(expected)) -+ except Exception as e: -+ # attach a note, so it's shown even if `samefile` fails -+ e.add_note(f'{expected=}, {got=}') -+ raise - elif type == tarfile.REGTYPE or type is None: - self.assertTrue(path.is_file()) - elif type == tarfile.DIRTYPE: - self.assertTrue(path.is_dir()) - elif type == tarfile.FIFOTYPE: - self.assertTrue(path.is_fifo()) -+ elif type == tarfile.SYMTYPE: -+ self.assertTrue(path.is_symlink()) - else: - raise NotImplementedError(type) - if size is not None: - self.assertEqual(path.stat().st_size, size) -+ if content is not None: -+ self.assertEqual(path.read_text(), content) - for parent in path.parents: - self.expected_paths.discard(parent) - -+ def expect_any_tree(self, name): -+ """Check a directory; forget about its contents.""" -+ tree_path = (self.destdir / name).resolve() -+ self.expect_file(tree_path, type=tarfile.DIRTYPE) -+ self.expected_paths = { -+ p for p in self.expected_paths -+ if tree_path not in p.parents -+ } -+ - def expect_exception(self, exc_type, message_re='.'): - with self.assertRaisesRegex(exc_type, message_re): - if self.raised_exception is not None: - raise self.raised_exception -- self.raised_exception = None -+ self.reraise_exception = False -+ return self.raised_exception - - def test_benign_file(self): - with ArchiveMaker() as arc: -@@ -3709,6 +3786,80 @@ def test_parent_symlink(self): - with self.check_context(arc.open(), 'data'): - self.expect_file('parent/evil') - -+ @symlink_test -+ @os_helper.skip_unless_symlink -+ def test_realpath_limit_attack(self): -+ # (CVE-2025-4517) -+ -+ with ArchiveMaker() as arc: -+ # populate the symlinks and dirs that expand in os.path.realpath() -+ # The component length is chosen so that in common cases, the unexpanded -+ # path fits in PATH_MAX, but it overflows when the final symlink -+ # is expanded -+ steps = "abcdefghijklmnop" -+ if sys.platform == 'win32': -+ component = 'd' * 25 -+ elif 'PC_PATH_MAX' in os.pathconf_names: -+ max_path_len = os.pathconf(self.outerdir.parent, "PC_PATH_MAX") -+ path_sep_len = 1 -+ dest_len = len(str(self.destdir)) + path_sep_len -+ component_len = (max_path_len - dest_len) // (len(steps) + path_sep_len) -+ component = 'd' * component_len -+ else: -+ raise NotImplementedError("Need to guess component length for {sys.platform}") -+ path = "" -+ step_path = "" -+ for i in steps: -+ arc.add(os.path.join(path, component), type=tarfile.DIRTYPE, -+ mode='drwxrwxrwx') -+ arc.add(os.path.join(path, i), symlink_to=component) -+ path = os.path.join(path, component) -+ step_path = os.path.join(step_path, i) -+ # create the final symlink that exceeds PATH_MAX and simply points -+ # to the top dir. -+ # this link will never be expanded by -+ # os.path.realpath(strict=False), nor anything after it. -+ linkpath = os.path.join(*steps, "l"*254) -+ parent_segments = [".."] * len(steps) -+ arc.add(linkpath, symlink_to=os.path.join(*parent_segments)) -+ # make a symlink outside to keep the tar command happy -+ arc.add("escape", symlink_to=os.path.join(linkpath, "..")) -+ # use the symlinks above, that are not checked, to create a hardlink -+ # to a file outside of the destination path -+ arc.add("flaglink", hardlink_to=os.path.join("escape", "flag")) -+ # now that we have the hardlink we can overwrite the file -+ arc.add("flaglink", content='overwrite') -+ # we can also create new files as well! -+ arc.add("escape/newfile", content='new') -+ -+ with (self.subTest('fully_trusted'), -+ self.check_context(arc.open(), filter='fully_trusted', -+ check_flag=False)): -+ if sys.platform == 'win32': -+ self.expect_exception((FileNotFoundError, FileExistsError)) -+ elif self.raised_exception: -+ # Cannot symlink/hardlink: tarfile falls back to getmember() -+ self.expect_exception(KeyError) -+ # Otherwise, this block should never enter. -+ else: -+ self.expect_any_tree(component) -+ self.expect_file('flaglink', content='overwrite') -+ self.expect_file('../newfile', content='new') -+ self.expect_file('escape', type=tarfile.SYMTYPE) -+ self.expect_file('a', symlink_to=component) -+ -+ for filter in 'tar', 'data': -+ with self.subTest(filter), self.check_context(arc.open(), filter=filter): -+ exc = self.expect_exception((OSError, KeyError)) -+ if isinstance(exc, OSError): -+ if sys.platform == 'win32': -+ # 3: ERROR_PATH_NOT_FOUND -+ # 5: ERROR_ACCESS_DENIED -+ # 206: ERROR_FILENAME_EXCED_RANGE -+ self.assertIn(exc.winerror, (3, 5, 206)) -+ else: -+ self.assertEqual(exc.errno, errno.ENAMETOOLONG) -+ - @symlink_test - def test_parent_symlink2(self): - # Test interplaying symlinks -@@ -3931,8 +4082,8 @@ def test_chains(self): - arc.add('symlink2', symlink_to=os.path.join( - 'linkdir', 'hardlink2')) - arc.add('targetdir/target', size=3) -- arc.add('linkdir/hardlink', hardlink_to='targetdir/target') -- arc.add('linkdir/hardlink2', hardlink_to='linkdir/symlink') -+ arc.add('linkdir/hardlink', hardlink_to=os.path.join('targetdir', 'target')) -+ arc.add('linkdir/hardlink2', hardlink_to=os.path.join('linkdir', 'symlink')) - - for filter in 'tar', 'data', 'fully_trusted': - with self.check_context(arc.open(), filter): -@@ -3948,6 +4099,129 @@ def test_chains(self): - self.expect_file('linkdir/symlink', size=3) - self.expect_file('symlink2', size=3) - -+ @symlink_test -+ def test_sneaky_hardlink_fallback(self): -+ # (CVE-2025-4330) -+ # Test that when hardlink extraction falls back to extracting members -+ # from the archive, the extracted member is (re-)filtered. -+ with ArchiveMaker() as arc: -+ # Create a directory structure so the c/escape symlink stays -+ # inside the path -+ arc.add("a/t/dummy") -+ # Create b/ directory -+ arc.add("b/") -+ # Point "c" to the bottom of the tree in "a" -+ arc.add("c", symlink_to=os.path.join("a", "t")) -+ # link to non-existant location under "a" -+ arc.add("c/escape", symlink_to=os.path.join("..", "..", -+ "link_here")) -+ # Move "c" to point to "b" ("c/escape" no longer exists) -+ arc.add("c", symlink_to="b") -+ # Attempt to create a hard link to "c/escape". Since it doesn't -+ # exist it will attempt to extract "cescape" but at "boom". -+ arc.add("boom", hardlink_to=os.path.join("c", "escape")) -+ -+ with self.check_context(arc.open(), 'data'): -+ if not os_helper.can_symlink(): -+ # When 'c/escape' is extracted, 'c' is a regular -+ # directory, and 'c/escape' *would* point outside -+ # the destination if symlinks were allowed. -+ self.expect_exception( -+ tarfile.LinkOutsideDestinationError) -+ elif sys.platform == "win32": -+ # On Windows, 'c/escape' points outside the destination -+ self.expect_exception(tarfile.LinkOutsideDestinationError) -+ else: -+ e = self.expect_exception( -+ tarfile.LinkFallbackError, -+ "link 'boom' would be extracted as a copy of " -+ + "'c/escape', which was rejected") -+ self.assertIsInstance(e.__cause__, -+ tarfile.LinkOutsideDestinationError) -+ for filter in 'tar', 'fully_trusted': -+ with self.subTest(filter), self.check_context(arc.open(), filter): -+ if not os_helper.can_symlink(): -+ self.expect_file("a/t/dummy") -+ self.expect_file("b/") -+ self.expect_file("c/") -+ else: -+ self.expect_file("a/t/dummy") -+ self.expect_file("b/") -+ self.expect_file("a/t/escape", symlink_to='../../link_here') -+ self.expect_file("boom", symlink_to='../../link_here') -+ self.expect_file("c", symlink_to='b') -+ -+ @symlink_test -+ def test_exfiltration_via_symlink(self): -+ # (CVE-2025-4138) -+ # Test changing symlinks that result in a symlink pointing outside -+ # the extraction directory, unless prevented by 'data' filter's -+ # normalization. -+ with ArchiveMaker() as arc: -+ arc.add("escape", symlink_to=os.path.join('link', 'link', '..', '..', 'link-here')) -+ arc.add("link", symlink_to='./') -+ -+ for filter in 'tar', 'data', 'fully_trusted': -+ with self.check_context(arc.open(), filter): -+ if os_helper.can_symlink(): -+ self.expect_file("link", symlink_to='./') -+ if filter == 'data': -+ self.expect_file("escape", symlink_to='link-here') -+ else: -+ self.expect_file("escape", -+ symlink_to='link/link/../../link-here') -+ else: -+ # Nothing is extracted. -+ pass -+ -+ @symlink_test -+ def test_chmod_outside_dir(self): -+ # (CVE-2024-12718) -+ # Test that members used for delayed updates of directory metadata -+ # are (re-)filtered. -+ with ArchiveMaker() as arc: -+ # "pwn" is a veeeery innocent symlink: -+ arc.add("a/pwn", symlink_to='.') -+ # But now "pwn" is also a directory, so it's scheduled to have its -+ # metadata updated later: -+ arc.add("a/pwn/", mode='drwxrwxrwx') -+ # Oops, "pwn" is not so innocent any more: -+ arc.add("a/pwn", symlink_to='x/../') -+ # Newly created symlink points to the dest dir, -+ # so it's OK for the "data" filter. -+ arc.add('a/x', symlink_to=('../')) -+ # But now "pwn" points outside the dest dir -+ -+ for filter in 'tar', 'data', 'fully_trusted': -+ with self.check_context(arc.open(), filter) as cc: -+ if not os_helper.can_symlink(): -+ self.expect_file("a/pwn/") -+ elif filter == 'data': -+ self.expect_file("a/x", symlink_to='../') -+ self.expect_file("a/pwn", symlink_to='.') -+ else: -+ self.expect_file("a/x", symlink_to='../') -+ self.expect_file("a/pwn", symlink_to='x/../') -+ if sys.platform != "win32": -+ st_mode = cc.outerdir.stat().st_mode -+ self.assertNotEqual(st_mode & 0o777, 0o777) -+ -+ def test_link_fallback_normalizes(self): -+ # Make sure hardlink fallbacks work for non-normalized paths for all -+ # filters -+ with ArchiveMaker() as arc: -+ arc.add("dir/") -+ arc.add("dir/../afile") -+ arc.add("link1", hardlink_to='dir/../afile') -+ arc.add("link2", hardlink_to='dir/../dir/../afile') -+ -+ for filter in 'tar', 'data', 'fully_trusted': -+ with self.check_context(arc.open(), filter) as cc: -+ self.expect_file("dir/") -+ self.expect_file("afile") -+ self.expect_file("link1") -+ self.expect_file("link2") -+ - def test_modes(self): - # Test how file modes are extracted - # (Note that the modes are ignored on platforms without working chmod) -@@ -4072,7 +4346,7 @@ def test_tar_filter(self): - # The 'tar' filter returns TarInfo objects with the same name/type. - # (It can also fail for particularly "evil" input, but we don't have - # that in the test archive.) -- with tarfile.TarFile.open(tarname) as tar: -+ with tarfile.TarFile.open(tarname, encoding="iso8859-1") as tar: - for tarinfo in tar.getmembers(): - try: - filtered = tarfile.tar_filter(tarinfo, '') -@@ -4084,7 +4358,7 @@ def test_tar_filter(self): - def test_data_filter(self): - # The 'data' filter either raises, or returns TarInfo with the same - # name/type. -- with tarfile.TarFile.open(tarname) as tar: -+ with tarfile.TarFile.open(tarname, encoding="iso8859-1") as tar: - for tarinfo in tar.getmembers(): - try: - filtered = tarfile.data_filter(tarinfo, '') -@@ -4242,13 +4516,13 @@ def valueerror_filter(tarinfo, path): - # If errorlevel is 0, errors affected by errorlevel are ignored - - with self.check_context(arc.open(errorlevel=0), extracterror_filter): -- self.expect_file('file') -+ pass - - with self.check_context(arc.open(errorlevel=0), filtererror_filter): -- self.expect_file('file') -+ pass - - with self.check_context(arc.open(errorlevel=0), oserror_filter): -- self.expect_file('file') -+ pass - - with self.check_context(arc.open(errorlevel=0), tarerror_filter): - self.expect_exception(tarfile.TarError) -@@ -4259,7 +4533,7 @@ def valueerror_filter(tarinfo, path): - # If 1, all fatal errors are raised - - with self.check_context(arc.open(errorlevel=1), extracterror_filter): -- self.expect_file('file') -+ pass - - with self.check_context(arc.open(errorlevel=1), filtererror_filter): - self.expect_exception(tarfile.FilterError) -diff --git a/Misc/NEWS.d/next/Security/2025-06-02-11-32-23.gh-issue-135034.RLGjbp.rst b/Misc/NEWS.d/next/Security/2025-06-02-11-32-23.gh-issue-135034.RLGjbp.rst -new file mode 100644 -index 00000000000000..08a0087e203671 ---- /dev/null -+++ b/Misc/NEWS.d/next/Security/2025-06-02-11-32-23.gh-issue-135034.RLGjbp.rst -@@ -0,0 +1,6 @@ -+Fixes multiple issues that allowed ``tarfile`` extraction filters -+(``filter="data"`` and ``filter="tar"``) to be bypassed using crafted -+symlinks and hard links. -+ -+Addresses :cve:`2024-12718`, :cve:`2025-4138`, :cve:`2025-4330`, and :cve:`2025-4517`. -+ diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix index 4cf35d59ad74..03d0383402fd 100644 --- a/pkgs/development/interpreters/python/cpython/default.nix +++ b/pkgs/development/interpreters/python/cpython/default.nix @@ -349,9 +349,6 @@ stdenv.mkDerivation (finalAttrs: { ++ optionals (pythonAtLeast "3.13") [ ./3.13/virtualenv-permissions.patch ] - ++ optionals (pythonAtLeast "3.14") [ - ./3.14/CVE-2025-4517.patch - ] ++ optionals mimetypesSupport [ # Make the mimetypes module refer to the right file ./mimetypes.patch diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index 6c135c3f2595..2b2cc4b92d01 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -93,9 +93,9 @@ major = "3"; minor = "14"; patch = "0"; - suffix = "b2"; + suffix = "b3"; }; - hash = "sha256-esnoSES7wKWo8feaN6aLO4yvKli0qlmZxJInyzbnDqY="; + hash = "sha256-xvSL9R8B9Q2HAHpEXdev5KTHqHq0glcL6STB3f0NNoI="; inherit passthruFun; }; # Minimal versions of Python (built without optional dependencies) diff --git a/pkgs/development/libraries/simpleitk/default.nix b/pkgs/development/libraries/simpleitk/default.nix index 09aa2077dbc0..257e6d8080a6 100644 --- a/pkgs/development/libraries/simpleitk/default.nix +++ b/pkgs/development/libraries/simpleitk/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "simpleitk"; - version = "2.5.0"; + version = "2.5.2"; src = fetchFromGitHub { owner = "SimpleITK"; repo = "SimpleITK"; tag = "v${finalAttrs.version}"; - hash = "sha256-9PidduOe5AW9faeA28mNPf1GRVFdTjEryo/mJq+T6dk="; + hash = "sha256-6jEPO8pM5EDVFgeq8hSpJ0pWn2/Iph4Xcs2hs41kxAI="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/aiohomeconnect/default.nix b/pkgs/development/python-modules/aiohomeconnect/default.nix index 311cc5ac9be9..1f228b0b8565 100644 --- a/pkgs/development/python-modules/aiohomeconnect/default.nix +++ b/pkgs/development/python-modules/aiohomeconnect/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { pname = "aiohomeconnect"; - version = "0.17.1"; + version = "0.18.0"; pyproject = true; disabled = pythonOlder "3.11"; @@ -28,7 +28,7 @@ buildPythonPackage rec { owner = "MartinHjelmare"; repo = "aiohomeconnect"; tag = "v${version}"; - hash = "sha256-UY1OFrydA42B/Tu4jwDwTe0kpnAhXfi75GUc4FlI9pE="; + hash = "sha256-TEPE9AzChfZSN3kA3fSJy6eh8J+1AUTnO59vywOXlAk="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/databricks-sdk/default.nix b/pkgs/development/python-modules/databricks-sdk/default.nix index 0dc60cdf4230..1b5325ec8400 100644 --- a/pkgs/development/python-modules/databricks-sdk/default.nix +++ b/pkgs/development/python-modules/databricks-sdk/default.nix @@ -21,14 +21,14 @@ buildPythonPackage rec { pname = "databricks-sdk"; - version = "0.56.0"; + version = "0.57.0"; pyproject = true; src = fetchFromGitHub { owner = "databricks"; repo = "databricks-sdk-py"; tag = "v${version}"; - hash = "sha256-xMwjyXv/X0rAc2kXk9OyTrYrTJEk3irpDPZ8z6LLSoM="; + hash = "sha256-QdqbUq2kzrP614BWIMdWAIKsVdXIG89BmLlh+Po98zI="; }; build-system = [ diff --git a/pkgs/development/python-modules/djangorestframework-stubs/default.nix b/pkgs/development/python-modules/djangorestframework-stubs/default.nix index 986c09e304a1..ea67da1c9209 100644 --- a/pkgs/development/python-modules/djangorestframework-stubs/default.nix +++ b/pkgs/development/python-modules/djangorestframework-stubs/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { pname = "djangorestframework-stubs"; - version = "3.15.3"; + version = "3.16.0"; pyproject = true; disabled = pythonOlder "3.9"; @@ -28,7 +28,7 @@ buildPythonPackage rec { owner = "typeddjango"; repo = "djangorestframework-stubs"; tag = version; - hash = "sha256-6bs/FGCxxV1sE4J3aqzYS1wIr82mWlnGGXIuYOF5+dw="; + hash = "sha256-q/9tCMT79TMHIQ4KH8tiunaTt7L6IItwNYBFlbNxBcE="; }; nativeBuildInputs = [ setuptools ]; diff --git a/pkgs/development/python-modules/google-cloud-webrisk/default.nix b/pkgs/development/python-modules/google-cloud-webrisk/default.nix index ae4d79f1fcf1..587a862f7508 100644 --- a/pkgs/development/python-modules/google-cloud-webrisk/default.nix +++ b/pkgs/development/python-modules/google-cloud-webrisk/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "google-cloud-webrisk"; - version = "1.18.0"; + version = "1.18.1"; pyproject = true; disabled = pythonOlder "3.7"; @@ -23,7 +23,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "google_cloud_webrisk"; inherit version; - hash = "sha256-a+hb4chZzPaPduJihVmQHBd8arZ6MEKYBDFkNOvsprI="; + hash = "sha256-3OUxiDZtRfmipeyCW8in6+GkVnlilWgE8Hzr6G+1KQU="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/luna-usb/default.nix b/pkgs/development/python-modules/luna-usb/default.nix index 7d4da8148302..a6b8393e1d7f 100644 --- a/pkgs/development/python-modules/luna-usb/default.nix +++ b/pkgs/development/python-modules/luna-usb/default.nix @@ -20,14 +20,14 @@ }: buildPythonPackage rec { pname = "luna-usb"; - version = "0.2.0"; + version = "0.2.1"; pyproject = true; src = fetchFromGitHub { owner = "greatscottgadgets"; repo = "luna"; tag = version; - hash = "sha256-SVpAPq77IH2/2WZrc25j7q6qTMW2ToPY5lYQcYUlJfs="; + hash = "sha256-8onTF0iJF7HpNCjNxUg89YRjfYb94CrFgGtmprp7g2E="; }; postPatch = '' diff --git a/pkgs/development/python-modules/nitransforms/default.nix b/pkgs/development/python-modules/nitransforms/default.nix index 068497e585ee..f7509287253c 100644 --- a/pkgs/development/python-modules/nitransforms/default.nix +++ b/pkgs/development/python-modules/nitransforms/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "nitransforms"; - version = "24.1.1"; + version = "24.1.2"; pyproject = true; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-U2lWxYDuA+PpMEMgjanq/JILWTTH5+DEx9dZ/KCWNjM="; + hash = "sha256-JKlKM9bd3pTTBp/xVj9Ywd/+Ok7lxo05AF01eeOBeoE="; }; build-system = [ diff --git a/pkgs/development/python-modules/pyinstaller-hooks-contrib/default.nix b/pkgs/development/python-modules/pyinstaller-hooks-contrib/default.nix index 5d7d9544086b..4747662e6dcf 100644 --- a/pkgs/development/python-modules/pyinstaller-hooks-contrib/default.nix +++ b/pkgs/development/python-modules/pyinstaller-hooks-contrib/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "pyinstaller-hooks-contrib"; - version = "2025.4"; + version = "2025.5"; pyproject = true; src = fetchPypi { pname = "pyinstaller_hooks_contrib"; inherit version; - hash = "sha256-XOGv0Zl7A+cPVGIHAxz98nggMKq6zBAhkGdwWeKFZEY="; + hash = "sha256-cHOGdwuP4GbASq0YpxvEg8eyXhi0dQp1aZn32iqzGYI="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/strct/default.nix b/pkgs/development/python-modules/strct/default.nix index 989b4e006d30..2eb70091b6d9 100644 --- a/pkgs/development/python-modules/strct/default.nix +++ b/pkgs/development/python-modules/strct/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "strct"; - version = "0.0.34"; + version = "0.0.35"; pyproject = true; src = fetchFromGitHub { owner = "shaypal5"; repo = "strct"; - rev = "v${version}"; - hash = "sha256-uPM2U+emZUCGqEhIeTBmaOu8eSfK4arqvv9bItBWpUs="; + tag = "v${version}"; + hash = "sha256-4IykGzy1PTrRAbx/sdtzL4My4cDSlplL9rOFBcLbaB8="; }; # don't append .dev0 to version diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix index 2cbc51b7bc1e..3bd919d30e7e 100644 --- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix +++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "tencentcloud-sdk-python"; - version = "3.0.1401"; + version = "3.0.1403"; pyproject = true; disabled = pythonOlder "3.9"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "TencentCloud"; repo = "tencentcloud-sdk-python"; tag = version; - hash = "sha256-W25NCSjD+gSoOCz38hAnurDjDUk2wmwqAprswmPnARo="; + hash = "sha256-t38Lx5xW1R/LkUp4WKXXSXuEN5b4zI5i6D9iLBNJw88="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/xiaomi-ble/default.nix b/pkgs/development/python-modules/xiaomi-ble/default.nix index b8d8b5a9b99c..5c5b7eff9a74 100644 --- a/pkgs/development/python-modules/xiaomi-ble/default.nix +++ b/pkgs/development/python-modules/xiaomi-ble/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { pname = "xiaomi-ble"; - version = "0.39.0"; + version = "1.0.0"; pyproject = true; disabled = pythonOlder "3.9"; @@ -28,7 +28,7 @@ buildPythonPackage rec { owner = "Bluetooth-Devices"; repo = "xiaomi-ble"; tag = "v${version}"; - hash = "sha256-XuEFzyJmWrHm4vzyei6+iUEPRDGht+DQGUn6K9Polng="; + hash = "sha256-c9MmxnLEthENvAaBSigUli9m1CbbV/F2RlJMLv5/sOE="; }; build-system = [ poetry-core ]; diff --git a/pkgs/os-specific/linux/nixos-rebuild/_nixos-rebuild b/pkgs/os-specific/linux/nixos-rebuild/_nixos-rebuild index 76be2c98a706..5517c274beb7 100644 --- a/pkgs/os-specific/linux/nixos-rebuild/_nixos-rebuild +++ b/pkgs/os-specific/linux/nixos-rebuild/_nixos-rebuild @@ -35,7 +35,7 @@ _nixos-rebuild() { --profile-name -p # name --rollback --specialisation -c # name - --use-sudo + --sudo --no-ssh-tty --build-host # host --target-host # host diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 8064396631b4..fa32f98da64c 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -72,25 +72,21 @@ rec { stable = if stdenv.hostPlatform.system == "i686-linux" then legacy_390 else production; production = generic { - version = "570.153.02"; - sha256_64bit = "sha256-FIiG5PaVdvqPpnFA5uXdblH5Cy7HSmXxp6czTfpd4bY="; - sha256_aarch64 = "sha256-FKhtEVChfw/1sV5FlFVmia/kE1HbahDJaxTlpNETlrA="; - openSha256 = "sha256-2DpY3rgQjYFuPfTY4U/5TcrvNqsWWnsOSX0f2TfVgTs="; - settingsSha256 = "sha256-5m6caud68Owy4WNqxlIQPXgEmbTe4kZV2vZyTWHWe+M="; - persistencedSha256 = "sha256-OSo4Od7NmezRdGm7BLLzYseWABwNGdsomBCkOsNvOxA="; - - patches = [ gpl_symbols_linux_615_patch ]; + version = "570.169"; + sha256_64bit = "sha256-XzKoR3lcxcP5gPeRiausBw2RSB1702AcAsKCndOHN2U="; + sha256_aarch64 = "sha256-s8jqaZPcMYo18N2RDu8zwMThxPShxz/BL+cUsJnszts="; + openSha256 = "sha256-oqY/O5fda+CVCXGVW2bX7LOa8jHJOQPO6mZ/EyleWCU="; + settingsSha256 = "sha256-0E3UnpMukGMWcX8td6dqmpakaVbj4OhhKXgmqz77XZc="; + persistencedSha256 = "sha256-dttFu+TmbFI+mt1MbbmJcUnc1KIJ20eHZDR7YzfWmgE="; }; latest = selectHighestVersion production (generic { - version = "575.57.08"; - sha256_64bit = "sha256-KqcB2sGAp7IKbleMzNkB3tjUTlfWBYDwj50o3R//xvI="; - sha256_aarch64 = "sha256-VJ5z5PdAL2YnXuZltuOirl179XKWt0O4JNcT8gUgO98="; - openSha256 = "sha256-DOJw73sjhQoy+5R0GHGnUddE6xaXb/z/Ihq3BKBf+lg="; - settingsSha256 = "sha256-AIeeDXFEo9VEKCgXnY3QvrW5iWZeIVg4LBCeRtMs5Io="; - persistencedSha256 = "sha256-Len7Va4HYp5r3wMpAhL4VsPu5S0JOshPFywbO7vYnGo="; - - patches = [ gpl_symbols_linux_615_patch ]; + version = "575.64"; + sha256_64bit = "sha256-6wG8/nOwbH0ktgg8J+ZBT2l5VC8G5lYBQhtkzMCtaLE="; + sha256_aarch64 = "sha256-uHj8fB1sSJfX0NWZEE1eZN1LQQkf7J0jPV3EeQCSG10="; + openSha256 = "sha256-y93FdR5TZuurDlxc/p5D5+a7OH93qU4hwQqMXorcs/g="; + settingsSha256 = "sha256-3BvryH7p0ioweNN4S8oLDCTSS47fQPWVYwNq4AuWQgQ="; + persistencedSha256 = "sha256-QkDNQKwCsakZOLcSie1NBiFCM5e5NFGiIKtPSFeWdXs="; }); beta = selectHighestVersion latest (generic { diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix index 8e3bf06ff62f..f6c00c245a44 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix @@ -25,13 +25,13 @@ in stdenv.mkDerivation rec { pname = "ibus-typing-booster"; - version = "2.27.59"; + version = "2.27.64"; src = fetchFromGitHub { owner = "mike-fabian"; repo = "ibus-typing-booster"; rev = version; - hash = "sha256-puAr2EErNBwhdRtbZvPFgDBMwrYf/gmsRgPXzf8pMzY="; + hash = "sha256-ZeAmIZNayXpy1jplMzT1PR0E4gCtn9vVLb1CtRXBNWY="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/text/highlight/default.nix b/pkgs/tools/text/highlight/default.nix index c446d66f79ee..12606328e441 100644 --- a/pkgs/tools/text/highlight/default.nix +++ b/pkgs/tools/text/highlight/default.nix @@ -15,13 +15,13 @@ let self = stdenv.mkDerivation rec { pname = "highlight"; - version = "4.15"; + version = "4.16"; src = fetchFromGitLab { owner = "saalen"; repo = "highlight"; rev = "v${version}"; - hash = "sha256-CpbVm5Z9cKPQdOzBNOXsgrX3rfC6DTVE7xfmOAshbEs="; + hash = "sha256-SAOlW2IaYY2GzQ+1FClqm62pcxdtf1cow2R4MRS/2Vg="; }; enableParallelBuilding = true; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 8f7e5b0cd269..12ac5db7703e 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -344,7 +344,9 @@ mapAliases { betterbird-unwrapped = throw "betterbird has been removed as there were insufficient maintainer resources to keep up with security updates"; # Added 2024-10-25 bibata-extra-cursors = throw "bibata-cursors has been removed as it was broken"; # Added 2024-07-15 bitbucket-server-cli = throw "bitbucket-server-cli has been removed due to lack of maintenance upstream."; # Added 2025-05-27 + bitcoin-abc = throw "bitcoin-abc has been removed due to a lack of maintanance"; # Added 2026-06-17 bitcoin-unlimited = throw "bitcoin-unlimited has been removed as it was broken and unmaintained"; # Added 2024-07-15 + bitcoind-abc = throw "bitcoind-abc has been removed due to a lack of maintanance"; # Added 2026-06-17 bitcoind-unlimited = throw "bitcoind-unlimited has been removed as it was broken and unmaintained"; # Added 2024-07-15 bird = throw "The bird alias was ambiguous and has been removed for the time being. Please explicitly choose bird2 or bird3."; # Added 2025-01-11 bisq-desktop = throw "bisq-desktop has been removed because OpenJFX 11 was removed"; # Added 2024-11-17 @@ -593,6 +595,7 @@ mapAliases { eidolon = throw "eidolon was removed as it is unmaintained upstream."; # Added 2025-05-28 eintopf = lauti; # Project was renamed, added 2025-05-01 elasticsearch7Plugins = elasticsearchPlugins; + electron-cash = throw "'electron-cash' has been removed due to lack of maintenance."; # Added 2025-06-17 electronplayer = throw "'electronplayer' has been removed as it had been discontinued upstream since October 2024"; # Added 2024-12-17 element-desktop-wayland = throw "element-desktop-wayland has been removed. Consider setting NIXOS_OZONE_WL=1 via 'environment.sessionVariables' instead"; # Added 2024-12-17 @@ -1025,6 +1028,7 @@ mapAliases { libbitcoin-network = throw "libbitcoin-network has been removed as it required an obsolete version of Boost and had no maintainer in Nixpkgs"; # Added 2024-11-24 libbitcoin-protocol = throw "libbitcoin-protocol has been removed as it required an obsolete version of Boost and had no maintainer in Nixpkgs"; # Added 2024-11-24 libchop = throw "libchop has been removed due to failing to build and being unmaintained upstream"; # Added 2025-05-02 + libdwarf-lite = throw "`libdwarf-lite` has been replaced by `libdwarf` as it's mostly a mirror"; # Added 2025-06-16 libdwg = throw "libdwg has been removed as upstream is unmaintained, the code doesn't build without significant patches, and the package had no reverse dependencies"; # Added 2024-12-28 libfpx = throw "libfpx has been removed as it was unmaintained in Nixpkgs and had known vulnerabilities"; # Added 2025-05-20 libgadu = throw "'libgadu' has been removed as upstream is unmaintained and has no dependents or maintainers in Nixpkgs"; # Added 2025-05-17 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 95fa9d9369a1..70794b670e1d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14577,8 +14577,6 @@ with pkgs; youtube-viewer = perlPackages.WWWYoutubeViewer; - yuview = libsForQt5.yuview; - zathuraPkgs = callPackage ../applications/misc/zathura { }; zathura = zathuraPkgs.zathuraWrapper; @@ -14639,16 +14637,6 @@ with pkgs; inherit (darwin) autoSignDarwinBinariesHook; }; - bitcoin-abc = libsForQt5.callPackage ../applications/blockchains/bitcoin-abc { - withGui = true; - protobuf = protobuf_21; - }; - bitcoind-abc = callPackage ../applications/blockchains/bitcoin-abc { - mkDerivation = stdenv.mkDerivation; - protobuf = protobuf_21; - withGui = false; - }; - cryptop = python3.pkgs.callPackage ../applications/blockchains/cryptop { }; elements = libsForQt5.callPackage ../applications/blockchains/elements { diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix index 0ca29f61a4e4..9d67d8024bcc 100644 --- a/pkgs/top-level/qt5-packages.nix +++ b/pkgs/top-level/qt5-packages.nix @@ -326,8 +326,6 @@ makeScopeWithSplicing' { xp-pen-g430-driver = callPackage ../os-specific/linux/xp-pen-drivers/g430 { }; xwaylandvideobridge = callPackage ../tools/wayland/xwaylandvideobridge { }; - - yuview = callPackage ../applications/video/yuview { }; } )) );