1 # Copyright 2024 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
4 # Autogenerated by pycargoebuild 0.13.2
24 android_system_properties@0.1.5
34 async-compression@0.4.11
67 block-sys@0.1.0-beta.1
72 brotli-decompressor@2.5.1
79 bzip2-sys@0.1.11+1.0.8
102 cocoa-foundation@0.1.2
108 concurrent-queue@2.5.0
109 console_error_panic_hook@0.1.7
112 const_format_proc_macros@0.2.32
113 constant_time_eq@0.1.5
114 constant_time_eq@0.2.6
115 core-foundation-sys@0.8.6
116 core-foundation@0.9.4
117 core-graphics-types@0.1.3
124 crossbeam-channel@0.5.13
125 crossbeam-deque@0.8.5
126 crossbeam-epoch@0.9.18
127 crossbeam-queue@0.3.11
128 crossbeam-utils@0.8.20
137 dasp_interpolate@0.11.0
139 dasp_ring_buffer@0.11.0
145 dbus-crossroads@0.5.2
152 directories-next@2.0.0
174 enum-map-derive@0.17.0
177 enumflags2_derive@0.7.10
184 event-listener-strategy@0.5.2
198 flutter_rust_bridge@1.80.1
199 flutter_rust_bridge_macros@1.82.6
202 foreign-types-macros@0.2.3
203 foreign-types-shared@0.1.1
204 foreign-types-shared@0.3.1
207 form_urlencoded@1.2.1
212 futures-channel@0.3.30
214 futures-executor@0.3.30
223 gdk-pixbuf-sys@0.18.0
227 gdkwayland-sys@0.18.0
247 gstreamer-app-sys@0.9.1
249 gstreamer-base-sys@0.9.1
250 gstreamer-base@0.16.5
252 gstreamer-video-sys@0.9.1
253 gstreamer-video@0.16.7
281 iana-time-zone-haiku@0.1.2
282 iana-time-zone@0.1.60
287 include_dir_macros@0.7.4
297 is_terminal_polyfill@1.70.0
313 libappindicator-sys@0.9.0
314 libappindicator@0.9.0
317 libgit2-sys@0.14.2+1.5.1
321 libpulse-binding@2.28.1
322 libpulse-simple-binding@2.28.1
323 libpulse-simple-sys@1.21.1
326 libsamplerate-sys@0.1.12
346 minimal-lexical@0.2.1
352 native-windows-gui@1.0.13
354 ndk-sys@0.4.1+23.1.7779620
355 ndk-sys@0.5.0+25.2.9519653
358 netlink-packet-core@0.5.0
359 netlink-packet-route@0.15.0
360 netlink-packet-utils@0.5.2
381 num_enum_derive@0.5.11
382 num_enum_derive@0.7.2
384 objc-foundation@0.1.1
385 objc-sys@0.2.0-beta.2
388 objc2-core-data@0.2.2
389 objc2-core-image@0.2.2
390 objc2-encode@2.0.0-pre.2
392 objc2-foundation@0.2.2
394 objc2-quartz-core@0.2.2
409 ordered-multimap@0.4.3
421 parking_lot_core@0.9.10
425 peeking_take_while@0.1.2
426 percent-encoding@2.3.1
432 pin-project-internal@1.1.5
433 pin-project-lite@0.2.14
447 proc-macro-crate@0.1.5
448 proc-macro-crate@1.3.1
449 proc-macro-crate@2.0.2
450 proc-macro-error-attr@1.0.4
451 proc-macro-error@1.0.4
454 protobuf-codegen@3.5.0
456 protobuf-support@3.5.0
459 qrcode-generator@4.1.9
481 raw-window-handle@0.5.2
482 raw-window-handle@0.6.2
502 rustc-demangle@0.1.24
508 rustls-native-certs@0.6.3
509 rustls-native-certs@0.7.0
512 rustls-pki-types@1.7.0
513 rustls-platform-verifier-android@0.1.0
514 rustls-platform-verifier@0.3.2
515 rustls-webpki@0.101.7
516 rustls-webpki@0.102.4
527 security-framework-sys@2.11.0
528 security-framework@2.10.0
537 serde_urlencoded@0.7.1
544 signal-hook-registry@1.4.2
555 static_assertions@1.1.0
556 strength_reduce@0.2.4
570 system-configuration-sys@0.5.0
571 system-configuration@0.5.1
574 system_shutdown@4.0.1
576 target-lexicon@0.12.14
577 target_build_utils@0.3.1
578 tauri-winrt-notification@0.1.3
583 thiserror-impl@1.0.61
594 tokio-native-tls@0.3.1
608 tracing-attributes@0.1.27
612 tree_magic_mini@3.1.5
623 unicode-normalization@0.1.23
624 unicode-segmentation@1.11.0
639 version-compare@0.0.10
640 version-compare@0.2.0
645 wasi@0.10.0+wasi-snapshot-preview1
646 wasi@0.11.0+wasi-snapshot-preview1
648 wasm-bindgen-backend@0.2.92
649 wasm-bindgen-futures@0.4.42
650 wasm-bindgen-macro-support@0.2.92
651 wasm-bindgen-macro@0.2.92
652 wasm-bindgen-shared@0.2.92
654 wayland-backend@0.3.6
655 wayland-client@0.31.5
656 wayland-protocols-wlr@0.3.3
657 wayland-protocols@0.32.3
658 wayland-scanner@0.31.4
669 winapi-i686-pc-windows-gnu@0.4.0
672 winapi-x86_64-pc-windows-gnu@0.4.0
678 windows-implement@0.52.0
679 windows-interface@0.52.0
681 windows-service@0.6.0
685 windows-targets@0.42.2
686 windows-targets@0.48.5
687 windows-targets@0.52.5
688 windows-version@0.1.1
697 windows_aarch64_gnullvm@0.42.2
698 windows_aarch64_gnullvm@0.48.5
699 windows_aarch64_gnullvm@0.52.5
700 windows_aarch64_msvc@0.32.0
701 windows_aarch64_msvc@0.34.0
702 windows_aarch64_msvc@0.42.2
703 windows_aarch64_msvc@0.48.5
704 windows_aarch64_msvc@0.52.5
705 windows_i686_gnu@0.32.0
706 windows_i686_gnu@0.34.0
707 windows_i686_gnu@0.42.2
708 windows_i686_gnu@0.48.5
709 windows_i686_gnu@0.52.5
710 windows_i686_gnullvm@0.52.5
711 windows_i686_msvc@0.32.0
712 windows_i686_msvc@0.34.0
713 windows_i686_msvc@0.42.2
714 windows_i686_msvc@0.48.5
715 windows_i686_msvc@0.52.5
716 windows_x86_64_gnu@0.32.0
717 windows_x86_64_gnu@0.34.0
718 windows_x86_64_gnu@0.42.2
719 windows_x86_64_gnu@0.48.5
720 windows_x86_64_gnu@0.52.5
721 windows_x86_64_gnullvm@0.42.2
722 windows_x86_64_gnullvm@0.48.5
723 windows_x86_64_gnullvm@0.52.5
724 windows_x86_64_msvc@0.32.0
725 windows_x86_64_msvc@0.34.0
726 windows_x86_64_msvc@0.42.2
727 windows_x86_64_msvc@0.48.5
728 windows_x86_64_msvc@0.52.5
733 wl-clipboard-rs@0.9.0
739 x11rb-protocol@0.12.0
740 x11rb-protocol@0.13.1
747 zerocopy-derive@0.6.6
748 zerocopy-derive@0.7.34
753 zstd-safe@5.0.2+zstd.1.5.2
755 zstd-sys@2.0.11+zstd.1.5.6
756 zstd@0.11.2+zstd.1.5.2
760 zvariant_derive@3.15.2
764 declare -A GIT_CRATES
=(
765 [android-wakelock
]='https://github.com/rustdesk-org/android-wakelock;d0292e5a367e627c4fa6f1ca6bdfad005dca7d90;android-wakelock-%commit%'
766 [arboard
]='https://github.com/rustdesk-org/arboard;747ab2d9b40a5c9c5102051cf3b0bb38b4845e60;arboard-%commit%'
767 [cacao
]='https://github.com/clslaid/cacao;05e1536b0b43aaae308ec72c0eed703e875b7b95;cacao-%commit%'
768 [cidre-macros
]='https://github.com/yury/cidre;f05c4288f9870c9fab53272ddafd6ec01c7b2dbf;cidre-%commit%/cidre-macros'
769 [cidre
]='https://github.com/yury/cidre;f05c4288f9870c9fab53272ddafd6ec01c7b2dbf;cidre-%commit%/cidre'
770 [clipboard-master
]='https://github.com/rustdesk-org/clipboard-master;4fb62e5b62fb6350d82b571ec7ba94b3cd466695;clipboard-master-%commit%'
771 [confy
]='https://github.com/rustdesk-org/confy;83db9ec19a2f97e9718aef69e4fc5611bb382479;confy-%commit%'
772 [core-foundation-sys
]='https://github.com/madsmtm/core-foundation-rs;7d593d016175755e492a92ef89edca68ac3bd5cd;core-foundation-rs-%commit%/core-foundation-sys'
773 [core-foundation
]='https://github.com/madsmtm/core-foundation-rs;7d593d016175755e492a92ef89edca68ac3bd5cd;core-foundation-rs-%commit%/core-foundation'
774 [core-graphics-types
]='https://github.com/madsmtm/core-foundation-rs;7d593d016175755e492a92ef89edca68ac3bd5cd;core-foundation-rs-%commit%/core-graphics-types'
775 [core-graphics
]='https://github.com/madsmtm/core-foundation-rs;7d593d016175755e492a92ef89edca68ac3bd5cd;core-foundation-rs-%commit%/core-graphics'
776 [cpal
]='https://github.com/rustdesk-org/cpal;4d318ff778063ce14669fd4bd67a1673653fc6e5;cpal-%commit%'
777 [evdev
]='https://github.com/rustdesk-org/evdev;cec616e37790293d2cd2aa54a96601ed6b1b35a9;evdev-%commit%'
778 [hwcodec
]='https://github.com/rustdesk-org/hwcodec;da7dab48df19edb5a7138ff9e01bf9f148b523da;hwcodec-%commit%'
779 [impersonate_system
]='https://github.com/rustdesk-org/impersonate-system;2f429010a5a10b1fe5eceb553c6672fd53d20167;impersonate-system-%commit%'
780 [keepawake
]='https://github.com/rustdesk-org/keepawake-rs;64d568586dd16551d02120e19668d2b0fec8e3c9;keepawake-rs-%commit%'
781 [machine-uid
]='https://github.com/rustdesk-org/machine-uid;381ff579c1dc3a6c54db9dfec47c44bcb0246542;machine-uid-%commit%'
782 [magnum-opus
]='https://github.com/rustdesk-org/magnum-opus;5cd2bf989c148662fa3a2d9d539a71d71fd1d256;magnum-opus-%commit%'
783 [pam-sys
]='https://github.com/rustdesk-org/pam-sys;3337c9bb9a9c68d7497ec8c93cad2368c26091b7;pam-sys-%commit%'
784 [pam
]='https://github.com/rustdesk-org/pam;7bfd25510202cd269292cbdd7c71f3977a6fd762;pam-%commit%'
785 [parity-tokio-ipc
]='https://github.com/rustdesk-org/parity-tokio-ipc;3623ec9ebef50c9b118e03b03df831008a4d1441;parity-tokio-ipc-%commit%'
786 [rdev
]='https://github.com/rustdesk-org/rdev;961d25cc00c6b3ef80f444e6a7bed9872e2c35ea;rdev-%commit%'
787 [reqwest
]='https://github.com/rustdesk-org/reqwest;9cb758c9fb2f4edc62eb790acfd45a6a3da21ed3;reqwest-%commit%'
788 [rust-pulsectl
]='https://github.com/open-trade/pulsectl;5e68f4c2b7c644fa321984688602d71e8ad0bba3;pulsectl-%commit%'
789 [sciter-rs
]='https://github.com/open-trade/rust-sciter;5322f3a755a0e6bf999fbc60d1efc35246c0f821;rust-sciter-%commit%'
790 [sysinfo
]='https://github.com/rustdesk-org/sysinfo;90b1705d909a4902dbbbdea37ee64db17841077d;sysinfo-%commit%'
791 [tao-macros
]='https://github.com/rustdesk-org/tao;288c219cb0527e509590c2b2d8e7072aa9feb2d3;tao-%commit%/tao-macros'
792 [tao
]='https://github.com/rustdesk-org/tao;288c219cb0527e509590c2b2d8e7072aa9feb2d3;tao-%commit%'
793 [tfc
]='https://github.com/rustdesk-org/The-Fat-Controller;78bb80a8e596e4c14ae57c8448f5fca75f91f2b0;The-Fat-Controller-%commit%'
794 [tokio-socks
]='https://github.com/rustdesk-org/tokio-socks;94e97c6d7c93b0bcbfa54f2dc397c1da0a6e43d3;tokio-socks-%commit%'
795 [tray-icon
]='https://github.com/tauri-apps/tray-icon;d4078696edba67b0ab42cef67e6a421a0332c96f;tray-icon-%commit%'
796 [wallpaper
]='https://github.com/rustdesk-org/wallpaper.rs;ce4a0cd3f58327c7cc44d15a63706fb0c022bacf;wallpaper.rs-%commit%'
797 [webm-sys
]='https://github.com/rustdesk-org/rust-webm;d2c4d3ac133c7b0e4c0f656da710b48391981e64;rust-webm-%commit%/src/sys'
798 [webm
]='https://github.com/rustdesk-org/rust-webm;d2c4d3ac133c7b0e4c0f656da710b48391981e64;rust-webm-%commit%'
799 [x11-clipboard
]='https://github.com/clslaid/x11-clipboard;5fc2e73bc01ada3681159b34cf3ea8f0d14cd904;x11-clipboard-%commit%'
800 [x11
]='https://github.com/bjornsnoen/x11-rs;c2e9bfaa7b196938f8700245564d8ac5d447786a;x11-rs-%commit%/x11'
803 LLVM_COMPAT
=( 17 18 19 )
804 RUST_MIN_VER
="1.75.0"
806 inherit cargo desktop llvm-r1 systemd xdg
808 DESCRIPTION
="An open-source remote desktop, and alternative to TeamViewer."
809 HOMEPAGE
="https://rustdesk.com/"
811 _HWCODEC_DEPS_COMMIT
="0.1.4"
812 _HWCODEC_EXTERNALS_COMMIT
="fd2ab190c333204d51173794e39fb03d3f2dbb43"
814 https://github.com/rustdesk/rustdesk/archive/refs/tags/${PV}.tar.gz
816 https://github.com/st0nie/gentoo-deps/releases/download/vcpkg/vcpkg-20240222.tar.gz
817 https://github.com/webmproject/libwebm/archive/refs/tags/libwebm-${_WEBM_PV}.tar.gz
818 https://github.com/21pages/deps/archive/refs/tags/${_HWCODEC_DEPS_COMMIT}.tar.gz
819 -> hwcodec-deps-${_HWCODEC_DEPS_COMMIT}.tar.gz
820 https://github.com/21pages/externals/archive/${_HWCODEC_EXTERNALS_COMMIT}.tar.gz
821 -> hwcodec-externals-${_HWCODEC_EXTERNALS_COMMIT}.tar.gz
822 https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so
823 -> ${P}-libsciter-gtk.so
829 # Dependent crate licenses
831 Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD Boost-1.0
832 CC0-1.0 GPL-3+ ISC MIT MIT-0 MPL-2.0 Unicode-DFS-2016 Unlicense ZLIB
837 IUSE
="wayland +hwaccel"
847 wayland? ( media-video/pipewire[gstreamer] )
848 hwaccel? ( x11-libs/libvdpau )
858 media-libs/gst-plugins-base
860 llvm-core/clang:${LLVM_SLOT}
861 llvm-core/llvm:${LLVM_SLOT}
866 /usr/share/${PN}/${PN}
867 /usr/share/${PN}/libsciter-gtk.so
877 "${FILESDIR}"/rust-sciter.
patch
884 cd ..
/rust-webm-
*/src
/sys || die
885 rm -rf libwebm
/ || die
886 ln -s "${WORKDIR}"/libwebm-libwebm-
*/ libwebm || die
888 local _HWCODEC_COMMIT
=`echo "${GIT_CRATES[hwcodec]}" | awk -F';' '{print $2}'`
889 rm -rf "${WORKDIR}"/hwcodec-
${_HWCODEC_COMMIT}/externals || die
890 ln -s "${WORKDIR}"/deps-${_HWCODEC_DEPS_COMMIT} "${WORKDIR}"/hwcodec-${_HWCODEC_COMMIT}/deps || die
891 ln -s "${WORKDIR}"/externals-${_HWCODEC_EXTERNALS_COMMIT} "${WORKDIR}"/hwcodec-${_HWCODEC_COMMIT}/externals || die
892 # HACK: this vcpkg bootstrap may be outdated, it needs to copy these libraries manually
893 cp -a "${WORKDIR}"/deps-${_HWCODEC_DEPS_COMMIT}/ffmpeg/linux-x86_64/{include,lib}\
894 "${WORKDIR}"/vcpkg/installed/x64-linux/ || die
899 local myfeatures=(hwcodec)
906 VCPKG_ROOT="$WORKDIR"/vcpkg cargo_src_compile
910 local rustdesk_dir="/usr
/share
/${PN}"
912 exeinto "${rustdesk_dir}"
913 insinto "${rustdesk_dir}"
914 doexe $(cargo_target_dir)/rustdesk
915 newins "${DISTDIR}/${P}-libsciter-gtk.so
" libsciter-gtk.so
916 rm src/ui/*.rs || die
917 newbin "${FILESDIR}/rustdesk.sh
" rustdesk
918 insinto "${rustdesk_dir}/src
"
921 newicon -s 32 $(realpath res/32x32.png || die) rustdesk.png
922 newicon -s 128 $(realpath res/128x128.png || die) rustdesk.png
923 newicon -s 256 $(realpath res/128x128@2x.png || die) rustdesk.png
925 domenu "${FILESDIR}"/rustdesk{,-link}.desktop
926 systemd_dounit "${FILESDIR}"/rustdesk.service