X-Loop: help-debbugs@HIDDEN Subject: [bug#75696] [PATCH v3 04/11] gnu: retroarch-minimal: Add new search paths. Resent-From: Maxim Cournoyer <maxim.cournoyer@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: adam.faiz@HIDDEN, liliana.prikler@HIDDEN, iyzsong@HIDDEN, guix-patches@HIDDEN Resent-Date: Mon, 20 Jan 2025 14:31:06 +0000 Resent-Message-ID: <handler.75696.B.173738346127756 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 75696 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 75696 <at> debbugs.gnu.org Cc: Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Adam Faiz <adam.faiz@HIDDEN>, Liliana Marie Prikler <liliana.prikler@HIDDEN>, =?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@HIDDEN> X-Debbugs-Original-To: guix-patches@HIDDEN X-Debbugs-Original-Xcc: Adam Faiz <adam.faiz@HIDDEN>, Liliana Marie Prikler <liliana.prikler@HIDDEN>, =?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@HIDDEN> Received: via spool by submit <at> debbugs.gnu.org id=B.173738346127756 (code B ref -1); Mon, 20 Jan 2025 14:31:06 +0000 Received: (at submit) by debbugs.gnu.org; 20 Jan 2025 14:31:01 +0000 Received: from localhost ([127.0.0.1]:49522 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tZsnr-0007DZ-RI for submit <at> debbugs.gnu.org; Mon, 20 Jan 2025 09:31:01 -0500 Received: from lists.gnu.org ([2001:470:142::17]:40274) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <maxim.cournoyer@HIDDEN>) id 1tZsnb-0007Bc-Vk for submit <at> debbugs.gnu.org; Mon, 20 Jan 2025 09:30:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <maxim.cournoyer@HIDDEN>) id 1tZsnW-0007P2-GB for guix-patches@HIDDEN; Mon, 20 Jan 2025 09:30:38 -0500 Received: from mail-pj1-x1035.google.com ([2607:f8b0:4864:20::1035]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <maxim.cournoyer@HIDDEN>) id 1tZsnT-0004wa-RK for guix-patches@HIDDEN; Mon, 20 Jan 2025 09:30:38 -0500 Received: by mail-pj1-x1035.google.com with SMTP id 98e67ed59e1d1-2ee51f8c47dso6146868a91.1 for <guix-patches@HIDDEN>; Mon, 20 Jan 2025 06:30:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1737383433; x=1737988233; darn=gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DVgtFKw5LN7IY1s+oa94/63Y7tClWN1DKLmySPSoB18=; b=WtVwNPbXIANaq1ORIP7g4hx6fe+i7nDEAy9keCNI0etS1dLupL+DO/QisX/AFjln/n Zh8tnkIlcEO0OM6mv5DrU9prZfS+YNaK0VksHGGZPHBqhBoi/z0DDZaqAYQOLvTl17L8 usRChHq2P2Qhtgu2g5/CvhQKmb9AhhsrSscO0Mz2DO6qSr4D/p9a5pZ4jHbVfRu9W1jX 0x1KZgiujHxgb5AEyo240BrRdAV22TBOgzJL3w6vxhnB6fUplVcDDDEzW+GtcXO3DFJq bdQ/Q7CYIQycZohxTS9HPiFpfVhPsYYiabTpwLQ9tPuAnwDtBHDZVOVTuF4yx/qc4uMn nDcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737383433; x=1737988233; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DVgtFKw5LN7IY1s+oa94/63Y7tClWN1DKLmySPSoB18=; b=Ahv3DRk1OMEoiafCNqMN3tcatoTH9b7/rfU/KQ/o6UBh/wqxPsQ5dkaueRnz2CiLPP K0LBzW3Iv6S8Ap69EbQ1u4DlEHIuCVIGfnaeU85PPehuLy7arD1DRwtBu/XtfzMfCyYN ex5svF4EwFAMlAugpgqroTRfgRoWz22Ego0SjO7fPXpt+cXi6XpaeDwPk+vbWpVXt9Mg nywQpOBS09KUfTNiDDJYk93WYtLwFqNo48djlQbtS8lizPrCUcitql1/iJltXqjEk91z EQYevd7uqe2CPNY3dCyWgpeWQI8LDdrx/8MZ+EXJU63njX8wPCb2Cdh9fhmhAvm+96fT t6cQ== X-Gm-Message-State: AOJu0Yz0UE1sPBaceUgyTGnM57RhvLXgb5ILSzgz4G/EuznYtba1fWog TC04ffW7bYgM+zStNeY0vkxaoIPUgY+UgqJCAITdPivgX5meMbVXPGSgir8I X-Gm-Gg: ASbGncvd+4zr4HvELohag1E3GdMJfDgih6PQw4XTlS8LVqkPZmI5axWDn04jCZWA+1c eItARl5o7PPPJW/dvrTqBGFIPYOsATl0iU7cpMD59e5OWBH6DUWHES2r7NoGug7mnfWU3TvSJP0 W191WBb7ll2dZkvNpE2DQlrFSRORr8H9Ly9l7g9yh3Nj188PysNJFGls88qBEzPkxEuNeXr3wUT ssY2avkUWNmBk2BSzjyW1cBkm9q5XVW/rMBmoz7OQsXFcykHuEE36gPMmPztdC2hXLERP1fyY41 GAPhygZk5ciO X-Google-Smtp-Source: AGHT+IH/jJ+efGAkhsxUas9Urf4C2ySpTvGmPHb6YJSzzSmB/u6jJzEYKo8xoJ2r121VbNL33tPeGg== X-Received: by 2002:a05:6a00:2917:b0:725:b201:2362 with SMTP id d2e1a72fcca58-72dafa409b5mr19991137b3a.11.1737383430686; Mon, 20 Jan 2025 06:30:30 -0800 (PST) Received: from localhost.localdomain ([2405:6586:be0:0:c8ff:1707:9b9:af89]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72dab9c8d2bsm7396313b3a.92.2025.01.20.06.30.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jan 2025 06:30:30 -0800 (PST) From: Maxim Cournoyer <maxim.cournoyer@HIDDEN> Date: Mon, 20 Jan 2025 23:28:26 +0900 Message-ID: <149f023a5fcad073ef7cf9f214a982242504a887.1737383313.git.maxim.cournoyer@HIDDEN> X-Mailer: git-send-email 2.47.1 In-Reply-To: <7a983f303aba15d35ec687bcba4de4fee572899b.1737383313.git.maxim.cournoyer@HIDDEN> References: <7a983f303aba15d35ec687bcba4de4fee572899b.1737383313.git.maxim.cournoyer@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2607:f8b0:4864:20::1035; envelope-from=maxim.cournoyer@HIDDEN; helo=mail-pj1-x1035.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) This makes it possible to locate system files provided by libretro cores, as well as database and cheat files. * gnu/packages/patches/retroarch-improved-search-paths.patch: Extend patch. * gnu/packages/emulators.scm (retroarch-minimal) [native-search-paths]: Register new search paths for the LIBRETRO_CHEATS_DIRECTORY, LIBRETRO_DATABASE_DIRECTORY and LIBRETRO_SYSTEM_DIRECTORY variables. Change-Id: I48f9a92608c0e36922ce9dcc9bbb61d6ca915002 --- New in v3: add support for LIBRETRO_CHEATS_DIRECTORY env var. gnu/packages/emulators.scm | 12 + .../retroarch-improved-search-paths.patch | 210 ++++++++++++++---- 2 files changed, 181 insertions(+), 41 deletions(-) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 52c59b3965..bc1c8541b0 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -2632,6 +2632,18 @@ (define-public retroarch-minimal (variable "LIBRETRO_AUTOCONFIG_DIRECTORY") (separator #f) ;single entry (files '("share/libretro/autoconfig"))) + (search-path-specification + (variable "LIBRETRO_CHEATS_DIRECTORY") + (separator #f) ;single entry + (files '("share/libretro/database/cht"))) + (search-path-specification + (variable "LIBRETRO_DATABASE_DIRECTORY") + (separator #f) ;single entry + (files '("share/libretro/database/rdb"))) + (search-path-specification + (variable "LIBRETRO_SYSTEM_DIRECTORY") + (separator #f) ;single entry + (files '("share/libretro/system"))) (search-path-specification (variable "LIBRETRO_VIDEO_FILTER_DIRECTORY") (separator #f) ;single entry diff --git a/gnu/packages/patches/retroarch-improved-search-paths.patch b/gnu/packages/patches/retroarch-improved-search-paths.patch index 6fcd4745ac..ae815bfbb1 100644 --- a/gnu/packages/patches/retroarch-improved-search-paths.patch +++ b/gnu/packages/patches/retroarch-improved-search-paths.patch @@ -1,38 +1,27 @@ -Allows discovery of assets file via the LIBRETRO_ASSETS_DIRECTORY environment -variable. +Add support for various environment variables, used in search paths. -Upstream-status: https://github.com/libretro/RetroArch/pull/17054 +Upstream status: https://github.com/libretro/RetroArch/pull/17440 diff --git a/configuration.c b/configuration.c -index 5808a3f21c..0cc2909102 100644 +index 7eb6c08e1e..0449e77ac2 100644 --- a/configuration.c +++ b/configuration.c -@@ -3573,6 +3573,11 @@ static bool config_load_file(global_t *global, +@@ -3568,6 +3568,14 @@ static bool config_load_file(global_t *global, { unsigned i; char tmp_str[PATH_MAX_LENGTH]; + char* libretro_directory = NULL; + char* libretro_assets_directory = NULL; + char* libretro_autoconfig_directory = NULL; ++ char* libretro_cheats_directory = NULL; ++ char* libretro_database_directory = NULL; ++ char* libretro_system_directory = NULL; + char* libretro_video_filter_directory = NULL; + char* libretro_video_shader_directory = NULL; static bool first_load = true; bool without_overrides = false; unsigned msg_color = 0; -@@ -3848,12 +3853,6 @@ static bool config_load_file(global_t *global, - strlcpy(path_settings[i].ptr, tmp_str, PATH_MAX_LENGTH); - } - --#if !IOS -- if (config_get_path(conf, "libretro_directory", tmp_str, sizeof(tmp_str))) -- configuration_set_string(settings, -- settings->paths.directory_libretro, tmp_str); --#endif -- - #ifdef RARCH_CONSOLE - if (conf) - video_driver_load_settings(global, conf); -@@ -3861,6 +3860,20 @@ static bool config_load_file(global_t *global, +@@ -3862,6 +3870,38 @@ static bool config_load_file(global_t *global, /* Post-settings load */ @@ -45,15 +34,33 @@ index 5808a3f21c..0cc2909102 100644 + } + + libretro_autoconfig_directory = getenv("LIBRETRO_AUTOCONFIG_DIRECTORY"); -+ if (libretro_autoconfig_directory) ++ if (libretro_autoconfig_directory) /* override configuration value */ + configuration_set_string(settings, + settings->paths.directory_autoconfig, + libretro_autoconfig_directory); ++ ++ libretro_cheats_directory = getenv("LIBRETRO_CHEATS_DIRECTORY"); ++ if (libretro_cheats_directory) /* override configuration value */ ++ configuration_set_string(settings, ++ settings->paths.path_cheat_database, ++ libretro_cheats_directory); ++ ++ libretro_database_directory = getenv("LIBRETRO_DATABASE_DIRECTORY"); ++ if (libretro_database_directory) /* override configuration value */ ++ configuration_set_string(settings, ++ settings->paths.path_content_database, ++ libretro_database_directory); ++ ++ libretro_system_directory = getenv("LIBRETRO_SYSTEM_DIRECTORY"); ++ if (libretro_system_directory) /* override configuration value */ ++ configuration_set_string(settings, ++ settings->paths.directory_system, ++ libretro_system_directory); + if ( (rarch_flags & RARCH_FLAGS_HAS_SET_USERNAME) && (override_username)) { -@@ -4032,15 +4045,27 @@ static bool config_load_file(global_t *global, +@@ -4026,15 +4066,27 @@ static bool config_load_file(global_t *global, *settings->paths.path_menu_wallpaper = '\0'; if (string_is_equal(settings->paths.path_rgui_theme_preset, "default")) *settings->paths.path_rgui_theme_preset = '\0'; @@ -85,18 +92,18 @@ index 5808a3f21c..0cc2909102 100644 #ifdef _3DS if (string_is_equal(settings->paths.directory_bottom_assets, "default")) diff --git a/docs/retroarch.6 b/docs/retroarch.6 -index 7478040e17..f864e0e0d5 100644 +index 7478040e17..d38a8ee565 100644 --- a/docs/retroarch.6 +++ b/docs/retroarch.6 @@ -1,6 +1,6 @@ .\" retroarch.6: -.TH "RETROARCH" "6" "November 1, 2011" "RETROARCH" "System Manager's Manual: retroarch" -+.TH "RETROARCH" "6" "September 28, 2024" "RETROARCH" "System Manager's Manual: retroarch" ++.TH "RETROARCH" "6" "January 20, 2025" "RETROARCH" "System Manager's Manual: retroarch" .SH NAME -@@ -239,3 +239,36 @@ Disables all kinds of content patching. +@@ -239,3 +239,54 @@ Disables all kinds of content patching. .TP \fB-D, --detach\fR Detach from the current console. This is currently only relevant for Microsoft Windows. @@ -123,6 +130,24 @@ index 7478040e17..f864e0e0d5 100644 +"joypad_autoconfig_dir" configuration file option. + +.TP ++\fBLIBRETRO_CHEATS_DIRECTORY\fR ++Specify the directory where RetroArch looks for cheat files, ++overriding the value of the "cheat_database_path" configuration file ++option. ++ ++.TP ++\fBLIBRETRO_DATABASE_DIRECTORY\fR ++Specify the directory where RetroArch looks for database files, ++overriding the value of the "content_database_path" configuration file ++option. ++ ++.TP ++\fBLIBRETRO_SYSTEM_DIRECTORY\fR ++Specify the directory where RetroArch looks for system files, ++overriding the value of the "system_directory" configuration file ++option. ++ ++.TP +\fBLIBRETRO_VIDEO_FILTER_DIRECTORY\fR +Specify the directory where RetroArch looks for video filters, +overriding the value of the "video_filter_dir" configuration file @@ -134,21 +159,24 @@ index 7478040e17..f864e0e0d5 100644 +overriding the value of the "video_shader_dir" configuration file +option. diff --git a/frontend/drivers/platform_unix.c b/frontend/drivers/platform_unix.c -index c157d355a1..ddf0b5ca87 100644 +index 778f54eeda..cce011c875 100644 --- a/frontend/drivers/platform_unix.c +++ b/frontend/drivers/platform_unix.c -@@ -1324,6 +1324,10 @@ static void frontend_unix_get_env(int *argc, +@@ -1323,6 +1323,13 @@ static void frontend_unix_get_env(int *argc, { unsigned i; const char* libretro_directory = getenv("LIBRETRO_DIRECTORY"); + const char* libretro_assets_directory = getenv("LIBRETRO_ASSETS_DIRECTORY"); + const char* libretro_autoconfig_directory = getenv("LIBRETRO_AUTOCONFIG_DIRECTORY"); ++ const char* libretro_cheats_directory = getenv("LIBRETRO_CHEATS_DIRECTORY"); ++ const char* libretro_database_directory = getenv("LIBRETRO_DATABASE_DIRECTORY"); ++ const char* libretro_system_directory = getenv("LIBRETRO_SYSTEM_DIRECTORY"); + const char* libretro_video_filter_directory = getenv("LIBRETRO_VIDEO_FILTER_DIRECTORY"); + const char* libretro_video_shader_directory = getenv("LIBRETRO_VIDEO_SHADER_DIRECTORY"); #ifdef ANDROID int32_t major, minor, rel; char device_model[PROP_VALUE_MAX] = {0}; -@@ -1765,12 +1769,20 @@ static void frontend_unix_get_env(int *argc, +@@ -1764,12 +1771,20 @@ static void frontend_unix_get_env(int *argc, "cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_INFO])); else #endif @@ -174,7 +202,7 @@ index c157d355a1..ddf0b5ca87 100644 #ifdef ASSETS_DIR if (path_is_directory(ASSETS_DIR "/assets")) fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS], -@@ -1778,7 +1790,10 @@ static void frontend_unix_get_env(int *argc, +@@ -1777,7 +1792,10 @@ static void frontend_unix_get_env(int *argc, "assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS])); else #endif @@ -186,7 +214,7 @@ index c157d355a1..ddf0b5ca87 100644 fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_ASSETS], "/usr/local/share/retroarch", "assets", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS])); -@@ -1838,7 +1853,11 @@ static void frontend_unix_get_env(int *argc, +@@ -1837,7 +1855,11 @@ static void frontend_unix_get_env(int *argc, "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER])); else #endif @@ -199,12 +227,23 @@ index c157d355a1..ddf0b5ca87 100644 fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], "/usr/local/share/retroarch", "filters/video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER])); -@@ -1872,8 +1891,13 @@ static void frontend_unix_get_env(int *argc, +@@ -1869,12 +1891,27 @@ static void frontend_unix_get_env(int *argc, + "records_config", sizeof(g_defaults.dirs[DEFAULT_DIR_RECORD_CONFIG])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_RECORD_OUTPUT], base_path, "records", sizeof(g_defaults.dirs[DEFAULT_DIR_RECORD_OUTPUT])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_DATABASE], base_path, - "database/rdb", sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE])); +- fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_DATABASE], base_path, +- "database/rdb", sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SHADER], base_path, - "shaders", sizeof(g_defaults.dirs[DEFAULT_DIR_SHADER])); +- fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CHEATS], base_path, +- "cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS])); ++ if (!string_is_empty(libretro_database_directory)) ++ strlcpy(g_defaults.dirs[DEFAULT_DIR_DATABASE], ++ libretro_database_directory, ++ sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE])); ++ else ++ fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_DATABASE], base_path, ++ "database/rdb", sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE])); + if (!string_is_empty(libretro_video_shader_directory)) + strlcpy(g_defaults.dirs[DEFAULT_DIR_SHADER], + libretro_video_shader_directory, @@ -212,19 +251,45 @@ index c157d355a1..ddf0b5ca87 100644 + else + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SHADER], base_path, + "shaders", sizeof(g_defaults.dirs[DEFAULT_DIR_SHADER])); - fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CHEATS], base_path, - "cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS])); ++ if (!string_is_empty(libretro_cheats_directory)) ++ strlcpy(g_defaults.dirs[DEFAULT_DIR_CHEATS], ++ libretro_cheats_directory, ++ sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS])); ++ else ++ fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CHEATS], base_path, ++ "cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS])); fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OVERLAY], base_path, + "overlays", sizeof(g_defaults.dirs[DEFAULT_DIR_OVERLAY])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_OSK_OVERLAY], base_path, +@@ -1891,8 +1928,13 @@ static void frontend_unix_get_env(int *argc, + "saves", sizeof(g_defaults.dirs[DEFAULT_DIR_SRAM])); + fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SAVESTATE], base_path, + "states", sizeof(g_defaults.dirs[DEFAULT_DIR_SAVESTATE])); +- fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SYSTEM], base_path, +- "system", sizeof(g_defaults.dirs[DEFAULT_DIR_SYSTEM])); ++ if (!string_is_empty(libretro_system_directory)) ++ strlcpy(g_defaults.dirs[DEFAULT_DIR_SYSTEM], ++ libretro_system_directory, ++ sizeof(g_defaults.dirs[DEFAULT_DIR_SYSTEM])); ++ else ++ fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SYSTEM], base_path, ++ "system", sizeof(g_defaults.dirs[DEFAULT_DIR_SYSTEM])); + #endif + + #ifndef IS_SALAMANDER diff --git a/frontend/drivers/platform_win32.c b/frontend/drivers/platform_win32.c -index 26ed25c04f..0cc9a9dc95 100644 +index adb27b425c..f12fb8717e 100644 --- a/frontend/drivers/platform_win32.c +++ b/frontend/drivers/platform_win32.c -@@ -565,24 +565,38 @@ static void frontend_win32_env_get(int *argc, char *argv[], +@@ -566,24 +566,51 @@ static void frontend_win32_env_get(int *argc, char *argv[], { const char *tmp_dir = getenv("TMP"); const char *libretro_directory = getenv("LIBRETRO_DIRECTORY"); + const char *libretro_assets_directory = getenv("LIBRETRO_ASSETS_DIRECTORY"); + const char* libretro_autoconfig_directory = getenv("LIBRETRO_AUTOCONFIG_DIRECTORY"); ++ const char* libretro_cheats_directory = getenv("LIBRETRO_CHEATS_DIRECTORY"); ++ const char* libretro_database_directory = getenv("LIBRETRO_DATABASE_DIRECTORY"); ++ const char* libretro_system_directory = getenv("LIBRETRO_SYSTEM_DIRECTORY"); + const char* libretro_video_filter_directory = getenv("LIBRETRO_VIDEO_FILTER_DIRECTORY"); + const char* libretro_video_shader_directory = getenv("LIBRETRO_VIDEO_SHADER_DIRECTORY"); if (!string_is_empty(tmp_dir)) @@ -246,6 +311,10 @@ index 26ed25c04f..0cc9a9dc95 100644 ":\\filters\\audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER])); - fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], - ":\\filters\\video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER])); +- fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_CHEATS], +- ":\\cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS])); +- fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_DATABASE], +- ":\\database\\rdb", sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE])); + if (!string_is_empty(libretro_video_filter_directory)) + strlcpy(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], + libretro_video_filter_directory, @@ -253,17 +322,27 @@ index 26ed25c04f..0cc9a9dc95 100644 + else + fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER], + ":\\filters\\video", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_FILTER])); - fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_CHEATS], - ":\\cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS])); - fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_DATABASE], - ":\\database\\rdb", sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE])); ++ if (!string_is_empty(libretro_cheats_directory)) ++ strlcpy(g_defaults.dirs[DEFAULT_DIR_CHEATS], ++ libretro_cheats_directory, ++ sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS])); ++ else ++ fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_CHEATS], ++ ":\\cheats", sizeof(g_defaults.dirs[DEFAULT_DIR_CHEATS])); ++ if (!string_is_empty(libretro_database_directory)) ++ strlcpy(g_defaults.dirs[DEFAULT_DIR_DATABASE], ++ libretro_database_directory, ++ sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE])); ++ else ++ fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_DATABASE], ++ ":\\database\\rdb", sizeof(g_defaults.dirs[DEFAULT_DIR_DATABASE])); fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_PLAYLIST], - ":\\playlists", sizeof(g_defaults.dirs[DEFAULT_DIR_ASSETS])); + ":\\playlists", sizeof(g_defaults.dirs[DEFAULT_DIR_PLAYLIST])); fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_RECORD_CONFIG], ":\\config\\record", sizeof(g_defaults.dirs[DEFAULT_DIR_RECORD_CONFIG])); fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_RECORD_OUTPUT], -@@ -605,12 +619,26 @@ static void frontend_win32_env_get(int *argc, char *argv[], +@@ -606,12 +633,26 @@ static void frontend_win32_env_get(int *argc, char *argv[], else fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_CORE], ":\\cores", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE])); @@ -296,3 +375,52 @@ index 26ed25c04f..0cc9a9dc95 100644 fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS], ":\\downloads", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS])); fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_SCREENSHOT], +@@ -620,8 +661,13 @@ static void frontend_win32_env_get(int *argc, char *argv[], + ":\\saves", sizeof(g_defaults.dirs[DEFAULT_DIR_SRAM])); + fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_SAVESTATE], + ":\\states", sizeof(g_defaults.dirs[DEFAULT_DIR_SAVESTATE])); +- fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_SYSTEM], +- ":\\system", sizeof(g_defaults.dirs[DEFAULT_DIR_SYSTEM])); ++ if (!string_is_empty(libretro_system_directory)) ++ strlcpy(g_defaults.dirs[DEFAULT_DIR_SYSTEM], ++ libretro_system_directory, ++ sizeof(g_defaults.dirs[DEFAULT_DIR_SYSTEM])); ++ else ++ fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_SYSTEM], ++ ":\\system", sizeof(g_defaults.dirs[DEFAULT_DIR_SYSTEM])); + fill_pathname_expand_special(g_defaults.dirs[DEFAULT_DIR_LOGS], + ":\\logs", sizeof(g_defaults.dirs[DEFAULT_DIR_LOGS])); + +diff --git a/retroarch.c b/retroarch.c +index a7e5f5299f..59d7879ec5 100644 +--- a/retroarch.c ++++ b/retroarch.c +@@ -6516,7 +6516,28 @@ static void retroarch_print_help(const char *arg0) + "Path for the save state files (*.state). (DEPRECATED, use --appendconfig and savestate_directory)\n" + , sizeof(buf) - _len); + ++ /* Flush buffer here to avoid the error "error: string length ‘752’ ++ * is greater than the length ‘509’ ISO C90 compilers are required ++ * to support" */ + fputs(buf, stdout); ++ ++#if defined(__linux__) || defined(__GNU__) || (defined(BSD) && !defined(__MACH__)) ++ buf[0] = '\0'; ++ _len = 0; ++ _len += strlcpy(buf + _len, ++ "\nThe following environment variables are supported:\n\n" ++ " LIBRETRO_ASSETS_DIRECTORY\n" ++ " LIBRETRO_AUTOCONFIG_DIRECTORY\n" ++ " LIBRETRO_CHEATS_DIRECTORY\n" ++ " LIBRETRO_DATABASE_DIRECTORY\n" ++ " LIBRETRO_DIRECTORY\n" ++ " LIBRETRO_SYSTEM_DIRECTORY\n" ++ " LIBRETRO_VIDEO_FILTER_DIRECTORY\n" ++ " LIBRETRO_VIDEO_SHADER_DIRECTORY\n\n" ++ "Refer to `man 6 retroarch' for a description of what they do.\n" ++ , sizeof(buf) - _len); ++ fputs(buf, stdout); ++#endif + } + + #ifdef HAVE_DYNAMIC -- 2.47.1
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Maxim Cournoyer <maxim.cournoyer@HIDDEN> Subject: bug#75696: Acknowledgement ([PATCH v3 04/11] gnu: retroarch-minimal: Add new search paths.) Message-ID: <handler.75696.B.173738346127756.ack <at> debbugs.gnu.org> References: <149f023a5fcad073ef7cf9f214a982242504a887.1737383313.git.maxim.cournoyer@HIDDEN> X-Gnu-PR-Message: ack 75696 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 75696 <at> debbugs.gnu.org Date: Mon, 20 Jan 2025 14:31:07 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. As you requested using X-Debbugs-CC, your message was also forwarded to Adam Faiz <adam.faiz@HIDDEN>, Liliana Marie Prikler <liliana.prikler= @gmail.com>, =E5=AE=8B=E6=96=87=E6=AD=A6 <iyzsong@HIDDEN> (after having been given a bug report number, if it did not have one). Your message has been sent to the package maintainer(s): guix-patches@HIDDEN If you wish to submit further information on this problem, please send it to 75696 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 75696: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D75696 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
Received: (at control) by debbugs.gnu.org; 23 Jan 2025 12:12:41 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 23 07:12:41 2025 Received: from localhost ([127.0.0.1]:39601 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1taw4f-0002iF-4K for submit <at> debbugs.gnu.org; Thu, 23 Jan 2025 07:12:41 -0500 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]:61654) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <maxim.cournoyer@HIDDEN>) id 1taw4d-0002hm-ME for control <at> debbugs.gnu.org; Thu, 23 Jan 2025 07:12:40 -0500 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-2166022c5caso11602095ad.2 for <control <at> debbugs.gnu.org>; Thu, 23 Jan 2025 04:12:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1737634353; x=1738239153; darn=debbugs.gnu.org; h=subject:from:to:message-id:date:from:to:cc:subject:date:message-id :reply-to; bh=wtQdK0NT39T7DAiCB7TTYpgL/n52JuNjvVsNBlwV5Io=; b=K3Gki0CSvUXHQZAsM+rVEZgqvNPKQuHic4ycvL8KfMI2kVy9EUnkkYUMaYzDITNiIR oMVL/EuzoIHRmL5VL+1Q0BhrIXViCu7koS259jOcFt/Wtq5/C11gMN5boMy9ZLYkbInr LmmkVM0eDroYuv8KfEZz/qrVS46ggylMhcTKhkV1OOiCJ2UA/O6VeepMcFpgTGO0aFw3 zK+HewDAyEmQfm/9vetpUzIjtSur4NreQsIPqIMdxKzeCzmCdAvIpLuo553VXeKsx5Nq +RCyPcZ5qsgHgIkE2JDDM/xh13K9X0KlfvNKVyMJk5MnFAdhOAU2AFPijkahDDJ621mF Kd9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737634353; x=1738239153; h=subject:from:to:message-id:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wtQdK0NT39T7DAiCB7TTYpgL/n52JuNjvVsNBlwV5Io=; b=xVfX5gCknerbQcJZYBMmQu//PWXVngji3jTyvhZGJPd6nbmT7Kpiszd0Xc3JxV7cgk gC5D94HtooDwJB+iG295v8OyvySYqGjsiEtJvDckKhN7TaOYu8kBh4bOJuHo/ZiTRra5 WL8Fce2xO3iv8erkCj1eBWiN0fYEpBw3hletWaaSyJZKGENCYAv9OaQyHwM8D06DObtR RA3MS+X3pZukK/Vs0kv/PNE0s/WsFyh9QcBoW6IpwvbSJkAHf4a+HjHB9j8HLOIehW6b 616zj1p9Rw8isDo+7THjS/wOeCmLagkhFPOIvjQzg3VTEodVQCisuYU1x/LnTYgQkFfr 7YLw== X-Gm-Message-State: AOJu0Ywm6KqZ95gqUWJE+zQEw1StSLfFUvAtiU59VT0YhuP+6LAFsDci tGIE2w/rPPKGMEdJdRFiCh2B8W8IxvAb9HuDKut0ugwmPpZRzsscI4ZBwA== X-Gm-Gg: ASbGnctryI28jvBGcW+cKSCjc5wSA/Yeuhq9b7nPfiQsuEUP4gCRzCs3YqMGD1unkBc VnjFp1UqUQ1LszK2N8TxQpOp2YjaZWjHlwuzsZF6wWfWLQSsbStLP1qOHQ4l3XvvNXNKljVidPa vTtnMWG0jfaiyy3Cp2lHSzDXycp1lGisTo+j6PzfB0MxWKuaACp1VrRVv6KWNId57Ntgu+WHRSI e4RJ7XwzYCjJUFrILCYpgmWYX2XyYWUEdO749kZa4zVbeUFvqTAVf0gGWkQtFdJCsMp7OeAis3j IA== X-Google-Smtp-Source: AGHT+IGUc/EftguZlHNIlS6i7+pVrjByJKcNt9DXJqAl9qJpuqaP6/ZWMGN4jKG2b3x3Z/nf1DObDQ== X-Received: by 2002:a05:6a00:8007:b0:725:c8ea:b30b with SMTP id d2e1a72fcca58-72dafa1092emr36143917b3a.11.1737634353162; Thu, 23 Jan 2025 04:12:33 -0800 (PST) Received: from terra ([2405:6586:be0:0:c8ff:1707:9b9:af89]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-abe1a03aa6csm2869986a12.2.2025.01.23.04.12.31 for <control <at> debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jan 2025 04:12:32 -0800 (PST) Date: Thu, 23 Jan 2025 21:12:21 +0900 Message-Id: <87o6zxiva2.fsf@HIDDEN> To: control <at> debbugs.gnu.org From: Maxim Cournoyer <maxim.cournoyer@HIDDEN> Subject: control message for bug #75696 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) tags 75696 notabug close 75696 quit
Received: (at control) by debbugs.gnu.org; 23 Jan 2025 12:12:41 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 23 07:12:41 2025 Received: from localhost ([127.0.0.1]:39601 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1taw4f-0002iF-4K for submit <at> debbugs.gnu.org; Thu, 23 Jan 2025 07:12:41 -0500 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]:61654) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <maxim.cournoyer@HIDDEN>) id 1taw4d-0002hm-ME for control <at> debbugs.gnu.org; Thu, 23 Jan 2025 07:12:40 -0500 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-2166022c5caso11602095ad.2 for <control <at> debbugs.gnu.org>; Thu, 23 Jan 2025 04:12:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1737634353; x=1738239153; darn=debbugs.gnu.org; h=subject:from:to:message-id:date:from:to:cc:subject:date:message-id :reply-to; bh=wtQdK0NT39T7DAiCB7TTYpgL/n52JuNjvVsNBlwV5Io=; b=K3Gki0CSvUXHQZAsM+rVEZgqvNPKQuHic4ycvL8KfMI2kVy9EUnkkYUMaYzDITNiIR oMVL/EuzoIHRmL5VL+1Q0BhrIXViCu7koS259jOcFt/Wtq5/C11gMN5boMy9ZLYkbInr LmmkVM0eDroYuv8KfEZz/qrVS46ggylMhcTKhkV1OOiCJ2UA/O6VeepMcFpgTGO0aFw3 zK+HewDAyEmQfm/9vetpUzIjtSur4NreQsIPqIMdxKzeCzmCdAvIpLuo553VXeKsx5Nq +RCyPcZ5qsgHgIkE2JDDM/xh13K9X0KlfvNKVyMJk5MnFAdhOAU2AFPijkahDDJ621mF Kd9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737634353; x=1738239153; h=subject:from:to:message-id:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wtQdK0NT39T7DAiCB7TTYpgL/n52JuNjvVsNBlwV5Io=; b=xVfX5gCknerbQcJZYBMmQu//PWXVngji3jTyvhZGJPd6nbmT7Kpiszd0Xc3JxV7cgk gC5D94HtooDwJB+iG295v8OyvySYqGjsiEtJvDckKhN7TaOYu8kBh4bOJuHo/ZiTRra5 WL8Fce2xO3iv8erkCj1eBWiN0fYEpBw3hletWaaSyJZKGENCYAv9OaQyHwM8D06DObtR RA3MS+X3pZukK/Vs0kv/PNE0s/WsFyh9QcBoW6IpwvbSJkAHf4a+HjHB9j8HLOIehW6b 616zj1p9Rw8isDo+7THjS/wOeCmLagkhFPOIvjQzg3VTEodVQCisuYU1x/LnTYgQkFfr 7YLw== X-Gm-Message-State: AOJu0Ywm6KqZ95gqUWJE+zQEw1StSLfFUvAtiU59VT0YhuP+6LAFsDci tGIE2w/rPPKGMEdJdRFiCh2B8W8IxvAb9HuDKut0ugwmPpZRzsscI4ZBwA== X-Gm-Gg: ASbGnctryI28jvBGcW+cKSCjc5wSA/Yeuhq9b7nPfiQsuEUP4gCRzCs3YqMGD1unkBc VnjFp1UqUQ1LszK2N8TxQpOp2YjaZWjHlwuzsZF6wWfWLQSsbStLP1qOHQ4l3XvvNXNKljVidPa vTtnMWG0jfaiyy3Cp2lHSzDXycp1lGisTo+j6PzfB0MxWKuaACp1VrRVv6KWNId57Ntgu+WHRSI e4RJ7XwzYCjJUFrILCYpgmWYX2XyYWUEdO749kZa4zVbeUFvqTAVf0gGWkQtFdJCsMp7OeAis3j IA== X-Google-Smtp-Source: AGHT+IGUc/EftguZlHNIlS6i7+pVrjByJKcNt9DXJqAl9qJpuqaP6/ZWMGN4jKG2b3x3Z/nf1DObDQ== X-Received: by 2002:a05:6a00:8007:b0:725:c8ea:b30b with SMTP id d2e1a72fcca58-72dafa1092emr36143917b3a.11.1737634353162; Thu, 23 Jan 2025 04:12:33 -0800 (PST) Received: from terra ([2405:6586:be0:0:c8ff:1707:9b9:af89]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-abe1a03aa6csm2869986a12.2.2025.01.23.04.12.31 for <control <at> debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jan 2025 04:12:32 -0800 (PST) Date: Thu, 23 Jan 2025 21:12:21 +0900 Message-Id: <87o6zxiva2.fsf@HIDDEN> To: control <at> debbugs.gnu.org From: Maxim Cournoyer <maxim.cournoyer@HIDDEN> Subject: control message for bug #75696 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) tags 75696 notabug close 75696 quit
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.