diff --git a/hardware/virtualization/virtualbox/files/archlinux/021-curl_proxytype-to-long.patch b/hardware/virtualization/virtualbox/files/archlinux/021-curl_proxytype-to-long.patch
new file mode 100644
index 0000000000..fb9de3ae54
--- /dev/null
+++ b/hardware/virtualization/virtualbox/files/archlinux/021-curl_proxytype-to-long.patch
@@ -0,0 +1,40 @@
+diff --git a/src/VBox/Runtime/generic/http-curl.cpp b/src/VBox/Runtime/generic/http-curl.cpp
+index 4cf51049..585bfb18 100644
+--- a/src/VBox/Runtime/generic/http-curl.cpp
++++ b/src/VBox/Runtime/generic/http-curl.cpp
+@@ -188,7 +188,7 @@ typedef struct RTHTTPINTERNAL
+ /** Proxy port number (UINT32_MAX if not specified). */
+ uint32_t uProxyPort;
+ /** The proxy type (CURLPROXY_HTTP, CURLPROXY_SOCKS5, ++). */
+- curl_proxytype enmProxyType;
++ long enmProxyType;
+ /** Proxy username (RTStrFree). */
+ char *pszProxyUsername;
+ /** Proxy password (RTStrFree). */
+@@ -591,7 +591,7 @@ RTR3DECL(int) RTHttpUseSystemProxySettings(RTHTTP hHttp)
+ * @param pszUsername The proxy username, or NULL if none.
+ * @param pszPassword The proxy password, or NULL if none.
+ */
+-static int rtHttpUpdateProxyConfig(PRTHTTPINTERNAL pThis, curl_proxytype enmProxyType, const char *pszHost,
++static int rtHttpUpdateProxyConfig(PRTHTTPINTERNAL pThis, long enmProxyType, const char *pszHost,
+ uint32_t uPort, const char *pszUsername, const char *pszPassword)
+ {
+ CURLcode rcCurl;
+@@ -871,7 +871,7 @@ static int rtHttpConfigureProxyFromUrl(PRTHTTPINTERNAL pThis, const char *pszPro
+ char *pszPassword = RTUriParsedAuthorityPassword(pszProxyUrl, &Parsed);
+ uint32_t uProxyPort = RTUriParsedAuthorityPort(pszProxyUrl, &Parsed);
+ bool fUnknownProxyType = false;
+- curl_proxytype enmProxyType;
++ long enmProxyType;
+ if (RTUriIsSchemeMatch(pszProxyUrl, "http"))
+ {
+ enmProxyType = CURLPROXY_HTTP;
+@@ -1352,7 +1352,7 @@ static int rtHttpDarwinTryConfigProxy(PRTHTTPINTERNAL pThis, CFDictionaryRef hDi
+ * Determine the proxy type (not entirely sure about type == proxy type and
+ * not scheme/protocol)...
+ */
+- curl_proxytype enmProxyType = CURLPROXY_HTTP;
++ long enmProxyType = CURLPROXY_HTTP;
+ uint32_t uDefaultProxyPort = 8080;
+ if ( CFEqual(hStrProxyType, kCFProxyTypeHTTP)
+ || CFEqual(hStrProxyType, kCFProxyTypeHTTPS))
diff --git a/hardware/virtualization/virtualbox/pspec.xml b/hardware/virtualization/virtualbox/pspec.xml
index 03fbf20be2..0dc07dec3e 100644
--- a/hardware/virtualization/virtualbox/pspec.xml
+++ b/hardware/virtualization/virtualbox/pspec.xml
@@ -77,7 +77,7 @@
archlinux/012-vbglR3GuestCtrlDetectPeekGetCancelSupport.patch
archlinux/013-support-building-from-dkms.patch
archlinux/018-upate-xclient-script.patch
-
+ archlinux/021-curl_proxytype-to-long.patch