From 71d1ee92de71061c36cac75283f45eb7b547fcba Mon Sep 17 00:00:00 2001 From: wxt <3264117476@qq.com> Date: Fri, 17 Jan 2025 21:29:04 +0800 Subject: [PATCH] clash-verge-rev: 2.0.2 -> 2.0.3 --- ...ormat_bytes_speed-for-every-platform.patch | 40 +++++++++++++++++++ pkgs/by-name/cl/clash-verge-rev/package.nix | 14 +++---- pkgs/by-name/cl/clash-verge-rev/unwrapped.nix | 32 ++++++++------- 3 files changed, 65 insertions(+), 21 deletions(-) create mode 100644 pkgs/by-name/cl/clash-verge-rev/0001-enable-format_bytes_speed-for-every-platform.patch diff --git a/pkgs/by-name/cl/clash-verge-rev/0001-enable-format_bytes_speed-for-every-platform.patch b/pkgs/by-name/cl/clash-verge-rev/0001-enable-format_bytes_speed-for-every-platform.patch new file mode 100644 index 0000000000000..1fb76af0a80fe --- /dev/null +++ b/pkgs/by-name/cl/clash-verge-rev/0001-enable-format_bytes_speed-for-every-platform.patch @@ -0,0 +1,40 @@ +diff --git a/src/utils/help.rs b/src/utils/help.rs +index 9b0bc6a7..471b2adc 100644 +--- a/src/utils/help.rs ++++ b/src/utils/help.rs +@@ -201,16 +201,6 @@ macro_rules! t { + }; + } + +-/// 将字节数转换为可读的流量字符串 +-/// 支持 B/s、KB/s、MB/s、GB/s 的自动转换 +-/// +-/// # Examples +-/// ``` +-/// assert_eq!(format_bytes_speed(1000), "1000B/s"); +-/// assert_eq!(format_bytes_speed(1024), "1.0KB/s"); +-/// assert_eq!(format_bytes_speed(1024 * 1024), "1.0MB/s"); +-/// ``` +-#[cfg(target_os = "macos")] + pub fn format_bytes_speed(speed: u64) -> String { + if speed < 1024 { + format!("{}B/s", speed) +@@ -222,6 +212,15 @@ pub fn format_bytes_speed(speed: u64) -> String { + format!("{:.1}GB/s", speed as f64 / 1024.0 / 1024.0 / 1024.0) + } + } ++/// 将字节数转换为可读的流量字符串 ++/// 支持 B/s、KB/s、MB/s、GB/s 的自动转换 ++/// ++/// # Examples ++/// ``` ++/// assert_eq!(format_bytes_speed(1000), "1000B/s"); ++/// assert_eq!(format_bytes_speed(1024), "1.0KB/s"); ++/// assert_eq!(format_bytes_speed(1024 * 1024), "1.0MB/s"); ++/// ``` + + #[test] + fn test_format_bytes_speed() { +-- +2.47.0 + diff --git a/pkgs/by-name/cl/clash-verge-rev/package.nix b/pkgs/by-name/cl/clash-verge-rev/package.nix index 5fccdc27b4aff..46c5006a21a86 100644 --- a/pkgs/by-name/cl/clash-verge-rev/package.nix +++ b/pkgs/by-name/cl/clash-verge-rev/package.nix @@ -14,23 +14,23 @@ }: let pname = "clash-verge-rev"; - version = "2.0.2"; + version = "2.0.3"; src = fetchFromGitHub { owner = "clash-verge-rev"; repo = "clash-verge-rev"; tag = "v${version}"; - hash = "sha256-QLvJO1JFHPFOsVxNi6SCu2QuJQ9hCsO1+WKOjZL944w="; + hash = "sha256-vHXXFHdKETJBlzbf4sU+gZpDz06My9DCx5nWdMpHmyc="; }; src-service = fetchFromGitHub { owner = "clash-verge-rev"; repo = "clash-verge-service"; - rev = "8b676086f2770e213cffea08ef31b54b886f8f11"; # no meaningful tags in this repo. The only way is updating manully every time. - hash = "sha256-vF26Bp52y2kNHwwtBjy3Of75qJpTriqvul29KmudHww="; + rev = "7f8ad08c2f716ca50c074ecd37967728e08edf1e"; # no meaningful tags in this repo. The only way is updating manully every time. + hash = "sha256-kZf5O3n0xmNUN0G4hAWQDN9Oj9K7PtLpv6jnhh1C5Hg="; }; - service-cargo-hash = "sha256-pMOCifffUyBkcXC8inZFZeZVHeaOt0LAu2jZUGQ7QdM="; + service-cargo-hash = "sha256-uo/2QBsZzoTdwRiW0Kr7GGiQCpQH4lW4h5XHqWd5sTU="; service = callPackage ./service.nix { inherit @@ -52,8 +52,8 @@ let ; }; - npm-hash = "sha256-zsgZhLC+XUzlCUKKGAJV5MlSpWsoLmAgMwKkmAkAX9Q="; - vendor-hash = "sha256-fk3OdJ1CKNHkeUjquJtJgM7PDyPpQ7tssDnFZHMbQHI="; + npm-hash = "sha256-vpa8WyOMOH02g2gxibJmav9yWS3QLhaVcFB0e3cZ8ok="; + vendor-hash = "sha256-JAAhcMfRTlkQQ8lBMLMN+whkGQ/4WHjywompirnc/GI="; unwrapped = callPackage ./unwrapped.nix { inherit diff --git a/pkgs/by-name/cl/clash-verge-rev/unwrapped.nix b/pkgs/by-name/cl/clash-verge-rev/unwrapped.nix index 181ddafafd5c8..37ce4f105730c 100644 --- a/pkgs/by-name/cl/clash-verge-rev/unwrapped.nix +++ b/pkgs/by-name/cl/clash-verge-rev/unwrapped.nix @@ -28,23 +28,27 @@ rustPlatform.buildRustPackage { OPENSSL_NO_VENDOR = 1; }; + patches = [ + # https://github.com/clash-verge-rev/clash-verge-rev/pull/2582 + ./0001-enable-format_bytes_speed-for-every-platform.patch + ]; + postPatch = '' - ls $cargoDepsCopy - substituteInPlace $cargoDepsCopy/libappindicator-sys-*/src/lib.rs \ - --replace-fail "libayatana-appindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1" + substituteInPlace $cargoDepsCopy/libappindicator-sys-*/src/lib.rs \ + --replace-fail "libayatana-appindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1" - substituteInPlace $cargoDepsCopy/sysproxy-*/src/linux.rs \ - --replace-fail '"gsettings"' '"${glib.bin}/bin/gsettings"' \ - --replace-fail '"kreadconfig5"' '"${libsForQt5.kconfig}/bin/kreadconfig5"' \ - --replace-fail '"kreadconfig6"' '"${kdePackages.kconfig}/bin/kreadconfig6"' \ - --replace-fail '"kwriteconfig5"' '"${libsForQt5.kconfig}/bin/kwriteconfig5"' \ - --replace-fail '"kwriteconfig6"' '"${kdePackages.kconfig}/bin/kwriteconfig6"' + substituteInPlace $cargoDepsCopy/sysproxy-*/src/linux.rs \ + --replace-fail '"gsettings"' '"${glib.bin}/bin/gsettings"' \ + --replace-fail '"kreadconfig5"' '"${libsForQt5.kconfig}/bin/kreadconfig5"' \ + --replace-fail '"kreadconfig6"' '"${kdePackages.kconfig}/bin/kreadconfig6"' \ + --replace-fail '"kwriteconfig5"' '"${libsForQt5.kconfig}/bin/kwriteconfig5"' \ + --replace-fail '"kwriteconfig6"' '"${kdePackages.kconfig}/bin/kwriteconfig6"' - substituteInPlace ./tauri.conf.json \ - --replace-fail '"frontendDist": "../dist",' '"frontendDist": "${webui}",' \ - --replace-fail '"beforeBuildCommand": "pnpm run web:build"' '"beforeBuildCommand": ""' - sed -i -e '/externalBin/d' -e '/resources/d' tauri.conf.json - sed -i -e '/sidecar/d' -e '/resources/d' tauri.linux.conf.json + substituteInPlace ./tauri.conf.json \ + --replace-fail '"frontendDist": "../dist",' '"frontendDist": "${webui}",' \ + --replace-fail '"beforeBuildCommand": "pnpm run web:build"' '"beforeBuildCommand": ""' + sed -i -e '/externalBin/d' -e '/resources/d' tauri.conf.json + sed -i -e '/sidecar/d' -e '/resources/d' tauri.linux.conf.json ''; nativeBuildInputs = [