rustdesk/rustdesk.spec
Sergey Konev cf26111a6b
Some checks failed
Full Flutter CI / run-ci (push) Has been skipped
CI / ${{ matrix.job.target }} (${{ matrix.job.os }}) (map[os:ubuntu-20.04 target:x86_64-unknown-linux-gnu]) (push) Failing after 2m4s
Flutter Nightly Build / run-flutter-nightly-build (push) Has been skipped
Spec changes
2024-10-14 17:04:08 +03:00

216 lines
6.8 KiB
RPMSpec

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
tar xf vendor.tar.gz
# used to inline all GUI stuff to binary (html/css)
chmod +x ./res/inline-sciter.py
./res/inline-sciter.py
mkdir -p ./.cargo
cat >> ./.cargo/config.toml <<EOF
[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]
directory = "vendor"
EOF
%build
%rust_build --features linux-pkg-config,inline
%install
%rust_install
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/
%check
%rust_test --features linux-pkg-config,inline -- --skip test_get_cursor_pos
%files
%doc *.md
%_bindir/*
#/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