From 775703a340012dd0cd7448d6a137ab82856af989 Mon Sep 17 00:00:00 2001 From: chrysos349 Date: Sat, 20 Apr 2024 21:36:30 +0300 Subject: [PATCH] New package: freerdp3-3.5.1 --- common/shlibs | 8 ++ srcpkgs/freerdp3-devel | 1 + srcpkgs/freerdp3-server | 1 + srcpkgs/freerdp3/patches/fix-cross.patch | 27 +++++ .../freerdp3/patches/use-webkit2gtk41.patch | 25 +++++ srcpkgs/freerdp3/template | 106 ++++++++++++++++++ srcpkgs/libfreerdp3 | 1 + srcpkgs/libfreerdp3-server | 1 + 8 files changed, 170 insertions(+) create mode 120000 srcpkgs/freerdp3-devel create mode 120000 srcpkgs/freerdp3-server create mode 100644 srcpkgs/freerdp3/patches/fix-cross.patch create mode 100644 srcpkgs/freerdp3/patches/use-webkit2gtk41.patch create mode 100644 srcpkgs/freerdp3/template create mode 120000 srcpkgs/libfreerdp3 create mode 120000 srcpkgs/libfreerdp3-server diff --git a/common/shlibs b/common/shlibs index 092fd9b409d..e93d4cd63ae 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1587,6 +1587,14 @@ libuwac0.so.0 libfreerdp-2.2.0_3 libfreerdp-server2.so.2 libfreerdp-server-2.4.0_1 libfreerdp-shadow-subsystem2.so.2 libfreerdp-server-2.4.0_1 libfreerdp-shadow2.so.2 libfreerdp-server-2.4.0_1 +libfreerdp-client3.so.3 libfreerdp3-3.5.1_1 +libfreerdp-server-proxy3.so.3 libfreerdp3-server-3.5.1_1 +libfreerdp-server3.so.3 libfreerdp3-server-3.5.1_1 +libfreerdp-shadow-subsystem3.so.3 libfreerdp3-server-3.5.1_1 +libfreerdp-shadow3.so.3 libfreerdp3-server-3.5.1_1 +libfreerdp3.so.3 libfreerdp3-3.5.1_1 +libwinpr-tools3.so.3 libfreerdp3-3.5.1_1 +libwinpr3.so.3 libfreerdp3-3.5.1_1 libcppunit-1.15.so.1 libcppunit-1.15.1_1 libcalc.so.2.14.3.5 libcalc-2.14.3.5_1 libcustcalc.so.2.14.3.5 libcalc-2.14.3.5_1 diff --git a/srcpkgs/freerdp3-devel b/srcpkgs/freerdp3-devel new file mode 120000 index 00000000000..d8e6da3ebca --- /dev/null +++ b/srcpkgs/freerdp3-devel @@ -0,0 +1 @@ +freerdp3 \ No newline at end of file diff --git a/srcpkgs/freerdp3-server b/srcpkgs/freerdp3-server new file mode 120000 index 00000000000..d8e6da3ebca --- /dev/null +++ b/srcpkgs/freerdp3-server @@ -0,0 +1 @@ +freerdp3 \ No newline at end of file diff --git a/srcpkgs/freerdp3/patches/fix-cross.patch b/srcpkgs/freerdp3/patches/fix-cross.patch new file mode 100644 index 00000000000..7aea0e91a92 --- /dev/null +++ b/srcpkgs/freerdp3/patches/fix-cross.patch @@ -0,0 +1,27 @@ +help cmake run executables when cross-compiling +diff --git a/cmake/InstallFreeRDPMan.cmake b/cmake/InstallFreeRDPMan.cmake +index c333f6497..2dff84966 100644 +--- a/cmake/InstallFreeRDPMan.cmake ++++ b/cmake/InstallFreeRDPMan.cmake +@@ -57,7 +57,7 @@ function(generate_and_install_freerdp_man_from_xml name_base section api depende + + add_custom_command( + OUTPUT "${manpage}" +- COMMAND ${CMAKE_BINARY_DIR}/client/common/man/generate_argument_docbook ++ COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} ${CMAKE_BINARY_DIR}/client/common/man/generate_argument_docbook + COMMAND ${XSLTPROC_EXECUTABLE} --path "${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}" ${DOCBOOKXSL_DIR}/manpages/docbook.xsl ${manpage}.xml + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS +diff --git a/client/SDL/dialogs/res/CMakeLists.txt b/client/SDL/dialogs/res/CMakeLists.txt +index 5591e4af6..0b0946534 100644 +--- a/client/SDL/dialogs/res/CMakeLists.txt ++++ b/client/SDL/dialogs/res/CMakeLists.txt +@@ -33,7 +33,7 @@ macro(convert_to_bin FILE FILE_TYPE) + add_custom_command( + OUTPUT ${FILE_BYPRODUCTS} + COMMAND ${CMAKE_COMMAND} -E make_directory ${FILE_BIN_DIR} +- COMMAND $ ${FILE} ${FILE_TYPE} ${TARGET_NAME} ${FILE_BIN_DIR} ++ COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${FILE} ${FILE_TYPE} ${TARGET_NAME} ${FILE_BIN_DIR} + COMMENT "create image resources" + DEPENDS freerdp-res2bin + DEPENDS ${FILE} diff --git a/srcpkgs/freerdp3/patches/use-webkit2gtk41.patch b/srcpkgs/freerdp3/patches/use-webkit2gtk41.patch new file mode 100644 index 00000000000..432d9fdf414 --- /dev/null +++ b/srcpkgs/freerdp3/patches/use-webkit2gtk41.patch @@ -0,0 +1,25 @@ +From 3de172e7da393e8d544b7eb38ce9db7d18c468b1 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Mon, 25 Mar 2024 20:12:08 +0100 +Subject: [PATCH 1/1] Use webkit2gtk-4.1 + +--- + client/SDL/aad/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/client/SDL/aad/CMakeLists.txt b/client/SDL/aad/CMakeLists.txt +index 228654262..d13fb907e 100644 +--- a/client/SDL/aad/CMakeLists.txt ++++ b/client/SDL/aad/CMakeLists.txt +@@ -44,7 +44,7 @@ if (WITH_WEBVIEW) + ) + else() + find_package(PkgConfig REQUIRED) +- pkg_check_modules(WEBVIEW_GTK webkit2gtk-4.0 REQUIRED) ++ pkg_check_modules(WEBVIEW_GTK webkit2gtk-4.1 REQUIRED) + include_directories(${WEBVIEW_GTK_INCLUDE_DIRS}) + list(APPEND LIBS + ${WEBVIEW_GTK_LIBRARIES} +-- +2.44.0 + diff --git a/srcpkgs/freerdp3/template b/srcpkgs/freerdp3/template new file mode 100644 index 00000000000..864b2b207d3 --- /dev/null +++ b/srcpkgs/freerdp3/template @@ -0,0 +1,106 @@ +# Template file for 'freerdp3' +pkgname=freerdp3 +version=3.5.1 +revision=1 +build_style=cmake +build_helper=qemu +configure_args="-DCHANNEL_URBDRC_CLIENT=ON -DDOCBOOKXSL_DIR=/usr/share/xsl/docbook + -DPKG_CONFIG_RELOCATABLE=OFF -DPROXY_PLUGINDIR=/usr/lib/${pkgname}/server/proxy/plugins + -DRDTK_FORCE_STATIC_BUILD=ON -DWAYLAND_SCANNER=/usr/bin/wayland-scanner + -DWITH_BINARY_VERSIONING=ON -DXSLTPROC_EXECUTABLE=/usr/bin/xsltproc + -DWITH_ALSA=ON -DWITH_CHANNELS=ON -DWITH_CLIENT_CHANNELS=ON -DWITH_CUPS=ON + -DWITH_FREERDP_DEPRECATED_COMMANDLINE=ON -DWITH_FUSE=ON -DWITH_GSTREAMER_1_0=OFF + -DWITH_ICU=ON -DWITH_JPEG=ON -DWITH_LIBSYSTEMD=OFF -DWITH_PULSE=ON -DWITH_SAMPLE=OFF + -DWITH_SERVER=ON -DWITH_SERVER_CHANNELS=ON -DWITH_WINPR_TOOLS=ON -DWITH_X11=ON + -DWITH_XCURSOR=ON -DWITH_XEXT=ON -DWITH_XI=ON -DWITH_XINERAMA=ON -DWITH_XKBFILE=ON + -DWITH_XRENDER=ON -DWITH_XV=ON -DUWAC_FORCE_STATIC_BUILD=$(vopt_if wayland ON OFF) + -DWITH_AAD=$(vopt_if aad ON OFF) -DWITH_CAIRO=$(vopt_if ffmpeg OFF ON) + -DWITH_CLIENT_SDL=$(vopt_if sdl2 ON OFF) -DWITH_DSP_FFMPEG=$(vopt_if ffmpeg ON OFF) + -DWITH_FFMPEG=$(vopt_if ffmpeg ON OFF) -DWITH_PCSC=$(vopt_if smartcard ON OFF) + -DWITH_PKCS11=$(vopt_if smartcard ON OFF) -DWITH_SWSCALE=$(vopt_if ffmpeg ON OFF) + -DWITH_WAYLAND=$(vopt_if wayland ON OFF) -DWITH_WEBVIEW=$(vopt_if webview ON OFF)" +hostmakedepends="pkg-config xmlto $(vopt_if wayland wayland-devel)" +makedepends="alsa-lib-devel cups-devel fuse3-devel icu-devel libXcursor-devel + libXdamage-devel libXinerama-devel libXrandr-devel libXv-devel + libjpeg-turbo-devel libusb-devel libxkbfile-devel mit-krb5-devel openssl-devel + pulseaudio-devel uriparser-devel $(vopt_if aad cJSON-devel) + $(vopt_if ffmpeg ffmpeg-devel cairo-devel) $(vopt_if sdl2 SDL2_ttf-devel) + $(vopt_if smartcard 'pcsclite-devel pkcs11-helper-devel') + $(vopt_if wayland 'libxkbcommon-devel wayland-devel') + $(vopt_if webview libwebkit2gtk41-devel)" +short_desc="Free RDP (Remote Desktop Protocol) client" +maintainer="chrysos349 " +license="Apache-2.0" +homepage="https://www.freerdp.com/" +changelog="https://raw.githubusercontent.com/FreeRDP/FreeRDP/master/ChangeLog" +distfiles="https://github.com/FreeRDP/FreeRDP/archive/${version}.tar.gz" +checksum=bb40028c90c156799bc26a8b5837754a62805ee371e988efc61903c7263843b1 +CFLAGS="-Wno-dev" + +# wayland - deprecated, sdl2 - experimental +build_options="aad ffmpeg sdl2 smartcard wayland webview" +build_options_default="aad ffmpeg sdl2 smartcard" + +desc_option_aad="Compile with support for Azure AD authentication" +desc_option_smartcard="Build with smartcard support" +desc_option_webview="Build with WebView support for AAD login popup browser" + +if [ "$build_option_webview" -a -z "$build_option_sdl2" ]; then + broken="WebView requires SDL" +fi + +case "$XBPS_TARGET_MACHINE" in + i686*|x86_64*) configure_args+=" -DWITH_SSE2=ON" ;; + armv5tel*) configure_args+=" -DWITH_NEON=OFF" ;; +esac + +if [ "$CROSS_BUILD" ]; then + configure_args+=" + -DCMAKE_CXX_COMPILER_AR=/usr/bin/${XBPS_CROSS_TRIPLET}-ar + -DCMAKE_CXX_COMPILER_RANLIB=/usr/bin/${XBPS_CROSS_TRIPLET}-ranlib" + + pre_configure() { + export CXX="$XBPS_WRAPPERDIR/${XBPS_CROSS_TRIPLET}-c++" + } +fi + +# first we want to separate -server, everything else then goes to client +subpackages="libfreerdp3-server freerdp3-server libfreerdp3 freerdp3-devel" + +libfreerdp3_package() { + short_desc+=" - runtime libraries" + pkg_install() { + vmove "usr/lib/*.so.*" + } +} + +freerdp3-devel_package() { + short_desc+=" - development files" + depends="cJSON-devel libfreerdp3-server>=${version}_${revision} + libfreerdp3>=${version}_${revision} openssl-devel" + pkg_install() { + vmove "usr/lib/*.so" + vmove usr/include + vmove usr/lib/cmake + vmove usr/lib/pkgconfig + } +} + +libfreerdp3-server_package() { + short_desc="Free RDP (Remote Desktop Protocol) server - runtime libraries" + pkg_install() { + vmove "usr/lib/freerdp3/server/proxy/plugins" + vmove "usr/lib/libfreerdp-server*.so.*" + vmove "usr/lib/libfreerdp-shadow*.so.*" + } +} + +freerdp3-server_package() { + short_desc="Free RDP (Remote Desktop Protocol) server" + pkg_install() { + vmove usr/bin/freerdp-proxy3 + vmove usr/bin/freerdp-shadow-cli3 + vmove usr/share/man/man1/freerdp-proxy3.1 + vmove usr/share/man/man1/freerdp-shadow-cli3.1 + } +} diff --git a/srcpkgs/libfreerdp3 b/srcpkgs/libfreerdp3 new file mode 120000 index 00000000000..d8e6da3ebca --- /dev/null +++ b/srcpkgs/libfreerdp3 @@ -0,0 +1 @@ +freerdp3 \ No newline at end of file diff --git a/srcpkgs/libfreerdp3-server b/srcpkgs/libfreerdp3-server new file mode 120000 index 00000000000..d8e6da3ebca --- /dev/null +++ b/srcpkgs/libfreerdp3-server @@ -0,0 +1 @@ +freerdp3 \ No newline at end of file