net-misc/freerdp: backport a couple of fixes
authorMike Gilbert <floppym@gentoo.org>
Fri, 10 Apr 2020 14:48:26 +0000 (10:48 -0400)
committerMike Gilbert <floppym@gentoo.org>
Fri, 10 Apr 2020 14:48:26 +0000 (10:48 -0400)
Closes: https://bugs.gentoo.org/716934
Package-Manager: Portage-2.3.96_p4, Repoman-2.3.22_p1
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
net-misc/freerdp/files/2.0.0-backports.patch [new file with mode: 0644]
net-misc/freerdp/freerdp-2.0.0-r1.ebuild [moved from net-misc/freerdp/freerdp-2.0.0.ebuild with 98% similarity]

diff --git a/net-misc/freerdp/files/2.0.0-backports.patch b/net-misc/freerdp/files/2.0.0-backports.patch
new file mode 100644 (file)
index 0000000..a1cf365
--- /dev/null
@@ -0,0 +1,94 @@
+From 42d40261c58307508299deae58a75ef08d14283d Mon Sep 17 00:00:00 2001
+From: akallabeth <akallabeth@posteo.net>
+Date: Fri, 10 Apr 2020 14:11:15 +0200
+Subject: [PATCH] Fixed return type for subsystem entry
+
+---
+ channels/client/CMakeLists.txt                 | 2 +-
+ channels/client/tables.h                       | 2 +-
+ channels/urbdrc/client/libusb/libusb_udevman.c | 6 +++---
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/channels/client/CMakeLists.txt b/channels/client/CMakeLists.txt
+index a0d3a73581..eb0c80f129 100644
+--- a/channels/client/CMakeLists.txt
++++ b/channels/client/CMakeLists.txt
+@@ -97,7 +97,7 @@ foreach(STATIC_MODULE ${CHANNEL_STATIC_CLIENT_MODULES})
+                       set(STATIC_SUBSYSTEM_ENTRY "${STATIC_SUBSYSTEM_NAME}_freerdp_${STATIC_MODULE_CHANNEL}_client_subsystem_entry")
+               endif()
+               set(SUBSYSTEM_TABLE "${SUBSYSTEM_TABLE}\n\t{ \"${STATIC_SUBSYSTEM_NAME}\", \"${STATIC_SUBSYSTEM_TYPE}\", ${STATIC_SUBSYSTEM_ENTRY} },")
+-              set(SUBSYSTEM_IMPORT "extern void ${STATIC_SUBSYSTEM_ENTRY}(void);")
++              set(SUBSYSTEM_IMPORT "extern UINT ${STATIC_SUBSYSTEM_ENTRY}(void*);")
+               set(CLIENT_STATIC_SUBSYSTEM_IMPORTS "${CLIENT_STATIC_SUBSYSTEM_IMPORTS}\n${SUBSYSTEM_IMPORT}")
+       endforeach()
+       set(SUBSYSTEM_TABLE "${SUBSYSTEM_TABLE}\n\t{ NULL, NULL, NULL }\n};")
+diff --git a/channels/client/tables.h b/channels/client/tables.h
+index fd998a6ae1..b6b3f9ca27 100644
+--- a/channels/client/tables.h
++++ b/channels/client/tables.h
+@@ -37,7 +37,7 @@ struct _STATIC_SUBSYSTEM_ENTRY
+ {
+       const char* name;
+       const char* type;
+-      void (*entry)(void);
++      UINT (*entry)();
+ };
+ typedef struct _STATIC_SUBSYSTEM_ENTRY STATIC_SUBSYSTEM_ENTRY;
+diff --git a/channels/urbdrc/client/libusb/libusb_udevman.c b/channels/urbdrc/client/libusb/libusb_udevman.c
+index 67360ad430..7509326c22 100644
+--- a/channels/urbdrc/client/libusb/libusb_udevman.c
++++ b/channels/urbdrc/client/libusb/libusb_udevman.c
+@@ -861,9 +861,9 @@ static DWORD poll_thread(LPVOID lpThreadParameter)
+ #else
+ #define freerdp_urbdrc_client_subsystem_entry FREERDP_API freerdp_urbdrc_client_subsystem_entry
+ #endif
+-int freerdp_urbdrc_client_subsystem_entry(PFREERDP_URBDRC_SERVICE_ENTRY_POINTS pEntryPoints)
++UINT freerdp_urbdrc_client_subsystem_entry(PFREERDP_URBDRC_SERVICE_ENTRY_POINTS pEntryPoints)
+ {
+-      int rc;
++      UINT rc;
+       UINT status;
+       UDEVMAN* udevman;
+       ADDIN_ARGV* args = pEntryPoints->args;
+@@ -922,5 +922,5 @@ int freerdp_urbdrc_client_subsystem_entry(PFREERDP_URBDRC_SERVICE_ENTRY_POINTS p
+       return 0;
+ fail:
+       udevman_free(&udevman->iface);
+-      return -1;
++      return ERROR_INTERNAL_ERROR;
+ }
+From aa39e08c29a43c2353b9f158edb0b113c7e0751f Mon Sep 17 00:00:00 2001
+From: akallabeth <akallabeth@posteo.net>
+Date: Fri, 10 Apr 2020 14:16:19 +0200
+Subject: [PATCH] Fixed URBDRC DEVICE_ADD_FLAG definitions
+
+---
+ channels/urbdrc/client/urbdrc_main.h | 14 ++++++--------
+ 1 file changed, 6 insertions(+), 8 deletions(-)
+
+diff --git a/channels/urbdrc/client/urbdrc_main.h b/channels/urbdrc/client/urbdrc_main.h
+index 5ec839983b..749aaf8727 100644
+--- a/channels/urbdrc/client/urbdrc_main.h
++++ b/channels/urbdrc/client/urbdrc_main.h
+@@ -222,14 +222,12 @@ struct _IUDEVMAN
+       UINT32 status;
+ };
+-enum
+-{
+-      DEVICE_ADD_FLAG_BUS,
+-      DEVICE_ADD_FLAG_DEV,
+-      DEVICE_ADD_FLAG_VENDOR,
+-      DEVICE_ADD_FLAG_PRODUCT,
+-      DEVICE_ADD_FLAG_REGISTER
+-} device_add_flag_t;
++#define DEVICE_ADD_FLAG_BUS 0x01
++#define DEVICE_ADD_FLAG_DEV 0x02
++#define DEVICE_ADD_FLAG_VENDOR 0x04
++#define DEVICE_ADD_FLAG_PRODUCT 0x08
++#define DEVICE_ADD_FLAG_REGISTER 0x10
++
+ #define DEVICE_ADD_FLAG_ALL                                               \
+       (DEVICE_ADD_FLAG_BUS | DEVICE_ADD_FLAG_DEV | DEVICE_ADD_FLAG_VENDOR | \
+        DEVICE_ADD_FLAG_PRODUCT | DEVICE_ADD_FLAG_REGISTER)
similarity index 98%
rename from net-misc/freerdp/freerdp-2.0.0.ebuild
rename to net-misc/freerdp/freerdp-2.0.0-r1.ebuild
index d7ec2211de896038366b0aef01ad84e1eb42b86b..07e0c2846dd4f67fbc6e04fdf229181995d07d08 100644 (file)
@@ -91,6 +91,10 @@ BDEPEND="
        ) ) )
 "
 
+PATCHES=(
+       "${FILESDIR}"/2.0.0-backports.patch
+)
+
 src_configure() {
        local mycmakeargs=(
                -DBUILD_TESTING=$(usex test ON OFF)