commit:     da049fe6a31fb00af49fe2c630ac14d58dfafc23
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 12 19:16:55 2025 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Oct 12 19:16:55 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=da049fe6

net-misc/freerdp: backport pkgconfig fix

Closes: https://bugs.gentoo.org/963924
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 .../freerdp/files/freerdp-3.17.2-pkgconfig.patch   | 187 +++++++++++++++++++++
 ...erdp-3.17.2.ebuild => freerdp-3.17.2-r1.ebuild} |   4 +
 2 files changed, 191 insertions(+)

diff --git a/net-misc/freerdp/files/freerdp-3.17.2-pkgconfig.patch 
b/net-misc/freerdp/files/freerdp-3.17.2-pkgconfig.patch
new file mode 100644
index 000000000000..baf8a9f9c1c6
--- /dev/null
+++ b/net-misc/freerdp/files/freerdp-3.17.2-pkgconfig.patch
@@ -0,0 +1,187 @@
+https://bugs.gentoo.org/963924
+https://github.com/FreeRDP/FreeRDP/pull/11876
+
+From 74a3a7695cdd09cf020acdeb09480ac8ee92ccbe Mon Sep 17 00:00:00 2001
+From: akallabeth <[email protected]>
+Date: Sun, 21 Sep 2025 19:06:58 +0200
+Subject: [PATCH] [cmake,pkg-config] properly set requires fields
+
+---
+ client/CMakeLists.txt                           | 1 +
+ client/freerdp-client.pc.in                     | 2 +-
+ libfreerdp/CMakeLists.txt                       | 1 +
+ libfreerdp/freerdp.pc.in                        | 2 +-
+ server/CMakeLists.txt                           | 1 +
+ server/freerdp-server.pc.in                     | 2 +-
+ server/proxy/CMakeLists.txt                     | 1 +
+ server/proxy/freerdp-proxy.pc.in                | 2 +-
+ server/proxy/modules/freerdp-proxy-module.pc.in | 2 +-
+ server/shadow/CMakeLists.txt                    | 1 +
+ server/shadow/freerdp-shadow.pc.in              | 2 +-
+ winpr/tools/CMakeLists.txt                      | 1 +
+ winpr/tools/winpr-tools.pc.in                   | 2 +-
+ 13 files changed, 13 insertions(+), 7 deletions(-)
+
+diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
+index c266afd92302..6194f385b34f 100644
+--- a/client/CMakeLists.txt
++++ b/client/CMakeLists.txt
+@@ -119,6 +119,7 @@ if(BUILD_SHARED_LIBS)
+   set(FREERDP_CLIENT_PC_REQUIRES_PRIVATE "")
+   set(FREERDP_CLIENT_PC_LIBRARY_PRIVATE "")
+ endif()
++set(FREERDP_CLIENT_PC_REQUIRES freerdp${FREERDP_API_VERSION})
+ 
+ include(pkg-config-install-prefix)
+ cleaning_configure_file(
+diff --git a/client/freerdp-client.pc.in b/client/freerdp-client.pc.in
+index 19192553e036..a0a22d0338c5 100644
+--- a/client/freerdp-client.pc.in
++++ b/client/freerdp-client.pc.in
+@@ -8,7 +8,7 @@ Name: FreeRDP client
+ Description: FreeRDP: A Remote Desktop Protocol Implementation
+ URL: http://www.freerdp.com/
+ Version: @FREERDP_VERSION@
+-Requires: 
++Requires: @FREERDP_CLIENT_PC_REQUIRES@
+ Requires.private: @FREERDP_CLIENT_PC_REQUIRES_PRIVATE@
+ Libs: -L${libdir} ${libs}
+ Libs.private: @FREERDP_CLIENT_PC_LIBRARY_PRIVATE@
+diff --git a/libfreerdp/CMakeLists.txt b/libfreerdp/CMakeLists.txt
+index 538b445a1459..66722c3b3a2b 100644
+--- a/libfreerdp/CMakeLists.txt
++++ b/libfreerdp/CMakeLists.txt
+@@ -284,6 +284,7 @@ if(BUILD_SHARED_LIBS)
+   set(FREERDP_PC_REQUIRES_PRIVATE "")
+   set(FREERDP_PC_LIBRARY_PRIVATE "")
+ endif()
++set(FREERDP_PC_REQUIRES winpr${FREERDP_API_VERSION})
+ 
+ cleaning_configure_file(
+   ${CMAKE_CURRENT_SOURCE_DIR}/freerdp.pc.in 
${CMAKE_CURRENT_BINARY_DIR}/freerdp${FREERDP_VERSION_MAJOR}.pc @ONLY
+diff --git a/libfreerdp/freerdp.pc.in b/libfreerdp/freerdp.pc.in
+index 1c0daa3b766f..2a3383d88fbc 100644
+--- a/libfreerdp/freerdp.pc.in
++++ b/libfreerdp/freerdp.pc.in
+@@ -13,7 +13,7 @@ Name: FreeRDP
+ Description: FreeRDP: A Remote Desktop Protocol Implementation
+ URL: http://www.freerdp.com/
+ Version: @FREERDP_VERSION@
+-Requires: 
++Requires: @FREERDP_PC_REQUIRES@
+ Requires.private: @FREERDP_PC_REQUIRES_PRIVATE@
+ Libs: -L${libdir} ${libs}
+ Libs.private: -L${plugindir} @FREERDP_PC_LIBRARY_PRIVATE@
+diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt
+index 90e27d8b4100..1056b33ecfef 100644
+--- a/server/CMakeLists.txt
++++ b/server/CMakeLists.txt
+@@ -82,6 +82,7 @@ if(NOT BUILD_SHARED_LIBS)
+   set(FREERDP_SERVER_PC_REQUIRES_PRIVATE "freerdp${FREERDP_API_VERSION}")
+   set(FREERDP_SERVER_PC_LIBRARY_PRIVATE "-ldl -lpthread")
+ endif()
++set(FREERDP_SERVER_PC_REQUIRES freerdp${FREERDP_API_VERSION})
+ 
+ include(pkg-config-install-prefix)
+ cleaning_configure_file(
+diff --git a/server/freerdp-server.pc.in b/server/freerdp-server.pc.in
+index 75666b9451f1..31c2c33d2762 100644
+--- a/server/freerdp-server.pc.in
++++ b/server/freerdp-server.pc.in
+@@ -8,7 +8,7 @@ Name: FreeRDP server
+ Description: FreeRDP: A Remote Desktop Protocol Implementation
+ URL: http://www.freerdp.com/
+ Version: @FREERDP_VERSION@
+-Requires: 
++Requires: @FREERDP_SERVER_PC_REQUIRES@
+ Requires.private: @FREERDP_SERVER_PC_REQUIRES_PRIVATE@
+ Libs: -L${libdir} ${libs}
+ Libs.private: @FREERDP_SERVER_PC_LIBRARY_PRIVATE@
+diff --git a/server/proxy/CMakeLists.txt b/server/proxy/CMakeLists.txt
+index 1a31d6535360..53ac9b0511fd 100644
+--- a/server/proxy/CMakeLists.txt
++++ b/server/proxy/CMakeLists.txt
+@@ -82,6 +82,7 @@ if(NOT BUILD_SHARED_LIBS)
+   set(FREERDP_PROXY_PC_REQUIRES_PRIVATE "freerdp-client${FREERDP_API_VERSION} 
freerdp-server${FREERDP_API_VERSION}")
+   set(FREERDP_PROXY_PC_LIBS_PRIVATE "-ldl -lpthread")
+ endif()
++set(FREERDP_PROXY_PC_REQUIRES freerdp-server${FREERDP_API_VERSION})
+ 
+ include(pkg-config-install-prefix)
+ cleaning_configure_file(
+diff --git a/server/proxy/freerdp-proxy.pc.in 
b/server/proxy/freerdp-proxy.pc.in
+index 7b3e0e9a7611..e1023ed72c4c 100644
+--- a/server/proxy/freerdp-proxy.pc.in
++++ b/server/proxy/freerdp-proxy.pc.in
+@@ -8,7 +8,7 @@ Name: FreeRDP proxy
+ Description: FreeRDP: A Remote Desktop Protocol Implementation
+ URL: http://www.freerdp.com/
+ Version: @FREERDP_VERSION@
+-Requires: 
++Requires: @FREERDP_PROXY_PC_REQUIRES@
+ Requires.private: @FREERDP_PROXY_PC_REQUIRES_PRIVATE@
+ Libs: -L${libdir} ${libs}
+ Libs.private: @FREERDP_PROXY_PC_LIBS_PRIVATE@
+diff --git a/server/proxy/modules/freerdp-proxy-module.pc.in 
b/server/proxy/modules/freerdp-proxy-module.pc.in
+index 0cb09dc8506c..cc3e71ee4bcf 100644
+--- a/server/proxy/modules/freerdp-proxy-module.pc.in
++++ b/server/proxy/modules/freerdp-proxy-module.pc.in
+@@ -9,7 +9,7 @@ Name: @PROJECT_NAME@
+ Description: FreeRDP proxy module
+ URL: http://www.freerdp.com/
+ Version: @PROJECT_VERSION@
+-Requires:
++Requires: @PROJECT_PC_REQUIRES@ 
+ Requires.private: @PROJECT_PC_REQUIRES_PRIVATE@ 
+ Libs: -L${libdir}
+ Libs.private: -Wl,--whole-archive \${proxy_plugindir}/@PROJECT_LIBRARY_NAME@ 
-u @PROJECT_SHORT_NAME_UNDERSCORE@_proxy_module_entry_point 
-Wl,--no-whole-archive
+diff --git a/server/shadow/CMakeLists.txt b/server/shadow/CMakeLists.txt
+index 1fbfccf18794..758d6d2cd8f1 100644
+--- a/server/shadow/CMakeLists.txt
++++ b/server/shadow/CMakeLists.txt
+@@ -166,6 +166,7 @@ if(NOT BUILD_SHARED_LIBS)
+   set(FREERDP_SHADOW_PC_REQUIRES_PRIVATE "freerdp${FREERDP_API_VERSION}")
+   set(FREERDP_SHADOW_PC_LIBRARY_PRIVATE "-ldl -lpthread")
+ endif()
++set(FREERDP_SHADOW_PC_REQUIRES freerdp-server${FREERDP_API_VERSION})
+ 
+ include(pkg-config-install-prefix)
+ cleaning_configure_file(
+diff --git a/server/shadow/freerdp-shadow.pc.in 
b/server/shadow/freerdp-shadow.pc.in
+index 2e187bc9dedb..242089a41f77 100644
+--- a/server/shadow/freerdp-shadow.pc.in
++++ b/server/shadow/freerdp-shadow.pc.in
+@@ -8,7 +8,7 @@ Name: FreeRDP shadow
+ Description: FreeRDP: A Remote Desktop Protocol Implementation
+ URL: http://www.freerdp.com/
+ Version: @FREERDP_VERSION@
+-Requires: 
++Requires: @FREERDP_SHADOW_PC_REQUIRES@
+ Requires.private: @FREERDP_SHADOW_PC_REQUIRES_PRIVATE@
+ Libs: -L${libdir} ${libs}
+ Libs.private: @FREERDP_SHADOW_PC_LIBRARY_PRIVATE@
+diff --git a/winpr/tools/CMakeLists.txt b/winpr/tools/CMakeLists.txt
+index c7bf4b083189..976a78a11621 100644
+--- a/winpr/tools/CMakeLists.txt
++++ b/winpr/tools/CMakeLists.txt
+@@ -123,6 +123,7 @@ if(NOT BUILD_SHARED_LIBS)
+   set(WINPR_TOOLS_PC_REQUIRES_PRIVATE "winpr${WINPR_API_VERSION} libssl")
+   set(WINPR_TOOLS_PC_LIBRARY_PRIVATE "crypto")
+ endif()
++set(WINPR_TOOLS_PC_REQUIRES winpr${WINPR_API_VERSION})
+ 
+ include(pkg-config-install-prefix)
+ cleaning_configure_file(
+diff --git a/winpr/tools/winpr-tools.pc.in b/winpr/tools/winpr-tools.pc.in
+index 4360d3c2b2ed..9502fc60fbb0 100644
+--- a/winpr/tools/winpr-tools.pc.in
++++ b/winpr/tools/winpr-tools.pc.in
+@@ -8,7 +8,7 @@ Name: WinPR
+ Description: WinPR: Windows Portable Runtime
+ URL: http://www.freerdp.com/
+ Version: @WINPR_TOOLS_VERSION@
+-Requires:
++Requires: @WINPR_TOOLS_PC_REQUIRES@
+ Requires.private: @WINPR_TOOLS_PC_REQUIRES_PRIVATE@
+ Libs: -L${libdir} ${libs}
+ Libs.private: @WINPR_TOOLS_PC_LIBRARY_PRIVATE@

diff --git a/net-misc/freerdp/freerdp-3.17.2.ebuild 
b/net-misc/freerdp/freerdp-3.17.2-r1.ebuild
similarity index 98%
rename from net-misc/freerdp/freerdp-3.17.2.ebuild
rename to net-misc/freerdp/freerdp-3.17.2-r1.ebuild
index 3324d3ddf819..f728ef46bc50 100644
--- a/net-misc/freerdp/freerdp-3.17.2.ebuild
+++ b/net-misc/freerdp/freerdp-3.17.2-r1.ebuild
@@ -108,6 +108,10 @@ RDEPEND="${COMMON_DEPEND}
        smartcard? ( app-crypt/p11-kit )
 "
 
+PATCHES=(
+       "${FILESDIR}"/freerdp-3.17.2-pkgconfig.patch
+)
+
 option() {
        usex "$1" ON OFF
 }

Reply via email to