Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] New package: freerdp3-3.5.0
@ 2024-04-22 11:33 chrysos349
  2024-04-22 12:17 ` [PR REVIEW] " ahesford
                   ` (25 more replies)
  0 siblings, 26 replies; 29+ messages in thread
From: chrysos349 @ 2024-04-22 11:33 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 799 bytes --]

There is a new pull request by chrysos349 against master on the void-packages repository

https://github.com/chrysos349/void-packages freerdp3
https://github.com/void-linux/void-packages/pull/49982

New package: freerdp3-3.5.0
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (x86_64)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl x
  - armv7l x
  - armv6l-musl x

A patch file from https://github.com/void-linux/void-packages/pull/49982.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-freerdp3-49982.patch --]
[-- Type: text/x-diff, Size: 9610 bytes --]

From b1e5ec35cdca36b32319f2958f7457c6d8949608 Mon Sep 17 00:00:00 2001
From: chrysos349 <chrysostom349@gmail.com>
Date: Sat, 20 Apr 2024 21:31:56 +0300
Subject: [PATCH 1/2] cJSON: update to 1.7.17

---
 srcpkgs/cJSON/patches/fix-memory-leak.patch | 21 ---------------------
 srcpkgs/cJSON/template                      | 12 +++++++++---
 2 files changed, 9 insertions(+), 24 deletions(-)
 delete mode 100644 srcpkgs/cJSON/patches/fix-memory-leak.patch

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..e1b317093853cd 100644
--- a/srcpkgs/cJSON/template
+++ b/srcpkgs/cJSON/template
@@ -1,14 +1,20 @@
 # 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 <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/DaveGamble/cJSON"
 distfiles="https://github.com/DaveGamble/cJSON/archive/v${version}.tar.gz"
-checksum=5308fd4bd90cef7aa060558514de6a1a4a0819974a26e6ed13973c5f624c24b2
+checksum=c91d1eeb7175c50d49f6ba2a25e69b46bd05cffb798382c19bfb202e467ec51c
+
+# help cmake find headers when cross-compiling
+post_patch() {
+	vsed -i CMakeLists.txt library_config/cJSONConfig.cmake.in \
+		-e "/CMAKE_INSTALL/s/_FULL//g"
+}
 
 post_install() {
 	vlicense LICENSE

From b07f60e9105aba25d6eebeff7b6bbcf0fdb09730 Mon Sep 17 00:00:00 2001
From: chrysos349 <chrysostom349@gmail.com>
Date: Sat, 20 Apr 2024 21:36:30 +0300
Subject: [PATCH 2/2] New package: freerdp3-3.5.0

---
 common/shlibs                 |   8 ++
 srcpkgs/freerdp-server3       |   1 +
 srcpkgs/freerdp-server3-devel |   1 +
 srcpkgs/freerdp3-devel        |   1 +
 srcpkgs/freerdp3/template     | 143 ++++++++++++++++++++++++++++++++++
 srcpkgs/libfreerdp-server3    |   1 +
 srcpkgs/libfreerdp3           |   1 +
 7 files changed, 156 insertions(+)
 create mode 120000 srcpkgs/freerdp-server3
 create mode 120000 srcpkgs/freerdp-server3-devel
 create mode 120000 srcpkgs/freerdp3-devel
 create mode 100644 srcpkgs/freerdp3/template
 create mode 120000 srcpkgs/libfreerdp-server3
 create mode 120000 srcpkgs/libfreerdp3

diff --git a/common/shlibs b/common/shlibs
index 61a28fdc5b7436..24c47ea63c0f53 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 libfreerdp-server3-3.5.0_1
+libfreerdp-server3.so.3 libfreerdp-server3-3.5.0_1
+libfreerdp-shadow-subsystem3.so.3 libfreerdp-server3-3.5.0_1
+libfreerdp-shadow3.so.3 libfreerdp-server3-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/freerdp-server3 b/srcpkgs/freerdp-server3
new file mode 120000
index 00000000000000..d8e6da3ebcadf3
--- /dev/null
+++ b/srcpkgs/freerdp-server3
@@ -0,0 +1 @@
+freerdp3
\ No newline at end of file
diff --git a/srcpkgs/freerdp-server3-devel b/srcpkgs/freerdp-server3-devel
new file mode 120000
index 00000000000000..d8e6da3ebcadf3
--- /dev/null
+++ b/srcpkgs/freerdp-server3-devel
@@ -0,0 +1 @@
+freerdp3
\ No newline at end of file
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/template b/srcpkgs/freerdp3/template
new file mode 100644
index 00000000000000..f9e86170dcb905
--- /dev/null
+++ b/srcpkgs/freerdp3/template
@@ -0,0 +1,143 @@
+# 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 <chrysostom349@gmail.com>"
+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"
+
+# help cmake generate manuals when cross-compiling
+post_patch() {
+	vsed -i cmake/InstallFreeRDPMan.cmake \
+		-e '/generate_argument_docbook/s/COMMAND/& \${CMAKE_CROSSCOMPILING_EMULATOR}/'
+}
+
+pre_configure() {
+	if [ "$CROSS_BUILD" ]; then
+		export CXX="$XBPS_WRAPPERDIR/${XBPS_CROSS_TRIPLET}-c++"
+		configure_args+="
+		 -DCMAKE_CXX_COMPILER_AR=/usr/bin/${XBPS_CROSS_TRIPLET}-ar
+		 -DCMAKE_CXX_COMPILER_RANLIB=/usr/bin/${XBPS_CROSS_TRIPLET}-ranlib"
+	fi
+}
+
+case "$XBPS_TARGET_MACHINE" in
+	i686*|x86_64*) configure_args+=" -DWITH_SSE2=ON";;
+	armv5tel*) configure_args+=" -DWITH_NEON=OFF";;
+esac
+
+# first we want to separate -server, everything else then goes to client
+subpackages="libfreerdp-server3 freerdp-server3 freerdp-server3-devel
+ 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>=${version}_${revision}
+	 openssl-devel"
+	pkg_install() {
+		vmove "usr/lib/*.so"
+		vmove usr/include
+		vmove usr/lib/cmake
+		vmove usr/lib/pkgconfig
+	}
+}
+
+libfreerdp-server3_package() {
+	short_desc="Free RDP (Remote Desktop Protocol) server - runtime files"
+	depends="libfreerdp3>=${version}_${revision}"
+	pkg_install() {
+		vmove "usr/lib/freerdp3/server/proxy/plugins"
+		vmove "usr/lib/libfreerdp-server*.so.*"
+		vmove "usr/lib/libfreerdp-shadow*.so.*"
+	}
+}
+
+freerdp-server3_package() {
+	short_desc="Free RDP (Remote Desktop Protocol) server"
+	depends="libfreerdp-server3>=${version}_${revision}"
+	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
+	}
+}
+
+freerdp-server3-devel_package() {
+	depends="libfreerdp-server3>=${version}_${revision}
+	 freerdp3-devel>=${version}_${revision}"
+	short_desc="Free RDP (Remote Desktop Protocol) server - development files"
+	pkg_install() {
+		vmove "usr/lib/libfreerdp-server*.so"
+		vmove "usr/lib/libfreerdp-shadow*.so"
+		vmove usr/lib/cmake/FreeRDP-Proxy3
+		vmove usr/lib/cmake/FreeRDP-Server3
+		vmove usr/lib/cmake/FreeRDP-Shadow3
+		vmove usr/lib/pkgconfig/freerdp-server-proxy3.pc
+		vmove usr/lib/pkgconfig/freerdp-server3.pc
+		vmove usr/lib/pkgconfig/freerdp-shadow3.pc
+	}
+}
diff --git a/srcpkgs/libfreerdp-server3 b/srcpkgs/libfreerdp-server3
new file mode 120000
index 00000000000000..d8e6da3ebcadf3
--- /dev/null
+++ b/srcpkgs/libfreerdp-server3
@@ -0,0 +1 @@
+freerdp3
\ No newline at end of file
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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR REVIEW] New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (3 preceding siblings ...)
  2024-04-22 12:17 ` ahesford
@ 2024-04-22 12:17 ` ahesford
  2024-04-22 12:17 ` ahesford
                   ` (20 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: ahesford @ 2024-04-22 12:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 191 bytes --]

New review comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/49982#discussion_r1574639324

Comment:
Don't use `vsed` here; add a proper patch.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR REVIEW] New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (6 preceding siblings ...)
  2024-04-22 12:17 ` ahesford
@ 2024-04-22 12:17 ` ahesford
  2024-04-22 12:17 ` ahesford
                   ` (17 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: ahesford @ 2024-04-22 12:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 192 bytes --]

New review comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/49982#discussion_r1574652721

Comment:
Package should be called `freerdp3-server`.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR REVIEW] New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
@ 2024-04-22 12:17 ` ahesford
  2024-04-22 12:17 ` ahesford
                   ` (24 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: ahesford @ 2024-04-22 12:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 195 bytes --]

New review comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/49982#discussion_r1574638388

Comment:
Don't use `vsed` for this; add a proper patch.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR REVIEW] New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (4 preceding siblings ...)
  2024-04-22 12:17 ` ahesford
@ 2024-04-22 12:17 ` ahesford
  2024-04-22 12:17 ` ahesford
                   ` (19 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: ahesford @ 2024-04-22 12:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 385 bytes --]

New review comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/49982#discussion_r1574647789

Comment:
`$CXX` is usually defined to `${XBPS_CROSS_TRIPLET}-c++` automatically, and the wrapper directory should take precedence in the path. Is the first line really required? Also, the `configure_args` appends should be outside of a function.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR REVIEW] New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (8 preceding siblings ...)
  2024-04-22 12:17 ` ahesford
@ 2024-04-22 12:17 ` ahesford
  2024-04-22 12:20 ` ahesford
                   ` (15 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: ahesford @ 2024-04-22 12:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 195 bytes --]

New review comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/49982#discussion_r1574648611

Comment:
Package should be called `libfreerdp3-server`.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR REVIEW] New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (7 preceding siblings ...)
  2024-04-22 12:17 ` ahesford
@ 2024-04-22 12:17 ` ahesford
  2024-04-22 12:17 ` ahesford
                   ` (16 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: ahesford @ 2024-04-22 12:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 289 bytes --]

New review comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/49982#discussion_r1574657647

Comment:
I assume that the libraries in this package will pull in `libfreerdp3` automatically with shlib dependencies. If so, you can drop this line.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR REVIEW] New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
  2024-04-22 12:17 ` [PR REVIEW] " ahesford
@ 2024-04-22 12:17 ` ahesford
  2024-04-22 12:17 ` ahesford
                   ` (23 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: ahesford @ 2024-04-22 12:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 224 bytes --]

New review comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/49982#discussion_r1574655677

Comment:
This ought to be unnecessary, because shlib dependencies should pull it in.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR REVIEW] New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
  2024-04-22 12:17 ` [PR REVIEW] " ahesford
  2024-04-22 12:17 ` ahesford
@ 2024-04-22 12:17 ` ahesford
  2024-04-22 12:17 ` ahesford
                   ` (22 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: ahesford @ 2024-04-22 12:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 244 bytes --]

New review comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/49982#discussion_r1574654841

Comment:
```suggestion
	short_desc="Free RDP (Remote Desktop Protocol) server - runtime libraries"
```

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR REVIEW] New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (5 preceding siblings ...)
  2024-04-22 12:17 ` ahesford
@ 2024-04-22 12:17 ` ahesford
  2024-04-22 12:17 ` ahesford
                   ` (18 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: ahesford @ 2024-04-22 12:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 252 bytes --]

New review comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/49982#discussion_r1574652332

Comment:
Just lump this in with `freerdp3-devel`; there isn't much value in separating server development files.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR REVIEW] New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (2 preceding siblings ...)
  2024-04-22 12:17 ` ahesford
@ 2024-04-22 12:17 ` ahesford
  2024-04-22 12:17 ` ahesford
                   ` (21 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: ahesford @ 2024-04-22 12:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 210 bytes --]

New review comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/49982#discussion_r1574648212

Comment:
These top-level blocks belong above all function definitions.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (9 preceding siblings ...)
  2024-04-22 12:17 ` ahesford
@ 2024-04-22 12:20 ` ahesford
  2024-04-22 12:41 ` fanyx
                   ` (14 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: ahesford @ 2024-04-22 12:20 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 385 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/49982#issuecomment-2069255705

Comment:
In the future, please refrain from opening competing PRs. Offer guidance on existing PRs and give the original author a chance to address outstanding issues. Multiple competing requests just adds noise and can be frustrating for contributors.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (10 preceding siblings ...)
  2024-04-22 12:20 ` ahesford
@ 2024-04-22 12:41 ` fanyx
  2024-04-22 12:42 ` fanyx
                   ` (13 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: fanyx @ 2024-04-22 12:41 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 602 bytes --]

New comment by fanyx on void-packages repository

https://github.com/void-linux/void-packages/pull/49982#issuecomment-2069297947

Comment:
as default dependency [client/SDL/aad/CMakeLists.txt](https://github.com/FreeRDP/FreeRDP/blob/1687a6424a4b4f43a1698c0c2d850917bd37c92b/client/SDL/aad/CMakeLists.txt#L47) asks for `webkit2gtk-4.0`

looking at their own pipelines and arch's repo we can probably import [0001-Use-webkit2gtk-4.1.patch](https://gitlab.archlinux.org/archlinux/packaging/packages/freerdp/-/blob/main/0001-Use-webkit2gtk-4.1.patch) to patch to webkit2gtk-4.1 and use `libwebkit2gtk41`

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (11 preceding siblings ...)
  2024-04-22 12:41 ` fanyx
@ 2024-04-22 12:42 ` fanyx
  2024-04-22 12:57 ` [PR PATCH] [Updated] " chrysos349
                   ` (12 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: fanyx @ 2024-04-22 12:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 674 bytes --]

New comment by fanyx on void-packages repository

https://github.com/void-linux/void-packages/pull/49982#issuecomment-2069297947

Comment:
as default dependency [client/SDL/aad/CMakeLists.txt](https://github.com/FreeRDP/FreeRDP/blob/1687a6424a4b4f43a1698c0c2d850917bd37c92b/client/SDL/aad/CMakeLists.txt#L47) asks for `webkit2gtk-4.0`

looking at their own pipelines and arch's repo we can probably import [0001-Use-webkit2gtk-4.1.patch](https://gitlab.archlinux.org/archlinux/packaging/packages/freerdp/-/blob/main/0001-Use-webkit2gtk-4.1.patch) to patch to webkit2gtk-4.1 and use `libwebkit2gtk41`
not sure whether this is case for `depends` or `makedepends` though...

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR PATCH] [Updated] New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (12 preceding siblings ...)
  2024-04-22 12:42 ` fanyx
@ 2024-04-22 12:57 ` chrysos349
  2024-04-22 13:10 ` chrysos349
                   ` (11 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: chrysos349 @ 2024-04-22 12:57 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 804 bytes --]

There is an updated pull request by chrysos349 against master on the void-packages repository

https://github.com/chrysos349/void-packages freerdp3
https://github.com/void-linux/void-packages/pull/49982

New package: freerdp3-3.5.0
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (x86_64)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl x
  - armv7l x
  - armv6l-musl x

A patch file from https://github.com/void-linux/void-packages/pull/49982.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-freerdp3-49982.patch --]
[-- Type: text/x-diff, Size: 14495 bytes --]

From 8043b204720428f51247dd10e416f2f0326bc822 Mon Sep 17 00:00:00 2001
From: chrysos349 <chrysostom349@gmail.com>
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 <orphan@voidlinux.org>"
 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 ee5627e599ba720c7787ddb5c65e1c67a9197f49 Mon Sep 17 00:00:00 2001
From: chrysos349 <chrysostom349@gmail.com>
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..24c47ea63c0f53 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 libfreerdp-server3-3.5.0_1
+libfreerdp-server3.so.3 libfreerdp-server3-3.5.0_1
+libfreerdp-shadow-subsystem3.so.3 libfreerdp-server3-3.5.0_1
+libfreerdp-shadow3.so.3 libfreerdp-server3-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 <chrysostom349@gmail.com>"
+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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (13 preceding siblings ...)
  2024-04-22 12:57 ` [PR PATCH] [Updated] " chrysos349
@ 2024-04-22 13:10 ` chrysos349
  2024-04-22 13:15 ` [PR PATCH] [Updated] " chrysos349
                   ` (10 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: chrysos349 @ 2024-04-22 13:10 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 773 bytes --]

New comment by chrysos349 on void-packages repository

https://github.com/void-linux/void-packages/pull/49982#issuecomment-2069370159

Comment:
@ahesford 
thanks for reviewing the template. fixed everything.
regarding "needlessly" exporting `CXX`, it is actually needed, or else the crossbuild will fail.

> In the future, please refrain from opening competing PRs

i'll keep it in mind.

@fanyx
being an optional dep, sdl2 pulls webkit which in turn pull a ton of packages. i decided to skip it (ubuntu does, for example). 
otherwise, `freerdp3` will pull lots of deps.
p.s. another option is to split sdl version into a separate subpackage.
p.p.s. if it were up to me, i would also split x11 and wayland versions into separate packages also (debian does so).

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR PATCH] [Updated] New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (14 preceding siblings ...)
  2024-04-22 13:10 ` chrysos349
@ 2024-04-22 13:15 ` chrysos349
  2024-04-22 13:20 ` chrysos349
                   ` (9 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: chrysos349 @ 2024-04-22 13:15 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 804 bytes --]

There is an updated pull request by chrysos349 against master on the void-packages repository

https://github.com/chrysos349/void-packages freerdp3
https://github.com/void-linux/void-packages/pull/49982

New package: freerdp3-3.5.0
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (x86_64)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl x
  - armv7l x
  - armv6l-musl x

A patch file from https://github.com/void-linux/void-packages/pull/49982.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-freerdp3-49982.patch --]
[-- Type: text/x-diff, Size: 14495 bytes --]

From 8043b204720428f51247dd10e416f2f0326bc822 Mon Sep 17 00:00:00 2001
From: chrysos349 <chrysostom349@gmail.com>
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 <orphan@voidlinux.org>"
 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 <chrysostom349@gmail.com>
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 <chrysostom349@gmail.com>"
+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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (15 preceding siblings ...)
  2024-04-22 13:15 ` [PR PATCH] [Updated] " chrysos349
@ 2024-04-22 13:20 ` chrysos349
  2024-04-22 13:53 ` [PR PATCH] [Updated] " chrysos349
                   ` (8 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: chrysos349 @ 2024-04-22 13:20 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 769 bytes --]

New comment by chrysos349 on void-packages repository

https://github.com/void-linux/void-packages/pull/49982#issuecomment-2069370159

Comment:
@ahesford 
thanks for reviewing the template. fixed everything.
regarding "needlessly" exporting `CXX`, it is actually needed, or else the crossbuild will fail.

> In the future, please refrain from opening competing PRs

i'll keep it in mind.

@fanyx
being an optional dep, sdl2 pulls webkit which in turn pulls a ton of packages. i decided to skip it (ubuntu does, for example). 
otherwise, `freerdp3` will pull lots of deps.
p.s. another option is to split sdl version into a separate subpackage.
p.p.s. if it were up to me, i would also split x11 and wayland versions into separate packages (debian does so).

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR PATCH] [Updated] New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (16 preceding siblings ...)
  2024-04-22 13:20 ` chrysos349
@ 2024-04-22 13:53 ` chrysos349
  2024-04-22 14:44 ` [PR REVIEW] " ahesford
                   ` (7 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: chrysos349 @ 2024-04-22 13:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 804 bytes --]

There is an updated pull request by chrysos349 against master on the void-packages repository

https://github.com/chrysos349/void-packages freerdp3
https://github.com/void-linux/void-packages/pull/49982

New package: freerdp3-3.5.0
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (x86_64)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl x
  - armv7l x
  - armv6l-musl x

A patch file from https://github.com/void-linux/void-packages/pull/49982.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-freerdp3-49982.patch --]
[-- Type: text/x-diff, Size: 14495 bytes --]

From 8043b204720428f51247dd10e416f2f0326bc822 Mon Sep 17 00:00:00 2001
From: chrysos349 <chrysostom349@gmail.com>
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 <orphan@voidlinux.org>"
 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 5a09637ed8e5c26c7cef6d5627252f49cb29ade8 Mon Sep 17 00:00:00 2001
From: chrysos349 <chrysostom349@gmail.com>
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..ec5bce88b6065e 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
+libfreerdp-server3.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 <chrysostom349@gmail.com>"
+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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR REVIEW] New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (17 preceding siblings ...)
  2024-04-22 13:53 ` [PR PATCH] [Updated] " chrysos349
@ 2024-04-22 14:44 ` ahesford
  2024-04-22 14:46 ` ahesford
                   ` (6 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: ahesford @ 2024-04-22 14:44 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 330 bytes --]

New review comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/49982#discussion_r1574883234

Comment:
This either has to be dropped, or `makedepends` needs `SDL2-devel`, `SDL2_ttf-devel` and `webkit2gtk-devel`, although I can't get `sdl-freerdp3` to actually show me a remote window.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (18 preceding siblings ...)
  2024-04-22 14:44 ` [PR REVIEW] " ahesford
@ 2024-04-22 14:46 ` ahesford
  2024-04-22 14:47 ` ahesford
                   ` (5 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: ahesford @ 2024-04-22 14:46 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1840 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/49982#issuecomment-2069729571

Comment:
`wlfreerdp3` says it's deprecated, and it's also segfaulting whenever I run it:

```
Thread 1 "wlfreerdp3" received signal SIGSEGV, Segmentation fault.
__memcpy_avx_unaligned_erms ()
    at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:488
warning: 488	../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: No such file or directory
(gdb) bt
#0  __memcpy_avx_unaligned_erms ()
    at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:488
#1  0x000055555555cb72 in memcpy (__len=<optimized out>, __src=0x7fffdfbb8030, 
    __dest=<optimized out>) at /usr/include/bits/string_fortified.h:29
#2  wlf_copy_image (area=<optimized out>, scale=0, dstHeight=900, dstWidth=1440, 
    dstStride=5760, dst=0x1, srcHeight=<optimized out>, srcWidth=<optimized out>, 
    srcStride=5760, src=<optimized out>) at ../client/Wayland/wlfreerdp.c:765
#3  wlf_copy_image (src=<optimized out>, srcStride=5760, srcWidth=<optimized out>, 
    srcHeight=<optimized out>, dst=dst@entry=0x7fffdece2000, 
    dstStride=dstStride@entry=5760, dstWidth=1440, dstHeight=900, area=0x7fffffffdc98, 
    scale=0) at ../client/Wayland/wlfreerdp.c:738
#4  0x0000555555563925 in wl_update_buffer (context_w=0x55555559cdc0, ix=0, 
    iy=<optimized out>, iw=1440, ih=900) at ../client/Wayland/wlfreerdp.c:98
#5  0x00007ffff7d25fec in freerdp_connect (instance=instance@entry=0x55555559cae0)
    at ../libfreerdp/core/freerdp.c:208
#6  0x000055555555acab in wlfreerdp_run (instance=0x55555559cae0)
    at ../client/Wayland/wlfreerdp.c:491
#7  main (argc=9, argv=0x7fffffffe238) at ../client/Wayland/wlfreerdp.c:728
```

Not sure if we should just drop Wayland, or try to fix this issue.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (19 preceding siblings ...)
  2024-04-22 14:46 ` ahesford
@ 2024-04-22 14:47 ` ahesford
  2024-04-22 15:58 ` [PR PATCH] [Updated] " chrysos349
                   ` (4 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: ahesford @ 2024-04-22 14:47 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1839 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/49982#issuecomment-2069729571

Comment:
`wlfreerdp3` says it's deprecated, and it's also segfaulting whenever I run it:

```
Thread 1 "wlfreerdp3" received signal SIGSEGV, Segmentation fault.
__memcpy_avx_unaligned_erms ()
    at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:488
warning: 488	../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: No such file or directory
(gdb) bt
#0  __memcpy_avx_unaligned_erms ()
    at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:488
#1  0x000055555555cb72 in memcpy (__len=<optimized out>, __src=0x7fffdfbb8030, 
    __dest=<optimized out>) at /usr/include/bits/string_fortified.h:29
#2  wlf_copy_image (area=<optimized out>, scale=0, dstHeight=900, dstWidth=1440, 
    dstStride=5760, dst=0x1, srcHeight=<optimized out>, srcWidth=<optimized out>, 
    srcStride=5760, src=<optimized out>) at ../client/Wayland/wlfreerdp.c:765
#3  wlf_copy_image (src=<optimized out>, srcStride=5760, srcWidth=<optimized out>, 
    srcHeight=<optimized out>, dst=dst@entry=0x7fffdece2000, 
    dstStride=dstStride@entry=5760, dstWidth=1440, dstHeight=900, area=0x7fffffffdc98, 
    scale=0) at ../client/Wayland/wlfreerdp.c:738
#4  0x0000555555563925 in wl_update_buffer (context_w=0x55555559cdc0, ix=0, 
    iy=<optimized out>, iw=1440, ih=900) at ../client/Wayland/wlfreerdp.c:98
#5  0x00007ffff7d25fec in freerdp_connect (instance=instance@entry=0x55555559cae0)
    at ../libfreerdp/core/freerdp.c:208
#6  0x000055555555acab in wlfreerdp_run (instance=0x55555559cae0)
    at ../client/Wayland/wlfreerdp.c:491
#7  main (argc=9, argv=0x7fffffffe238) at ../client/Wayland/wlfreerdp.c:728
```

Not sure if we should just drop Wayland or try to fix this issue.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR PATCH] [Updated] New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (20 preceding siblings ...)
  2024-04-22 14:47 ` ahesford
@ 2024-04-22 15:58 ` chrysos349
  2024-04-22 15:58 ` chrysos349
                   ` (3 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: chrysos349 @ 2024-04-22 15:58 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 804 bytes --]

There is an updated pull request by chrysos349 against master on the void-packages repository

https://github.com/chrysos349/void-packages freerdp3
https://github.com/void-linux/void-packages/pull/49982

New package: freerdp3-3.5.0
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (x86_64)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl x
  - armv7l x
  - armv6l-musl x

A patch file from https://github.com/void-linux/void-packages/pull/49982.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-freerdp3-49982.patch --]
[-- Type: text/x-diff, Size: 15172 bytes --]

From 8043b204720428f51247dd10e416f2f0326bc822 Mon Sep 17 00:00:00 2001
From: chrysos349 <chrysostom349@gmail.com>
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 <orphan@voidlinux.org>"
 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 5cdd67689360f47a8854331d2a6b74e968909afd Mon Sep 17 00:00:00 2001
From: chrysos349 <chrysostom349@gmail.com>
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 |  27 ++++++
 srcpkgs/freerdp3/template                | 117 +++++++++++++++++++++++
 srcpkgs/libfreerdp3                      |   1 +
 srcpkgs/libfreerdp3-server               |   1 +
 7 files changed, 156 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..ec5bce88b6065e 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
+libfreerdp-server3.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..7aea0e91a92908
--- /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 $<TARGET_FILE:freerdp-res2bin> ${FILE} ${FILE_TYPE} ${TARGET_NAME} ${FILE_BIN_DIR}
++        COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:freerdp-res2bin> ${FILE} ${FILE_TYPE} ${TARGET_NAME} ${FILE_BIN_DIR}
+         COMMENT "create image resources"
+         DEPENDS freerdp-res2bin
+         DEPENDS ${FILE}
diff --git a/srcpkgs/freerdp3/template b/srcpkgs/freerdp3/template
new file mode 100644
index 00000000000000..07b78c143fb17c
--- /dev/null
+++ b/srcpkgs/freerdp3/template
@@ -0,0 +1,117 @@
+# Template file for 'freerdp3'
+pkgname=freerdp3
+version=3.5.1
+revision=1
+build_style=cmake
+build_helper=qemu
+configure_args="
+ -DCHANNEL_URBDRC_CLIENT=ON
+ -DPKG_CONFIG_RELOCATABLE=OFF
+ -DRDTK_FORCE_STATIC_BUILD=ON
+ -DWITH_BINARY_VERSIONING=ON
+ -DDOCBOOKXSL_DIR=/usr/share/xsl/docbook
+ -DPROXY_PLUGINDIR=/usr/lib/${pkgname}/server/proxy/plugins
+ -DXSLTPROC_EXECUTABLE=/usr/bin/xsltproc
+
+ -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_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
+ -DWITH_WAYLAND=OFF
+ -DWITH_WEBVIEW=OFF"
+hostmakedepends="pkg-config 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 SDL2_ttf-devel"
+short_desc="Free RDP (Remote Desktop Protocol) client"
+maintainer="chrysos349 <chrysostom349@gmail.com>"
+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"
+
+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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (21 preceding siblings ...)
  2024-04-22 15:58 ` [PR PATCH] [Updated] " chrysos349
@ 2024-04-22 15:58 ` chrysos349
  2024-04-22 15:59 ` [PR REVIEW] " chrysos349
                   ` (2 subsequent siblings)
  25 siblings, 0 replies; 29+ messages in thread
From: chrysos349 @ 2024-04-22 15:58 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 336 bytes --]

New comment by chrysos349 on void-packages repository

https://github.com/void-linux/void-packages/pull/49982#issuecomment-2070015211

Comment:
disabled wlfreerdp3 client (deprecated), enabled sdl-freerdp3 client (experimental), disabled webview.

sdl-freerdp3 works for me: show the connection dialog, and connect to the remote box.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR REVIEW] New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (22 preceding siblings ...)
  2024-04-22 15:58 ` chrysos349
@ 2024-04-22 15:59 ` chrysos349
  2024-04-22 21:08 ` [PR PATCH] [Updated] " chrysos349
  2024-04-22 21:23 ` chrysos349
  25 siblings, 0 replies; 29+ messages in thread
From: chrysos349 @ 2024-04-22 15:59 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 186 bytes --]

New review comment by chrysos349 on void-packages repository

https://github.com/void-linux/void-packages/pull/49982#discussion_r1575007452

Comment:
enabled sdl client without webview.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR PATCH] [Updated] New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (23 preceding siblings ...)
  2024-04-22 15:59 ` [PR REVIEW] " chrysos349
@ 2024-04-22 21:08 ` chrysos349
  2024-04-22 21:23 ` chrysos349
  25 siblings, 0 replies; 29+ messages in thread
From: chrysos349 @ 2024-04-22 21:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 804 bytes --]

There is an updated pull request by chrysos349 against master on the void-packages repository

https://github.com/chrysos349/void-packages freerdp3
https://github.com/void-linux/void-packages/pull/49982

New package: freerdp3-3.5.0
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (x86_64)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl x
  - armv7l x
  - armv6l-musl x

A patch file from https://github.com/void-linux/void-packages/pull/49982.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-freerdp3-49982.patch --]
[-- Type: text/x-diff, Size: 17416 bytes --]

From 8043b204720428f51247dd10e416f2f0326bc822 Mon Sep 17 00:00:00 2001
From: chrysos349 <chrysostom349@gmail.com>
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 <orphan@voidlinux.org>"
 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 aded1c66b83c0c589230e0546c8d1d1c9210c962 Mon Sep 17 00:00:00 2001
From: chrysos349 <chrysostom349@gmail.com>
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      |  27 ++++
 .../freerdp3/patches/use-webkit2gtk41.patch   |  25 ++++
 srcpkgs/freerdp3/template                     | 137 ++++++++++++++++++
 srcpkgs/libfreerdp3                           |   1 +
 srcpkgs/libfreerdp3-server                    |   1 +
 8 files changed, 201 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 61a28fdc5b7436..ec5bce88b6065e 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
+libfreerdp-server3.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..7aea0e91a92908
--- /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 $<TARGET_FILE:freerdp-res2bin> ${FILE} ${FILE_TYPE} ${TARGET_NAME} ${FILE_BIN_DIR}
++        COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:freerdp-res2bin> ${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 00000000000000..432d9fdf414c62
--- /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 <mail@eworm.de>
+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 00000000000000..eb2d80641ac536
--- /dev/null
+++ b/srcpkgs/freerdp3/template
@@ -0,0 +1,137 @@
+# Template file for 'freerdp3'
+pkgname=freerdp3
+version=3.5.1
+revision=1
+build_style=cmake
+build_helper=qemu
+configure_args="
+ -DCHANNEL_URBDRC_CLIENT=ON
+ -DPKG_CONFIG_RELOCATABLE=OFF
+ -DRDTK_FORCE_STATIC_BUILD=ON
+ -DWITH_BINARY_VERSIONING=ON
+ -DDOCBOOKXSL_DIR=/usr/share/xsl/docbook
+ -DPROXY_PLUGINDIR=/usr/lib/${pkgname}/server/proxy/plugins
+ -DXSLTPROC_EXECUTABLE=/usr/bin/xsltproc
+ -DWAYLAND_SCANNER=/usr/bin/wayland-scanner
+
+ -DUWAC_FORCE_STATIC_BUILD=$(vopt_if wayland ON OFF)
+ -DWITH_AAD=$(vopt_if aad ON OFF)
+ -DWITH_ALSA=ON
+ -DWITH_CAIRO=$(vopt_if ffmpeg OFF ON)
+ -DWITH_CHANNELS=ON
+ -DWITH_CLIENT_CHANNELS=ON
+ -DWITH_CLIENT_SDL=$(vopt_if sdl2 ON OFF)
+ -DWITH_CUPS=ON
+ -DWITH_DSP_FFMPEG=$(vopt_if ffmpeg ON OFF)
+ -DWITH_FFMPEG=$(vopt_if ffmpeg ON OFF)
+ -DWITH_FREERDP_DEPRECATED_COMMANDLINE=ON
+ -DWITH_FUSE=ON
+ -DWITH_GSTREAMER_1_0=ON
+ -DWITH_ICU=ON
+ -DWITH_JPEG=ON
+ -DWITH_LIBSYSTEMD=OFF
+ -DWITH_PCSC=$(vopt_if smartcard ON OFF)
+ -DWITH_PKCS11=$(vopt_if smartcard ON OFF)
+ -DWITH_PULSE=ON
+ -DWITH_SAMPLE=OFF
+ -DWITH_SERVER=ON
+ -DWITH_SERVER_CHANNELS=ON
+ -DWITH_SWSCALE=$(vopt_if ffmpeg ON OFF)
+ -DWITH_WAYLAND=$(vopt_if wayland ON OFF)
+ -DWITH_WEBVIEW=$(vopt_if webview ON OFF)
+ -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"
+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 smartcard 'pcsclite-devel pkcs11-helper-devel')
+ $(vopt_if sdl2 SDL2_ttf-devel)
+ $(vopt_if wayland 'libxkbcommon-devel wayland-devel')
+ $(vopt_if webview libwebkit2gtk41-devel)"
+short_desc="Free RDP (Remote Desktop Protocol) client"
+maintainer="chrysos349 <chrysostom349@gmail.com>"
+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 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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PR PATCH] [Updated] New package: freerdp3-3.5.0
  2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
                   ` (24 preceding siblings ...)
  2024-04-22 21:08 ` [PR PATCH] [Updated] " chrysos349
@ 2024-04-22 21:23 ` chrysos349
  25 siblings, 0 replies; 29+ messages in thread
From: chrysos349 @ 2024-04-22 21:23 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 804 bytes --]

There is an updated pull request by chrysos349 against master on the void-packages repository

https://github.com/chrysos349/void-packages freerdp3
https://github.com/void-linux/void-packages/pull/49982

New package: freerdp3-3.5.0
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, (x86_64)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl x
  - armv7l x
  - armv6l-musl x

A patch file from https://github.com/void-linux/void-packages/pull/49982.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-freerdp3-49982.patch --]
[-- Type: text/x-diff, Size: 17417 bytes --]

From 8043b204720428f51247dd10e416f2f0326bc822 Mon Sep 17 00:00:00 2001
From: chrysos349 <chrysostom349@gmail.com>
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 <orphan@voidlinux.org>"
 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 e65ccfe0b49d28d4d347ab9ca3bdc444c85a670a Mon Sep 17 00:00:00 2001
From: chrysos349 <chrysostom349@gmail.com>
Date: Sat, 20 Apr 2024 21:36:30 +0300
Subject: [PATCH 2/2] 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                     | 137 ++++++++++++++++++
 srcpkgs/libfreerdp3                           |   1 +
 srcpkgs/libfreerdp3-server                    |   1 +
 8 files changed, 201 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 61a28fdc5b7436..1e42374740f8bc 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.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 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..7aea0e91a92908
--- /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 $<TARGET_FILE:freerdp-res2bin> ${FILE} ${FILE_TYPE} ${TARGET_NAME} ${FILE_BIN_DIR}
++        COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:freerdp-res2bin> ${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 00000000000000..432d9fdf414c62
--- /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 <mail@eworm.de>
+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 00000000000000..ec7217660627a8
--- /dev/null
+++ b/srcpkgs/freerdp3/template
@@ -0,0 +1,137 @@
+# Template file for 'freerdp3'
+pkgname=freerdp3
+version=3.5.1
+revision=1
+build_style=cmake
+build_helper=qemu
+configure_args="
+ -DCHANNEL_URBDRC_CLIENT=ON
+ -DPKG_CONFIG_RELOCATABLE=OFF
+ -DRDTK_FORCE_STATIC_BUILD=ON
+ -DWITH_BINARY_VERSIONING=ON
+ -DDOCBOOKXSL_DIR=/usr/share/xsl/docbook
+ -DPROXY_PLUGINDIR=/usr/lib/${pkgname}/server/proxy/plugins
+ -DXSLTPROC_EXECUTABLE=/usr/bin/xsltproc
+ -DWAYLAND_SCANNER=/usr/bin/wayland-scanner
+
+ -DUWAC_FORCE_STATIC_BUILD=$(vopt_if wayland ON OFF)
+ -DWITH_AAD=$(vopt_if aad ON OFF)
+ -DWITH_ALSA=ON
+ -DWITH_CAIRO=$(vopt_if ffmpeg OFF ON)
+ -DWITH_CHANNELS=ON
+ -DWITH_CLIENT_CHANNELS=ON
+ -DWITH_CLIENT_SDL=$(vopt_if sdl2 ON OFF)
+ -DWITH_CUPS=ON
+ -DWITH_DSP_FFMPEG=$(vopt_if ffmpeg ON OFF)
+ -DWITH_FFMPEG=$(vopt_if ffmpeg ON OFF)
+ -DWITH_FREERDP_DEPRECATED_COMMANDLINE=ON
+ -DWITH_FUSE=ON
+ -DWITH_GSTREAMER_1_0=OFF
+ -DWITH_ICU=ON
+ -DWITH_JPEG=ON
+ -DWITH_LIBSYSTEMD=OFF
+ -DWITH_PCSC=$(vopt_if smartcard ON OFF)
+ -DWITH_PKCS11=$(vopt_if smartcard ON OFF)
+ -DWITH_PULSE=ON
+ -DWITH_SAMPLE=OFF
+ -DWITH_SERVER=ON
+ -DWITH_SERVER_CHANNELS=ON
+ -DWITH_SWSCALE=$(vopt_if ffmpeg ON OFF)
+ -DWITH_WAYLAND=$(vopt_if wayland ON OFF)
+ -DWITH_WEBVIEW=$(vopt_if webview ON OFF)
+ -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"
+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 smartcard 'pcsclite-devel pkcs11-helper-devel')
+ $(vopt_if sdl2 SDL2_ttf-devel)
+ $(vopt_if wayland 'libxkbcommon-devel wayland-devel')
+ $(vopt_if webview libwebkit2gtk41-devel)"
+short_desc="Free RDP (Remote Desktop Protocol) client"
+maintainer="chrysos349 <chrysostom349@gmail.com>"
+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 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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New package: freerdp3-3.5.0
  2024-03-27 19:17 [PR PATCH] freerdp: update to 3.4.0 fanyx
  2024-04-20 14:42 ` New package: freerdp3-3.5.0 fanyx
@ 2024-04-20 16:49 ` fanyx
  1 sibling, 0 replies; 29+ messages in thread
From: fanyx @ 2024-04-20 16:49 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 215 bytes --]

New comment by fanyx on void-packages repository

https://github.com/void-linux/void-packages/pull/49572#issuecomment-2067727184

Comment:
@oreo639 pinging as RFC
feel free to get others into the loop if necessary

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: New package: freerdp3-3.5.0
  2024-03-27 19:17 [PR PATCH] freerdp: update to 3.4.0 fanyx
@ 2024-04-20 14:42 ` fanyx
  2024-04-20 16:49 ` fanyx
  1 sibling, 0 replies; 29+ messages in thread
From: fanyx @ 2024-04-20 14:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 243 bytes --]

New comment by fanyx on void-packages repository

https://github.com/void-linux/void-packages/pull/49572#issuecomment-2067694981

Comment:
https://packages.debian.org/sid/libuwac0-dev

sounds reasonable to extract libuwac to its own package

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2024-04-22 21:23 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-22 11:33 [PR PATCH] New package: freerdp3-3.5.0 chrysos349
2024-04-22 12:17 ` [PR REVIEW] " ahesford
2024-04-22 12:17 ` ahesford
2024-04-22 12:17 ` ahesford
2024-04-22 12:17 ` ahesford
2024-04-22 12:17 ` ahesford
2024-04-22 12:17 ` ahesford
2024-04-22 12:17 ` ahesford
2024-04-22 12:17 ` ahesford
2024-04-22 12:17 ` ahesford
2024-04-22 12:17 ` ahesford
2024-04-22 12:20 ` ahesford
2024-04-22 12:41 ` fanyx
2024-04-22 12:42 ` fanyx
2024-04-22 12:57 ` [PR PATCH] [Updated] " chrysos349
2024-04-22 13:10 ` chrysos349
2024-04-22 13:15 ` [PR PATCH] [Updated] " chrysos349
2024-04-22 13:20 ` chrysos349
2024-04-22 13:53 ` [PR PATCH] [Updated] " chrysos349
2024-04-22 14:44 ` [PR REVIEW] " ahesford
2024-04-22 14:46 ` ahesford
2024-04-22 14:47 ` ahesford
2024-04-22 15:58 ` [PR PATCH] [Updated] " chrysos349
2024-04-22 15:58 ` chrysos349
2024-04-22 15:59 ` [PR REVIEW] " chrysos349
2024-04-22 21:08 ` [PR PATCH] [Updated] " chrysos349
2024-04-22 21:23 ` chrysos349
  -- strict thread matches above, loose matches on Subject: below --
2024-03-27 19:17 [PR PATCH] freerdp: update to 3.4.0 fanyx
2024-04-20 14:42 ` New package: freerdp3-3.5.0 fanyx
2024-04-20 16:49 ` fanyx

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).