From fce2c054f665fc18b501932e9cf7d0f41d934caa Mon Sep 17 00:00:00 2001 From: detroyejr Date: Mon, 21 Apr 2025 18:02:42 -0400 Subject: [PATCH 01/38] plex-media-player: drop --- .../video/plex-media-player/default.nix | 88 ------------------- .../video/plex-media-player/deps.nix | 28 ------ .../video/plex-media-player/update.sh | 71 --------------- pkgs/top-level/all-packages.nix | 2 - 4 files changed, 189 deletions(-) delete mode 100644 pkgs/applications/video/plex-media-player/default.nix delete mode 100644 pkgs/applications/video/plex-media-player/deps.nix delete mode 100755 pkgs/applications/video/plex-media-player/update.sh diff --git a/pkgs/applications/video/plex-media-player/default.nix b/pkgs/applications/video/plex-media-player/default.nix deleted file mode 100644 index deb9819e1be7..000000000000 --- a/pkgs/applications/video/plex-media-player/default.nix +++ /dev/null @@ -1,88 +0,0 @@ -{ - lib, - fetchFromGitHub, - fetchurl, - pkg-config, - cmake, - python3, - mkDerivation, - libX11, - libXrandr, - qtbase, - qtwebchannel, - qtwebengine, - qtx11extras, - libvdpau, - SDL2, - mpv, - libGL, -}: -let - # During compilation, a CMake bundle is downloaded from `artifacts.plex.tv`, - # which then downloads a handful of web client-related files. To enable - # sandboxed builds, we manually download them and save them so these files - # are fetched ahead-of-time instead of during the CMake build. To update - # plex-media-player use the update.sh script, so the versions and hashes - # for these files are also updated! - depSrcs = import ./deps.nix { inherit fetchurl; }; -in -mkDerivation rec { - pname = "plex-media-player"; - version = "2.58.1"; - vsnHash = "ae73e074"; - - src = fetchFromGitHub { - owner = "plexinc"; - repo = "plex-media-player"; - rev = "v${version}-${vsnHash}"; - sha256 = "1q20fdp5d0blb0q6p2357bwdc2g65cadkgdp4w533ij2nyaxydjd"; - }; - - nativeBuildInputs = [ - pkg-config - cmake - python3 - ]; - buildInputs = [ - libX11 - libXrandr - qtbase - qtwebchannel - qtwebengine - qtx11extras - libvdpau - SDL2 - mpv - libGL - ]; - - preConfigure = with depSrcs; '' - mkdir -p build/dependencies - ln -s ${webClient} build/dependencies/buildid-${webClientBuildId}.cmake - ln -s ${webClientDesktopHash} build/dependencies/web-client-desktop-${webClientDesktopBuildId}.tar.xz.sha1 - ln -s ${webClientDesktop} build/dependencies/web-client-desktop-${webClientDesktopBuildId}.tar.xz - ln -s ${webClientTvHash} build/dependencies/web-client-tv-${webClientTvBuildId}.tar.xz.sha1 - ln -s ${webClientTv} build/dependencies/web-client-tv-${webClientTvBuildId}.tar.xz - ''; - - cmakeBuildType = "RelWithDebInfo"; - - cmakeFlags = [ "-DQTROOT=${qtbase}" ]; - - # plexmediaplayer currently segfaults under wayland - qtWrapperArgs = [ - "--set" - "QT_QPA_PLATFORM" - "xcb" - ]; - - passthru.updateScript = ./update.sh; - - meta = with lib; { - description = "Streaming media player for Plex"; - license = licenses.gpl2; - maintainers = with maintainers; [ b4dm4n ]; - homepage = "https://plex.tv"; - mainProgram = "plexmediaplayer"; - }; -} diff --git a/pkgs/applications/video/plex-media-player/deps.nix b/pkgs/applications/video/plex-media-player/deps.nix deleted file mode 100644 index cfb74c2d4898..000000000000 --- a/pkgs/applications/video/plex-media-player/deps.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ fetchurl }: - -rec { - webClientBuildId = "183-045db5be50e175"; - webClientDesktopBuildId = "4.29.2-e50e175"; - webClientTvBuildId = "4.29.6-045db5b"; - - webClient = fetchurl { - url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/buildid.cmake"; - sha256 = "1xsacy1xb8a9rfdrd7lvx7n3hd0cf2c3mgmg9wl18jvwnqxyac83"; - }; - webClientDesktopHash = fetchurl { - url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-desktop-${webClientDesktopBuildId}.tar.xz.sha1"; - sha256 = "07spxyhrg45ppa2zjn3ri4qvi6qimlmq6wmh492r3jkrwd71rxgf"; - }; - webClientDesktop = fetchurl { - url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-desktop-${webClientDesktopBuildId}.tar.xz"; - sha256 = "1zll79hpgx8fghx228li9qairfd637yf8rhvjzdgpq4dvn21fv65"; - }; - webClientTvHash = fetchurl { - url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-tv-${webClientTvBuildId}.tar.xz.sha1"; - sha256 = "1zzfw2g76wqrxrx9kck5q79if78z91wn3awj703kz9sgxi4bkjsk"; - }; - webClientTv = fetchurl { - url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-tv-${webClientTvBuildId}.tar.xz"; - sha256 = "1f1zvrr3c0w37gvl78blg9rgxxi64nc4iv5vd87qbysfh1vpsjz0"; - }; -} diff --git a/pkgs/applications/video/plex-media-player/update.sh b/pkgs/applications/video/plex-media-player/update.sh deleted file mode 100755 index a8493a16c989..000000000000 --- a/pkgs/applications/video/plex-media-player/update.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/usr/bin/env nix-shell -#!nix-shell -i bash -p curl common-updater-scripts nix-prefetch-scripts jq - -set -xeuo pipefail - -nixpkgs="$(git rev-parse --show-toplevel)" - -oldVersion="$(nix-instantiate --eval -E "with import $nixpkgs {}; plex-media-player.version or (builtins.parseDrvName plex-media-player.name).version" | tr -d '"')" -latestTag="$(curl -s https://api.github.com/repos/plexinc/plex-media-player/tags | jq -r '.[] | .name' | sort --version-sort | tail -1)" -latestVersion="$(expr $latestTag : 'v\(.*\)-.*')" -latestHash="$(expr $latestTag : 'v.*-\(.*\)')" - -if [ ! "$oldVersion" = "$latestVersion" ]; then - # update default.nix with the new version and hash - expectedHash=$(nix-prefetch-git --url https://github.com/plexinc/plex-media-player.git --rev $latestTag --quiet | jq -r '.sha256') - update-source-version plex-media-player --version-key=vsnHash "${latestHash}" 0000 - update-source-version plex-media-player "${latestVersion}" $expectedHash - - # extract the webClientBuildId from the source folder - src="$(nix-build --no-out-link $nixpkgs -A plex-media-player.src)" - webClientBuildId="$(grep 'set(WEB_CLIENT_BUILD_ID' $src/CMakeModules/WebClient.cmake | cut -d' ' -f2 | tr -d ')')" - - # retreive the included cmake file and hash - { read -r webClientBuildIdHash; read -r webClientBuildIdPath; } < \ - <(nix-prefetch-url --print-path "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/buildid.cmake") - webClientDesktopBuildId="$(grep 'set(DESKTOP_VERSION' $webClientBuildIdPath | cut -d' ' -f2 | tr -d ')')" - webClientTvBuildId="$(grep 'set(TV_VERSION' $webClientBuildIdPath | cut -d' ' -f2 | tr -d ')')" - - # get the hashes for the other files - webClientDesktopHash="$(nix-prefetch-url "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-desktop-${webClientDesktopBuildId}.tar.xz.sha1")" - webClientDesktop="$(nix-prefetch-url "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-desktop-${webClientDesktopBuildId}.tar.xz")" - webClientTvHash="$(nix-prefetch-url "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-tv-${webClientTvBuildId}.tar.xz.sha1")" - webClientTv="$(nix-prefetch-url "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-tv-${webClientTvBuildId}.tar.xz")" - - # update deps.nix - cat > $nixpkgs/pkgs/applications/video/plex-media-player/deps.nix < ${latestVersion}" -else - echo "plex-media-player is already up-to-date" -fi diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1dd39a9e54e0..61e3e3fb0afe 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15627,8 +15627,6 @@ with pkgs; plexamp = callPackage ../applications/audio/plexamp { }; - plex-media-player = libsForQt5.callPackage ../applications/video/plex-media-player { }; - plex-mpv-shim = python3Packages.callPackage ../applications/video/plex-mpv-shim { }; plover = recurseIntoAttrs (libsForQt5.callPackage ../applications/misc/plover { }); From cb4459412af0f7d786ef55b64dd2b168fff320bd Mon Sep 17 00:00:00 2001 From: renesat Date: Mon, 28 Apr 2025 18:29:54 +0200 Subject: [PATCH 02/38] nixos/stash: fix empty immutable plugins --- nixos/modules/services/web-apps/stash.nix | 80 +++++++++++------------ 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/nixos/modules/services/web-apps/stash.nix b/nixos/modules/services/web-apps/stash.nix index 60c8ad8a8eb4..b0bcd5a0e1f4 100644 --- a/nixos/modules/services/web-apps/stash.nix +++ b/nixos/modules/services/web-apps/stash.nix @@ -167,7 +167,7 @@ let presets.recentlyAddedImages ] ''; - apply = type: if builtins.isFunction type then (type uiPresets) else type; + apply = type: if lib.isFunction type then (type uiPresets) else type; }; blobs_path = mkOption { type = types.path; @@ -324,47 +324,47 @@ let ''; apply = srcs: - optionalString (srcs != [ ]) ( - pkgs.runCommand "stash-${kind}" - { - inherit srcs; - nativeBuildInputs = [ pkgs.yq-go ]; - preferLocalBuild = true; - } - '' - find $srcs -mindepth 1 -name '*.yml' | while read plugin_file; do - grep -q "^#pkgignore" "$plugin_file" && continue + pkgs.runCommand "stash-${kind}" + { + inherit srcs; + nativeBuildInputs = [ pkgs.yq-go ]; + preferLocalBuild = true; + } + '' + mkdir -p $out + touch $out/.keep + find $srcs -mindepth 1 -name '*.yml' | while read plugin_file; do + grep -q "^#pkgignore" "$plugin_file" && continue - plugin_dir=$(dirname $plugin_file) - out_path=$out/$(basename $plugin_dir) - mkdir -p $out_path - ls $plugin_dir | xargs -I{} ln -sf "$plugin_dir/{}" $out_path + plugin_dir=$(dirname $plugin_file) + out_path=$out/$(basename $plugin_dir) + mkdir -p $out_path + ls $plugin_dir | xargs -I{} ln -sf "$plugin_dir/{}" $out_path - env \ - plugin_id=$(basename $plugin_file .yml) \ - plugin_name="$(yq '.name' $plugin_file)" \ - plugin_description="$(yq '.description' $plugin_file)" \ - plugin_version="$(yq '.version' $plugin_file)" \ - plugin_files="$(find -L $out_path -mindepth 1 -type f -printf "%P\n")" \ - yq -n ' - .id = strenv(plugin_id) | - .name = strenv(plugin_name) | - ( - strenv(plugin_description) as $desc | - with(select($desc == "null"); .metadata = {}) | - with(select($desc != "null"); .metadata.description = $desc) - ) | - ( - strenv(plugin_version) as $ver | - with(select($ver == "null"); .version = "Unknown") | - with(select($ver != "null"); .version = $ver) - ) | - .date = (now | format_datetime("2006-01-02 15:04:05")) | - .files = (strenv(plugin_files) | split("\n")) - ' > $out_path/manifest - done - '' - ); + env \ + plugin_id=$(basename $plugin_file .yml) \ + plugin_name="$(yq '.name' $plugin_file)" \ + plugin_description="$(yq '.description' $plugin_file)" \ + plugin_version="$(yq '.version' $plugin_file)" \ + plugin_files="$(find -L $out_path -mindepth 1 -type f -printf "%P\n")" \ + yq -n ' + .id = strenv(plugin_id) | + .name = strenv(plugin_name) | + ( + strenv(plugin_description) as $desc | + with(select($desc == "null"); .metadata = {}) | + with(select($desc != "null"); .metadata.description = $desc) + ) | + ( + strenv(plugin_version) as $ver | + with(select($ver == "null"); .version = "Unknown") | + with(select($ver != "null"); .version = $ver) + ) | + .date = (now | format_datetime("2006-01-02 15:04:05")) | + .files = (strenv(plugin_files) | split("\n")) + ' > $out_path/manifest + done + ''; }; in { From 7dcad49a3007f2fc7bd3795b9ffa2abadf1a3d4a Mon Sep 17 00:00:00 2001 From: DoctorDalek1963 Date: Sun, 18 May 2025 00:36:45 +0100 Subject: [PATCH 03/38] nixos/stash: fix mutableSettings logic Fixes services.stash.mutableSettings so that it makes sense. The logic was previously backwards and the settings would be overriden if mutableSettings was true. --- nixos/modules/services/web-apps/stash.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/web-apps/stash.nix b/nixos/modules/services/web-apps/stash.nix index 47f66edb7ddb..fdd01140cd7d 100644 --- a/nixos/modules/services/web-apps/stash.nix +++ b/nixos/modules/services/web-apps/stash.nix @@ -512,7 +512,7 @@ in ExecStartPre = pkgs.writers.writeBash "stash-setup.bash" ( '' install -d ${cfg.settings.generated} - if [[ ! -z "${toString cfg.mutableSettings}" || ! -f ${cfg.dataDir}/config.yml ]]; then + if [[ -z "${toString cfg.mutableSettings}" || ! -f ${cfg.dataDir}/config.yml ]]; then env \ password=$(< ${cfg.passwordFile}) \ jwtSecretKeyFile=$(< ${cfg.jwtSecretKeyFile}) \ From b14a77638b78e34baa05153b6bf1931d0f634162 Mon Sep 17 00:00:00 2001 From: Tali Auster Date: Fri, 23 May 2025 11:49:06 -0600 Subject: [PATCH 04/38] nixos/chrysalis: init module --- .../manual/release-notes/rl-2511.section.md | 1 + nixos/modules/module-list.nix | 1 + nixos/modules/programs/chrysalis.nix | 25 +++++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 nixos/modules/programs/chrysalis.nix diff --git a/nixos/doc/manual/release-notes/rl-2511.section.md b/nixos/doc/manual/release-notes/rl-2511.section.md index 65bac7327ed9..e7d3a819b4db 100644 --- a/nixos/doc/manual/release-notes/rl-2511.section.md +++ b/nixos/doc/manual/release-notes/rl-2511.section.md @@ -11,6 +11,7 @@ - [gtklock](https://github.com/jovanlanik/gtklock), a GTK-based lockscreen for Wayland. Available as [programs.gtklock](#opt-programs.gtklock.enable). +- [Chrysalis](https://github.com/keyboardio/Chrysalis), a graphical configurator for Kaleidoscope-powered keyboards. Available as [programs.chrysalis](#opt-programs.chrysalis.enable). ## Backward Incompatibilities {#sec-release-25.11-incompatibilities} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index ff65ce2125f1..431682db2b58 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -180,6 +180,7 @@ ./programs/cdemu.nix ./programs/cfs-zen-tweaks.nix ./programs/chromium.nix + ./programs/chrysalis.nix ./programs/clash-verge.nix ./programs/cnping.nix ./programs/command-not-found/command-not-found.nix diff --git a/nixos/modules/programs/chrysalis.nix b/nixos/modules/programs/chrysalis.nix new file mode 100644 index 000000000000..7fc473101123 --- /dev/null +++ b/nixos/modules/programs/chrysalis.nix @@ -0,0 +1,25 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + cfg = config.programs.chrysalis; +in +{ + options = { + programs.chrysalis = { + enable = lib.mkEnableOption "Chrysalis"; + package = lib.mkPackageOption pkgs "Chrysalis" { default = "chrysalis"; }; + }; + }; + + config = lib.mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + services.udev.packages = [ cfg.package ]; + }; + + meta.maintainers = with lib.maintainers; [ atalii ]; +} From a6f66b0251e349dffe39c163935cf698f307e2b1 Mon Sep 17 00:00:00 2001 From: eljamm Date: Sun, 25 May 2025 02:08:04 +0200 Subject: [PATCH 05/38] linuxPackages.rtl8852au: fix build for kernels >= 6.13 and 6.14 --- pkgs/os-specific/linux/rtl8852au/default.nix | 5 ++ .../fix-build-for-kernels-6.13-6.14.patch | 77 +++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 pkgs/os-specific/linux/rtl8852au/fix-build-for-kernels-6.13-6.14.patch diff --git a/pkgs/os-specific/linux/rtl8852au/default.nix b/pkgs/os-specific/linux/rtl8852au/default.nix index 5adbffc6fba9..8e362dad3e21 100644 --- a/pkgs/os-specific/linux/rtl8852au/default.nix +++ b/pkgs/os-specific/linux/rtl8852au/default.nix @@ -27,6 +27,11 @@ stdenv.mkDerivation (finalAttrs: { "format" ]; + patches = [ + # https://github.com/lwfinger/rtl8852au/pull/115 + ./fix-build-for-kernels-6.13-6.14.patch + ]; + postPatch = '' substituteInPlace ./Makefile \ --replace-fail /sbin/depmod \# \ diff --git a/pkgs/os-specific/linux/rtl8852au/fix-build-for-kernels-6.13-6.14.patch b/pkgs/os-specific/linux/rtl8852au/fix-build-for-kernels-6.13-6.14.patch new file mode 100644 index 000000000000..bc40520d11fc --- /dev/null +++ b/pkgs/os-specific/linux/rtl8852au/fix-build-for-kernels-6.13-6.14.patch @@ -0,0 +1,77 @@ +From c65ed43f42656aecf43e7ea80c58d204c3c67aca Mon Sep 17 00:00:00 2001 +From: Soham Nandy +Date: Fri, 28 Mar 2025 17:24:55 +0530 +Subject: [PATCH 1/2] rtl8852au(fix): remove MODULE_IMPORT and net_device for + kernel versions over 6.13 + +--- + os_dep/linux/ioctl_cfg80211.c | 3 +++ + os_dep/osdep_service_linux.c | 4 ++++ + 2 files changed, 7 insertions(+) + +diff --git a/os_dep/linux/ioctl_cfg80211.c b/os_dep/linux/ioctl_cfg80211.c +index 2b79c97..277dffb 100755 +--- a/os_dep/linux/ioctl_cfg80211.c ++++ b/os_dep/linux/ioctl_cfg80211.c +@@ -6350,6 +6350,9 @@ static void rtw_get_chbwoff_from_cfg80211_chan_def( + + static int cfg80211_rtw_set_monitor_channel(struct wiphy *wiphy + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 13, 0)) ++ , struct net_device *dev ++#endif + , struct cfg80211_chan_def *chandef + #else + , struct ieee80211_channel *chan +diff --git a/os_dep/osdep_service_linux.c b/os_dep/osdep_service_linux.c +index fe47c3b..8fdbcfc 100644 +--- a/os_dep/osdep_service_linux.c ++++ b/os_dep/osdep_service_linux.c +@@ -390,7 +390,9 @@ static int openFile(struct file **fpp, const char *path, int flag, int mode) + struct file *fp; + + #if defined(MODULE_IMPORT_NS) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0) && LINUX_VERSION_CODE < KERNEL_VERSION(6, 13, 0)) + MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver); ++#endif + #endif + + fp = filp_open(path, flag, mode); +@@ -508,7 +510,9 @@ static int isFileReadable(const char *path, u32 *sz) + char buf; + + #if defined(MODULE_IMPORT_NS) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0) && LINUX_VERSION_CODE < KERNEL_VERSION(6, 13, 0)) + MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver); ++#endif + #endif + + fp = filp_open(path, O_RDONLY, 0); + +From 91d168fc5aa818b4e85aa5b2b43d7f25470e925c Mon Sep 17 00:00:00 2001 +From: Soham Nandy +Date: Mon, 7 Apr 2025 10:25:03 +0530 +Subject: [PATCH 2/2] rtl8852au(fix): get_tx_power callback by adding link_id + parameter + +kernel versions >6.14 cfg80211_ops was updated to include an unsigned +int link_id parameter. +--- + os_dep/linux/ioctl_cfg80211.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/os_dep/linux/ioctl_cfg80211.c b/os_dep/linux/ioctl_cfg80211.c +index 277dffb..3d7620e 100755 +--- a/os_dep/linux/ioctl_cfg80211.c ++++ b/os_dep/linux/ioctl_cfg80211.c +@@ -4454,6 +4454,10 @@ static int cfg80211_rtw_set_txpower(struct wiphy *wiphy, + static int cfg80211_rtw_get_txpower(struct wiphy *wiphy, + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)) + struct wireless_dev *wdev, ++ ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6,14,0)) ++ unsigned int link_id, ++#endif + #endif + int *dbm) + { From 79c1cf6a24aeea4d8195263035961c1d23627ebb Mon Sep 17 00:00:00 2001 From: eljamm Date: Mon, 26 May 2025 16:38:08 +0200 Subject: [PATCH 06/38] linuxPackages.rtl8852au: only build for x86_64 as it appears that it doesn't work on aarch64. Also, mark as broken on hardened kernels which are older than 6.* --- pkgs/os-specific/linux/rtl8852au/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/rtl8852au/default.nix b/pkgs/os-specific/linux/rtl8852au/default.nix index 8e362dad3e21..2002b678b613 100644 --- a/pkgs/os-specific/linux/rtl8852au/default.nix +++ b/pkgs/os-specific/linux/rtl8852au/default.nix @@ -60,13 +60,18 @@ stdenv.mkDerivation (finalAttrs: { nuke-refs $out/lib/modules/*/kernel/net/wireless/*.ko ''; + # GCC 14 makes this an error by default + env.NIX_CFLAGS_COMPILE = "-Wno-designated-init"; + enableParallelBuilding = true; meta = with lib; { description = "Driver for Realtek 802.11ac, rtl8852au, provides the 8852au mod"; homepage = "https://github.com/lwfinger/rtl8852au"; license = licenses.gpl2Only; - platforms = platforms.linux; + platforms = [ "x86_64-linux" ]; + # FIX: error: invalid initializer + broken = kernel.kernelOlder "6" && kernel.isHardened; maintainers = with maintainers; [ lonyelon ]; }; }) From 4ed60fd7aa459030e0275a04d686d3e48bdd92ed Mon Sep 17 00:00:00 2001 From: lucasew Date: Fri, 23 May 2025 16:19:24 -0300 Subject: [PATCH 07/38] enroot: init at 3.5.0 Signed-off-by: lucasew --- pkgs/by-name/en/enroot/package.nix | 52 ++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 pkgs/by-name/en/enroot/package.nix diff --git a/pkgs/by-name/en/enroot/package.nix b/pkgs/by-name/en/enroot/package.nix new file mode 100644 index 000000000000..0cf1e5027bb2 --- /dev/null +++ b/pkgs/by-name/en/enroot/package.nix @@ -0,0 +1,52 @@ +{ + stdenv, + fetchFromGitHub, + flock, + gitUpdater, + bashInteractive, + lib, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "enroot"; + version = "3.5.0"; + + src = fetchFromGitHub { + owner = "NVIDIA"; + repo = "enroot"; + tag = "v${finalAttrs.version}"; + hash = "sha256-Sw4kfsb0Gi21At2pU8lt5wIfCih7VZ7Zf9/62xBKKRU="; + fetchSubmodules = true; + }; + + postPatch = '' + substituteInPlace Makefile \ + --replace-fail 'git submodule update' 'echo git submodule update' + ''; + + makeTarget = "install"; + makeFlags = [ + "DESTDIR=${placeholder "out"}" + "prefix=/" + ]; + + nativeBuildInputs = [ + flock + ]; + + buildInputs = [ + bashInteractive + ]; + + passthru.updateScript = gitUpdater { rev-prefix = "v"; }; + + meta = { + description = "Simple yet powerful tool to turn traditional container/OS images into unprivileged sandboxes"; + license = lib.licenses.asl20; + homepage = "https://github.com/NVIDIA/enroot"; + changelog = "https://github.com/NVIDIA/enroot/releases/tag/v${finalAttrs.version}"; + platforms = lib.platforms.linux; + maintainers = [ lib.maintainers.lucasew ]; + mainProgram = "enroot"; + }; +}) From f4af63c9866ab79fdf73c1f665d378dab178b78c Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sun, 25 May 2025 00:58:58 +0200 Subject: [PATCH 08/38] plutosvg: init at 0.0.7 Signed-off-by: Marcin Serwin --- ...kg-config-file-if-paths-are-absolute.patch | 50 +++++++++++++++++ pkgs/by-name/pl/plutosvg/package.nix | 56 +++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 pkgs/by-name/pl/plutosvg/0001-Emit-correct-pkg-config-file-if-paths-are-absolute.patch create mode 100644 pkgs/by-name/pl/plutosvg/package.nix diff --git a/pkgs/by-name/pl/plutosvg/0001-Emit-correct-pkg-config-file-if-paths-are-absolute.patch b/pkgs/by-name/pl/plutosvg/0001-Emit-correct-pkg-config-file-if-paths-are-absolute.patch new file mode 100644 index 000000000000..01846f8e6921 --- /dev/null +++ b/pkgs/by-name/pl/plutosvg/0001-Emit-correct-pkg-config-file-if-paths-are-absolute.patch @@ -0,0 +1,50 @@ +From 31e8aae418a1af681e389f27d3ad57b5fd7e1ba8 Mon Sep 17 00:00:00 2001 +From: Marcin Serwin +Date: Sun, 25 May 2025 01:16:37 +0200 +Subject: [PATCH] Emit correct pkg-config file if paths are absolute + +CMAKE_INSTALL_INCLUDEDIR and CMAKE_INSTALL_LIBDIR may be defined to be +absolute paths. In this situation they should not be appended to the +prefix. + +Signed-off-by: Marcin Serwin +--- + CMakeLists.txt | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2e84761..f2219e0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -107,6 +107,17 @@ file(RELATIVE_PATH plutosvg_pc_prefix_relative + set(plutosvg_pc_cflags "") + set(plutosvg_pc_libs_private "") + set(plutosvg_pc_requires "") ++set(plutosvg_pc_requires "") ++if(IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}") ++ set(plutosvg_pc_includedir "${CMAKE_INSTALL_INCLUDEDIR}") ++else() ++ set(plutosvg_pc_includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") ++endif() ++if(IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}") ++ set(plutosvg_pc_libdir "${CMAKE_INSTALL_LIBDIR}") ++else() ++ set(plutosvg_pc_libdir "\${prefix}/${CMAKE_INSTALL_LIBDIR}") ++endif() + + if(MATH_LIBRARY) + string(APPEND plutosvg_pc_libs_private " -lm") +@@ -123,8 +134,8 @@ endif() + + string(CONFIGURE [[ + prefix=${pcfiledir}/@plutosvg_pc_prefix_relative@ +-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ +-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++includedir=@plutosvg_pc_includedir@ ++libdir=@plutosvg_pc_libdir@ + + Name: PlutoSVG + Description: Tiny SVG rendering library in C +-- +2.49.0 + diff --git a/pkgs/by-name/pl/plutosvg/package.nix b/pkgs/by-name/pl/plutosvg/package.nix new file mode 100644 index 000000000000..acc3a99b837f --- /dev/null +++ b/pkgs/by-name/pl/plutosvg/package.nix @@ -0,0 +1,56 @@ +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + validatePkgConfig, + testers, + cmake, + ninja, + plutovg, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "plutosvg"; + version = "0.0.7"; + + src = fetchFromGitHub { + owner = "sammycage"; + repo = "plutosvg"; + tag = "v${finalAttrs.version}"; + hash = "sha256-4JLk4+O9Tf8CGxMP0aDN70ak/8teZH3GWBWlrIkPQm4="; + }; + + outputs = [ + "out" + "dev" + ]; + + patches = [ + # https://github.com/sammycage/plutosvg/pull/29 + ./0001-Emit-correct-pkg-config-file-if-paths-are-absolute.patch + ]; + + nativeBuildInputs = [ + cmake + ninja + validatePkgConfig + ]; + propagatedBuildInputs = [ + plutovg + ]; + + cmakeFlags = [ (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) ]; + + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + + passthru.updateScript = nix-update-script { }; + + meta = { + homepage = "https://github.com/sammycage/plutosvg"; + changelog = "https://github.com/sammycage/plutosvg/releases/tag/${finalAttrs.src.tag}"; + description = "Tiny SVG rendering library in C"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ marcin-serwin ]; + pkgConfigModules = [ "plutosvg" ]; + }; +}) From 588a0e48b8763d0d279ac7956e203730f5361aeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?No=C3=A9=20Ksiazek?= Date: Sun, 25 May 2025 21:37:40 +0200 Subject: [PATCH 09/38] maintainers: add yanek --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index bc4380ec360c..74da9bbd5b86 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -27076,6 +27076,12 @@ githubId = 99486674; name = "山下"; }; + yanek = { + name = "Noé Ksiazek"; + email = "noe.ksiazek@pm.me"; + github = "yanek"; + githubId = 5952366; + }; yanganto = { name = "Antonio Yang"; email = "yanganto@gmail.com"; From 19ab30919ff0fec32c5b042b479fc68a571e9d9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?No=C3=A9=20Ksiazek?= Date: Sun, 25 May 2025 21:37:57 +0200 Subject: [PATCH 10/38] jellytui: init at 0.1.5 --- pkgs/by-name/je/jellytui/Cargo.lock | 2566 ++++++++++++++++++++++++++ pkgs/by-name/je/jellytui/package.nix | 51 + 2 files changed, 2617 insertions(+) create mode 100644 pkgs/by-name/je/jellytui/Cargo.lock create mode 100644 pkgs/by-name/je/jellytui/package.nix diff --git a/pkgs/by-name/je/jellytui/Cargo.lock b/pkgs/by-name/je/jellytui/Cargo.lock new file mode 100644 index 000000000000..2ae988be2d7a --- /dev/null +++ b/pkgs/by-name/je/jellytui/Cargo.lock @@ -0,0 +1,2566 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "addr2line" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anyhow" +version = "1.0.98" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" + +[[package]] +name = "autocfg" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + +[[package]] +name = "backtrace" +version = "0.3.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" +dependencies = [ + "addr2line", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", + "windows-targets 0.52.6", +] + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" + +[[package]] +name = "bumpalo" +version = "3.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" + +[[package]] +name = "bytes" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" + +[[package]] +name = "cassowary" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" + +[[package]] +name = "castaway" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5" +dependencies = [ + "rustversion", +] + +[[package]] +name = "cc" +version = "1.2.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16595d3be041c03b09d08d0858631facccee9221e579704070e6e9e4915d3bc7" +dependencies = [ + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "check-latest" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "538f0a3384e362717ded8edb84126c7b85be035753bf59d86bb0a6d60897df9c" +dependencies = [ + "anyhow", + "chrono", + "reqwest 0.11.27", + "semver", + "serde", +] + +[[package]] +name = "chrono" +version = "0.4.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "serde", + "wasm-bindgen", + "windows-link", +] + +[[package]] +name = "compact_str" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b79c4069c6cad78e2e0cdfcbd26275770669fb39fd308a752dc110e83b9af32" +dependencies = [ + "castaway", + "cfg-if", + "itoa", + "rustversion", + "ryu", + "static_assertions", +] + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "crossterm" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" +dependencies = [ + "bitflags 2.9.1", + "crossterm_winapi", + "mio", + "parking_lot", + "rustix", + "signal-hook", + "signal-hook-mio", + "winapi", +] + +[[package]] +name = "crossterm_winapi" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" +dependencies = [ + "winapi", +] + +[[package]] +name = "darling" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" +dependencies = [ + "darling_core", + "quote", + "syn", +] + +[[package]] +name = "directories" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + +[[package]] +name = "encoding_rs" +version = "0.8.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-core", + "futures-io", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "fuzzy-matcher" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94" +dependencies = [ + "thread_local", +] + +[[package]] +name = "getrandom" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", + "wasm-bindgen", +] + +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" + +[[package]] +name = "h2" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 0.2.12", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hostname" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a56f203cd1c76362b69e3863fd987520ac36cf70a8c92627449b2f64a8cf7d65" +dependencies = [ + "cfg-if", + "libc", + "windows-link", +] + +[[package]] +name = "http" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +dependencies = [ + "bytes", + "http 0.2.12", + "pin-project-lite", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http 1.3.1", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +dependencies = [ + "bytes", + "futures-core", + "http 1.3.1", + "http-body 1.0.1", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "0.14.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http 0.2.12", + "http-body 0.4.6", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.3.1", + "http-body 1.0.1", + "httparse", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +dependencies = [ + "futures-util", + "http 0.2.12", + "hyper 0.14.32", + "rustls 0.21.12", + "tokio", + "tokio-rustls 0.24.1", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03a01595e11bdcec50946522c32dde3fc6914743000a68b93000965f2f02406d" +dependencies = [ + "http 1.3.1", + "hyper 1.6.0", + "hyper-util", + "rustls 0.23.27", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.26.2", + "tower-service", + "webpki-roots 1.0.0", +] + +[[package]] +name = "hyper-util" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf9f1e950e0d9d1d3c47184416723cf29c0d1f93bd8cccf37e4beb6b44f31710" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.3.1", + "http-body 1.0.1", + "hyper 1.6.0", + "libc", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.63" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "icu_collections" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" + +[[package]] +name = "icu_properties" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "potential_utf", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" + +[[package]] +name = "icu_provider" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" +dependencies = [ + "displaydoc", + "icu_locale_core", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "indexmap" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +dependencies = [ + "equivalent", + "hashbrown", +] + +[[package]] +name = "indoc" +version = "2.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd" + +[[package]] +name = "instability" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf9fed6d91cfb734e7476a06bde8300a1b94e217e1b523b6f0cd1a01998c71d" +dependencies = [ + "darling", + "indoc", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "ipnet" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "jellytui" +version = "0.1.5" +dependencies = [ + "anyhow", + "check-latest", + "chrono", + "crossterm", + "directories", + "fuzzy-matcher", + "hostname", + "itertools 0.14.0", + "ratatui", + "reqwest 0.12.15", + "rpassword", + "serde", + "serde_json", + "textwrap", + "toml", +] + +[[package]] +name = "js-sys" +version = "0.3.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "libc" +version = "0.2.172" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.9.1", + "libc", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" + +[[package]] +name = "litemap" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" + +[[package]] +name = "lru" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" +dependencies = [ + "hashbrown", +] + +[[package]] +name = "lru-slab" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" +dependencies = [ + "adler2", +] + +[[package]] +name = "mio" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" +dependencies = [ + "libc", + "log", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.59.0", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "object" +version = "0.36.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.52.6", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pin-project-lite" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "potential_utf" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +dependencies = [ + "zerovec", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "proc-macro2" +version = "1.0.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quinn" +version = "0.11.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "626214629cda6781b6dc1d316ba307189c85ba657213ce642d9c77670f8202c8" +dependencies = [ + "bytes", + "cfg_aliases", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls 0.23.27", + "socket2", + "thiserror 2.0.12", + "tokio", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-proto" +version = "0.11.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e" +dependencies = [ + "bytes", + "getrandom 0.3.3", + "lru-slab", + "rand", + "ring", + "rustc-hash", + "rustls 0.23.27", + "rustls-pki-types", + "slab", + "thiserror 2.0.12", + "tinyvec", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-udp" +version = "0.5.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee4e529991f949c5e25755532370b8af5d114acae52326361d68d47af64aa842" +dependencies = [ + "cfg_aliases", + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.59.0", +] + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + +[[package]] +name = "rand" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +dependencies = [ + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.3", +] + +[[package]] +name = "ratatui" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eabd94c2f37801c20583fc49dd5cd6b0ba68c716787c2dd6ed18571e1e63117b" +dependencies = [ + "bitflags 2.9.1", + "cassowary", + "compact_str", + "crossterm", + "indoc", + "instability", + "itertools 0.13.0", + "lru", + "paste", + "strum", + "unicode-segmentation", + "unicode-truncate", + "unicode-width 0.2.0", +] + +[[package]] +name = "redox_syscall" +version = "0.5.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" +dependencies = [ + "bitflags 2.9.1", +] + +[[package]] +name = "redox_users" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +dependencies = [ + "getrandom 0.2.16", + "libredox", + "thiserror 1.0.69", +] + +[[package]] +name = "reqwest" +version = "0.11.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +dependencies = [ + "base64 0.21.7", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.32", + "hyper-rustls 0.24.2", + "ipnet", + "js-sys", + "log", + "mime", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls 0.21.12", + "rustls-pemfile 1.0.4", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 0.1.2", + "system-configuration", + "tokio", + "tokio-rustls 0.24.1", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots 0.25.4", + "winreg", +] + +[[package]] +name = "reqwest" +version = "0.12.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http 1.3.1", + "http-body 1.0.1", + "http-body-util", + "hyper 1.6.0", + "hyper-rustls 0.27.6", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "once_cell", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls 0.23.27", + "rustls-pemfile 2.2.0", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 1.0.2", + "tokio", + "tokio-rustls 0.26.2", + "tower", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots 0.26.11", + "windows-registry", +] + +[[package]] +name = "ring" +version = "0.17.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.16", + "libc", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rpassword" +version = "7.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66d4c8b64f049c6721ec8ccec37ddfc3d641c4a7fca57e8f2a89de509c73df39" +dependencies = [ + "libc", + "rtoolbox", + "windows-sys 0.59.0", +] + +[[package]] +name = "rtoolbox" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7cc970b249fbe527d6e02e0a227762c9108b2f49d81094fe357ffc6d14d7f6f" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + +[[package]] +name = "rustix" +version = "0.38.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" +dependencies = [ + "bitflags 2.9.1", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.59.0", +] + +[[package]] +name = "rustls" +version = "0.21.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" +dependencies = [ + "log", + "ring", + "rustls-webpki 0.101.7", + "sct", +] + +[[package]] +name = "rustls" +version = "0.23.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" +dependencies = [ + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki 0.103.3", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.7", +] + +[[package]] +name = "rustls-pemfile" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" +dependencies = [ + "web-time", + "zeroize", +] + +[[package]] +name = "rustls-webpki" +version = "0.101.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "rustls-webpki" +version = "0.103.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "rustversion" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "sct" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "semver" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +dependencies = [ + "serde", +] + +[[package]] +name = "serde" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.140" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signal-hook" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" +dependencies = [ + "libc", + "signal-hook-registry", +] + +[[package]] +name = "signal-hook-mio" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" +dependencies = [ + "libc", + "mio", + "signal-hook", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +dependencies = [ + "libc", +] + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" + +[[package]] +name = "smawk" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" + +[[package]] +name = "socket2" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "syn" +version = "2.0.101" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "textwrap" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057" +dependencies = [ + "smawk", + "unicode-linebreak", + "unicode-width 0.2.0", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl 2.0.12", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "tinystr" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.45.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2", + "windows-sys 0.52.0", +] + +[[package]] +name = "tokio-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +dependencies = [ + "rustls 0.21.12", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" +dependencies = [ + "rustls 0.23.27", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.22.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "toml_write", + "winnow", +] + +[[package]] +name = "toml_write" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" + +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper 1.0.2", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +dependencies = [ + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +dependencies = [ + "once_cell", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + +[[package]] +name = "unicode-linebreak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" + +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + +[[package]] +name = "unicode-truncate" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3644627a5af5fa321c95b9b235a72fd24cd29c648c2c379431e6628655627bf" +dependencies = [ + "itertools 0.13.0", + "unicode-segmentation", + "unicode-width 0.1.14", +] + +[[package]] +name = "unicode-width" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" + +[[package]] +name = "unicode-width" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +dependencies = [ + "bumpalo", + "log", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" +dependencies = [ + "cfg-if", + "js-sys", + "once_cell", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "web-sys" +version = "0.3.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-roots" +version = "0.25.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" + +[[package]] +name = "webpki-roots" +version = "0.26.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" +dependencies = [ + "webpki-roots 1.0.0", +] + +[[package]] +name = "webpki-roots" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings 0.4.2", +] + +[[package]] +name = "windows-implement" +version = "0.60.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-interface" +version = "0.59.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-link" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" + +[[package]] +name = "windows-registry" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" +dependencies = [ + "windows-result", + "windows-strings 0.3.1", + "windows-targets 0.53.0", +] + +[[package]] +name = "windows-result" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +dependencies = [ + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + +[[package]] +name = "winnow" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.9.1", +] + +[[package]] +name = "writeable" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" + +[[package]] +name = "yoke" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + +[[package]] +name = "zerotrie" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/pkgs/by-name/je/jellytui/package.nix b/pkgs/by-name/je/jellytui/package.nix new file mode 100644 index 000000000000..1bf19ed0aba4 --- /dev/null +++ b/pkgs/by-name/je/jellytui/package.nix @@ -0,0 +1,51 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + mpv, + openssl, + makeWrapper, +}: +rustPlatform.buildRustPackage { + pname = "jellytui"; + version = "0.1.5"; + + src = fetchFromGitHub { + owner = "tyrantlink"; + repo = "jellytui"; + rev = "7b10490261672d750af2e3483b88f7daf017afb6"; + hash = "sha256-cMSZDSN2qnTeKL3ZcNVRtS45Xa1kEcps9WpWuWruX/0="; + }; + + cargoLock = { + lockFile = ./Cargo.lock; + }; + + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; + + buildInputs = [ + openssl + mpv + ]; + + postPatch = '' + ln -s ${./Cargo.lock} Cargo.lock + ''; + + postInstall = '' + wrapProgram $out/bin/jellytui \ + --prefix PATH : ${lib.makeBinPath [ mpv ]} + ''; + + meta = { + description = "TUI client for Jellyfin, using mpv"; + homepage = "https://github.com/tyrantlink/jellytui"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ yanek ]; + mainProgram = "jellytui"; + }; +} From 13b813546c513c05368cc5b03e68c51d36e569c4 Mon Sep 17 00:00:00 2001 From: aleksana Date: Mon, 26 May 2025 00:08:39 +0800 Subject: [PATCH 11/38] nekoray: make it possible to use setcap wrapper --- .../core-also-check-capabilities.patch | 43 +++++++++++++++++ .../nixos-disable-setuid-request.patch | 47 +++++++++++++++++++ pkgs/by-name/ne/nekoray/package.nix | 10 ++++ 3 files changed, 100 insertions(+) create mode 100644 pkgs/by-name/ne/nekoray/core-also-check-capabilities.patch create mode 100644 pkgs/by-name/ne/nekoray/nixos-disable-setuid-request.patch diff --git a/pkgs/by-name/ne/nekoray/core-also-check-capabilities.patch b/pkgs/by-name/ne/nekoray/core-also-check-capabilities.patch new file mode 100644 index 000000000000..d477100b172f --- /dev/null +++ b/pkgs/by-name/ne/nekoray/core-also-check-capabilities.patch @@ -0,0 +1,43 @@ +diff --git a/server.go b/server.go +index c2a6be0..8aeca1c 100644 +--- a/server.go ++++ b/server.go +@@ -11,6 +11,7 @@ import ( + E "github.com/sagernet/sing/common/exceptions" + "github.com/sagernet/sing/common/metadata" + "github.com/sagernet/sing/service" ++ "golang.org/x/sys/unix" + "log" + "nekobox_core/gen" + "nekobox_core/internal/boxbox" +@@ -359,13 +360,25 @@ func (s *server) CompileGeoSiteToSrs(ctx context.Context, in *gen.CompileGeoSite + } + + func (s *server) IsPrivileged(ctx context.Context, _ *gen.EmptyReq) (*gen.IsPrivilegedResponse, error) { +- if runtime.GOOS == "windows" { +- return &gen.IsPrivilegedResponse{ +- HasPrivilege: false, +- }, nil ++ ret := false ++ if runtime.GOOS == "windows" || os.Geteuid() == 0 { ++ ret = true ++ } else if runtime.GOOS == "linux" { ++ caps := unix.CapUserHeader{ ++ Version: unix.LINUX_CAPABILITY_VERSION_3, ++ Pid: 0, // current ++ } ++ var data [2]unix.CapUserData ++ err := unix.Capget(&caps, &data[0]) ++ if err != nil { ++ ret = false ++ } else { ++ // CAP_NET_ADMIN = 12 ++ ret = (data[0].Effective & (1 << unix.CAP_NET_ADMIN)) != 0 ++ } + } + +- return &gen.IsPrivilegedResponse{HasPrivilege: os.Geteuid() == 0}, nil ++ return &gen.IsPrivilegedResponse{HasPrivilege: ret}, nil + } + + func (s *server) SpeedTest(ctx context.Context, in *gen.SpeedTestRequest) (*gen.SpeedTestResponse, error) { diff --git a/pkgs/by-name/ne/nekoray/nixos-disable-setuid-request.patch b/pkgs/by-name/ne/nekoray/nixos-disable-setuid-request.patch new file mode 100644 index 000000000000..ade76eb9decd --- /dev/null +++ b/pkgs/by-name/ne/nekoray/nixos-disable-setuid-request.patch @@ -0,0 +1,47 @@ +diff --git a/src/global/NekoGui.cpp b/src/global/NekoGui.cpp +index 7943d7a..5bb20cc 100644 +--- a/src/global/NekoGui.cpp ++++ b/src/global/NekoGui.cpp +@@ -355,6 +355,12 @@ namespace NekoGui { + // System Utils + + QString FindNekoBoxCoreRealPath() { ++ // find in PATH first ++ QString path = QStandardPaths::findExecutable("nekobox_core"); ++ if (!path.isEmpty()) { ++ return path; ++ } ++ + auto fn = QApplication::applicationDirPath() + "/nekobox_core"; + auto fi = QFileInfo(fn); + if (fi.isSymLink()) return fi.symLinkTarget(); +diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp +index 9aa46b2..ba7137a 100644 +--- a/src/ui/mainwindow.cpp ++++ b/src/ui/mainwindow.cpp +@@ -125,8 +125,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi + NekoGui::dataStore->core_port = MkPort(); + if (NekoGui::dataStore->core_port <= 0) NekoGui::dataStore->core_port = 19810; + +- auto core_path = QApplication::applicationDirPath() + "/"; +- core_path += "nekobox_core"; ++ auto core_path = NekoGui::FindNekoBoxCoreRealPath(); + + QStringList args; + args.push_back("nekobox"); +@@ -844,6 +843,15 @@ bool MainWindow::get_elevated_permissions(int reason) { + return true; + } + if (NekoGui::IsAdmin()) return true; ++ QMessageBox::critical( ++ GetMessageBoxParent(), ++ tr("Unable to elevate privileges when installed with Nix"), ++ tr("Due to the read-only property of Nix store, we cannot set suid for nekobox_core. If you are using NixOS, please set `programs.nekoray.tunMode.enable` option to elevate privileges."), ++ QMessageBox::Ok ++ ); ++ return false; ++ // The following code isn't effective, preserve to avoid merge conflict ++ + #ifdef Q_OS_LINUX + if (!Linux_HavePkexec()) { + MessageBoxWarning(software_name, "Please install \"pkexec\" first."); diff --git a/pkgs/by-name/ne/nekoray/package.nix b/pkgs/by-name/ne/nekoray/package.nix index 1dbc4839de32..980c91b42597 100644 --- a/pkgs/by-name/ne/nekoray/package.nix +++ b/pkgs/by-name/ne/nekoray/package.nix @@ -60,6 +60,11 @@ stdenv.mkDerivation (finalAttrs: { # we already package those two files in nixpkgs # we can't place file at that location using our builder so we must change the search directory to be relative to the built executable ./search-for-geodata-in-install-location.patch + + # disable suid request as it cannot be applied to nekobox_core in nix store + # and prompt users to use NixOS module instead. And use nekobox_core from PATH + # to make use of security wrappers + ./nixos-disable-setuid-request.patch ]; installPhase = '' @@ -96,6 +101,11 @@ stdenv.mkDerivation (finalAttrs: { inherit (finalAttrs) version src; sourceRoot = "${finalAttrs.src.name}/core/server"; + patches = [ + # also check cap_net_admin so we don't have to set suid + ./core-also-check-capabilities.patch + ]; + vendorHash = "sha256-hZiEIJ4/TcLUfT+pkqs6WfzjqppSTjKXEtQC+DS26Ug="; # ldflags and tags are taken from script/build_go.sh From 49a60b722eb4a7b12f3d1e4945d0728d9b60aebd Mon Sep 17 00:00:00 2001 From: aleksana Date: Mon, 26 May 2025 00:21:30 +0800 Subject: [PATCH 12/38] nixos/nekoray: init module --- nixos/modules/module-list.nix | 1 + nixos/modules/programs/nekoray.nix | 90 ++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 nixos/modules/programs/nekoray.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 04c6cd103a49..e620fb2a9c56 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -261,6 +261,7 @@ ./programs/nano.nix ./programs/nautilus-open-any-terminal.nix ./programs/nbd.nix + ./programs/nekoray.nix ./programs/neovim.nix ./programs/nethoscope.nix ./programs/nexttrace.nix diff --git a/nixos/modules/programs/nekoray.nix b/nixos/modules/programs/nekoray.nix new file mode 100644 index 000000000000..e5ad81b950aa --- /dev/null +++ b/nixos/modules/programs/nekoray.nix @@ -0,0 +1,90 @@ +{ + config, + pkgs, + lib, + ... +}: + +let + cfg = config.programs.nekoray; +in +{ + options = { + programs.nekoray = { + enable = lib.mkEnableOption "nekoray, a GUI proxy configuration manager"; + + package = lib.mkPackageOption pkgs "nekoray" { }; + + tunMode = { + enable = lib.mkEnableOption "TUN mode of nekoray"; + + setuid = lib.mkEnableOption '' + setting suid bit for nekobox_core to run as root, which is less + secure than default setcap method but closer to upstream assumptions. + Enable this if you find the default setcap method configured in + this module doesn't work for you + ''; + }; + }; + }; + + config = lib.mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + + security.wrappers.nekobox_core = lib.mkIf cfg.tunMode.enable { + source = "${cfg.package}/share/nekoray/nekobox_core"; + owner = "root"; + group = "root"; + setuid = lib.mkIf cfg.tunMode.setuid true; + # Taken from https://github.com/SagerNet/sing-box/blob/dev-next/release/config/sing-box.service + capabilities = lib.mkIf ( + !cfg.tunMode.setuid + ) "cap_net_admin,cap_net_raw,cap_net_bind_service,cap_sys_ptrace,cap_dac_read_search+ep"; + }; + + # avoid resolvectl password prompt popping up three times + # https://github.com/SagerNet/sing-tun/blob/0686f8c4f210f4e7039c352d42d762252f9d9cf5/tun_linux.go#L1062 + # We use a hack here to determine whether the requested process is nekobox_core + # Detect whether its capabilities contain at least `net_admin` and `net_raw`. + # This does not reduce security, as we can already bypass `resolved` with them. + # Alternatives to consider: + # 1. Use suid to execute as a specific user, and check username with polkit. + # However, NixOS module doesn't let us to set setuid and capabilities at the + # same time, and it's tricky to make both work together because of some security + # considerations in the kernel. + # 2. Check cmdline to get executable path. This is insecure because the process can + # change its own cmdline. `/proc//exe` is reliable but kernel forbids + # checking that entry of process from different users, and polkit runs `spawn` + # as an unprivileged user. + # 3. Put nekobox_core into a systemd service, and let polkit check service name. + # This is the most secure and convenient way but requires heavy modification + # to nekoray source code. Would be good to let upstream support that eventually. + security.polkit.extraConfig = + lib.mkIf (cfg.tunMode.enable && (!cfg.tunMode.setuid) && config.services.resolved.enable) + '' + polkit.addRule(function(action, subject) { + const allowedActionIds = [ + "org.freedesktop.resolve1.set-domains", + "org.freedesktop.resolve1.set-default-route", + "org.freedesktop.resolve1.set-dns-servers" + ]; + + if (allowedActionIds.indexOf(action.id) !== -1) { + try { + var parentPid = polkit.spawn(["${lib.getExe' pkgs.procps "ps"}", "-o", "ppid=", subject.pid]).trim(); + var parentCap = polkit.spawn(["${lib.getExe' pkgs.libcap "getpcaps"}", parentPid]).trim(); + if (parentCap.includes("cap_net_admin") && parentCap.includes("cap_net_raw")) { + return polkit.Result.YES; + } else { + return polkit.Result.NOT_HANDLED; + } + } catch (e) { + return polkit.Result.NOT_HANDLED; + } + } + }) + ''; + }; + + meta.maintainers = with lib.maintainers; [ aleksana ]; +} From 9b5b98b1831dc18586dc3546f98764b55cb0aeb6 Mon Sep 17 00:00:00 2001 From: aleksana Date: Tue, 27 May 2025 16:34:26 +0800 Subject: [PATCH 13/38] nekoray: add aleksana to maintainers --- pkgs/by-name/ne/nekoray/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ne/nekoray/package.nix b/pkgs/by-name/ne/nekoray/package.nix index 980c91b42597..82701048d6e5 100644 --- a/pkgs/by-name/ne/nekoray/package.nix +++ b/pkgs/by-name/ne/nekoray/package.nix @@ -134,7 +134,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/Mahdi-zarei/nekoray"; license = lib.licenses.gpl3Plus; mainProgram = "nekoray"; - maintainers = with lib.maintainers; [ tomasajt ]; + maintainers = with lib.maintainers; [ + tomasajt + aleksana + ]; platforms = lib.platforms.linux; }; }) From 0055175761885d116b7805c3e4845ab52038484b Mon Sep 17 00:00:00 2001 From: Defelo Date: Tue, 27 May 2025 13:39:17 +0200 Subject: [PATCH 14/38] ncdu: move to by-name --- pkgs/{tools/misc => by-name/nc}/ncdu/1.nix | 0 .../misc/ncdu/default.nix => by-name/nc/ncdu/package.nix} | 0 pkgs/top-level/all-packages.nix | 4 +--- 3 files changed, 1 insertion(+), 3 deletions(-) rename pkgs/{tools/misc => by-name/nc}/ncdu/1.nix (100%) rename pkgs/{tools/misc/ncdu/default.nix => by-name/nc/ncdu/package.nix} (100%) diff --git a/pkgs/tools/misc/ncdu/1.nix b/pkgs/by-name/nc/ncdu/1.nix similarity index 100% rename from pkgs/tools/misc/ncdu/1.nix rename to pkgs/by-name/nc/ncdu/1.nix diff --git a/pkgs/tools/misc/ncdu/default.nix b/pkgs/by-name/nc/ncdu/package.nix similarity index 100% rename from pkgs/tools/misc/ncdu/default.nix rename to pkgs/by-name/nc/ncdu/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 68f275e9a295..16175bdfa430 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13539,9 +13539,7 @@ with pkgs; mythtv = libsForQt5.callPackage ../applications/video/mythtv { }; - ncdu = callPackage ../tools/misc/ncdu { }; - - ncdu_1 = callPackage ../tools/misc/ncdu/1.nix { }; + ncdu_1 = callPackage ../by-name/nc/ncdu/1.nix { }; notepadqq = libsForQt5.callPackage ../applications/editors/notepadqq { }; From ab6e46604d6627c3f54791ce32a136c792719390 Mon Sep 17 00:00:00 2001 From: Defelo Date: Tue, 27 May 2025 14:03:10 +0200 Subject: [PATCH 15/38] ncdu: specify versionCheckProgramArg explicitly --- pkgs/by-name/nc/ncdu/package.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/nc/ncdu/package.nix b/pkgs/by-name/nc/ncdu/package.nix index 1bcecae210ba..533536a468bc 100644 --- a/pkgs/by-name/nc/ncdu/package.nix +++ b/pkgs/by-name/nc/ncdu/package.nix @@ -38,9 +38,8 @@ stdenv.mkDerivation (finalAttrs: { installManPage ncdu.1 ''; - nativeInstallCheckInputs = [ - versionCheckHook - ]; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "--version"; doInstallCheck = true; passthru.tests.version = testers.testVersion { From eb6138d3584a1b75671f6a8c65306298f331733f Mon Sep 17 00:00:00 2001 From: Defelo Date: Tue, 27 May 2025 14:03:55 +0200 Subject: [PATCH 16/38] ncdu: remove `tests.version` --- pkgs/by-name/nc/ncdu/package.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pkgs/by-name/nc/ncdu/package.nix b/pkgs/by-name/nc/ncdu/package.nix index 533536a468bc..fd13387c8f12 100644 --- a/pkgs/by-name/nc/ncdu/package.nix +++ b/pkgs/by-name/nc/ncdu/package.nix @@ -8,7 +8,6 @@ zstd, installShellFiles, versionCheckHook, - testers, pie ? stdenv.hostPlatform.isDarwin, }: @@ -42,10 +41,6 @@ stdenv.mkDerivation (finalAttrs: { versionCheckProgramArg = "--version"; doInstallCheck = true; - passthru.tests.version = testers.testVersion { - package = finalAttrs.finalPackage; - }; - meta = { homepage = "https://dev.yorhel.nl/ncdu"; description = "Disk usage analyzer with an ncurses interface"; From e9350edebf89cea7145a67cbed3b25faf8c49b59 Mon Sep 17 00:00:00 2001 From: Defelo Date: Tue, 27 May 2025 14:08:00 +0200 Subject: [PATCH 17/38] ncdu: add updateScript --- pkgs/by-name/nc/ncdu/package.nix | 2 ++ pkgs/by-name/nc/ncdu/update.sh | 5 +++++ 2 files changed, 7 insertions(+) create mode 100755 pkgs/by-name/nc/ncdu/update.sh diff --git a/pkgs/by-name/nc/ncdu/package.nix b/pkgs/by-name/nc/ncdu/package.nix index fd13387c8f12..cce5d30e5cc1 100644 --- a/pkgs/by-name/nc/ncdu/package.nix +++ b/pkgs/by-name/nc/ncdu/package.nix @@ -41,6 +41,8 @@ stdenv.mkDerivation (finalAttrs: { versionCheckProgramArg = "--version"; doInstallCheck = true; + passthru.updateScript = ./update.sh; + meta = { homepage = "https://dev.yorhel.nl/ncdu"; description = "Disk usage analyzer with an ncurses interface"; diff --git a/pkgs/by-name/nc/ncdu/update.sh b/pkgs/by-name/nc/ncdu/update.sh new file mode 100755 index 000000000000..430c83649ac3 --- /dev/null +++ b/pkgs/by-name/nc/ncdu/update.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p common-updater-scripts coreutils gnused nix-update + +version=$(list-git-tags --url=https://g.blicky.net/ncdu.git | tail -1 | sed 's/^v//') +nix-update --version="$version" ncdu From 5436ceef5397d9c7600953c442a84bf0db57bce0 Mon Sep 17 00:00:00 2001 From: Defelo Date: Tue, 27 May 2025 14:10:45 +0200 Subject: [PATCH 18/38] ncdu: add defelo as maintainer --- pkgs/by-name/nc/ncdu/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/nc/ncdu/package.nix b/pkgs/by-name/nc/ncdu/package.nix index cce5d30e5cc1..1db1c17fb6b2 100644 --- a/pkgs/by-name/nc/ncdu/package.nix +++ b/pkgs/by-name/nc/ncdu/package.nix @@ -51,6 +51,7 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with lib.maintainers; [ pSub rodrgz + defelo ]; inherit (zig_0_14.meta) platforms; mainProgram = "ncdu"; From f62a8d4db894cb987d7beecb015e0e6621877f84 Mon Sep 17 00:00:00 2001 From: Peter Lehmann Date: Tue, 13 May 2025 19:43:48 +0200 Subject: [PATCH 19/38] cloudprober: init at 1.14.0 --- pkgs/by-name/cl/cloudprober/package.nix | 39 +++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 pkgs/by-name/cl/cloudprober/package.nix diff --git a/pkgs/by-name/cl/cloudprober/package.nix b/pkgs/by-name/cl/cloudprober/package.nix new file mode 100644 index 000000000000..4b3d3d430651 --- /dev/null +++ b/pkgs/by-name/cl/cloudprober/package.nix @@ -0,0 +1,39 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, +}: + +buildGoModule rec { + pname = "cloudprober"; + version = "0.14.0"; + + src = fetchFromGitHub { + owner = "cloudprober"; + repo = "cloudprober"; + tag = "v${version}"; + hash = "sha256-t32mALyxtapPSzf/pNG0MGS2jjq0Dwm31qQZAlZI5zE="; + }; + + vendorHash = "sha256-u/glcoLlNXDEWFblnuvRHK9mUNCXTsfcWR+FDsJeOOA="; + + checkFlags = + let + # Skip tests that require network access + skippedTests = [ + "TestSaveProbesConfig" + "TestRunProbeRealICMP" + "TestMultipleTargetsMultipleRequests" + ]; + in + [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ]; + + meta = { + description = "Monitor availability and performance of various components of your system"; + homepage = "https://cloudprober.org/"; + changelog = "https://github.com/cloudprober/cloudprober/releases/tag/v${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ xgwq ]; + mainProgram = "cloudprober"; + }; +} From 3ab8e5826621458079fb07322ac7d7b0fb108a08 Mon Sep 17 00:00:00 2001 From: detroyejr Date: Wed, 14 May 2025 10:03:55 -0400 Subject: [PATCH 20/38] plex-media-player: direct users to use plex-desktop --- pkgs/top-level/aliases.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index efce987e47f3..54a06509bcaf 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1397,6 +1397,7 @@ mapAliases { pipewire-media-session = throw "pipewire-media-session is no longer maintained and has been removed. Please use Wireplumber instead."; platypus = throw "platypus is unmaintained and has not merged Python3 support"; # Added 2025-03-20 pleroma-otp = throw "'pleroma-otp' has been renamed to/replaced by 'pleroma'"; # Converted to throw 2024-10-17 + plex-media-player = throw "'plex-media-player' has been discontinued, the new official client is available as 'plex-desktop'"; # Added 2025-05-28 plots = throw "'plots' has been replaced by 'gnome-graphs'"; # Added 2025-02-05 pltScheme = racket; # just to be sure poac = cabinpkg; # Added 2025-01-22 From 183002e34811675c4d46b98b958836351c7778b5 Mon Sep 17 00:00:00 2001 From: Seth Flynn Date: Wed, 28 May 2025 20:30:40 +0000 Subject: [PATCH 21/38] binary: 5.2 -> 5.3 Diff: https://github.com/fizzyizzy05/binary/compare/5.2...5.3 Changelog: https://github.com/fizzyizzy05/binary/releases/tag/5.3 --- pkgs/by-name/bi/binary/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bi/binary/package.nix b/pkgs/by-name/bi/binary/package.nix index b1c9126cdb5b..08c365463467 100644 --- a/pkgs/by-name/bi/binary/package.nix +++ b/pkgs/by-name/bi/binary/package.nix @@ -18,14 +18,14 @@ python3Packages.buildPythonApplication rec { pname = "binary"; - version = "5.2"; + version = "5.3"; pyproject = false; src = fetchFromGitHub { owner = "fizzyizzy05"; repo = "binary"; tag = version; - hash = "sha256-0pVQMPwy/XXJl2fHQ/gIi+e/cJY87CA9G+GPkdYFQBc="; + hash = "sha256-kJLEDE/jHKc/VDGa0lcm4eM7nEMam0fbEW8YJVfc7OY="; }; strictDeps = true; From ab393a21e4c09fed7f95e534b7fe945b0b55fc47 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Wed, 21 May 2025 16:53:44 -0700 Subject: [PATCH 22/38] python3Packages.google-cloud-iam: refactor Switched to new repo, building from github, set up passthru.updateScript, added maintainer. Not building due to old version not found in new repo. --- .../google-cloud-iam/default.nix | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/pkgs/development/python-modules/google-cloud-iam/default.nix b/pkgs/development/python-modules/google-cloud-iam/default.nix index f928680d3faf..5e55cb5199b3 100644 --- a/pkgs/development/python-modules/google-cloud-iam/default.nix +++ b/pkgs/development/python-modules/google-cloud-iam/default.nix @@ -1,7 +1,8 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, + gitUpdater, google-api-core, google-auth, grpc-google-iam-v1, @@ -11,7 +12,6 @@ protobuf, pytest-asyncio, pytestCheckHook, - pythonOlder, setuptools, }: @@ -20,14 +20,15 @@ buildPythonPackage rec { version = "2.18.3"; pyproject = true; - disabled = pythonOlder "3.7"; - - src = fetchPypi { - pname = "google_cloud_iam"; - inherit version; - hash = "sha256-JlStzDhOHRigXFxO5V+MWxZcsjt0ECzNS8JV1ITFCnk="; + src = fetchFromGitHub { + owner = "googleapis"; + repo = "google-cloud-python"; + tag = "google-cloud-iam-v${version}"; + sha256 = "sha256-om/VLyv9jE64uEc0960MavzqAhBrLBvmLNeIFsniaAE="; }; + sourceRoot = "${src.name}/packages/google-cloud-iam"; + build-system = [ setuptools ]; dependencies = [ @@ -55,11 +56,18 @@ buildPythonPackage rec { "google.cloud.iam_credentials_v1" ]; - meta = with lib; { + passthru.updateScript = gitUpdater { + rev-prefix = "google-cloud-iam-v"; + }; + + meta = { description = "IAM Service Account Credentials API client library"; homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-iam"; - changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-iam-v${version}/packages/google-cloud-iam/CHANGELOG.md"; - license = licenses.asl20; - maintainers = with maintainers; [ austinbutler ]; + changelog = "https://github.com/googleapis/google-cloud-python/blob/${src.tag}/packages/google-cloud-iam/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ + austinbutler + sarahec + ]; }; } From effb8a4d523758e55db96acbee7c0f5faa70307f Mon Sep 17 00:00:00 2001 From: oluceps Date: Sat, 31 May 2025 01:31:18 +0800 Subject: [PATCH 23/38] dae: 0.9.0 -> 1.0.0 Diff: https://github.com/daeuniverse/dae/compare/v0.9.0...v1.0.0 --- pkgs/by-name/da/dae/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/da/dae/package.nix b/pkgs/by-name/da/dae/package.nix index fb13ce6b10c3..1d73bd57a9cc 100644 --- a/pkgs/by-name/da/dae/package.nix +++ b/pkgs/by-name/da/dae/package.nix @@ -8,17 +8,17 @@ }: buildGoModule rec { pname = "dae"; - version = "0.9.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "daeuniverse"; repo = "dae"; rev = "v${version}"; - hash = "sha256-yW3GDflTd9I4RreWtLQE92aP7BnswJHx44jmTZ81kP8="; + hash = "sha256-RpbWZEoGrCq3Py0hu6YDie6ErDTLS3oabqScPzhCtm0="; fetchSubmodules = true; }; - vendorHash = "sha256-nThkNyH6TUcFej9IGJ/jME0dGK517d5vJueNU7x86o8="; + vendorHash = "sha256-u2DCHmX7vRNWIQ2Ir3UrxPGduggEqoUr1rnkDfwsT0I="; proxyVendor = true; From f14fe46e22544c3ea5c0c49da046dcc0855d914e Mon Sep 17 00:00:00 2001 From: Defelo Date: Fri, 30 May 2025 20:24:39 +0200 Subject: [PATCH 24/38] proksi: 0.5.3-unstable-2025-05-19 -> 0.6.0 --- pkgs/by-name/pr/proksi/package.nix | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/pkgs/by-name/pr/proksi/package.nix b/pkgs/by-name/pr/proksi/package.nix index 15e9af128929..c5c31b8074a6 100644 --- a/pkgs/by-name/pr/proksi/package.nix +++ b/pkgs/by-name/pr/proksi/package.nix @@ -13,13 +13,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "proksi"; - version = "0.5.3-unstable-2025-05-19"; + version = "0.6.0"; src = fetchFromGitHub { owner = "luizfonseca"; repo = "proksi"; - rev = "4e31e5223dd4a8e3b955fbfa6c895c94c834e5aa"; - hash = "sha256-7NeRU+VJf2HvT7PRmryhE8u56/PoKvKtGGuZTCujGNQ="; + tag = "proksi-v${finalAttrs.version}"; + hash = "sha256-5IXtMtyKbx7re6CA61AnQ85k/SMdkjZo/ySnNoD2DDo="; }; postPatch = '' @@ -27,7 +27,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ''; useFetchCargoVendor = true; - cargoHash = "sha256-jypYyXN9caTax+11shkJJfEEPtoq4RILWjffm/3ymzE="; + cargoHash = "sha256-yjbtP+FlDaJXPhCu1UyaDolpzy+BUejU8nVVSVsKCzE="; nativeBuildInputs = [ pkg-config @@ -61,17 +61,8 @@ rustPlatform.buildRustPackage (finalAttrs: { nativeInstallCheckInputs = [ versionCheckHook ]; versionCheckProgramArg = "--version"; doInstallCheck = true; - # remove after updating to the next stable version - preVersionCheck = '' - export version=0.5.3 - ''; - passthru.updateScript = nix-update-script { - extraArgs = [ - "--version=branch" - "--version-regex=proksi-v(.*)" - ]; - }; + passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=proksi-v(.*)" ]; }; meta = { description = "Batteries-included CDN, reverse proxy and Load Balancer using Cloudflare Pingora"; From 5b53db3dba24641cb8a5ab23ff2c5355967471e2 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Wed, 21 May 2025 17:04:34 -0700 Subject: [PATCH 25/38] python3Packages.google-cloud-iam: 2.18.3 -> 2.19.0 changelog: https://github.com/googleapis/google-cloud-python/releases/tag/google-cloud-iam-v2.19.0 diff: https://github.com/googleapis/google-cloud-python/compare/google-cloud-iam-v2.18.3...google-cloud-iam-v2.19.0 --- pkgs/development/python-modules/google-cloud-iam/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-cloud-iam/default.nix b/pkgs/development/python-modules/google-cloud-iam/default.nix index 5e55cb5199b3..803aede8a80b 100644 --- a/pkgs/development/python-modules/google-cloud-iam/default.nix +++ b/pkgs/development/python-modules/google-cloud-iam/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "google-cloud-iam"; - version = "2.18.3"; + version = "2.19.0"; pyproject = true; src = fetchFromGitHub { owner = "googleapis"; repo = "google-cloud-python"; tag = "google-cloud-iam-v${version}"; - sha256 = "sha256-om/VLyv9jE64uEc0960MavzqAhBrLBvmLNeIFsniaAE="; + hash = "sha256-E1LISOLQcXqUMTTPLR+lwkR6gF1fuGGB44j38cIK/Z4="; }; sourceRoot = "${src.name}/packages/google-cloud-iam"; From 5fa46e8fdf8fa853263d81b4c08fa040917be486 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 28 May 2025 22:25:33 +0200 Subject: [PATCH 26/38] python313Packages.pkginfo2: disable failing test --- pkgs/development/python-modules/pkginfo2/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/python-modules/pkginfo2/default.nix b/pkgs/development/python-modules/pkginfo2/default.nix index c46bf6f66ea6..6a88f473d3a4 100644 --- a/pkgs/development/python-modules/pkginfo2/default.nix +++ b/pkgs/development/python-modules/pkginfo2/default.nix @@ -24,6 +24,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "pkginfo2" ]; + disabledTests = [ + # AssertionError + "test_ctor_w_path" + ]; + meta = with lib; { description = "Query metadatdata from sdists, bdists or installed packages"; mainProgram = "pkginfo2"; From 086a0e655430a8e4e69591be435ad7e233e4e825 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 28 May 2025 22:50:45 +0200 Subject: [PATCH 27/38] python313Packages.pkginfo2: refactor --- .../development/python-modules/pkginfo2/default.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/pkginfo2/default.nix b/pkgs/development/python-modules/pkginfo2/default.nix index 6a88f473d3a4..504994331579 100644 --- a/pkgs/development/python-modules/pkginfo2/default.nix +++ b/pkgs/development/python-modules/pkginfo2/default.nix @@ -3,23 +3,23 @@ buildPythonPackage, fetchFromGitHub, pytestCheckHook, - pythonOlder, + setuptools, }: buildPythonPackage rec { pname = "pkginfo2"; version = "30.0.0"; - format = "setuptools"; - - disabled = pythonOlder "3.7"; + pyproject = true; src = fetchFromGitHub { owner = "nexB"; repo = "pkginfo2"; - rev = "v${version}"; + tag = "v${version}"; hash = "sha256-E9EyaN3ncf/34vvvhRe0rwV28VrjqJo79YFgXq2lKWU="; }; + build-system = [ setuptools ]; + nativeCheckInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "pkginfo2" ]; @@ -31,9 +31,10 @@ buildPythonPackage rec { meta = with lib; { description = "Query metadatdata from sdists, bdists or installed packages"; - mainProgram = "pkginfo2"; homepage = "https://github.com/nexB/pkginfo2"; + changelog = "https://github.com/aboutcode-org/pkginfo2/releases/tag/${src.tag}"; license = licenses.mit; maintainers = with maintainers; [ fab ]; + mainProgram = "pkginfo2"; }; } From b30085a48b8f429d2ee7eb93887ed2f4cf417b8c Mon Sep 17 00:00:00 2001 From: Christoffer Hald Christensen Date: Sat, 31 May 2025 23:31:17 +0200 Subject: [PATCH 28/38] corectrl: Fixed typo in environment variable name --- pkgs/by-name/co/corectrl/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/co/corectrl/package.nix b/pkgs/by-name/co/corectrl/package.nix index 33dcafd2cf21..fdeaddbd30ab 100644 --- a/pkgs/by-name/co/corectrl/package.nix +++ b/pkgs/by-name/co/corectrl/package.nix @@ -72,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: { vulkan-tools ]; - qrWrapperArgs = [ + qtWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath finalAttrs.runtimeInputs}" ]; From 08edb1cc10e36841695a63e143e46a7a846bfc5e Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Sun, 1 Jun 2025 03:47:42 +0800 Subject: [PATCH 29/38] linuxPackages.rtl8821ce: 0-unstable-2025-05-02 -> 0-unstable-2025-05-31 --- pkgs/os-specific/linux/rtl8821ce/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/rtl8821ce/default.nix b/pkgs/os-specific/linux/rtl8821ce/default.nix index 7d7be5880f77..c4b88cefaea6 100644 --- a/pkgs/os-specific/linux/rtl8821ce/default.nix +++ b/pkgs/os-specific/linux/rtl8821ce/default.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "rtl8821ce"; - version = "0-unstable-2025-05-02"; + version = "0-unstable-2025-05-31"; src = fetchFromGitHub { owner = "tomaspinho"; repo = "rtl8821ce"; - rev = "6208d1dd190b7cb60bbbf760505bcb1c250518c2"; - hash = "sha256-d2KWiUxx3/rZvobOzvK5nyGdovovOf8g2MaEd2QW+Pc="; + rev = "66c015af7738039a2045b6da755875e126d3fe73"; + hash = "sha256-JU8ge2QpoR6nJe5G93iTEP7WOU6tLb4NJ1QrkEYUXRA="; }; hardeningDisable = [ "pic" ]; From dd1835a3caec4958c6281c19de203ebb2732beaa Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 1 Jun 2025 00:30:41 +0000 Subject: [PATCH 30/38] veracrypt: 1.26.20 -> 1.26.24 --- pkgs/by-name/ve/veracrypt/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ve/veracrypt/package.nix b/pkgs/by-name/ve/veracrypt/package.nix index 55b17793e239..d4d749b6645e 100644 --- a/pkgs/by-name/ve/veracrypt/package.nix +++ b/pkgs/by-name/ve/veracrypt/package.nix @@ -19,11 +19,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "veracrypt"; - version = "1.26.20"; + version = "1.26.24"; src = fetchurl { url = "https://launchpad.net/veracrypt/trunk/${finalAttrs.version}/+download/VeraCrypt_${finalAttrs.version}_Source.tar.bz2"; - hash = "sha256-qhVmQPigzEPuPe3aO8g3lR3HRPLEvdhaXfZAZ4IosRY="; + hash = "sha256-f1wgr0KTd6tW97UsqGiTa5kj14T0YG2piGw2KXiQPng="; }; patches = [ From 976e5cb464a460a463e9ca64293d9ec3043e572a Mon Sep 17 00:00:00 2001 From: Lin Xianyi Date: Sat, 31 May 2025 17:25:04 +0800 Subject: [PATCH 31/38] swww: 0.10.0-unstable-2025-05-27 -> 0.10.1 Changelog: https://github.com/LGFae/swww/releases/tag/v0.10.1 Diff: https://github.com/LGFae/swww/compare/800619eb70c0f4293a5b449103f55a0a3cfe2963...v0.10.1 --- pkgs/by-name/sw/swww/package.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/sw/swww/package.nix b/pkgs/by-name/sw/swww/package.nix index ee26b51a9786..f45d9c276390 100644 --- a/pkgs/by-name/sw/swww/package.nix +++ b/pkgs/by-name/sw/swww/package.nix @@ -13,19 +13,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "swww"; - version = "0.10.0-unstable-2025-05-27"; + version = "0.10.1"; - # Fixes build for locating wayland.xml, go back to regular tagged releases at next version bump - # https://codeberg.org/LGFae/waybackend/issues/2 src = fetchFromGitHub { owner = "LGFae"; repo = "swww"; - rev = "800619eb70c0f4293a5b449103f55a0a3cfe2963"; - hash = "sha256-zkw1r2mmICkplgXTyN6GckTy0XEBAEoz4H1VQuP8eMU="; + tag = "v${finalAttrs.version}"; + hash = "sha256-HEocjIsij9k4NjcmI8YRW6yzrYh+i3XN9YkRTr5fzDE="; }; useFetchCargoVendor = true; - cargoHash = "sha256-L2mbQJ0dAiB8+NOATnrPhVrjHvE5zjA1frhPbLUJ3sI="; + cargoHash = "sha256-muWY99OtzG0AumbKpYoxNSjhXHYmkiwElVUdp2zE8a0="; buildInputs = [ lz4 From dd3cbbe9d7fc904fb3191ae0978c108d21232cf5 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Sun, 1 Jun 2025 03:16:41 +0200 Subject: [PATCH 32/38] nixos/test/stash: fix eval nixosTests.stash fails eval when trying to convert cfg.settings to json due to a lambda sneaking its way in there. Bisected the issue to 0de1d18795089b381d72a35fc4c3b178e26f7c06. This fixes the issue. --- nixos/modules/services/web-apps/stash.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/web-apps/stash.nix b/nixos/modules/services/web-apps/stash.nix index 47f66edb7ddb..7cf5404874ce 100644 --- a/nixos/modules/services/web-apps/stash.nix +++ b/nixos/modules/services/web-apps/stash.nix @@ -167,7 +167,7 @@ let presets.recentlyAddedImages ] ''; - apply = type: if builtins.isFunction type then (type uiPresets) else type; + apply = type: if lib.isFunction type then (type uiPresets) else type; }; blobs_path = mkOption { type = types.path; From ba5ccd084459f1347113b351513d8306c418edcf Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 1 Jun 2025 01:17:09 +0000 Subject: [PATCH 33/38] fishPlugins.forgit: 25.05.0 -> 25.06.0 --- pkgs/shells/fish/plugins/forgit.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/shells/fish/plugins/forgit.nix b/pkgs/shells/fish/plugins/forgit.nix index 91ed4c504e01..74554ba09191 100644 --- a/pkgs/shells/fish/plugins/forgit.nix +++ b/pkgs/shells/fish/plugins/forgit.nix @@ -6,13 +6,13 @@ buildFishPlugin rec { pname = "forgit"; - version = "25.05.0"; + version = "25.06.0"; src = fetchFromGitHub { owner = "wfxr"; repo = "forgit"; rev = version; - hash = "sha256-U+MtgunPEmo/kv/lQI2BBi2WUBgt3wFkaUdfRzJWoGQ="; + hash = "sha256-D1we3pOPXNsK8KgEaRBAmD5eH1i2ud4zX1GwYbOyZvY="; }; postInstall = '' From 097a3436106b6fb2da440a73a46b8e0eb157f3cf Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 1 Jun 2025 02:05:50 +0000 Subject: [PATCH 34/38] libretro.puae: 0-unstable-2025-05-14 -> 0-unstable-2025-05-24 --- pkgs/applications/emulators/libretro/cores/puae.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/puae.nix b/pkgs/applications/emulators/libretro/cores/puae.nix index 470a02bbd0cc..d40f824f5017 100644 --- a/pkgs/applications/emulators/libretro/cores/puae.nix +++ b/pkgs/applications/emulators/libretro/cores/puae.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "puae"; - version = "0-unstable-2025-05-14"; + version = "0-unstable-2025-05-24"; src = fetchFromGitHub { owner = "libretro"; repo = "libretro-uae"; - rev = "fad7beb42c90a1a04829d465bed951a69cd36f8b"; - hash = "sha256-pO45/IvgT2q5k0sBhSNZ6srJx4h2lYSjG/mKFJesGbc="; + rev = "f1c248602abb58e7c570feec3f59f4677407b252"; + hash = "sha256-CmdMeAntu+uFp1HowBz3UgMiqFbRrNuMyevTlKxga/M="; }; makefile = "Makefile"; From bdc3bb8a9567484021c0be887ce691543c916ee2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 1 Jun 2025 02:06:26 +0000 Subject: [PATCH 35/38] restic-rest-server: 0.13.0 -> 0.14.0 --- pkgs/tools/backup/restic/rest-server.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/backup/restic/rest-server.nix b/pkgs/tools/backup/restic/rest-server.nix index 5d6938a0570a..980a8241681f 100644 --- a/pkgs/tools/backup/restic/rest-server.nix +++ b/pkgs/tools/backup/restic/rest-server.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "restic-rest-server"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "restic"; repo = "rest-server"; rev = "v${version}"; - hash = "sha256-o55y+g9XklKghVK1c6MTRI8EHLplTv5YKUWGRyyvmtk="; + hash = "sha256-cWnZ91mrllhTlCLb+BoJMXqUON2wOWCqVShg+NKU7gs="; }; - vendorHash = "sha256-MBkh61vFogf0su/mP3b2J8t/LTtfVzLlpa9MSzAq6Tw="; + vendorHash = "sha256-Fg8dDqehART535LYEOLazQntUAKxv9nmBN1RByW4OYE="; passthru.tests.restic = nixosTests.restic-rest-server; From 857f9aa8ed5662b4b699c654584b7db3b6b81f27 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 1 Jun 2025 02:41:42 +0000 Subject: [PATCH 36/38] opnborg: 0.1.68 -> 0.1.71 --- pkgs/by-name/op/opnborg/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/op/opnborg/package.nix b/pkgs/by-name/op/opnborg/package.nix index f5e20af9d1a3..c0a30c241322 100644 --- a/pkgs/by-name/op/opnborg/package.nix +++ b/pkgs/by-name/op/opnborg/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "opnborg"; - version = "0.1.68"; + version = "0.1.71"; src = fetchFromGitHub { owner = "paepckehh"; repo = "opnborg"; tag = "v${finalAttrs.version}"; - hash = "sha256-fES3YlJu8Zy1CLNEkzWW0KAhy3dZj1JXAT8y9tRjyEA="; + hash = "sha256-hLdPS9LkDdncUsuNY8Bnqxgf0V9unObP2cVHcElCp1Q="; }; - vendorHash = "sha256-u1LZvLAKYd1TQlZkYxgztOm1g94N4orMe6Y1Ab1to5Y="; + vendorHash = "sha256-U4arzJwQoHfdSAe2/giDJ1qDXQl8exSWGMHjwocQ4DE="; ldflags = [ "-s" From 89fc6086ea1ddee1c4fcc6591368e1e0eff74f3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sat, 31 May 2025 19:46:49 -0700 Subject: [PATCH 37/38] restic-rest-server: move to pkgs/by-name --- .../re/restic-rest-server/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{tools/backup/restic/rest-server.nix => by-name/re/restic-rest-server/package.nix} (100%) diff --git a/pkgs/tools/backup/restic/rest-server.nix b/pkgs/by-name/re/restic-rest-server/package.nix similarity index 100% rename from pkgs/tools/backup/restic/rest-server.nix rename to pkgs/by-name/re/restic-rest-server/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9b4db4c33be0..ad78a925f9a5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10889,8 +10889,6 @@ with pkgs; restic = callPackage ../tools/backup/restic { }; - restic-rest-server = callPackage ../tools/backup/restic/rest-server.nix { }; - rethinkdb = callPackage ../servers/nosql/rethinkdb { stdenv = clangStdenv; libtool = cctools; From ed6d2d23c2be36da576c3f59bc095c36794a0851 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 1 Jun 2025 04:44:54 +0000 Subject: [PATCH 38/38] libretro.fbneo: 0-unstable-2025-05-19 -> 0-unstable-2025-05-28 --- pkgs/applications/emulators/libretro/cores/fbneo.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/fbneo.nix b/pkgs/applications/emulators/libretro/cores/fbneo.nix index 0abcdb69ecab..60ea66263875 100644 --- a/pkgs/applications/emulators/libretro/cores/fbneo.nix +++ b/pkgs/applications/emulators/libretro/cores/fbneo.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "fbneo"; - version = "0-unstable-2025-05-19"; + version = "0-unstable-2025-05-28"; src = fetchFromGitHub { owner = "libretro"; repo = "fbneo"; - rev = "d2cf158e9ba82fc7dfec592452e6113121665c19"; - hash = "sha256-dO1R0iIXEo2lrMSOJXlZBw2yXBfyB/1yFfRPYEEAojo="; + rev = "60d812a5a25b7f6cc7df2842264b67847e51122b"; + hash = "sha256-4HJZXsgUp0do7T0bwPPuuyoN7XIII3DSzk6LsLqZQeQ="; }; makefile = "Makefile";