rustdesk-flutter: 1.3.2 -> 1.3.7

This commit is contained in:
wxt
2025-02-08 07:39:55 +08:00
parent 24f7710cb6
commit 8a4fbb9582
9 changed files with 783 additions and 8325 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,56 @@
#!@bash@
packagePath() {
jq --raw-output --arg name "$1" '.packages.[] | select(.name == $name) .rootUri | sub("file://"; "")' .dart_tool/package_config.json
}
# Runs a Dart executable from a package with a custom path.
#
# Usage:
# packageRunCustom <package> [executable] [bin_dir]
#
# By default, [bin_dir] is "bin", and [executable] is <package>.
# i.e. `packageRunCustom build_runner` is equivalent to `packageRunCustom build_runner build_runner bin`, which runs `bin/build_runner.dart` from the build_runner package.
packageRunCustom() {
local args=()
local passthrough=()
while [ $# -gt 0 ]; do
if [ "$1" != "--" ]; then
args+=("$1")
shift
else
shift
passthrough=("$@")
break
fi
done
local name="${args[0]}"
local path="${args[1]:-$name}"
local prefix="${args[2]:-bin}"
dart --packages=.dart_tool/package_config.json "$(packagePath "$name")/$prefix/$path.dart" "${passthrough[@]}"
}
# Runs a Dart executable from a package.
#
# Usage:
# packageRun <package> [-e executable] [...]
#
# To run an executable from an unconventional location, use packageRunCustom.
packageRun() {
local name="build_runner"
shift
local executableName="$name"
if [ "build_runner" = "-e" ]; then
shift
executableName="build_runner"
shift
fi
fileName="$(yq --raw-output --arg name "$executableName" '.executables.[$name] // $name' "$(packagePath "$name")/pubspec.yaml")"
packageRunCustom "$name" "$fileName" -- "$@"
}
packageRun build_runner "$@"
@@ -0,0 +1,30 @@
{
buildDartApplication,
fetchFromGitHub,
lib,
flutter,
}:
buildDartApplication rec {
pname = "ffigen";
version = "8.0.2"; # According to https://github.com/rustdesk/rustdesk/blob/master/build.py#L173. We should use 5.0.1. But It can't run on flutter324. So I found another old version.
src = fetchFromGitHub {
owner = "dart-lang";
repo = "native";
tag = "ffigen-v${version}";
hash = "sha256-TUtgdT8huyo9sharIMHZ998UzzfMq2gj9Q9aspXYumU=";
};
postBuild = ''
mkdir -p $out/bin
ln -s ${flutter}/bin/dart $out/bin/dart
'';
sourceRoot = "${src.name}/pkgs/ffigen";
pubspecLock = lib.importJSON ./ffigen.pubspec.lock.json;
dartEntryPoints."bin/ffigen" = "bin/ffigen.dart";
meta.mainProgram = "ffigen";
meta.license = lib.licenses.bsd3;
}
@@ -0,0 +1,527 @@
{
"packages": {
"_fe_analyzer_shared": {
"dependency": "transitive",
"description": {
"name": "_fe_analyzer_shared",
"sha256": "dc27559385e905ad30838356c5f5d574014ba39872d732111cd07ac0beff4c57",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "80.0.0"
},
"analyzer": {
"dependency": "transitive",
"description": {
"name": "analyzer",
"sha256": "192d1c5b944e7e53b24b5586db760db934b177d4147c42fbca8c8c5f1eb8d11e",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "7.3.0"
},
"args": {
"dependency": "direct main",
"description": {
"name": "args",
"sha256": "bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.6.0"
},
"async": {
"dependency": "transitive",
"description": {
"name": "async",
"sha256": "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.13.0"
},
"boolean_selector": {
"dependency": "transitive",
"description": {
"name": "boolean_selector",
"sha256": "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.2"
},
"cli_util": {
"dependency": "direct main",
"description": {
"name": "cli_util",
"sha256": "ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.4.2"
},
"collection": {
"dependency": "transitive",
"description": {
"name": "collection",
"sha256": "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.19.1"
},
"convert": {
"dependency": "transitive",
"description": {
"name": "convert",
"sha256": "b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.1.2"
},
"coverage": {
"dependency": "transitive",
"description": {
"name": "coverage",
"sha256": "e3493833ea012784c740e341952298f1cc77f1f01b1bbc3eb4eecf6984fb7f43",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.11.1"
},
"crypto": {
"dependency": "transitive",
"description": {
"name": "crypto",
"sha256": "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.6"
},
"ffi": {
"dependency": "direct main",
"description": {
"name": "ffi",
"sha256": "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.3"
},
"file": {
"dependency": "direct main",
"description": {
"name": "file",
"sha256": "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.1.4"
},
"frontend_server_client": {
"dependency": "transitive",
"description": {
"name": "frontend_server_client",
"sha256": "f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.0.0"
},
"glob": {
"dependency": "direct main",
"description": {
"name": "glob",
"sha256": "c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.3"
},
"http_multi_server": {
"dependency": "transitive",
"description": {
"name": "http_multi_server",
"sha256": "aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.2.2"
},
"http_parser": {
"dependency": "transitive",
"description": {
"name": "http_parser",
"sha256": "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.1.2"
},
"io": {
"dependency": "transitive",
"description": {
"name": "io",
"sha256": "dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.0.5"
},
"js": {
"dependency": "transitive",
"description": {
"name": "js",
"sha256": "c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.7.1"
},
"lints": {
"dependency": "direct dev",
"description": {
"name": "lints",
"sha256": "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.1"
},
"logging": {
"dependency": "direct main",
"description": {
"name": "logging",
"sha256": "c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.3.0"
},
"matcher": {
"dependency": "transitive",
"description": {
"name": "matcher",
"sha256": "dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.12.17"
},
"meta": {
"dependency": "transitive",
"description": {
"name": "meta",
"sha256": "e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.16.0"
},
"mime": {
"dependency": "transitive",
"description": {
"name": "mime",
"sha256": "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.0.0"
},
"node_preamble": {
"dependency": "transitive",
"description": {
"name": "node_preamble",
"sha256": "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.0.2"
},
"package_config": {
"dependency": "direct main",
"description": {
"name": "package_config",
"sha256": "92d4488434b520a62570293fbd33bb556c7d49230791c1b4bbd973baf6d2dc67",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.1"
},
"path": {
"dependency": "direct main",
"description": {
"name": "path",
"sha256": "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.9.1"
},
"pool": {
"dependency": "transitive",
"description": {
"name": "pool",
"sha256": "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.5.1"
},
"pub_semver": {
"dependency": "transitive",
"description": {
"name": "pub_semver",
"sha256": "7b3cfbf654f3edd0c6298ecd5be782ce997ddf0e00531b9464b55245185bbbbd",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.5"
},
"quiver": {
"dependency": "direct main",
"description": {
"name": "quiver",
"sha256": "ea0b925899e64ecdfbf9c7becb60d5b50e706ade44a85b2363be2a22d88117d2",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.2.2"
},
"shelf": {
"dependency": "transitive",
"description": {
"name": "shelf",
"sha256": "e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.4.2"
},
"shelf_packages_handler": {
"dependency": "transitive",
"description": {
"name": "shelf_packages_handler",
"sha256": "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.2"
},
"shelf_static": {
"dependency": "transitive",
"description": {
"name": "shelf_static",
"sha256": "c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.1.3"
},
"shelf_web_socket": {
"dependency": "transitive",
"description": {
"name": "shelf_web_socket",
"sha256": "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.0"
},
"source_map_stack_trace": {
"dependency": "transitive",
"description": {
"name": "source_map_stack_trace",
"sha256": "c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.2"
},
"source_maps": {
"dependency": "transitive",
"description": {
"name": "source_maps",
"sha256": "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.10.13"
},
"source_span": {
"dependency": "transitive",
"description": {
"name": "source_span",
"sha256": "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.10.1"
},
"stack_trace": {
"dependency": "transitive",
"description": {
"name": "stack_trace",
"sha256": "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.12.1"
},
"stream_channel": {
"dependency": "transitive",
"description": {
"name": "stream_channel",
"sha256": "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.4"
},
"string_scanner": {
"dependency": "transitive",
"description": {
"name": "string_scanner",
"sha256": "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.4.1"
},
"term_glyph": {
"dependency": "transitive",
"description": {
"name": "term_glyph",
"sha256": "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.2.2"
},
"test": {
"dependency": "direct dev",
"description": {
"name": "test",
"sha256": "301b213cd241ca982e9ba50266bd3f5bd1ea33f1455554c5abb85d1be0e2d87e",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.25.15"
},
"test_api": {
"dependency": "transitive",
"description": {
"name": "test_api",
"sha256": "fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.7.4"
},
"test_core": {
"dependency": "transitive",
"description": {
"name": "test_core",
"sha256": "84d17c3486c8dfdbe5e12a50c8ae176d15e2a771b96909a9442b40173649ccaa",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.6.8"
},
"typed_data": {
"dependency": "transitive",
"description": {
"name": "typed_data",
"sha256": "f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.4.0"
},
"vm_service": {
"dependency": "transitive",
"description": {
"name": "vm_service",
"sha256": "ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "15.0.0"
},
"watcher": {
"dependency": "transitive",
"description": {
"name": "watcher",
"sha256": "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.1.1"
},
"web": {
"dependency": "transitive",
"description": {
"name": "web",
"sha256": "cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.1.0"
},
"web_socket": {
"dependency": "transitive",
"description": {
"name": "web_socket",
"sha256": "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.1.6"
},
"web_socket_channel": {
"dependency": "transitive",
"description": {
"name": "web_socket_channel",
"sha256": "0b8e2457400d8a859b7b2030786835a28a8e80836ef64402abef392ff4f1d0e5",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.2"
},
"webkit_inspection_protocol": {
"dependency": "transitive",
"description": {
"name": "webkit_inspection_protocol",
"sha256": "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.2.1"
},
"yaml": {
"dependency": "direct main",
"description": {
"name": "yaml",
"sha256": "b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.1.3"
},
"yaml_edit": {
"dependency": "direct main",
"description": {
"name": "yaml_edit",
"sha256": "fb38626579fb345ad00e674e2af3a5c9b0cc4b9bfb8fd7f7ff322c7c9e62aef5",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.2.2"
}
},
"sdks": {
"dart": ">=3.5.0 <4.0.0"
}
}
+57 -60
View File
@@ -4,7 +4,7 @@
cargo,
copyDesktopItems,
fetchFromGitHub,
flutter319,
flutter,
ffmpeg,
gst_all_1,
fuse3,
@@ -25,9 +25,11 @@
rustfmt,
xdotool,
pipewire,
cargo-expand,
yq,
callPackage,
}:
let
flutterRustBridge = rustPlatform.buildRustPackage rec {
pname = "flutter_rust_bridge_codegen";
version = "1.80.1"; # https://github.com/rustdesk/rustdesk/blob/1.3.2/.github/workflows/bridge.yml#L10
@@ -39,6 +41,10 @@ let
hash = "sha256-SbwqWapJbt6+RoqRKi+wkSH1D+Wz7JmnVbfcfKkjt8Q=";
};
patches = [
./update-flutter-dev-path.patch
];
useFetchCargoVendor = true;
cargoHash = "sha256-4khuq/DK4sP98AMHyr/lEo1OJdqLujOIi8IgbKBY60Y=";
cargoBuildFlags = [
@@ -48,17 +54,22 @@ let
doCheck = false;
};
ffigen = callPackage ./ffigen {
inherit flutter;
};
sharedLibraryExt = rustc.stdenv.hostPlatform.extensions.sharedLibrary;
in
flutter319.buildFlutterApplication rec {
flutter.buildFlutterApplication rec {
pname = "rustdesk";
version = "1.3.2";
version = "1.3.7";
src = fetchFromGitHub {
owner = "rustdesk";
repo = "rustdesk";
rev = version;
hash = "sha256-SvK11IuuTkO8sxLVnYyyRtYyzV6R9NwMtyY5UCdw/P8=";
tag = version;
fetchSubmodules = true;
hash = "sha256-LDQRJRWqRSJmA3HqfTyFraDhBAvhlbed+Q6ejxwytgU=";
};
strictDeps = true;
@@ -66,55 +77,31 @@ flutter319.buildFlutterApplication rec {
# Configure the Flutter/Dart build
sourceRoot = "${src.name}/flutter";
# curl https://raw.githubusercontent.com/rustdesk/rustdesk/1.3.2/flutter/pubspec.lock | yq > pubspec.lock.json
# curl https://raw.githubusercontent.com/rustdesk/rustdesk/1.3.6/flutter/pubspec.lock | yq > pubspec.lock.json
pubspecLock = lib.importJSON ./pubspec.lock.json;
gitHashes = {
dash_chat_2 = "sha256-J5Bc6CeCoRGN870aNEVJ2dkQNb+LOIZetfG2Dsfz5Ow=";
desktop_multi_window = "sha256-yIhcsTb3/mynUDE05c7dANj32O2tcZl8m0Tw8d36J/4=";
desktop_multi_window = "sha256-NOe0jMcH02c0TDTtv62OMTR/qDPnRQrRe73vXDuEq8Q=";
dynamic_layouts = "sha256-eFp1YVI6vI2HRgtE5nTqGZIylB226H0O8kuxy9ypuf8=";
flutter_gpu_texture_renderer = "sha256-6m34FB9Zi4wWbpQQ7uwtMnjUBvdCQnqlkHtWcZddtqU=";
flutter_improved_scrolling = "sha256-fKs1+JmhDVVfjyhr6Fl17pc6n++mCTjBo1PT3l/DUnc=";
window_manager = "sha256-CUTcSl+W7Wz/Og5k9ujOdAlhKWv/gIYe58wurf9CJH4=";
window_size = "sha256-+lqY46ZURT0qcqPvHFXUnd83Uvfq79Xr+rw1AHqrpak=";
window_manager = "sha256-40mwj4D8W2xW8C7RshTjOhelOiLPM7uU9rsF4NvQn8c=";
window_size = "sha256-XelNtp7tpZ91QCEcvewVphNUtgQX7xrp5QP0oFo6DgM=";
texture_rgba_renderer = "sha256-V/bmT/5x+Bt7kdjLTkgkoXdBcFVXxPyp9kIUhf+Rnt4=";
uni_links = "sha256-O2BgNwu5HFRQyaNkskWHORx8pZhdwEjtljvw1+zFzfo=";
};
# Configure the Rust build
cargoRoot = "..";
cargoDeps = rustPlatform.importCargoLock {
# Upstream lock file after removing the registry variant of core-foundation-sys
# and fixing the resulting errors by removing the other registry deps.
lockFile = ./Cargo.lock;
outputHashes = {
"android-wakelock-0.1.0" = "sha256-09EH/U1BBs3l4galQOrTKmPUYBgryUjfc/rqPZhdYc4=";
"arboard-3.4.0" = "sha256-xuMfMakHVj/zjiUr6PVFy+aNQxwsXtAAFlTYxUt12fU=";
"cacao-0.4.0-beta2" = "sha256-U5tCLeVxjmZCm7ti1u71+i116xmozPaR69pCsA4pxrM=";
"clipboard-master-4.0.0-beta.6" = "sha256-GZyzGMQOZ0iwGNZa/ZzFp8gU2tQVWZBpAbim8yb6yZA=";
"confy-0.4.0-2" = "sha256-V7BCKISrkJIxWC3WT5+B5Vav86YTQvdO9TO6A++47FU=";
"core-foundation-0.9.3" = "sha256-iB4OVmWZhuWbs9RFWvNc+RNut6rip2/50o5ZM6c0c3g=";
"evdev-0.11.5" = "sha256-aoPmjGi/PftnH6ClEWXHvIj0X3oh15ZC1q7wPC1XPr0=";
"hwcodec-0.7.0" = "sha256-JdpaKIzI6AOaHPB4SeWIccpP7FuDLP00fOFnbA9DIEc=";
"impersonate_system-0.1.0" = "sha256-pIV7s2qGoCIUrhaRovBDCJaGQ/pMdJacDXJmeBpkcyI=";
"keepawake-0.4.3" = "sha256-cqSpkq/PCz+5+ZUyPy5hF6rP3fBzuZDywyxMUQ50Rk4=";
"machine-uid-0.3.0" = "sha256-rEOyNThg6p5oqE9URnxSkPtzyW8D4zKzLi9pAnzTElE=";
"magnum-opus-0.4.0" = "sha256-T4qaYOl8lCK1h9jWa9KqGvnVfDViT9Ob5R+YgnSw2tg=";
"pam-0.7.0" = "sha256-o47tVoFlW9RiL7O8Lvuwz7rMYQHO+5TG27XxkAdHEOE=";
"pam-sys-1.0.0-alpha4" = "sha256-5HIErVWnanLo5054NgU+DEKC2wwyiJ8AHvbx0BGbyWo=";
"parity-tokio-ipc-0.7.3-4" = "sha256-PKw2Twd2ap+tRrQxqg8T1FvpoeKn0hvBqn1Z44F1LcY=";
"rdev-0.5.0-2" = "sha256-0e8NMPMlzkmghe/E4SssoRzbGG2jWMKwxzVpiJ8MnDo=";
"reqwest-0.11.23" = "sha256-kEUT+gs4ziknDiGdPMLnj5pmxC5SBpLopZ8jZ34GDWc=";
"rust-pulsectl-0.2.12" = "sha256-8jXTspWvjONFcvw9/Z8C43g4BuGZ3rsG32tvLMQbtbM=";
"sciter-rs-0.5.57" = "sha256-5Nd9npdx8yQJEczHv7WmSmrE1lBfvp5z7BubTbYBg3E=";
"sysinfo-0.29.10" = "sha256-/UsFAvlWs/F7X1xT+97Fx+pnpCguoPHU3hTynqYMEs4=";
"tao-0.25.0" = "sha256-kLmx1z9Ybn/hDt2OcszEjtZytQIE+NKTIn9zNr9oEQk=";
"tfc-0.7.0" = "sha256-4plK8ttbHsBPat3/rS+4RhGzirq2Ked2wrU8cQEU1zo=";
"tokio-socks-0.5.2-1" = "sha256-i1dfNatqN4dinMcyAdLhj9hJWVsT10OWpCXsxl7pifI=";
"tray-icon-0.14.3" = "sha256-dSX7LucZaLplRrh6zLwmFzyZN4ZtwIXzAEdZzlu3gQg=";
"wallpaper-3.2.0" = "sha256-p9NRmusdA0wvF6onp1UTL0/4t7XnEAc19sqyGDnfg/Q=";
"webm-1.1.0" = "sha256-p4BMej7yvb8c/dJynRWZmwo2hxAAY96Qx6Qx2DbT8hE=";
"x11-2.19.0" = "sha256-GDCeKzUtvaLeBDmPQdyr499EjEfT6y4diBMzZVEptzc=";
"x11-clipboard-0.8.1" = "sha256-PtqmSD2MwkbLVWbfTSXZW3WEvEnUlo04qieUTjN2whE=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit
pname
version
src
patches
;
hash = "sha256-1hipDx/xKOkqLj3JvguMZxseEBSSIwdJrT6LSOiEJp4=";
};
dontCargoBuild = true;
cargoBuildFlags = "--lib";
cargoBuildType = "release";
@@ -132,7 +119,10 @@ flutter319.buildFlutterApplication rec {
# Rust
rustPlatform.cargoSetupHook
rustPlatform.cargoBuildHook
cargo-expand
rustPlatform.bindgenHook
ffigen
yq
];
buildInputs = [
@@ -156,31 +146,36 @@ flutter319.buildFlutterApplication rec {
prePatch = ''
chmod -R +w ..
cd ..
'';
patchFlags = [
"-p1"
"-d"
".."
patches = [
./make-build-reproducible.patch
# Multiple version of core-foundation-sys will make fetchCargoVendor unhappy. Keep one of it.
./update-cargo-lock.patch
];
patches = [ ./make-build-reproducible.patch ];
prepareBuildRunner = ''
cp ${./build-runner.sh} build_runner
substituteInPlace build_runner \
--replace-fail "@bash@" "$SHELL"
chmod +x build_runner
export PATH=$PATH:$PWD
'';
postPatch = ''
cd flutter
if [ $cargoDepsCopy ]; then # That will be inherited to buildDartPackage and it doesn't have cargoDepsCopy
substituteInPlace $cargoDepsCopy/libappindicator-sys-*/src/lib.rs \
--replace-fail "libayatana-appindicator3.so.1" "${lib.getLib libayatana-appindicator}/lib/libayatana-appindicator3.so.1"
# Disable static linking of ffmpeg since https://github.com/21pages/hwcodec/commit/1873c34e3da070a462540f61c0b782b7ab15dc84
sed -i 's/static=//g' $cargoDepsCopy/hwcodec-*/build.rs
fi
substituteInPlace ../Cargo.toml --replace-fail ", \"staticlib\", \"rlib\"" ""
# The supplied Cargo.lock doesn't work with our fetcher so copy over the fixed version
cp ${./Cargo.lock} ../Cargo.lock
chmod +w ../Cargo.lock
'';
preBuild = ''
# Disable static linking of ffmpeg since https://github.com/21pages/hwcodec/commit/1873c34e3da070a462540f61c0b782b7ab15dc84
sed -i 's/static=//g' /build/cargo-vendor-dir/hwcodec-*/build.rs
# Build the Flutter/Rust bridge bindings
cat <<EOF > bridge.yml
rust_input:
@@ -192,6 +187,7 @@ flutter319.buildFlutterApplication rec {
dart_format_line_length: 80
llvm_compiler_opts: "-I ${lib.getLib clangStdenv.cc.cc}/lib/clang/${lib.versions.major clangStdenv.cc.version}/include -I ${clangStdenv.cc.libc_dev}/include"
EOF
runHook prepareBuildRunner
RUST_LOG=info ${flutterRustBridge}/bin/flutter_rust_bridge_codegen bridge.yml
# Build the Rust shared library
@@ -244,12 +240,13 @@ flutter319.buildFlutterApplication rec {
})
];
meta = with lib; {
meta = {
description = "Virtual / remote desktop infrastructure for everyone! Open source TeamViewer / Citrix alternative";
homepage = "https://rustdesk.com";
license = licenses.agpl3Only;
maintainers = teams.helsinki-systems.members;
changelog = "https://github.com/rustdesk/rustdesk/releases/${version}";
license = lib.licenses.agpl3Only;
maintainers = lib.teams.helsinki-systems.members;
mainProgram = "rustdesk";
platforms = platforms.linux; # should work on darwin as well but I have no machine to test with
platforms = lib.platforms.linux; # should work on darwin as well but I have no machine to test with
};
}
@@ -44,11 +44,11 @@
"dependency": "transitive",
"description": {
"name": "archive",
"sha256": "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d",
"sha256": "cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.4.10"
"version": "3.6.1"
},
"args": {
"dependency": "transitive",
@@ -416,7 +416,7 @@
"description": {
"path": ".",
"ref": "HEAD",
"resolved-ref": "519350f1f40746798299e94786197d058353bac9",
"resolved-ref": "4f562ab49d289cfa36bfda7cff12746ec0200033",
"url": "https://github.com/rustdesk-org/rustdesk_desktop_multi_window"
},
"source": "git",
@@ -477,11 +477,11 @@
"dependency": "direct main",
"description": {
"name": "extended_text",
"sha256": "7f382de3af12992e34bd72ddd36becf90c4720900af126cb9859f0189af71ffe",
"sha256": "38c1cac571d6eaf406f4b80040c1f88561e7617ad90795aac6a1be0a8d0bb676",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "13.0.0"
"version": "14.0.0"
},
"extended_text_library": {
"dependency": "transitive",
@@ -507,11 +507,11 @@
"dependency": "direct main",
"description": {
"name": "ffi",
"sha256": "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878",
"sha256": "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.0"
"version": "2.1.3"
},
"ffigen": {
"dependency": "direct dev",
@@ -660,17 +660,6 @@
"source": "git",
"version": "0.0.1"
},
"flutter_improved_scrolling": {
"dependency": "direct main",
"description": {
"path": ".",
"ref": "HEAD",
"resolved-ref": "62f09545149f320616467c306c8c5f71714a18e6",
"url": "https://github.com/rustdesk-org/flutter_improved_scrolling"
},
"source": "git",
"version": "0.0.3"
},
"flutter_keyboard_visibility": {
"dependency": "direct main",
"description": {
@@ -824,14 +813,14 @@
"version": "2.4.1"
},
"frontend_server_client": {
"dependency": "transitive",
"dependency": "direct overridden",
"description": {
"name": "frontend_server_client",
"sha256": "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612",
"sha256": "f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.2.0"
"version": "4.0.0"
},
"get": {
"dependency": "direct main",
@@ -927,11 +916,11 @@
"dependency": "direct main",
"description": {
"name": "image_picker",
"sha256": "b6951e25b795d053a6ba03af5f710069c99349de9341af95155d52665cb4607c",
"sha256": "021834d9c0c3de46bf0fe40341fa07168407f694d9b2bb18d532dc1261867f7a",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.8.9"
"version": "1.1.2"
},
"image_picker_android": {
"dependency": "transitive",
@@ -987,11 +976,11 @@
"dependency": "transitive",
"description": {
"name": "image_picker_platform_interface",
"sha256": "fa4e815e6fcada50e35718727d83ba1c92f1edf95c0b4436554cec301b56233b",
"sha256": "9ec26d410ff46f483c5519c29c02ef0e02e13a543f882b152d4bfd2f06802f80",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.9.3"
"version": "2.10.0"
},
"image_picker_windows": {
"dependency": "transitive",
@@ -1077,21 +1066,21 @@
"dependency": "transitive",
"description": {
"name": "material_color_utilities",
"sha256": "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a",
"sha256": "f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.8.0"
"version": "0.11.1"
},
"meta": {
"dependency": "transitive",
"description": {
"name": "meta",
"sha256": "d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04",
"sha256": "bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.11.0"
"version": "1.15.0"
},
"mime": {
"dependency": "transitive",
@@ -1293,16 +1282,6 @@
"source": "hosted",
"version": "2.1.8"
},
"pointycastle": {
"dependency": "transitive",
"description": {
"name": "pointycastle",
"sha256": "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.7.4"
},
"pool": {
"dependency": "transitive",
"description": {
@@ -1602,11 +1581,12 @@
"texture_rgba_renderer": {
"dependency": "direct main",
"description": {
"name": "texture_rgba_renderer",
"sha256": "cb048abdd800468ca40749ca10d1db9d1e6a055d1cde6234c05191293f0c7d61",
"url": "https://pub.dev"
"path": ".",
"ref": "42797e0f03141dc2b585f76c64a13974508058b4",
"resolved-ref": "42797e0f03141dc2b585f76c64a13974508058b4",
"url": "https://github.com/rustdesk-org/flutter_texture_rgba_renderer"
},
"source": "hosted",
"source": "git",
"version": "0.0.16"
},
"timing": {
@@ -1652,11 +1632,12 @@
"uni_links": {
"dependency": "direct main",
"description": {
"name": "uni_links",
"sha256": "051098acfc9e26a9fde03b487bef5d3d228ca8f67693480c6f33fd4fbb8e2b6e",
"url": "https://pub.dev"
"path": "uni_links",
"ref": "f416118d843a7e9ed117c7bb7bdc2deda5a9e86f",
"resolved-ref": "f416118d843a7e9ed117c7bb7bdc2deda5a9e86f",
"url": "https://github.com/rustdesk-org/uni_links"
},
"source": "hosted",
"source": "git",
"version": "0.5.1"
},
"uni_links_desktop": {
@@ -1703,31 +1684,31 @@
"dependency": "direct main",
"description": {
"name": "url_launcher",
"sha256": "c512655380d241a337521703af62d2c122bf7b77a46ff7dd750092aa9433499c",
"sha256": "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.2.4"
"version": "6.3.1"
},
"url_launcher_android": {
"dependency": "transitive",
"description": {
"name": "url_launcher_android",
"sha256": "507dc655b1d9cb5ebc756032eb785f114e415f91557b73bf60b7e201dfedeb2f",
"sha256": "6fc2f56536ee873eeb867ad176ae15f304ccccc357848b351f6f0d8d4a40d193",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.2.2"
"version": "6.3.14"
},
"url_launcher_ios": {
"dependency": "transitive",
"dependency": "direct main",
"description": {
"name": "url_launcher_ios",
"sha256": "75bb6fe3f60070407704282a2d295630cab232991eb52542b18347a8a941df03",
"sha256": "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.2.4"
"version": "6.3.2"
},
"url_launcher_linux": {
"dependency": "transitive",
@@ -1943,28 +1924,28 @@
"dependency": "direct main",
"description": {
"name": "win32",
"sha256": "464f5674532865248444b4c3daca12bd9bf2d7c47f759ce2617986e7229494a8",
"sha256": "68d1e89a91ed61ad9c370f9f8b6effed9ae5e0ede22a270bdfa6daf79fc2290a",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "5.2.0"
"version": "5.5.4"
},
"win32_registry": {
"dependency": "transitive",
"description": {
"name": "win32_registry",
"sha256": "41fd8a189940d8696b1b810efb9abcf60827b6cbfab90b0c43e8439e3a39d85a",
"sha256": "21ec76dfc731550fd3e2ce7a33a9ea90b828fdf19a5c3bcf556fa992cfa99852",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.1.2"
"version": "1.1.5"
},
"window_manager": {
"dependency": "direct main",
"description": {
"path": ".",
"ref": "HEAD",
"resolved-ref": "f19acdb008645366339444a359a45c3257c8b32e",
"resolved-ref": "85789bfe6e4cfaf4ecc00c52857467fdb7f26879",
"url": "https://github.com/rustdesk-org/window_manager"
},
"source": "git",
@@ -1974,8 +1955,8 @@
"dependency": "direct main",
"description": {
"path": "plugins/window_size",
"ref": "a738913c8ce2c9f47515382d40827e794a334274",
"resolved-ref": "a738913c8ce2c9f47515382d40827e794a334274",
"ref": "eb3964990cf19629c89ff8cb4a37640c7b3d5601",
"resolved-ref": "eb3964990cf19629c89ff8cb4a37640c7b3d5601",
"url": "https://github.com/google/flutter-desktop-embedding.git"
},
"source": "git",
@@ -2033,7 +2014,7 @@
}
},
"sdks": {
"dart": ">=3.3.0 <4.0.0",
"flutter": ">=3.19.0"
"dart": ">=3.5.0 <4.0.0",
"flutter": ">=3.24.0"
}
}
@@ -0,0 +1,40 @@
diff --git a/Cargo.lock b/Cargo.lock
index e8ed6c42e..3e90da8fc 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1178,7 +1178,7 @@ name = "core-foundation"
version = "0.9.3"
source = "git+https://github.com/madsmtm/core-foundation-rs.git?rev=7d593d016175755e492a92ef89edca68ac3bd5cd#7d593d016175755e492a92ef89edca68ac3bd5cd"
dependencies = [
- "core-foundation-sys 0.8.6 (git+https://github.com/madsmtm/core-foundation-rs.git?rev=7d593d016175755e492a92ef89edca68ac3bd5cd)",
+ "core-foundation-sys",
"libc",
]
@@ -1188,7 +1188,7 @@ version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
dependencies = [
- "core-foundation-sys 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "core-foundation-sys",
"libc",
]
@@ -1198,14 +1198,6 @@ version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.6"
-source = "git+https://github.com/madsmtm/core-foundation-rs.git?rev=7d593d016175755e492a92ef89edca68ac3bd5cd#7d593d016175755e492a92ef89edca68ac3bd5cd"
-dependencies = [
- "objc2-encode 2.0.0-pre.2",
-]
-
[[package]]
name = "core-graphics"
version = "0.22.3"
--
2.47.2
@@ -0,0 +1,25 @@
diff --git a/frb_codegen/src/commands.rs b/frb_codegen/src/commands.rs
index 91b05ca..41aba36 100644
--- a/frb_codegen/src/commands.rs
+++ b/frb_codegen/src/commands.rs
@@ -174,8 +174,6 @@ fn ffigen(
let repo = DartRepository::from_str(dart_root).unwrap();
let res = command_run!(
call_shell[Some(dart_root)],
- *repo.toolchain.as_run_command(),
- "run",
"ffigen",
"--config",
config_file.path()
@@ -229,8 +227,6 @@ pub fn build_runner(dart_root: &str) -> Result {
let repo = DartRepository::from_str(dart_root).unwrap();
let out = command_run!(
call_shell[Some(dart_root)],
- *repo.toolchain.as_run_command(),
- "run",
"build_runner",
"build",
"--delete-conflicting-outputs",
--
2.47.1
+4
View File
@@ -18351,4 +18351,8 @@ with pkgs;
wings = callPackage ../by-name/wi/wings/package.nix {
erlang = erlang_25;
};
rustdesk-flutter = callPackage ../by-name/ru/rustdesk-flutter/package.nix {
flutter = flutter324;
};
}