rustdesk/rustdesk.spec

216 lines
6.8 KiB
RPMSpec
Raw Permalink Normal View History

2024-10-11 18:32:51 +03:00
Name: rustdesk
Version: 1.3.1
Release: alt1
Summary: An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
License: AGPL-3.0
Group: Other
Url: https://github.com/rustdesk/rustdesk
Packager: Sergey Konev <konevsa@basealt.ru>
Source: %name-%version.tar.gz
BuildRequires(pre): rpm-build-rust
BuildRequires: /proc
BuildRequires: rust-cargo
BuildRequires: libX11-devel
BuildRequires: libXi-devel
BuildRequires: libXtst-devel
BuildRequires: glib2-devel
BuildRequires: gstreamer1.0-devel
BuildRequires: gst-plugins1.0-devel
BuildRequires: libgtk+3-devel
BuildRequires: libdbus-devel
BuildRequires: clang18.1-devel
BuildRequires: build-essential
BuildRequires: libpam0-devel
BuildRequires: libopus-devel
BuildRequires: libvpx-devel
BuildRequires: libyuv-devel
BuildRequires: libaom-devel
BuildRequires: libpulseaudio-devel
BuildRequires: xdotool-devel
BuildRequires: libxkbcommon-devel
%description
Yet another remote desktop software, written in Rust. Works out of the box, no
configuration required. You have full control of your data, with no concerns
about security. You can use our rendezvous/relay server, set up your own, or
write your own rendezvous/relay server.
%prep
%setup
2024-10-11 19:11:09 +03:00
tar xf vendor.tar.gz
2024-10-11 18:32:51 +03:00
2024-10-14 17:04:08 +03:00
# used to inline all GUI stuff to binary (html/css)
chmod +x ./res/inline-sciter.py
./res/inline-sciter.py
2024-10-11 18:34:45 +03:00
mkdir -p ./.cargo
cat >> ./.cargo/config.toml <<EOF
2024-10-11 18:32:51 +03:00
[source.crates-io]
replace-with = "vendored-sources"
[source."git+https://github.com/bjornsnoen/x11-rs"]
git = "https://github.com/bjornsnoen/x11-rs"
replace-with = "vendored-sources"
[source."git+https://github.com/clslaid/cacao?branch=feat/set-file-urls"]
git = "https://github.com/clslaid/cacao"
branch = "feat/set-file-urls"
replace-with = "vendored-sources"
[source."git+https://github.com/clslaid/x11-clipboard?branch=feat/store-batch"]
git = "https://github.com/clslaid/x11-clipboard"
branch = "feat/store-batch"
replace-with = "vendored-sources"
[source."git+https://github.com/madsmtm/core-foundation-rs.git?rev=7d593d016175755e492a92ef89edca68ac3bd5cd"]
git = "https://github.com/madsmtm/core-foundation-rs.git"
rev = "7d593d016175755e492a92ef89edca68ac3bd5cd"
replace-with = "vendored-sources"
[source."git+https://github.com/open-trade/pulsectl"]
git = "https://github.com/open-trade/pulsectl"
replace-with = "vendored-sources"
[source."git+https://github.com/open-trade/rust-sciter?branch=dyn"]
git = "https://github.com/open-trade/rust-sciter"
branch = "dyn"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/The-Fat-Controller?branch=history/rebase_upstream_20240722"]
git = "https://github.com/rustdesk-org/The-Fat-Controller"
branch = "history/rebase_upstream_20240722"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/android-wakelock"]
git = "https://github.com/rustdesk-org/android-wakelock"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/arboard"]
git = "https://github.com/rustdesk-org/arboard"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/clipboard-master"]
git = "https://github.com/rustdesk-org/clipboard-master"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/confy"]
git = "https://github.com/rustdesk-org/confy"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/evdev"]
git = "https://github.com/rustdesk-org/evdev"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/hwcodec"]
git = "https://github.com/rustdesk-org/hwcodec"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/impersonate-system"]
git = "https://github.com/rustdesk-org/impersonate-system"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/keepawake-rs"]
git = "https://github.com/rustdesk-org/keepawake-rs"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/machine-uid"]
git = "https://github.com/rustdesk-org/machine-uid"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/magnum-opus"]
git = "https://github.com/rustdesk-org/magnum-opus"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/pam"]
git = "https://github.com/rustdesk-org/pam"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/pam-sys?branch=fix/v1.0.0-alpha4_gnuc_va_list"]
git = "https://github.com/rustdesk-org/pam-sys"
branch = "fix/v1.0.0-alpha4_gnuc_va_list"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/parity-tokio-ipc"]
git = "https://github.com/rustdesk-org/parity-tokio-ipc"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/rdev"]
git = "https://github.com/rustdesk-org/rdev"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/reqwest"]
git = "https://github.com/rustdesk-org/reqwest"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/rust-webm"]
git = "https://github.com/rustdesk-org/rust-webm"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/sysinfo?branch=rlim_max"]
git = "https://github.com/rustdesk-org/sysinfo"
branch = "rlim_max"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/tao?branch=dev"]
git = "https://github.com/rustdesk-org/tao"
branch = "dev"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/tokio-socks"]
git = "https://github.com/rustdesk-org/tokio-socks"
replace-with = "vendored-sources"
[source."git+https://github.com/rustdesk-org/wallpaper.rs"]
git = "https://github.com/rustdesk-org/wallpaper.rs"
replace-with = "vendored-sources"
[source."git+https://github.com/tauri-apps/tray-icon"]
git = "https://github.com/tauri-apps/tray-icon"
replace-with = "vendored-sources"
[source.vendored-sources]
2024-10-11 18:45:32 +03:00
directory = "vendor"
2024-10-11 18:32:51 +03:00
EOF
%build
2024-10-14 17:04:08 +03:00
%rust_build --features linux-pkg-config,inline
2024-10-11 18:32:51 +03:00
%install
%rust_install
2024-10-14 17:04:08 +03:00
mkdir -p %{buildroot}/usr/lib/%name/
mkdir -p %_datadir/%name/files/
mkdir -p %_datadir/icons/hicolor/256x256/apps/
mkdir -p %_datadir/icons/hicolor/scalable/apps/
#install $HBB/libsciter-gtk.so %{buildroot}/usr/lib/rustdesk/libsciter-gtk.so
install ./res/%name.service %_datadir/%name/files/
install ./res/128x128@2x.png %_iconsdir/hicolor/256x256/apps/%name.png
install ./res/scalable.svg %_iconsdir/hicolor/scalable/apps/%name.svg
install ./res/%name.desktop %_datadir/%name/files/
install ./res/%name-link.desktop %_datadir/%name/files/
2024-10-11 18:32:51 +03:00
%check
2024-10-14 17:04:08 +03:00
%rust_test --features linux-pkg-config,inline -- --skip test_get_cursor_pos
2024-10-11 18:32:51 +03:00
%files
%doc *.md
2024-10-14 17:04:08 +03:00
2024-10-11 18:34:45 +03:00
%_bindir/*
2024-10-14 17:04:08 +03:00
#/usr/lib/rustdesk/libsciter-gtk.so
%_datadir/%name/files/%name.service
%_iconsdir/hicolor/256x256/apps/%name.png
%_iconsdir/hicolor/scalable/apps/%name.svg
%_datadir/%name/files/%name.desktop
%_datadir/%name/files/%name-link.desktop