Name:           freerdp
Version:        3.30.0
Release:        1
Epoch:          2
Summary:        A Remote Desktop Protocol Implementation
License:        Apache-2.0
URL:            https://www.freerdp.com

Source0:        https://pub.freerdp.com/releases/%{name}-%{version}.tar.xz

BuildRequires: cmake >= 3.13
BuildRequires: ninja-build
BuildRequires: alsa-lib-devel
BuildRequires: cups-devel
BuildRequires: ffmpeg-devel
BuildRequires: gsm-devel
BuildRequires: krb5-devel
BuildRequires: libicu-devel
BuildRequires: libX11-devel
BuildRequires: libXcursor-devel
BuildRequires: libXdamage-devel
BuildRequires: libXext-devel
BuildRequires: libXi-devel
BuildRequires: libXinerama-devel
BuildRequires: libXrandr-devel
BuildRequires: libXv-devel
BuildRequires: libxkbfile-devel
BuildRequires: pam-devel
BuildRequires: xmlto
BuildRequires: zlib-devel
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(fuse3)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(libcjson)
BuildRequires: pkgconfig(libpcsclite)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(liburiparser)
BuildRequires: pkgconfig(libusb-1.0)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(opus)
BuildRequires: pkgconfig(xkbcommon)

Requires:       libwinpr = %{?epoch}:%{version}-%{release} systemd-pam
Provides:       %{name}-libs = %{?epoch}:%{version}-%{release} xfreerdp = %{version}-%{release}
Provides:       %{name}-plugins = %{?epoch}:%{version}-%{release}
Provides:       %{name}-server = %{?epoch}:%{version}-%{release}
Obsoletes:      %{name}-server < %{?epoch}:%{version}-%{release}  %{name}-plugins < 1:1.1.0
Obsoletes:      %{name}-libs < %{?epoch}:%{version}-%{release}

%description
FreeRDP is a client implementation of the Remote Desktop Protocol (RDP) that follows Microsoft's
open specifications. This package provides the client applications xfreerdp.

%package        devel
Summary:        Development support for freerdp
Requires:       %{name} = %{?epoch}:%{version}-%{release}

%description    devel
Development headers and libraries for freerdp-libs.

%package -n     libwinpr
Summary:        Windows Portable Runtime
Provides:       %{name}-libwinpr = %{?epoch}:%{version}-%{release}
Obsoletes:      %{name}-libwinpr < %{?epoch}:%{version}-%{release}

%description -n libwinpr
WinPR provides API compatibility for non-Windows applications surroundings.
On Windows, you can use the native API and use it to change the code.

%package -n     libwinpr-devel
Summary:        Windows Portable Runtime development headers and libraries
Requires:       libwinpr = %{?epoch}:%{version}-%{release}

%description -n libwinpr-devel
Development headers and libraries for freerdp-libwinpr.

%package_help

%prep
%autosetup -p1 -n %{name}-%{version}

%build
%cmake -GNinja %{?_cmake_skip_rpath} \
    -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} -DWITH_ALSA=ON -DWITH_CUPS=ON -DWITH_CHANNELS=ON \
    -DWITH_CLIENT=ON -DWITH_DIRECTFB=OFF -DWITH_FFMPEG=ON -DWITH_GSM=ON \
    -DWITH_GSSAPI=OFF \
    -DWITH_IPP=OFF -DWITH_JPEG=ON \
    -DWITH_MANPAGES=ON -DWITH_OPENH264=OFF -DWITH_VAAPI=ON \
    -DWITH_OPENSSL=ON -DWITH_PCSC=ON -DWITH_PULSE=ON -DWITH_SERVER=ON -DWITH_SERVER_INTERFACE=ON \
    -DWITH_SHADOW_X11=ON -DWITH_SHADOW_MAC=ON -DWITH_WAYLAND=OFF -DWITH_X11=ON \
    -DWITH_X264=OFF -DWITH_XCURSOR=ON -DWITH_XEXT=ON \
    -DWITH_XKBFILE=ON -DWITH_XI=ON -DWITH_XINERAMA=ON -DWITH_XRENDER=ON -DWITH_XTEST=OFF \
    -DWITH_XV=ON -DWITH_ZLIB=ON \
    -DWITH_CLIENT_SDL=OFF

%cmake_build

%install
%cmake_install

%files
%license LICENSE
%doc README.md ChangeLog
%{_bindir}/freerdp-proxy
%{_bindir}/freerdp-shadow-cli
%{_bindir}/sfreerdp
%{_bindir}/sfreerdp-server
%{_bindir}/winpr-hash
%{_bindir}/winpr-makecert
%{_bindir}/xfreerdp
%{_datadir}/FreeRDP
%{_libdir}/libfreerdp-client3.so.*
%{_libdir}/libfreerdp-server-proxy3.so.*
%{_libdir}/libfreerdp-server3.so.*
%{_libdir}/libfreerdp-shadow-subsystem3.so.*
%{_libdir}/libfreerdp-shadow3.so.*
%{_libdir}/libfreerdp3.so.*
%dir %{_libdir}/freerdp3
%dir %{_libdir}/freerdp3/proxy
%{_libdir}/freerdp3/proxy/*

%files devel
%{_includedir}/freerdp3
%{_libdir}/cmake/FreeRDP-Client3
%{_libdir}/cmake/FreeRDP-Proxy3
%{_libdir}/cmake/FreeRDP-Server3
%{_libdir}/cmake/FreeRDP-Shadow3
%{_libdir}/cmake/FreeRDP3
%{_libdir}/libfreerdp-client3.so
%{_libdir}/libfreerdp-server-proxy3.so
%{_libdir}/libfreerdp-server3.so
%{_libdir}/libfreerdp-shadow-subsystem3.so
%{_libdir}/libfreerdp-shadow3.so
%{_libdir}/libfreerdp3.so
%{_libdir}/pkgconfig/freerdp-client3.pc
%{_libdir}/pkgconfig/freerdp-server-proxy3.pc
%{_libdir}/pkgconfig/freerdp-server3.pc
%{_libdir}/pkgconfig/freerdp-shadow3.pc
%{_libdir}/pkgconfig/freerdp3.pc

%files -n libwinpr
%license LICENSE
%doc README.md ChangeLog
%{_libdir}/libwinpr-tools3.so.*
%{_libdir}/libwinpr3.so.*

%files -n libwinpr-devel
%{_includedir}/winpr3
%{_libdir}/libwinpr-tools3.so
%{_libdir}/libwinpr3.so
%{_libdir}/cmake/WinPR-tools3
%{_libdir}/cmake/WinPR3
%{_libdir}/pkgconfig/winpr-tools3.pc
%{_libdir}/pkgconfig/winpr3.pc

%files help
%{_mandir}/man?/*

%changelog
* Thu Jul 16 2026 Funda Wang <fundawang@yeah.net> - 2:3.30.0-1
- update to 3.30.0

* Thu Jul 16 2026 Funda Wang <fundawang@yeah.net> - 2:3.29.0-1
- update to 3.29.0

* Mon Jul 06 2026 yueyuankun <yueyuankun@kylinos.cn> - 2:3.28.0-1
- update to 3.28.0

* Fri Jun 19 2026 Funda Wang <fundawang@yeah.net> - 2:3.27.1-1
- update to 3.27.1

* Tue Jun 16 2026 Funda Wang <fundawang@yeah.net> - 2:3.27.0-1
- update to 3.27.0

* Sun May 10 2026 Funda Wang <fundawang@yeah.net> - 2:3.26.0-1
- update to 3.26.0

* Thu Apr 23 2026 Funda Wang <fundawang@yeah.net> - 2:3.25.0-1
- update to 3.25.0

* Thu Mar 26 2026 Funda Wang <fundawang@yeah.net> - 2:3.24.2-1
- update to 3.24.2

* Wed Mar 18 2026 Funda Wang <fundawang@yeah.net> - 2:3.24.1-1
- update to 3.24.1

* Mon Mar 16 2026 wangkai <13474090681@163.com> - 2:3.24.0-1
- Update to 3.24.0
- Fix CVE-2026-29774, CVE-2026-29775, CVE-2026-29776, CVE-2026-31806,
  CVE-2026-31883, CVE-2026-31884, CVE-2026-31885, CVE-2026-31897

* Wed Feb 25 2026 Funda Wang <fundawang@yeah.net> - 2:3.23.0-1
- update to 3.23.0

* Thu Jan 29 2026 Funda Wang <fundawang@yeah.net> - 2:3.22.0-1
- update to 3.22.0

* Tue Jan 20 2026 Funda Wang <fundawang@yeah.net> - 2:3.21.0-1
- update to 3.21.0

* Thu Jan 15 2026 Funda Wang <fundawang@yeah.net> - 2:3.20.2-1
- update to 3.20.2

* Mon Dec 22 2025 Funda Wang <fundawang@yeah.net> - 2:3.20.0-1
- update to 3.20.0

* Sat Dec 13 2025 Funda Wang <fundawang@yeah.net> - 2:3.19.1-1
- update to 3.19.1

* Sun Nov 23 2025 Funda Wang <fundawang@yeah.net> - 2:3.18.0-1
- update to 3.18.0

* Tue Oct 14 2025 Funda Wang <fundawang@yeah.net> - 2:3.17.2-3
- Fix gnome-remote-desktop build

* Mon Oct 06 2025 Funda Wang <fundawang@yeah.net> - 2:3.17.2-2
- enabling hardware decoding support

* Thu Sep 25 2025 Funda Wang <fundawang@yeah.net> - 2:3.17.2-1
- update to 3.17.2

* Tue Sep 02 2025 Funda Wang <fundawang@yeah.net> - 2:3.17.1-1
- update to 3.17.1

* Sun Aug 24 2025 Funda Wang <fundawang@yeah.net> - 2:3.17.0-1
- update to 3.17.0

* Sun Jul 13 2025 Funda Wang <fundawang@yeah.net> - 2:3.16.0-2
- add missing buildrequires

* Sun Jun 29 2025 Funda Wang <fundawang@yeah.net> - 2:3.16.0-1
- update to 3.16.0

* Fri May 23 2025 Funda Wang <fundawang@yeah.net> - 2:3.15.0-2
- fix CVE-2025-4478

* Mon Apr 21 2025 Funda Wang <fundawang@yeah.net> - 2:3.15.0-1
- update to 3.15.0

* Wed Apr 09 2025 Funda Wang <fundawang@yeah.net> - 2:3.14.1-1
- update to 3.14.1

* Thu Mar 06 2025 Funda Wang <fundawang@yeah.net> - 2:2.11.7-6
- build with cmake 4.0

* Tue Jan 28 2025 Funda Wang <fundawang@yeah.net> - 2:2.11.7-5
- fix build with cmake macro migration

* Mon Nov 18 2024 Funda Wang <fundawang@yeah.net> - 2:2.11.7-4
- adopt to new cmake macro

* Mon Aug 05 2024 yanying <201250106@smail.nju.edu.cn> - 2:2.11.7-3
- Fix clang incompatible function pointer error

* Mon May 06 2024 wangkai <13474090681@163.com> - 2:2.11.7-2
- Fix CVE-2024-32661

* Tue Apr 23 2024 wangkai <13474090681@163.com> - 2:2.11.7-1
- Update to 2.11.7 for fix CVE-2024-32039,CVE-2024-32040,
  CVE-2024-32041,CVE-2024-32458,CVE-2024-32459,CVE-2024-32460,
  CVE-2024-32658,CVE-2024-32659 and CVE-2024-32660

* Wed Jan 24 2024 wangkai <13474090681@163.com> - 2:2.11.1-2
- Fix CVE-2024-22211

* Wed Sep 06 2023 Funda Wang <fundawang@yeah.net> - 2:2.11.1-1
- 2.11.1

* Sun Apr 23 2023 liyanan <thistleslyn@163.com> - 2:2.10.0-1
- upgrade 2.10.0

* Tue Dec 13 2022 liyanan <liyanan32@h-partners.com>  - 2:2.8.1-4
- add requires systemd-pam

* Fri Nov 25 2022 liyuxiang <liyuxiang@ncti-gba.cn> - 2:2.8.1-3
- Fix CVE-2022-39320
- Fix CVE-2022-39317

* Tue Nov 22 2022 liyuxiang <liyuxiang@ncti-gba.cn> - 2:2.8.1-2
- Fix CVE-2022-39316
- Fix CVE-2022-39318
- Fix CVE-2022-39319
- Fix CVE-2022-39347
- Fix CVE-2022-41877

* Thu Oct 20 2022 jiangpeng <jiangpeng01@ncti-gba.cn> - 2:2.8.1-1
- Upgrade to 2.8.1
- Fix CVE-2022-39282

* Sat May 07 2022 houyingchao <houyingchao@h-partners.com> - 2:2.7.0-1
- Upgrade to 2.7.0
- Fix CVE-2022-24882 CVE-2022-24883

* Mon Nov 08 2021 lingsheng <lingsheng@huawei.com> - 2:2.4.1-2
- Add ldconfig config file to fix freerdp-proxy dynamic library dependency

* Tue Nov 2 2021 yaoxin <yaoxin30@huawei.com> - 2:2.4.1-1
- Upgrade freerdp to 2.4.1 for fix CVE-2021-41159, CVE-2021-41160

* Wed Jan 27 2021 sunguoshuai <sunguoshuai@huawei.com> - 2:2.2.0-2
- Fix xfreerdp and free-rdpshadow-cli exit codes for help and similar option

* Wed Jan 6 2021 zhanghua <zhanghua40@huawei.com> - 2:2.2.0-1
- Type: cves
- ID: NA
- SUG: NA
- DESC: update to 2.2.0 to fix cves, fix changelog version

* Wed May 20 2020 maqiang <maqiang42@huawei.com> - 2:2.0.0-45.rc3
- Change release

* Wed Nov 20 2019 duyeyu <duyeyu@huawei.com> - 2:2.0.0-44.rc3
- Package init