aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/alpine-fix-privacy-policy-crash.patch39
-rw-r--r--gnu/packages/patches/aws-c-auth-cmake-prefix.patch13
-rw-r--r--gnu/packages/patches/aws-c-auth-disable-networking-tests.patch64
-rw-r--r--gnu/packages/patches/aws-c-compression-cmake-prefix.patch13
-rw-r--r--gnu/packages/patches/aws-c-http-cmake-prefix.patch13
-rw-r--r--gnu/packages/patches/aws-c-http-disable-networking-tests.patch48
-rw-r--r--gnu/packages/patches/aws-c-io-disable-networking-tests.patch28
-rw-r--r--gnu/packages/patches/aws-c-mqtt-cmake-prefix.patch13
-rw-r--r--gnu/packages/patches/aws-c-s3-cmake-prefix.patch13
-rw-r--r--gnu/packages/patches/aws-c-s3-disable-networking-tests.patch153
-rw-r--r--gnu/packages/patches/aws-crt-cpp-cmake-prefix.patch13
-rw-r--r--gnu/packages/patches/aws-crt-cpp-disable-networking-tests.patch47
-rw-r--r--gnu/packages/patches/aws-sdk-cpp-cmake-prefix.patch18
-rw-r--r--gnu/packages/patches/aws-sdk-cpp-disable-networking-tests.patch44
-rw-r--r--gnu/packages/patches/aws-sdk-cpp-disable-werror.patch11
-rw-r--r--gnu/packages/patches/libhx-fix-double-free-bug.patch80
-rw-r--r--gnu/packages/patches/mixxx-link-qtscriptbytearray-qtscript.patch25
-rw-r--r--gnu/packages/patches/mixxx-system-googletest-benchmark.patch43
-rw-r--r--gnu/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch32
19 files changed, 613 insertions, 97 deletions
diff --git a/gnu/packages/patches/alpine-fix-privacy-policy-crash.patch b/gnu/packages/patches/alpine-fix-privacy-policy-crash.patch
new file mode 100644
index 0000000000..d514ac33a0
--- /dev/null
+++ b/gnu/packages/patches/alpine-fix-privacy-policy-crash.patch
@@ -0,0 +1,39 @@
+X-Git-Url: https://repo.or.cz/alpine.git/blobdiff_plain/fb2217ac67706e4cbef69bea41041e2fb8b910e9..3ee981816abfb7d47ffc0ac522fff002b5749b72:/alpine/help.c
+
+diff --git a/alpine/help.c b/alpine/help.c
+index 4f1bf46..e9c7b34 100644
+--- a/alpine/help.c
++++ b/alpine/help.c
+@@ -36,6 +36,7 @@ static char rcsid[] = "$Id: help.c 1032 2008-04-11 00:30:04Z hubert@u.washington
+ #include "../pith/detoken.h"
+ #include "../pith/list.h"
+ #include "../pith/margin.h"
++#include "../pith/busy.h"
+
+
+ typedef struct _help_scroll {
+@@ -135,10 +136,12 @@ helper_internal(HelpType text, char *frag, char *title, int flags)
+ is_external = 0;
+
+ if(shown_text && *shown_text && !struncmp(*shown_text, "x-alpine-http:", 14)){
+- int status;
++ int status, we_cancel = 0;
++
++ we_cancel = busy_cue(_("Retrieving help text"), NULL, 1);
+ HTTPSTREAM *stream = http_open(*shown_text + 14);
+ if(stream) help_text = http_get(stream, NULL);
+- status = stream->status ? stream->status->code : -1;
++ status = stream && stream->status ? stream->status->code : -1;
+ if(stream) http_close(stream);
+ if(status != HTTP_OK){
+ shown_text = NO_HELP;
+@@ -165,7 +168,8 @@ helper_internal(HelpType text, char *frag, char *title, int flags)
+ *rv = NULL;
+ }
+ }
+-
++ if(we_cancel)
++ cancel_busy_cue(-1);
+ }
+
+ if(F_ON(F_BLANK_KEYMENU,ps_global)){
diff --git a/gnu/packages/patches/aws-c-auth-cmake-prefix.patch b/gnu/packages/patches/aws-c-auth-cmake-prefix.patch
new file mode 100644
index 0000000000..da3e4eb4a5
--- /dev/null
+++ b/gnu/packages/patches/aws-c-auth-cmake-prefix.patch
@@ -0,0 +1,13 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,6 +6,10 @@ if (POLICY CMP0069)
+ cmake_policy(SET CMP0069 NEW) # Enable LTO/IPO if available in the compiler, see AwsCFlags
+ endif()
+
++if (DEFINED ENV{CMAKE_PREFIX_PATH})
++ set(CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH})
++endif()
++
+ if (DEFINED CMAKE_PREFIX_PATH)
+ file(TO_CMAKE_PATH "${CMAKE_PREFIX_PATH}" CMAKE_PREFIX_PATH)
+ endif()
diff --git a/gnu/packages/patches/aws-c-auth-disable-networking-tests.patch b/gnu/packages/patches/aws-c-auth-disable-networking-tests.patch
new file mode 100644
index 0000000000..905247f528
--- /dev/null
+++ b/gnu/packages/patches/aws-c-auth-disable-networking-tests.patch
@@ -0,0 +1,64 @@
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -19,8 +19,8 @@ add_test_case(profile_credentials_provider_environment_test)
+ add_test_case(credentials_provider_first_in_chain_test)
+ add_test_case(credentials_provider_second_in_chain_test)
+ add_test_case(credentials_provider_null_chain_test)
+-add_test_case(credentials_provider_default_basic_test)
+-add_test_case(credentials_provider_default_manual_tls_test)
++#add_test_case(credentials_provider_default_basic_test)
++#add_test_case(credentials_provider_default_manual_tls_test)
+ add_test_case(credentials_provider_imds_new_destroy)
+ add_test_case(credentials_provider_imds_connect_failure)
+ add_test_case(credentials_provider_imds_token_request_failure)
+@@ -58,28 +58,28 @@ add_test_case(credentials_provider_x509_basic_success)
+ add_test_case(credentials_provider_x509_success_multi_part_doc)
+ add_test_case(credentials_provider_x509_real_new_destroy)
+
+-add_net_test_case(credentials_provider_sts_web_identity_new_destroy_from_env)
+-add_net_test_case(credentials_provider_sts_web_identity_new_destroy_from_config)
+-add_net_test_case(credentials_provider_sts_web_identity_new_failed_without_env_and_config)
+-add_net_test_case(credentials_provider_sts_web_identity_connect_failure)
+-add_net_test_case(credentials_provider_sts_web_identity_request_failure)
+-add_net_test_case(credentials_provider_sts_web_identity_bad_document_failure)
+-add_net_test_case(credentials_provider_sts_web_identity_test_retry_error1)
+-add_net_test_case(credentials_provider_sts_web_identity_test_retry_error2)
+-add_net_test_case(credentials_provider_sts_web_identity_basic_success_env)
+-add_net_test_case(credentials_provider_sts_web_identity_basic_success_config)
+-add_net_test_case(credentials_provider_sts_web_identity_success_multi_part_doc)
+-add_net_test_case(credentials_provider_sts_web_identity_real_new_destroy)
+-
+-add_net_test_case(credentials_provider_sts_direct_config_succeeds)
+-add_net_test_case(credentials_provider_sts_direct_config_succeeds_after_retry)
+-add_net_test_case(credentials_provider_sts_direct_config_invalid_doc)
+-add_net_test_case(credentials_provider_sts_direct_config_connection_failed)
+-add_net_test_case(credentials_provider_sts_direct_config_service_fails)
+-add_net_test_case(credentials_provider_sts_from_profile_config_succeeds)
+-add_net_test_case(credentials_provider_sts_from_profile_config_manual_tls_succeeds)
+-add_net_test_case(credentials_provider_sts_from_profile_config_environment_succeeds)
+-add_net_test_case(credentials_provider_sts_cache_expiration_conflict)
++#add_net_test_case(credentials_provider_sts_web_identity_new_destroy_from_env)
++#add_net_test_case(credentials_provider_sts_web_identity_new_destroy_from_config)
++#add_net_test_case(credentials_provider_sts_web_identity_new_failed_without_env_and_config)
++#add_net_test_case(credentials_provider_sts_web_identity_connect_failure)
++#add_net_test_case(credentials_provider_sts_web_identity_request_failure)
++#add_net_test_case(credentials_provider_sts_web_identity_bad_document_failure)
++#add_net_test_case(credentials_provider_sts_web_identity_test_retry_error1)
++#add_net_test_case(credentials_provider_sts_web_identity_test_retry_error2)
++#add_net_test_case(credentials_provider_sts_web_identity_basic_success_env)
++#add_net_test_case(credentials_provider_sts_web_identity_basic_success_config)
++#add_net_test_case(credentials_provider_sts_web_identity_success_multi_part_doc)
++#add_net_test_case(credentials_provider_sts_web_identity_real_new_destroy)
++
++#add_net_test_case(credentials_provider_sts_direct_config_succeeds)
++#add_net_test_case(credentials_provider_sts_direct_config_succeeds_after_retry)
++#add_net_test_case(credentials_provider_sts_direct_config_invalid_doc)
++#add_net_test_case(credentials_provider_sts_direct_config_connection_failed)
++#add_net_test_case(credentials_provider_sts_direct_config_service_fails)
++#add_net_test_case(credentials_provider_sts_from_profile_config_succeeds)
++#add_net_test_case(credentials_provider_sts_from_profile_config_manual_tls_succeeds)
++#add_net_test_case(credentials_provider_sts_from_profile_config_environment_succeeds)
++#add_net_test_case(credentials_provider_sts_cache_expiration_conflict)
+
+ add_test_case(credentials_provider_process_new_destroy_from_config)
+ add_test_case(credentials_provider_process_new_failed)
diff --git a/gnu/packages/patches/aws-c-compression-cmake-prefix.patch b/gnu/packages/patches/aws-c-compression-cmake-prefix.patch
new file mode 100644
index 0000000000..eefae19c4a
--- /dev/null
+++ b/gnu/packages/patches/aws-c-compression-cmake-prefix.patch
@@ -0,0 +1,13 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -5,6 +5,10 @@ if (POLICY CMP0069)
+ cmake_policy(SET CMP0069 NEW) # Enable LTO/IPO if available in the compiler, see AwsCFlags
+ endif()
+
++if (DEFINED ENV{CMAKE_PREFIX_PATH})
++ set(CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH})
++endif()
++
+ if (DEFINED CMAKE_PREFIX_PATH)
+ file(TO_CMAKE_PATH "${CMAKE_PREFIX_PATH}" CMAKE_PREFIX_PATH)
+ endif()
diff --git a/gnu/packages/patches/aws-c-http-cmake-prefix.patch b/gnu/packages/patches/aws-c-http-cmake-prefix.patch
new file mode 100644
index 0000000000..ec650a7e82
--- /dev/null
+++ b/gnu/packages/patches/aws-c-http-cmake-prefix.patch
@@ -0,0 +1,13 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -7,6 +7,10 @@ endif()
+
+ option(ENABLE_PROXY_INTEGRATION_TESTS "Whether to run the proxy integration tests that rely on a proxy server installed and running locally" OFF)
+
++if (DEFINED ENV{CMAKE_PREFIX_PATH})
++ set(CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH})
++endif()
++
+ if (DEFINED CMAKE_PREFIX_PATH)
+ file(TO_CMAKE_PATH "${CMAKE_PREFIX_PATH}" CMAKE_PREFIX_PATH)
+ endif()
diff --git a/gnu/packages/patches/aws-c-http-disable-networking-tests.patch b/gnu/packages/patches/aws-c-http-disable-networking-tests.patch
new file mode 100644
index 0000000000..9bfd422341
--- /dev/null
+++ b/gnu/packages/patches/aws-c-http-disable-networking-tests.patch
@@ -0,0 +1,48 @@
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -136,8 +136,8 @@ add_test_case(strutil_trim_http_whitespace)
+ add_test_case(strutil_is_http_token)
+ add_test_case(strutil_is_lowercase_http_token)
+
+-add_net_test_case(tls_download_medium_file_h1)
+-add_net_test_case(tls_download_medium_file_h2)
++#add_net_test_case(tls_download_medium_file_h1)
++#add_net_test_case(tls_download_medium_file_h2)
+
+ add_test_case(websocket_decoder_sanity_check)
+ add_test_case(websocket_decoder_simplest_frame)
+@@ -438,21 +438,21 @@ add_test_case(connection_setup_shutdown)
+
+ # connection manager tests
+ # unit tests where connections are mocked
+-add_net_test_case(test_connection_manager_setup_shutdown)
+-add_net_test_case(test_connection_manager_acquire_release_mix_synchronous)
+-add_net_test_case(test_connection_manager_connect_callback_failure)
+-add_net_test_case(test_connection_manager_connect_immediate_failure)
+-add_net_test_case(test_connection_manager_proxy_setup_shutdown)
+-add_net_test_case(test_connection_manager_idle_culling_single)
+-add_net_test_case(test_connection_manager_idle_culling_many)
+-add_net_test_case(test_connection_manager_idle_culling_mixture)
++#add_net_test_case(test_connection_manager_setup_shutdown)
++#add_net_test_case(test_connection_manager_acquire_release_mix_synchronous)
++#add_net_test_case(test_connection_manager_connect_callback_failure)
++#add_net_test_case(test_connection_manager_connect_immediate_failure)
++#add_net_test_case(test_connection_manager_proxy_setup_shutdown)
++#add_net_test_case(test_connection_manager_idle_culling_single)
++#add_net_test_case(test_connection_manager_idle_culling_many)
++#add_net_test_case(test_connection_manager_idle_culling_mixture)
+
+ # tests where we establish real connections
+-add_net_test_case(test_connection_manager_single_connection)
+-add_net_test_case(test_connection_manager_many_connections)
+-add_net_test_case(test_connection_manager_acquire_release)
+-add_net_test_case(test_connection_manager_close_and_release)
+-add_net_test_case(test_connection_manager_acquire_release_mix)
++#add_net_test_case(test_connection_manager_single_connection)
++#add_net_test_case(test_connection_manager_many_connections)
++#add_net_test_case(test_connection_manager_acquire_release)
++#add_net_test_case(test_connection_manager_close_and_release)
++#add_net_test_case(test_connection_manager_acquire_release_mix)
+
+
+ add_test_case(h1_server_sanity_check)
diff --git a/gnu/packages/patches/aws-c-io-disable-networking-tests.patch b/gnu/packages/patches/aws-c-io-disable-networking-tests.patch
index 09fe11310c..e2e3afea13 100644
--- a/gnu/packages/patches/aws-c-io-disable-networking-tests.patch
+++ b/gnu/packages/patches/aws-c-io-disable-networking-tests.patch
@@ -26,7 +26,7 @@
add_test_case(channel_duplicate_shutdown)
-add_net_test_case(channel_connect_some_hosts_timeout)
+#add_net_test_case(channel_connect_some_hosts_timeout)
-
+
-add_net_test_case(test_default_with_ipv6_lookup)
+#add_net_test_case(test_default_with_ipv6_lookup)
add_test_case(test_resolver_ipv6_address_lookup)
@@ -38,7 +38,7 @@
add_test_case(test_resolver_ttls)
add_test_case(test_resolver_connect_failure_recording)
add_test_case(test_resolver_ttl_refreshes_on_resolve)
-
+
add_net_test_case(test_resolver_listener_create_destroy)
-add_net_test_case(test_resolver_add_listener_before_host)
-add_net_test_case(test_resolver_add_listener_after_host)
@@ -49,25 +49,41 @@
add_net_test_case(test_resolver_listener_host_re_add_fn)
add_net_test_case(test_resolver_listener_multiple_results)
add_net_test_case(test_resolver_listener_address_expired_fn)
-@@ -119,20 +119,20 @@ add_test_case(socket_handler_close)
+@@ -121,11 +121,11 @@ add_test_case(socket_handler_close)
if (NOT BYO_CRYPTO)
add_net_test_case(test_concurrent_cert_import)
add_test_case(tls_channel_echo_and_backpressure_test)
- add_net_test_case(tls_client_channel_negotiation_error_expired)
- add_net_test_case(tls_client_channel_negotiation_error_wrong_host)
+- add_net_test_case(tls_client_channel_negotiation_error_wrong_host_with_ca_override)
- add_net_test_case(tls_client_channel_negotiation_error_self_signed)
- add_net_test_case(tls_client_channel_negotiation_error_untrusted_root)
+ #add_net_test_case(tls_client_channel_negotiation_error_expired)
+ #add_net_test_case(tls_client_channel_negotiation_error_wrong_host)
++ #add_net_test_case(tls_client_channel_negotiation_error_wrong_host_with_ca_override)
+ #add_net_test_case(tls_client_channel_negotiation_error_self_signed)
+ #add_net_test_case(tls_client_channel_negotiation_error_untrusted_root)
#track these down in s2n and find out why that aren't failing.
#add_net_test_case(tls_client_channel_negotiation_error_revoked)
#add_net_test_case(tls_client_channel_negotiation_error_pinning)
+@@ -133,23 +133,23 @@ if (NOT BYO_CRYPTO)
+ # once done, add these tests as well
+ #add_net_test_case(tls_client_channel_negotiation_no_verify_revoked)
+ #add_net_test_case(tls_client_channel_negotiation_no_verify_pinning)
+- add_net_test_case(tls_client_channel_negotiation_no_verify_expired)
+- add_net_test_case(tls_client_channel_negotiation_no_verify_wrong_host)
+- add_net_test_case(tls_client_channel_negotiation_no_verify_self_signed)
+- add_net_test_case(tls_client_channel_negotiation_no_verify_untrusted_root)
+-
- add_net_test_case(tls_client_channel_negotiation_error_socket_closed)
- add_net_test_case(tls_client_channel_negotiation_success)
- add_net_test_case(tls_client_channel_negotiation_success_ecc256)
- add_net_test_case(tls_client_channel_negotiation_success_ecc384)
++ #add_net_test_case(tls_client_channel_negotiation_no_verify_expired)
++ #add_net_test_case(tls_client_channel_negotiation_no_verify_wrong_host)
++ #add_net_test_case(tls_client_channel_negotiation_no_verify_self_signed)
++ #add_net_test_case(tls_client_channel_negotiation_no_verify_untrusted_root)
++
+ #add_net_test_case(tls_client_channel_negotiation_error_socket_closed)
+ #add_net_test_case(tls_client_channel_negotiation_success)
+ #add_net_test_case(tls_client_channel_negotiation_success_ecc256)
@@ -79,3 +95,9 @@
add_net_test_case(test_tls_negotiation_timeout)
add_net_test_case(tls_double_channel)
add_net_test_case(alpn_successfully_negotiates)
+ add_net_test_case(alpn_no_protocol_message)
+- add_net_test_case(test_ecc_cert_import)
++ #add_net_test_case(test_ecc_cert_import)
+ add_test_case(alpn_error_creating_handler)
+ add_test_case(tls_destroy_null_context)
+ add_test_case(tls_channel_statistics_test)
diff --git a/gnu/packages/patches/aws-c-mqtt-cmake-prefix.patch b/gnu/packages/patches/aws-c-mqtt-cmake-prefix.patch
new file mode 100644
index 0000000000..987024b57c
--- /dev/null
+++ b/gnu/packages/patches/aws-c-mqtt-cmake-prefix.patch
@@ -0,0 +1,13 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -7,6 +7,10 @@ if (POLICY CMP0069)
+ cmake_policy(SET CMP0069 NEW) # Enable LTO/IPO if available in the compiler, see AwsCFlags
+ endif()
+
++if (DEFINED ENV{CMAKE_PREFIX_PATH})
++ set(CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH})
++endif()
++
+ if (DEFINED CMAKE_PREFIX_PATH)
+ file(TO_CMAKE_PATH "${CMAKE_PREFIX_PATH}" CMAKE_PREFIX_PATH)
+ endif()
diff --git a/gnu/packages/patches/aws-c-s3-cmake-prefix.patch b/gnu/packages/patches/aws-c-s3-cmake-prefix.patch
new file mode 100644
index 0000000000..da3e4eb4a5
--- /dev/null
+++ b/gnu/packages/patches/aws-c-s3-cmake-prefix.patch
@@ -0,0 +1,13 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,6 +6,10 @@ if (POLICY CMP0069)
+ cmake_policy(SET CMP0069 NEW) # Enable LTO/IPO if available in the compiler, see AwsCFlags
+ endif()
+
++if (DEFINED ENV{CMAKE_PREFIX_PATH})
++ set(CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH})
++endif()
++
+ if (DEFINED CMAKE_PREFIX_PATH)
+ file(TO_CMAKE_PATH "${CMAKE_PREFIX_PATH}" CMAKE_PREFIX_PATH)
+ endif()
diff --git a/gnu/packages/patches/aws-c-s3-disable-networking-tests.patch b/gnu/packages/patches/aws-c-s3-disable-networking-tests.patch
new file mode 100644
index 0000000000..e8a3d8ed6a
--- /dev/null
+++ b/gnu/packages/patches/aws-c-s3-disable-networking-tests.patch
@@ -0,0 +1,153 @@
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -23,8 +23,8 @@ add_test_case(test_s3_upload_part_message_new)
+ add_test_case(test_s3_complete_multipart_message_new)
+ add_test_case(test_s3_abort_multipart_upload_message_new)
+
+-add_net_test_case(test_s3_client_create_destroy)
+-add_net_test_case(test_s3_client_max_active_connections_override)
++#add_net_test_case(test_s3_client_create_destroy)
++#add_net_test_case(test_s3_client_max_active_connections_override)
+ add_test_case(test_s3_client_get_max_active_connections)
+ add_test_case(test_s3_request_create_destroy)
+ add_test_case(test_s3_client_queue_requests)
+@@ -37,75 +37,75 @@ add_test_case(test_s3_client_update_connections_too_many_conns)
+ add_test_case(test_s3_client_update_connections_finish_result)
+ add_test_case(test_s3_client_update_connections_clean_up)
+
+-add_net_test_case(test_s3_vip_create_destroy)
+-add_net_test_case(test_s3_client_add_remove_vips)
+-add_net_test_case(test_s3_client_resolve_vips)
++#add_net_test_case(test_s3_vip_create_destroy)
++#add_net_test_case(test_s3_client_add_remove_vips)
++#add_net_test_case(test_s3_client_resolve_vips)
+ add_test_case(test_s3_client_set_vip_connection_warm)
+ add_test_case(test_s3_client_set_vip_connection_active)
+
+-add_net_test_case(test_s3_client_exceed_retries)
+-add_net_test_case(test_s3_client_acquire_connection_fail)
+-add_net_test_case(test_s3_meta_request_fail_prepare_request)
+-add_net_test_case(test_s3_meta_request_sign_request_fail)
+-add_net_test_case(test_s3_meta_request_send_request_finish_fail)
+-add_net_test_case(test_s3_auto_range_put_missing_upload_id)
++#add_net_test_case(test_s3_client_exceed_retries)
++#add_net_test_case(test_s3_client_acquire_connection_fail)
++#add_net_test_case(test_s3_meta_request_fail_prepare_request)
++#add_net_test_case(test_s3_meta_request_sign_request_fail)
++#add_net_test_case(test_s3_meta_request_send_request_finish_fail)
++#add_net_test_case(test_s3_auto_range_put_missing_upload_id)
+
+-add_net_test_case(test_s3_cancel_mpu_create_not_sent)
+-add_net_test_case(test_s3_cancel_mpu_create_completed)
+-add_net_test_case(test_s3_cancel_mpu_one_part_completed)
+-add_net_test_case(test_s3_cancel_mpu_all_parts_completed)
+-add_net_test_case(test_s3_cancel_mpd_nothing_sent)
+-add_net_test_case(test_s3_cancel_mpd_one_part_sent)
+-add_net_test_case(test_s3_cancel_mpd_one_part_completed)
+-add_net_test_case(test_s3_cancel_mpd_two_parts_completed)
+-add_net_test_case(test_s3_cancel_mpd_head_object_sent)
+-add_net_test_case(test_s3_cancel_mpd_head_object_completed)
+-add_net_test_case(test_s3_cancel_mpd_get_without_range_sent)
+-add_net_test_case(test_s3_cancel_mpd_get_without_range_completed)
++#add_net_test_case(test_s3_cancel_mpu_create_not_sent)
++#add_net_test_case(test_s3_cancel_mpu_create_completed)
++#add_net_test_case(test_s3_cancel_mpu_one_part_completed)
++#add_net_test_case(test_s3_cancel_mpu_all_parts_completed)
++#add_net_test_case(test_s3_cancel_mpd_nothing_sent)
++#add_net_test_case(test_s3_cancel_mpd_one_part_sent)
++#add_net_test_case(test_s3_cancel_mpd_one_part_completed)
++#add_net_test_case(test_s3_cancel_mpd_two_parts_completed)
++#add_net_test_case(test_s3_cancel_mpd_head_object_sent)
++#add_net_test_case(test_s3_cancel_mpd_head_object_completed)
++#add_net_test_case(test_s3_cancel_mpd_get_without_range_sent)
++#add_net_test_case(test_s3_cancel_mpd_get_without_range_completed)
+
+-add_net_test_case(test_s3_get_object_tls_disabled)
+-add_net_test_case(test_s3_get_object_tls_enabled)
+-add_net_test_case(test_s3_get_object_tls_default)
+-add_net_test_case(test_s3_get_object_less_than_part_size)
+-add_net_test_case(test_s3_get_object_empty_object)
+-add_net_test_case(test_s3_get_object_multiple)
+-add_net_test_case(test_s3_get_object_sse_kms)
+-add_net_test_case(test_s3_get_object_sse_aes256)
+-add_net_test_case(test_s3_no_signing)
+-add_net_test_case(test_s3_signing_override)
+-add_net_test_case(test_s3_put_object_tls_disabled)
+-add_net_test_case(test_s3_put_object_tls_enabled)
+-add_net_test_case(test_s3_put_object_tls_default)
+-add_net_test_case(test_s3_multipart_put_object_with_acl)
+-add_net_test_case(test_s3_put_object_multiple)
+-add_net_test_case(test_s3_put_object_less_than_part_size)
+-add_net_test_case(test_s3_put_object_empty_object)
+-add_net_test_case(test_s3_put_object_with_part_remainder)
+-add_net_test_case(test_s3_put_object_sse_kms)
+-add_net_test_case(test_s3_put_object_sse_kms_multipart)
+-add_net_test_case(test_s3_put_object_sse_aes256)
+-add_net_test_case(test_s3_put_object_sse_aes256_multipart)
+-add_net_test_case(test_s3_put_object_double_slashes)
+-add_net_test_case(test_s3_meta_request_default)
+-add_net_test_case(test_s3_put_object_fail_headers_callback)
+-add_net_test_case(test_s3_put_object_fail_body_callback)
+-add_net_test_case(test_s3_get_object_fail_headers_callback)
+-add_net_test_case(test_s3_get_object_fail_body_callback)
+-add_net_test_case(test_s3_default_fail_headers_callback)
+-add_net_test_case(test_s3_default_fail_body_callback)
+-add_net_test_case(test_s3_error_missing_file)
+-add_net_test_case(test_s3_existing_host_entry)
+-add_net_test_case(test_s3_put_fail_object_invalid_request)
+-add_net_test_case(test_s3_put_fail_object_inputstream_fail_reading)
+-add_net_test_case(test_s3_put_single_part_fail_object_inputstream_fail_reading)
+-add_net_test_case(test_s3_bad_endpoint)
+-add_net_test_case(test_s3_put_object_clamp_part_size)
+-add_net_test_case(test_s3_different_endpoints)
+-add_net_test_case(test_s3_auto_ranged_get_sending_user_agent)
+-add_net_test_case(test_s3_auto_ranged_put_sending_user_agent)
+-add_net_test_case(test_s3_default_sending_meta_request_user_agent)
+-add_net_test_case(test_s3_range_requests)
+-add_net_test_case(test_s3_not_satisfiable_range)
++#add_net_test_case(test_s3_get_object_tls_disabled)
++#add_net_test_case(test_s3_get_object_tls_enabled)
++#add_net_test_case(test_s3_get_object_tls_default)
++#add_net_test_case(test_s3_get_object_less_than_part_size)
++#add_net_test_case(test_s3_get_object_empty_object)
++#add_net_test_case(test_s3_get_object_multiple)
++#add_net_test_case(test_s3_get_object_sse_kms)
++#add_net_test_case(test_s3_get_object_sse_aes256)
++#add_net_test_case(test_s3_no_signing)
++#add_net_test_case(test_s3_signing_override)
++#add_net_test_case(test_s3_put_object_tls_disabled)
++#add_net_test_case(test_s3_put_object_tls_enabled)
++#add_net_test_case(test_s3_put_object_tls_default)
++#add_net_test_case(test_s3_multipart_put_object_with_acl)
++#add_net_test_case(test_s3_put_object_multiple)
++#add_net_test_case(test_s3_put_object_less_than_part_size)
++#add_net_test_case(test_s3_put_object_empty_object)
++#add_net_test_case(test_s3_put_object_with_part_remainder)
++#add_net_test_case(test_s3_put_object_sse_kms)
++#add_net_test_case(test_s3_put_object_sse_kms_multipart)
++#add_net_test_case(test_s3_put_object_sse_aes256)
++#add_net_test_case(test_s3_put_object_sse_aes256_multipart)
++#add_net_test_case(test_s3_put_object_double_slashes)
++#add_net_test_case(test_s3_meta_request_default)
++#add_net_test_case(test_s3_put_object_fail_headers_callback)
++#add_net_test_case(test_s3_put_object_fail_body_callback)
++#add_net_test_case(test_s3_get_object_fail_headers_callback)
++#add_net_test_case(test_s3_get_object_fail_body_callback)
++#add_net_test_case(test_s3_default_fail_headers_callback)
++#add_net_test_case(test_s3_default_fail_body_callback)
++#add_net_test_case(test_s3_error_missing_file)
++#add_net_test_case(test_s3_existing_host_entry)
++#add_net_test_case(test_s3_put_fail_object_invalid_request)
++#add_net_test_case(test_s3_put_fail_object_inputstream_fail_reading)
++#add_net_test_case(test_s3_put_single_part_fail_object_inputstream_fail_reading)
++#add_net_test_case(test_s3_bad_endpoint)
++#add_net_test_case(test_s3_put_object_clamp_part_size)
++#add_net_test_case(test_s3_different_endpoints)
++#add_net_test_case(test_s3_auto_ranged_get_sending_user_agent)
++#add_net_test_case(test_s3_auto_ranged_put_sending_user_agent)
++#add_net_test_case(test_s3_default_sending_meta_request_user_agent)
++#add_net_test_case(test_s3_range_requests)
++#add_net_test_case(test_s3_not_satisfiable_range)
+
+ add_test_case(test_s3_replace_quote_entities)
+ add_test_case(test_s3_parse_content_range_response_header)
diff --git a/gnu/packages/patches/aws-crt-cpp-cmake-prefix.patch b/gnu/packages/patches/aws-crt-cpp-cmake-prefix.patch
new file mode 100644
index 0000000000..b45818875f
--- /dev/null
+++ b/gnu/packages/patches/aws-crt-cpp-cmake-prefix.patch
@@ -0,0 +1,13 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -39,6 +39,10 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+ include(AwsCheckHeadersCxx)
+ include(CTest)
+
++if (DEFINED ENV{CMAKE_PREFIX_PATH})
++ set(CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH})
++endif()
++
+ if (DEFINED CMAKE_PREFIX_PATH)
+ file(TO_CMAKE_PATH "${CMAKE_PREFIX_PATH}" CMAKE_PREFIX_PATH)
+ endif()
diff --git a/gnu/packages/patches/aws-crt-cpp-disable-networking-tests.patch b/gnu/packages/patches/aws-crt-cpp-disable-networking-tests.patch
new file mode 100644
index 0000000000..4c1be7d028
--- /dev/null
+++ b/gnu/packages/patches/aws-crt-cpp-disable-networking-tests.patch
@@ -0,0 +1,47 @@
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -13,9 +13,9 @@ add_test_case(ApiMultiDefaultCreateDestroy)
+ add_test_case(EventLoopResourceSafety)
+ add_test_case(ClientBootstrapResourceSafety)
+ if (NOT BYO_CRYPTO)
+- add_net_test_case(MqttClientResourceSafety)
++ #add_net_test_case(MqttClientResourceSafety)
+ add_net_test_case(MqttClientNewConnectionUninitializedTlsContext)
+- add_net_test_case(TLSContextResourceSafety)
++ #add_net_test_case(TLSContextResourceSafety)
+ add_net_test_case(TLSContextUninitializedNewConnectionOptions)
+ endif ()
+ add_test_case(Base64RoundTrip)
+@@ -29,15 +29,15 @@ add_test_case(SHA256ResourceSafety)
+ add_test_case(MD5ResourceSafety)
+ add_test_case(SHA256HMACResourceSafety)
+ if (NOT BYO_CRYPTO)
+- add_net_test_case(HttpDownloadNoBackPressureHTTP1_1)
+- add_net_test_case(HttpDownloadNoBackPressureHTTP2)
+- add_net_test_case(HttpStreamUnActivated)
++ #add_net_test_case(HttpDownloadNoBackPressureHTTP1_1)
++ #add_net_test_case(HttpDownloadNoBackPressureHTTP2)
++ #add_net_test_case(HttpStreamUnActivated)
+ add_net_test_case(HttpCreateConnectionInvalidTlsConnectionOptions)
+ add_net_test_case(IotPublishSubscribe)
+- add_net_test_case(HttpClientConnectionManagerResourceSafety)
++ #add_net_test_case(HttpClientConnectionManagerResourceSafety)
+ add_net_test_case(HttpClientConnectionManagerInvalidTlsConnectionOptions)
+- add_net_test_case(HttpClientConnectionWithPendingAcquisitions)
+- add_net_test_case(HttpClientConnectionWithPendingAcquisitionsAndClosedConnections)
++ #add_net_test_case(HttpClientConnectionWithPendingAcquisitions)
++ #add_net_test_case(HttpClientConnectionWithPendingAcquisitionsAndClosedConnections)
+ endif ()
+ add_test_case(DefaultResolution)
+ add_test_case(OptionalCopySafety)
+@@ -55,8 +55,8 @@ add_test_case(TestProviderEnvironmentGet)
+ add_test_case(TestProviderProfileGet)
+ add_test_case(TestProviderImdsGet)
+ if (NOT BYO_CRYPTO)
+- add_net_test_case(TestProviderDefaultChainGet)
+- add_net_test_case(TestProviderDefaultChainManualTlsContextGet)
++ #add_net_test_case(TestProviderDefaultChainGet)
++ #add_net_test_case(TestProviderDefaultChainManualTlsContextGet)
+ endif ()
+ add_test_case(TestProviderDelegateGet)
+ add_test_case(HttpRequestTestCreateDestroy)
diff --git a/gnu/packages/patches/aws-sdk-cpp-cmake-prefix.patch b/gnu/packages/patches/aws-sdk-cpp-cmake-prefix.patch
new file mode 100644
index 0000000000..efc1218834
--- /dev/null
+++ b/gnu/packages/patches/aws-sdk-cpp-cmake-prefix.patch
@@ -0,0 +1,18 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -98,9 +98,13 @@ set(PYTHON_CMD "python")
+ # CMAKE_MODULE_PATH is a CMAKE variable. It contains a list of paths
+ # which could be used to search CMAKE modules by "include()" or "find_package()", but the default value is empty.
+ # Add ${CMAKE_INSTALL_LIBDIR}/cmake and ${CMAKE_PREFIX_PATH}/lib/cmake to search list
++if (DEFINED ENV{CMAKE_PREFIX_PATH})
++ set(CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH})
++endif()
++
+ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
+-set(AWS_MODULE_DIR "/${CMAKE_INSTALL_LIBDIR}/cmake")
+-string(REPLACE ";" "${AWS_MODULE_DIR};" AWS_MODULE_PATH "${CMAKE_PREFIX_PATH}${AWS_MODULE_DIR}")
++set(AWS_MODULE_DIR "${CMAKE_INSTALL_LIBDIR}/cmake")
++string(REPLACE ":" "${AWS_MODULE_DIR};" AWS_MODULE_PATH "${CMAKE_PREFIX_PATH}${AWS_MODULE_DIR}")
+ list(APPEND CMAKE_MODULE_PATH ${AWS_MODULE_PATH})
+
+ # include() will "load and run" cmake script
diff --git a/gnu/packages/patches/aws-sdk-cpp-disable-networking-tests.patch b/gnu/packages/patches/aws-sdk-cpp-disable-networking-tests.patch
new file mode 100644
index 0000000000..3b582d9628
--- /dev/null
+++ b/gnu/packages/patches/aws-sdk-cpp-disable-networking-tests.patch
@@ -0,0 +1,44 @@
+--- a/aws-cpp-sdk-core-tests/http/HttpClientTest.cpp
++++ b/aws-cpp-sdk-core-tests/http/HttpClientTest.cpp
+@@ -92,12 +92,12 @@ TEST(HttpClientTest, TestRandomURLWithNoProxy)
+ makeRandomHttpRequest(httpClient, false);
+ }
+
+-TEST(HttpClientTest, TestRandomURLWithProxy)
+-{
+- ClientConfiguration configuration = makeClientConfigurationWithProxy();
+- auto httpClient = CreateHttpClient(configuration);
+- makeRandomHttpRequest(httpClient, true); // we expect it to try to use proxy that is invalid
+-}
++//TEST(HttpClientTest, TestRandomURLWithProxy)
++//{
++// ClientConfiguration configuration = makeClientConfigurationWithProxy();
++// auto httpClient = CreateHttpClient(configuration);
++// makeRandomHttpRequest(httpClient, true); // we expect it to try to use proxy that is invalid
++//}
+
+ TEST(HttpClientTest, TestRandomURLWithProxyAndDeclaredAsNonProxyHost)
+ {
+@@ -119,14 +119,14 @@ TEST(HttpClientTest, TestRandomURLWithProxyAndDeclaredParentDomainAsNonProxyHost
+ makeRandomHttpRequest(httpClient, false);
+ }
+
+-TEST(HttpClientTest, TestRandomURLWithProxyAndOtherDeclaredAsNonProxyHost)
+-{
+- ClientConfiguration configuration = makeClientConfigurationWithProxy();
+- configuration.nonProxyHosts = Aws::Utils::Array<Aws::String>(1);
+- configuration.nonProxyHosts[0] = "http://test.non.filtered.aws";
+- auto httpClient = CreateHttpClient(configuration);
+- makeRandomHttpRequest(httpClient, true);
+-}
++//TEST(HttpClientTest, TestRandomURLWithProxyAndOtherDeclaredAsNonProxyHost)
++//{
++// ClientConfiguration configuration = makeClientConfigurationWithProxy();
++// configuration.nonProxyHosts = Aws::Utils::Array<Aws::String>(1);
++// configuration.nonProxyHosts[0] = "http://test.non.filtered.aws";
++// auto httpClient = CreateHttpClient(configuration);
++// makeRandomHttpRequest(httpClient, true);
++//}
+
+ // TODO: Pending Fix on Windows.
+ #if ENABLE_CURL_CLIENT
diff --git a/gnu/packages/patches/aws-sdk-cpp-disable-werror.patch b/gnu/packages/patches/aws-sdk-cpp-disable-werror.patch
new file mode 100644
index 0000000000..249c299239
--- /dev/null
+++ b/gnu/packages/patches/aws-sdk-cpp-disable-werror.patch
@@ -0,0 +1,11 @@
+--- a/cmake/compiler_settings.cmake
++++ b/cmake/compiler_settings.cmake
+@@ -53,7 +53,7 @@ macro(set_gcc_flags)
+ endmacro()
+
+ macro(set_gcc_warnings)
+- list(APPEND AWS_COMPILER_WARNINGS "-Wall" "-Werror" "-pedantic" "-Wextra")
++ list(APPEND AWS_COMPILER_WARNINGS "-Wall" "-pedantic" "-Wextra")
+ if(COMPILER_CLANG)
+ if(PLATFORM_ANDROID)
+ # when using clang with libc and API lower than 21 we need to include Android support headers and ignore the gnu-include-next warning.
diff --git a/gnu/packages/patches/libhx-fix-double-free-bug.patch b/gnu/packages/patches/libhx-fix-double-free-bug.patch
deleted file mode 100644
index 80c2c6ca84..0000000000
--- a/gnu/packages/patches/libhx-fix-double-free-bug.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From a08eabc6e5a3e0a9c7a15ca15ff7d450ecb6db88 Mon Sep 17 00:00:00 2001
-From: Jan Engelhardt <jengelh@inai.de>
-Date: Tue, 12 Oct 2021 17:32:43 +0200
-Subject: [PATCH] io: fix a use-after-free in conjunction with HX_realpath
-
-HX_readlink(&x, ...) forgot to set x to nullptr upon error, which
-trips up subsequent calls to HX_readlink with the very same x.
-
-Fixes: v3.26-1-g97f4be2
----
- src/io.c | 8 ++++++--
- src/tc-realpath.c | 10 ++++++++++
- 2 files changed, 16 insertions(+), 2 deletions(-)
-
-diff --git a/src/io.c b/src/io.c
-index 95d6fd6..14078fc 100644
---- a/src/io.c
-+++ b/src/io.c
-@@ -316,8 +316,10 @@ EXPORT_SYMBOL int HX_readlink(hxmc_t **target, const char *path)
- ssize_t ret = readlink(path, *target, linkbuf_size);
- if (ret < 0) {
- int saved_errno = errno;
-- if (allocate)
-+ if (allocate) {
- HXmc_free(*target);
-+ *target = nullptr;
-+ }
- return -(errno = saved_errno);
- }
- if (static_cast(size_t, ret) < linkbuf_size) {
-@@ -327,8 +329,10 @@ EXPORT_SYMBOL int HX_readlink(hxmc_t **target, const char *path)
- linkbuf_size *= 2;
- if (HXmc_setlen(target, linkbuf_size) == NULL) {
- int saved_errno = errno;
-- if (allocate)
-+ if (allocate) {
- HXmc_free(*target);
-+ *target = nullptr;
-+ }
- return -(errno = saved_errno);
- }
- }
-diff --git a/src/tc-realpath.c b/src/tc-realpath.c
-index 5dd9aa2..c2ef15a 100644
---- a/src/tc-realpath.c
-+++ b/src/tc-realpath.c
-@@ -11,6 +11,7 @@
- #include <stdlib.h>
- #include <libHX/io.h>
- #include <libHX/option.h>
-+#include <libHX/string.h>
-
- static unsigned int rp_flags;
- static unsigned int rp_absolute;
-@@ -42,6 +43,14 @@ static bool rp_get_options(int *argc, const char ***argv)
- return true;
- }
-
-+static void t_1(void)
-+{
-+ hxmc_t *tmp = HXmc_strinit("");
-+ /* two components, so that HX_readlink gets called twice */
-+ HX_realpath(&tmp, "/dev/tty", HX_REALPATH_DEFAULT);
-+ HXmc_free(tmp);
-+}
-+
- int main(int argc, const char **argv)
- {
- hxmc_t *res;
-@@ -49,6 +58,7 @@ int main(int argc, const char **argv)
-
- if (!rp_get_options(&argc, &argv))
- return EXIT_FAILURE;
-+ t_1();
-
- res = NULL;
- while (--argc > 0) {
---
-2.33.0
-
diff --git a/gnu/packages/patches/mixxx-link-qtscriptbytearray-qtscript.patch b/gnu/packages/patches/mixxx-link-qtscriptbytearray-qtscript.patch
new file mode 100644
index 0000000000..d7cd1c0d28
--- /dev/null
+++ b/gnu/packages/patches/mixxx-link-qtscriptbytearray-qtscript.patch
@@ -0,0 +1,25 @@
+From 7554aefc886d4ebc4b4c139a5cddcab6163cf72f Mon Sep 17 00:00:00 2001
+From: Vinicius Monego <monego@posteo.net>
+Date: Thu, 30 Sep 2021 23:37:29 -0300
+Subject: [PATCH] Link QtScriptByteArray with QtScript.
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 492ccae..05fec08 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -2077,7 +2077,7 @@ add_library(QtScriptByteArray STATIC EXCLUDE_FROM_ALL
+ lib/qtscript-bytearray/bytearrayprototype.cpp
+ )
+ set_target_properties(QtScriptByteArray PROPERTIES AUTOMOC ON)
+-target_link_libraries(QtScriptByteArray Qt5::Core)
++target_link_libraries(QtScriptByteArray Qt5::Core Qt5::Script)
+ target_include_directories(mixxx-lib SYSTEM PUBLIC lib/qtscript-bytearray)
+ target_link_libraries(mixxx-lib PRIVATE QtScriptByteArray)
+
+--
+2.30.2
+
diff --git a/gnu/packages/patches/mixxx-system-googletest-benchmark.patch b/gnu/packages/patches/mixxx-system-googletest-benchmark.patch
new file mode 100644
index 0000000000..7adbe66208
--- /dev/null
+++ b/gnu/packages/patches/mixxx-system-googletest-benchmark.patch
@@ -0,0 +1,43 @@
+From eb2079d467f8658eea13e2ed86cc69d864632866 Mon Sep 17 00:00:00 2001
+From: Vinicius Monego <monego@posteo.net>
+Date: Wed, 29 Sep 2021 19:07:35 -0300
+Subject: [PATCH] Use system googletest and benchmark.
+
+---
+ CMakeLists.txt | 13 +++----------
+ 1 file changed, 3 insertions(+), 10 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 10e9b0a..492ccae 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1467,12 +1467,7 @@ set(gtest_force_shared_crt ON CACHE BOOL "Pass Mixxx compiler/linker options to
+ # Prevent installation of GoogleTest libraries
+ set(INSTALL_GTEST OFF CACHE BOOL "Disable installation of GoogleTest" FORCE)
+
+-# Add googletest directly to our build. This adds the following targets:
+-# gtest, gtest_main, gmock and gmock_main
+-add_subdirectory(
+- "${CMAKE_CURRENT_SOURCE_DIR}/lib/googletest"
+- "${CMAKE_CURRENT_BINARY_DIR}/lib/googletest"
+-)
++find_package(GTest CONFIG REQUIRED)
+
+ add_executable(mixxx-test
+ src/test/analyserwaveformtest.cpp
+@@ -1582,10 +1577,8 @@ set(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "" FORCE)
+ # Prevent installation of google/benchmark artifacts
+ set(BENCHMARK_ENABLE_INSTALL OFF CACHE BOOL "Disable installation of google/benchmark" FORCE)
+
+-add_subdirectory(
+- "${CMAKE_CURRENT_SOURCE_DIR}/lib/benchmark"
+- "${CMAKE_CURRENT_BINARY_DIR}/lib/benchmark"
+-)
++find_package(benchmark CONFIG REQUIRED)
++
+ target_link_libraries(mixxx-test PRIVATE benchmark)
+
+ # Test Suite
+--
+2.30.2
+
diff --git a/gnu/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch b/gnu/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch
index 30515cbe48..ffa75918b8 100644
--- a/gnu/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch
+++ b/gnu/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch
@@ -1,32 +1,36 @@
-From f308dc91660954ab88bb41868c0b9809592923e6 Mon Sep 17 00:00:00 2001
+From 4c02c080475c9d08dbed98dd64ecca337aa359ae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@member.fsf.org>
Date: Sat, 20 Feb 2021 20:37:39 +0800
Subject: [PATCH] Allow set libretro_directory via environment variable
---
- retroarch.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
+ retroarch.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/retroarch.c b/retroarch.c
-index 6a88c3108e..6807c12b5b 100644
+index 8a0461c816..cbf11d8b6a 100644
--- a/retroarch.c
+++ b/retroarch.c
-@@ -36038,6 +36038,15 @@ static void retroarch_parse_input_and_config(
- #endif
- config_load(&p_rarch->g_extern);
-
+@@ -17603,7 +17603,18 @@ static bool retroarch_parse_input_and_config(
+ p_rarch->configuration_settings->bools.log_to_file,
+ p_rarch->configuration_settings->bools.log_to_file_timestamp,
+ p_rarch->configuration_settings->paths.log_dir);
+-
++
+ /* Override settings via environment variables */
-+ if (getenv("LIBRETRO_DIRECTORY")) {
++ {
+ settings_t *settings = p_rarch->configuration_settings;
-+ retroarch_override_setting_set(RARCH_OVERRIDE_SETTING_LIBRETRO_DIRECTORY, NULL);
-+ configuration_set_string(settings,
-+ settings->paths.directory_libretro,
-+ getenv("LIBRETRO_DIRECTORY"));
++ char *value = getenv("LIBRETRO_DIRECTORY");
++ if (value != NULL)
++ {
++ retroarch_override_setting_set(RARCH_OVERRIDE_SETTING_LIBRETRO_DIRECTORY, NULL);
++ configuration_set_string(settings, settings->paths.directory_libretro, value);
++ }
+ }
+
/* Second pass: All other arguments override the config file */
optind = 1;
--
-2.30.0
+2.33.0