virtualbox: patch HostServices/SharedClipboard/x11-stub.cpp to use RT_NOREF

Signed-off-by: Florian Klink <flokli@flokli.de>

+160 -2
+153
pkgs/applications/virtualization/virtualbox/HostServices-SharedClipboard-x11-stub.cpp-use-RT_NOR.patch
··· 1 + From 9ac54c606b581847a170ac2fe525419aff2e5341 Mon Sep 17 00:00:00 2001 2 + From: Florian Klink <flokli@flokli.de> 3 + Date: Wed, 6 Dec 2017 23:58:20 +0100 4 + Subject: [PATCH] HostServices/SharedClipboard/x11-stub.cpp: use RT_NOREF 5 + rather than NOREF 6 + 7 + Currently, build process fails when configuring with --build-headless like this: 8 + 9 + ``` 10 + kBuild: Compiling VBoxSharedClipboard - /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/service.cpp 11 + kBuild: Compiling VBoxSharedClipboard - /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp 12 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:58:29: error: macro "NOREF" passed 2 arguments, but takes just 1 13 + NOREF(pClient, fHeadless); 14 + ^ 15 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:94:30: error: macro "NOREF" passed 2 arguments, but takes just 1 16 + NOREF(pClient, u32Formats); 17 + ^ 18 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:110:37: error: macro "NOREF" passed 4 arguments, but takes just 1 19 + NOREF(pClient, u32Format, pv, cb); 20 + ^ 21 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:128:37: error: macro "NOREF" passed 4 arguments, but takes just 1 22 + NOREF(pClient, pv, cb, u32Format); 23 + ^ 24 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp: In function 'int vboxClipboardConnect(VBOXCLIPBOARDCLIENTDATA*, bool)': 25 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:58:5: error: 'NOREF' was not declared in this scope 26 + NOREF(pClient, fHeadless); 27 + ^~~~~ 28 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:55:52: warning: unused parameter 'pClient' [-Wunused-parameter] 29 + int vboxClipboardConnect (VBOXCLIPBOARDCLIENTDATA *pClient, 30 + ^~~~~~~ 31 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:56:32: warning: unused parameter 'fHeadless' [-Wunused-parameter] 32 + bool fHeadless) 33 + ^~~~~~~~~ 34 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp: In function 'void vboxClipboardFormatAnnounce(VBOXCLIPBOARDCLIENTDATA*, uint32_t)': 35 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:94:5: error: 'NOREF' was not declared in this scope 36 + NOREF(pClient, u32Formats); 37 + ^~~~~ 38 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:91:60: warning: unused parameter 'pClient' [-Wunused-parameter] 39 + void vboxClipboardFormatAnnounce (VBOXCLIPBOARDCLIENTDATA *pClient, 40 + ^~~~~~~ 41 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:92:44: warning: unused parameter 'u32Formats' [-Wunused-parameter] 42 + uint32_t u32Formats) 43 + ^~~~~~~~~~ 44 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp: In function 'int vboxClipboardReadData(VBOXCLIPBOARDCLIENTDATA*, uint32_t, void*, uint32_t, uint32_t*)': 45 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:110:5: error: 'NOREF' was not declared in this scope 46 + NOREF(pClient, u32Format, pv, cb); 47 + ^~~~~ 48 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:107:53: warning: unused parameter 'pClient' [-Wunused-parameter] 49 + int vboxClipboardReadData (VBOXCLIPBOARDCLIENTDATA *pClient, uint32_t u32Format, 50 + ^~~~~~~ 51 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:107:71: warning: unused parameter 'u32Format' [-Wunused-parameter] 52 + int vboxClipboardReadData (VBOXCLIPBOARDCLIENTDATA *pClient, uint32_t u32Format, 53 + ^~~~~~~~~ 54 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:108:34: warning: unused parameter 'pv' [-Wunused-parameter] 55 + void *pv, uint32_t cb, uint32_t *pcbActual) 56 + ^~ 57 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:108:47: warning: unused parameter 'cb' [-Wunused-parameter] 58 + void *pv, uint32_t cb, uint32_t *pcbActual) 59 + ^~ 60 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp: In function 'void vboxClipboardWriteData(VBOXCLIPBOARDCLIENTDATA*, void*, uint32_t, uint32_t)': 61 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:128:5: error: 'NOREF' was not declared in this scope 62 + NOREF(pClient, pv, cb, u32Format); 63 + ^~~~~ 64 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:125:55: warning: unused parameter 'pClient' [-Wunused-parameter] 65 + void vboxClipboardWriteData (VBOXCLIPBOARDCLIENTDATA *pClient, void *pv, 66 + ^~~~~~~ 67 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:125:70: warning: unused parameter 'pv' [-Wunused-parameter] 68 + void vboxClipboardWriteData (VBOXCLIPBOARDCLIENTDATA *pClient, void *pv, 69 + ^~ 70 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:126:39: warning: unused parameter 'cb' [-Wunused-parameter] 71 + uint32_t cb, uint32_t u32Format) 72 + ^~ 73 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp:126:52: warning: unused parameter 'u32Format' [-Wunused-parameter] 74 + uint32_t cb, uint32_t u32Format) 75 + ^~~~~~~~~ 76 + kmk: *** [/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/out/linux.amd64/release/obj/VBoxSharedClipboard/x11-stub.o] Error 1 77 + The failing command: 78 + @g++ -c -O2 -g -pipe -pedantic -Wshadow -Wall -Wextra -Wno-missing-field-initializers -Wno-unused -Wno-trigraphs -fdiagnostics-show-option -Wno-unused-parameter -Wlogical-op -Wno-variadic-macros 79 + -Wno-long-long -Wunused-variable -Wunused-function -Wunused-label -Wunused-parameter -Wno-overloaded-virtual -Wno-variadic-macros -O2 -mtune=generic -fno-omit-frame-pointer -fno-strict-aliasing 80 + -fvisibility=hidden -DVBOX_HAVE_VISIBILITY_HIDDEN -DRT_USE_VISIBILITY_DEFAULT -fvisibility-inlines-hidden -fPIC -m64 81 + -I/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/out/linux.amd64/release/obj/VBoxSharedClipboard/dtrace -I/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/include 82 + -I/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/out/linux.amd64/release -DVBOX -DVBOX_OSE -DVBOX_WITH_64_BITS_GUESTS -DVBOX_WITH_REM -DVBOX_WITH_RAW_MODE -DRT_OS_LINUX -D_FILE_OFFSET_BITS=64 83 + -DRT_ARCH_AMD64 -D__AMD64__ -DVBOX_WITH_DEBUGGER -DVBOX_WITH_HARDENING -DRTPATH_APP_PRIVATE=\"/nix/store/fqjnpbzq25ffpkpk6hsl3x19ydin2pp1-virtualbox-5.2.2/share/virtualbox\" 84 + -DRTPATH_APP_PRIVATE_ARCH=\"/nix/store/fqjnpbzq25ffpkpk6hsl3x19ydin2pp1-virtualbox-5.2.2/libexec/virtualbox\" 85 + -DRTPATH_APP_PRIVATE_ARCH_TOP=\"/nix/store/fqjnpbzq25ffpkpk6hsl3x19ydin2pp1-virtualbox-5.2.2/share/virtualbox\" 86 + -DRTPATH_SHARED_LIBS=\"/nix/store/fqjnpbzq25ffpkpk6hsl3x19ydin2pp1-virtualbox-5.2.2/libexec/virtualbox\" -DRTPATH_APP_DOCS=\"/nix/store/fqjnpbzq25ffpkpk6hsl3x19ydin2pp1-virtualbox-5.2.2/doc\" 87 + -DIN_RING3 -DHC_ARCH_BITS=64 -DGC_ARCH_BITS=64 -DVBOX_WITH_DTRACE -DVBOX_WITH_DTRACE_R3 -DPIC -DVBOX_WITH_HGCM 88 + -Wp,-MD,/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/out/linux.amd64/release/obj/VBoxSharedClipboard/x11-stub.o.dep 89 + -Wp,-MT,/tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/out/linux.amd64/release/obj/VBoxSharedClipboard/x11-stub.o -Wp,-MP -o 90 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/out/linux.amd64/release/obj/VBoxSharedClipboard/x11-stub.o 91 + /tmp/nix-build-virtualbox-5.2.2.drv-0/VirtualBox-5.2.2/src/VBox/HostServices/SharedClipboard/x11-stub.cpp 92 + ``` 93 + 94 + This seems to be caused by the usage of NOREF in 95 + src/VBox/HostServices/SharedClipboard/x11-stub.cpp, so use RT_NOREFN 96 + instead. 97 + 98 + Signed-off-by: Florian Klink <flokli@flokli.de> 99 + --- 100 + src/VBox/HostServices/SharedClipboard/x11-stub.cpp | 10 +++++----- 101 + 1 file changed, 5 insertions(+), 5 deletions(-) 102 + 103 + diff --git a/src/VBox/HostServices/SharedClipboard/x11-stub.cpp b/src/VBox/HostServices/SharedClipboard/x11-stub.cpp 104 + index d890215..57ba883 100644 105 + --- a/src/VBox/HostServices/SharedClipboard/x11-stub.cpp 106 + +++ b/src/VBox/HostServices/SharedClipboard/x11-stub.cpp 107 + @@ -55,7 +55,7 @@ void vboxClipboardDestroy (void) 108 + int vboxClipboardConnect (VBOXCLIPBOARDCLIENTDATA *pClient, 109 + bool fHeadless) 110 + { 111 + - NOREF(pClient, fHeadless); 112 + + RT_NOREF2(pClient, fHeadless); 113 + LogFlowFunc(("called, returning VINF_SUCCESS.\n")); 114 + return VINF_SUCCESS; 115 + } 116 + @@ -77,7 +77,7 @@ int vboxClipboardSync (VBOXCLIPBOARDCLIENTDATA * /* pClient */) 117 + */ 118 + void vboxClipboardDisconnect (VBOXCLIPBOARDCLIENTDATA *pClient) 119 + { 120 + - NOREF(pClient); 121 + + RT_NOREF1(pClient); 122 + LogFlowFunc(("called, returning.\n")); 123 + } 124 + 125 + @@ -91,7 +91,7 @@ void vboxClipboardDisconnect (VBOXCLIPBOARDCLIENTDATA *pClient) 126 + void vboxClipboardFormatAnnounce (VBOXCLIPBOARDCLIENTDATA *pClient, 127 + uint32_t u32Formats) 128 + { 129 + - NOREF(pClient, u32Formats); 130 + + RT_NOREF2(pClient, u32Formats); 131 + LogFlowFunc(("called, returning.\n")); 132 + } 133 + 134 + @@ -107,7 +107,7 @@ void vboxClipboardFormatAnnounce (VBOXCLIPBOARDCLIENTDATA *pClient, 135 + int vboxClipboardReadData (VBOXCLIPBOARDCLIENTDATA *pClient, uint32_t u32Format, 136 + void *pv, uint32_t cb, uint32_t *pcbActual) 137 + { 138 + - NOREF(pClient, u32Format, pv, cb); 139 + + RT_NOREF4(pClient, u32Format, pv, cb); 140 + LogFlowFunc(("called, returning VINF_SUCCESS.\n")); 141 + /* No data available. */ 142 + *pcbActual = 0; 143 + @@ -125,6 +125,6 @@ int vboxClipboardReadData (VBOXCLIPBOARDCLIENTDATA *pClient, uint32_t u32Format, 144 + void vboxClipboardWriteData (VBOXCLIPBOARDCLIENTDATA *pClient, void *pv, 145 + uint32_t cb, uint32_t u32Format) 146 + { 147 + - NOREF(pClient, pv, cb, u32Format); 148 + + RT_NOREF4(pClient, pv, cb, u32Format); 149 + LogFlowFunc(("called, returning.\n")); 150 + } 151 + -- 152 + 2.15.0 153 +
+7 -2
pkgs/applications/virtualization/virtualbox/default.nix
··· 88 88 set +x 89 89 ''; 90 90 91 - patches = optional enableHardening ./hardened.patch 92 - ++ [ ./qtx11extras.patch ]; 91 + patches = 92 + optional enableHardening ./hardened.patch 93 + # https://www.virtualbox.org/pipermail/vbox-dev/2017-December/014888.html 94 + ++ optional headless [ ./HostServices-SharedClipboard-x11-stub.cpp-use-RT_NOR.patch ] 95 + ++ [ ./qtx11extras.patch ]; 96 + 97 + 93 98 94 99 postPatch = '' 95 100 sed -i -e 's|/sbin/ifconfig|${nettools}/bin/ifconfig|' \