From 8043b204720428f51247dd10e416f2f0326bc822 Mon Sep 17 00:00:00 2001 From: chrysos349 Date: Sat, 20 Apr 2024 21:31:56 +0300 Subject: [PATCH 1/2] cJSON: update to 1.7.17 --- srcpkgs/cJSON/patches/fix-cross.patch | 97 +++++++++++++++++++++ srcpkgs/cJSON/patches/fix-memory-leak.patch | 21 ----- srcpkgs/cJSON/template | 6 +- 3 files changed, 100 insertions(+), 24 deletions(-) create mode 100644 srcpkgs/cJSON/patches/fix-cross.patch delete mode 100644 srcpkgs/cJSON/patches/fix-memory-leak.patch diff --git a/srcpkgs/cJSON/patches/fix-cross.patch b/srcpkgs/cJSON/patches/fix-cross.patch new file mode 100644 index 00000000000000..33340bd827c38f --- /dev/null +++ b/srcpkgs/cJSON/patches/fix-cross.patch @@ -0,0 +1,97 @@ +help cmake find headers when cross-compiling +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0d807ea62..aa2057c43 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -146,25 +146,25 @@ endif() + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/library_config/libcjson.pc.in" + "${CMAKE_CURRENT_BINARY_DIR}/libcjson.pc" @ONLY) + +-install(FILES cJSON.h DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/cjson") +-install (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcjson.pc" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig") ++install(FILES cJSON.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/cjson") ++install (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcjson.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + install(TARGETS "${CJSON_LIB}" + EXPORT "${CJSON_LIB}" +- ARCHIVE DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" +- LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" +- RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}" +- INCLUDES DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ) + if (BUILD_SHARED_AND_STATIC_LIBS) + install(TARGETS "${CJSON_LIB}-static" + EXPORT "${CJSON_LIB}" +- ARCHIVE DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" +- INCLUDES DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ) + endif() + if(ENABLE_TARGET_EXPORT) + # export library information for CMake projects +- install(EXPORT "${CJSON_LIB}" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/cmake/cJSON") ++ install(EXPORT "${CJSON_LIB}" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/cJSON") + endif() + + if(ENABLE_CJSON_VERSION_SO) +@@ -199,23 +199,23 @@ if(ENABLE_CJSON_UTILS) + + install(TARGETS "${CJSON_UTILS_LIB}" + EXPORT "${CJSON_UTILS_LIB}" +- ARCHIVE DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" +- LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" +- RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}" +- INCLUDES DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ) + if (BUILD_SHARED_AND_STATIC_LIBS) + install(TARGETS "${CJSON_UTILS_LIB}-static" + EXPORT "${CJSON_UTILS_LIB}" +- ARCHIVE DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" +- INCLUDES DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ) + endif() +- install(FILES cJSON_Utils.h DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/cjson") +- install (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcjson_utils.pc" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig") ++ install(FILES cJSON_Utils.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/cjson") ++ install (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcjson_utils.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + if(ENABLE_TARGET_EXPORT) + # export library information for CMake projects +- install(EXPORT "${CJSON_UTILS_LIB}" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/cmake/cJSON") ++ install(EXPORT "${CJSON_UTILS_LIB}" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/cJSON") + endif() + + if(ENABLE_CJSON_VERSION_SO) +@@ -238,7 +238,7 @@ if(ENABLE_TARGET_EXPORT) + # Install package config files + install(FILES ${PROJECT_BINARY_DIR}/cJSONConfig.cmake + ${PROJECT_BINARY_DIR}/cJSONConfigVersion.cmake +- DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/cmake/cJSON") ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/cJSON") + endif() + + option(ENABLE_CJSON_TEST "Enable building cJSON test" ON) +diff --git a/library_config/cJSONConfig.cmake.in b/library_config/cJSONConfig.cmake.in +index 909f7a9ae..206566b39 100644 +--- a/library_config/cJSONConfig.cmake.in ++++ b/library_config/cJSONConfig.cmake.in +@@ -2,8 +2,8 @@ + set(CJSON_UTILS_FOUND @ENABLE_CJSON_UTILS@) + + # The include directories used by cJSON +-set(CJSON_INCLUDE_DIRS "@CMAKE_INSTALL_FULL_INCLUDEDIR@") +-set(CJSON_INCLUDE_DIR "@CMAKE_INSTALL_FULL_INCLUDEDIR@") ++set(CJSON_INCLUDE_DIRS "@CMAKE_INSTALL_INCLUDEDIR@") ++set(CJSON_INCLUDE_DIR "@CMAKE_INSTALL_INCLUDEDIR@") + + get_filename_component(_dir "${CMAKE_CURRENT_LIST_FILE}" PATH) + diff --git a/srcpkgs/cJSON/patches/fix-memory-leak.patch b/srcpkgs/cJSON/patches/fix-memory-leak.patch deleted file mode 100644 index 01556a6eb8e00e..00000000000000 --- a/srcpkgs/cJSON/patches/fix-memory-leak.patch +++ /dev/null @@ -1,21 +0,0 @@ -From f50dafc7d0bfd4f45449ab5665bfea831a82f2eb Mon Sep 17 00:00:00 2001 -From: Alan Wang <948467222@qq.com> -Date: Thu, 26 Aug 2021 14:13:42 +0800 -Subject: [PATCH] fix: potential memory leak in merge_patch() (#611) - ---- - cJSON_Utils.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/cJSON_Utils.c b/cJSON_Utils.c -index c7c64391..63651dfb 100644 ---- a/cJSON_Utils.c -+++ b/cJSON_Utils.c -@@ -1367,6 +1367,7 @@ static cJSON *merge_patch(cJSON *target, const cJSON * const patch, const cJSON_ - replacement = merge_patch(replace_me, patch_child, case_sensitive); - if (replacement == NULL) - { -+ cJSON_Delete(target); - return NULL; - } - diff --git a/srcpkgs/cJSON/template b/srcpkgs/cJSON/template index 63235062a77cb6..43a51a1be2d524 100644 --- a/srcpkgs/cJSON/template +++ b/srcpkgs/cJSON/template @@ -1,14 +1,14 @@ # Template file for 'cJSON' pkgname=cJSON -version=1.7.15 -revision=2 +version=1.7.17 +revision=1 build_style=cmake short_desc="Ultralightweight JSON parser in ANSI C" maintainer="Orphaned " license="MIT" homepage="https://github.com/DaveGamble/cJSON" distfiles="https://github.com/DaveGamble/cJSON/archive/v${version}.tar.gz" -checksum=5308fd4bd90cef7aa060558514de6a1a4a0819974a26e6ed13973c5f624c24b2 +checksum=c91d1eeb7175c50d49f6ba2a25e69b46bd05cffb798382c19bfb202e467ec51c post_install() { vlicense LICENSE From 822cdb134ab57a8370c28b817234e00b3e4c90ed Mon Sep 17 00:00:00 2001 From: chrysos349 Date: Sat, 20 Apr 2024 21:36:30 +0300 Subject: [PATCH 2/2] New package: freerdp3-3.5.0 --- common/shlibs | 8 ++ srcpkgs/freerdp3-devel | 1 + srcpkgs/freerdp3-server | 1 + srcpkgs/freerdp3/patches/fix-cross.patch | 14 +++ srcpkgs/freerdp3/template | 119 +++++++++++++++++++++++ srcpkgs/libfreerdp3 | 1 + srcpkgs/libfreerdp3-server | 1 + 7 files changed, 145 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/template create mode 120000 srcpkgs/libfreerdp3 create mode 120000 srcpkgs/libfreerdp3-server diff --git a/common/shlibs b/common/shlibs index 61a28fdc5b7436..119671bd0b870a 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1584,6 +1584,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.0_1 +libfreerdp-server-proxy3.so.3 libfreerdp3-server-3.5.0_1 +libfreerdp3-server.so.3 libfreerdp3-server-3.5.0_1 +libfreerdp-shadow-subsystem3.so.3 libfreerdp3-server-3.5.0_1 +libfreerdp-shadow3.so.3 libfreerdp3-server-3.5.0_1 +libfreerdp3.so.3 libfreerdp3-3.5.0_1 +libwinpr-tools3.so.3 libfreerdp3-3.5.0_1 +libwinpr3.so.3 libfreerdp3-3.5.0_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 00000000000000..d8e6da3ebcadf3 --- /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 00000000000000..d8e6da3ebcadf3 --- /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 00000000000000..9fa7f37f7b1f71 --- /dev/null +++ b/srcpkgs/freerdp3/patches/fix-cross.patch @@ -0,0 +1,14 @@ +help cmake generate manuals 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/srcpkgs/freerdp3/template b/srcpkgs/freerdp3/template new file mode 100644 index 00000000000000..1b91fe6973f0eb --- /dev/null +++ b/srcpkgs/freerdp3/template @@ -0,0 +1,119 @@ +# Template file for 'freerdp3' +pkgname=freerdp3 +version=3.5.0 +revision=1 +build_style=cmake +build_helper=qemu +configure_args=" + -DRDTK_FORCE_STATIC_BUILD=ON + -DUWAC_FORCE_STATIC_BUILD=ON + -DWITH_BINARY_VERSIONING=ON + + -DCHANNEL_URBDRC_CLIENT=ON + -DDOCBOOKXSL_DIR=/usr/share/xsl/docbook + -DPROXY_PLUGINDIR=/usr/lib/${pkgname}/server/proxy/plugins + -DWAYLAND_SCANNER=/usr/bin/wayland-scanner + -DXSLTPROC_EXECUTABLE=/usr/bin/xsltproc + + -DPKG_CONFIG_RELOCATABLE=NO + -DWITH_ALSA=ON + -DWITH_CAIRO=ON + -DWITH_CHANNELS=ON + -DWITH_CLIENT_CHANNELS=ON + -DWITH_CLIENT_SDL=ON + -DWITH_CUPS=ON + -DWITH_DSP_FFMPEG=ON + -DWITH_FFMPEG=ON + -DWITH_FREERDP_DEPRECATED_COMMANDLINE=ON + -DWITH_FUSE=ON + -DWITH_GSTREAMER_1_0=ON + -DWITH_ICU=ON + -DWITH_JPEG=ON + -DWITH_PCSC=ON + -DWITH_PULSE=ON + -DWITH_SERVER=ON + -DWITH_SERVER_CHANNELS=ON + -DWITH_SWSCALE=ON + -DWITH_WAYLAND=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 + + -DWITH_LIBSYSTEMD=OFF + -DWITH_SAMPLE=OFF" +hostmakedepends="pkg-config wayland-devel xmlto" +makedepends="alsa-lib-devel cJSON-devel cairo-devel cups-devel ffmpeg-devel + fuse3-devel icu-devel libXcursor-devel libXdamage-devel libXinerama-devel + libXrandr-devel libXv-devel libjpeg-turbo-devel libusb-devel libxkbcommon-devel + libxkbfile-devel mit-krb5-devel openssl-devel pcsclite-devel + pkcs11-helper-devel pulseaudio-devel uriparser-devel wayland-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/3.5.0/ChangeLog" +distfiles="https://github.com/FreeRDP/FreeRDP/archive/${version}.tar.gz" +checksum=03323b383980ee91decbed88270bac061ffb17fd04e52576c70da7885601ecbe +CFLAGS="-Wno-dev" + +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 00000000000000..d8e6da3ebcadf3 --- /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 00000000000000..d8e6da3ebcadf3 --- /dev/null +++ b/srcpkgs/libfreerdp3-server @@ -0,0 +1 @@ +freerdp3 \ No newline at end of file