Install this version:
emerge -a =net-misc/rustdesk-9999
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =net-misc/rustdesk-9999
Or alternatively:
emerge --autounmask-write -a =net-misc/rustdesk-9999
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 9999 | 8 | 0 |
# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Autogenerated by pycargoebuild 0.13.2
EAPI=8
CRATES="
"
LLVM_COMPAT=( 18 19 20 21 22 )
# have no idea why CI use rust-bin-9999, rustix broken on it
# https://github.com/bytecodealliance/rustix/issues/1620
# set RUST_MAX_VER to a max version now
RUST_MAX_VER="1.95.0"
RUST_MIN_VER="1.81.0"
RUST_NEEDS_LLVM=1
inherit cargo desktop llvm-r1 systemd xdg git-r3
DESCRIPTION="An open-source remote desktop, and alternative to TeamViewer"
HOMEPAGE="https://rustdesk.com/"
EGIT_REPO_URI="https://github.com/rustdesk/rustdesk.git"
# grep -i vcpkg .github/workflows/flutter-build.yml
#_VCPKG_TAG="2025.08.27"
#SRC_URI+=" https://github.com/gentoo-zh-drafts/rustdesk-vcpkg/releases/download/${PV}/${P}-vcpkg-${_VCPKG_TAG}-lite.tar.gz"
# FIX:
# 1. missing rust-webm-*/src/sys/libwebm
# 2. gcc15 build: https://github.com/microcai/gentoo-zh/issues/7234
#_LIBWEBM_COMMIT="3b630045052e1e4d563207ab9e3be8d137c26067"
#SRC_URI+=" https://github.com/webmproject/libwebm/archive/${_LIBWEBM_COMMIT}.tar.gz -> libwebm-${_LIBWEBM_COMMIT}.tar.gz"
# FIX: missing hwcodec-*/externals
# curl https://api.github.com/repos/rustdesk-org/hwcodec/contents/externals | jq -r '.sha'
#_HWCODEC_EXTERNALS_COMMIT="8903740a1f47884906a6e347ad3d8d56304d9771"
#SRC_URI+=" https://github.com/rustdesk-org/externals/archive/${_HWCODEC_EXTERNALS_COMMIT}.tar.gz -> hwcodec-externals-${_HWCODEC_EXTERNALS_COMMIT}.tar.gz"
# FIX: missing libs/hbb_common
# curl https://api.github.com/repos/rustdesk/rustdesk/contents/libs/hbb_common | jq -r '.sha'
#3_HBB_COMMON_COMMIT="7e1c392c62d39c364127307cd408421dd5f8cfb0"
#SRC_URI+=" https://github.com/rustdesk/hbb_common/archive/${_HBB_COMMON_COMMIT}.tar.gz -> hbb_common-${_HBB_COMMON_COMMIT}.tar.gz"
# FIX: missing kcp-sys-*/kcp
# curl https://api.github.com/repos/rustdesk-org/kcp-sys/contents/kcp | jq -r '.sha'
#_KCP_COMMIT="7f9805887b0909c52c825925f123e7a84da37167"
#SRC_URI+=" https://github.com/skywind3000/kcp/archive/${_KCP_COMMIT}.tar.gz -> kcp-${_KCP_COMMIT}.tar.gz"
LICENSE="AGPL-3"
# Dependent crate licenses
LICENSE+="
Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD Boost-1.0
CC0-1.0 CDLA-Permissive-2.0 GPL-3+ IJG ISC MIT MIT-0 MPL-2.0
Unicode-DFS-2016 Unlicense WTFPL-2 ZLIB
"
SLOT="0"
KEYWORDS=""
IUSE="wayland +hwaccel"
RDEPEND="
media-libs/alsa-lib
x11-libs/gtk+:3
x11-libs/libxcb
x11-libs/libXfixes
media-libs/libpulse
x11-misc/xdotool
media-libs/libva[X]
wayland? ( media-video/pipewire[gstreamer] )
hwaccel? ( x11-libs/libvdpau )
"
BDEPEND="
dev-lang/nasm
dev-lang/yasm
media-libs/alsa-lib
media-libs/libpulse
dev-build/cmake
dev-build/ninja
media-libs/gstreamer
media-libs/gst-plugins-base
$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}
llvm-core/llvm:${LLVM_SLOT}
')
"
QA_PRESTRIPPED="
/usr/share/${PN}/${PN}
/usr/share/${PN}/libsciter-gtk.so
"
#PATCHES=(
# "${FILESDIR}"/${PN}-1.4.8-fix-llvm22-bindgen.patch
# "${FILESDIR}"/${PN}-1.4.8-disable-check-x11.patch
#)
src_unpack() {
git-r3_src_unpack
cargo_live_src_unpack
default
}
pkg_setup() {
llvm-r1_pkg_setup
rust_pkg_setup
}
src_prepare() {
default
cargo_gen_config
# cd "${S}"/.. || die
# eapply "${FILESDIR}"/rust-sciter.patch
#
# rm -rf "${S}"/libs/hbb_common || die
# ln -s "${WORKDIR}/hbb_common-${_HBB_COMMON_COMMIT}" "${S}"/libs/hbb_common || die
#
# local _RUSTWEBM_COMMIT=`echo "${GIT_CRATES[webm]}" | awk -F';' '{print $2}'`
# rm -rf "${WORKDIR}/rust-webm-${_RUSTWEBM_COMMIT}"/src/sys/libwebm || die
# ln -s "${WORKDIR}/libwebm-${_LIBWEBM_COMMIT}" "${WORKDIR}/rust-webm-${_RUSTWEBM_COMMIT}"/src/sys/libwebm || die
#
# local _HWCODEC_COMMIT=`echo "${GIT_CRATES[hwcodec]}" | awk -F';' '{print $2}'`
# rm -rf "${WORKDIR}/hwcodec-${_HWCODEC_COMMIT}"/externals || die
# ln -s "${WORKDIR}/externals-${_HWCODEC_EXTERNALS_COMMIT}" "${WORKDIR}/hwcodec-${_HWCODEC_COMMIT}"/externals || die
#
# local _KCPSYS_COMMIT=`echo "${GIT_CRATES[kcp-sys]}" | awk -F';' '{print $2}'`
# rm -rf "${WORKDIR}/kcp-sys-${_KCPSYS_COMMIT}"/kcp || die
# ln -s "${WORKDIR}/kcp-${_KCP_COMMIT}" "${WORKDIR}/kcp-sys-${_KCPSYS_COMMIT}"/kcp || die
}
src_configure() {
if use hwaccel ;then
local myfeatures=(hwcodec)
fi
cargo_src_configure
}
src_compile() {
cargo_src_compile
}
src_install() {
local rustdesk_dir="/usr/share/${PN}"
exeinto "${rustdesk_dir}"
insinto "${rustdesk_dir}"
doexe $(cargo_target_dir)/rustdesk
newins "${DISTDIR}/${PN}-libsciter-gtk.so" libsciter-gtk.so
rm src/ui/*.rs || die
newbin "${FILESDIR}/rustdesk.sh" rustdesk
insinto "${rustdesk_dir}/src"
doins -r src/ui
newicon -s 32 res/32x32.png rustdesk.png
newicon -s 128 res/128x128.png rustdesk.png
newicon -s 256 res/128x128@2x.png rustdesk.png
domenu "${FILESDIR}"/rustdesk{,-link}.desktop
systemd_dounit "${FILESDIR}"/rustdesk.service
einstalldocs
}
Manage flags for this package:
euse -i <flag> -p net-misc/rustdesk |
euse -E <flag> -p net-misc/rustdesk |
euse -D <flag> -p net-misc/rustdesk
media-libs/alsa-lib x11-libs/gtk+:3 x11-libs/libxcb x11-libs/libXfixes media-libs/libpulse x11-misc/xdotool media-libs/libva[X] wayland? ( media-video/pipewire[gstreamer] ) hwaccel? ( x11-libs/libvdpau )
dev-lang/nasm dev-lang/yasm media-libs/alsa-lib media-libs/libpulse dev-build/cmake dev-build/ninja media-libs/gstreamer media-libs/gst-plugins-base $(llvm_gen_dep ' llvm-core/clang:${LLVM_SLOT} llvm-core/llvm:${LLVM_SLOT} ')