Support winget

[Gitee link #I9W0SE]
This commit is contained in:
Aoran Zeng 2024-06-07 21:17:29 +08:00
parent 5fd8e86fb9
commit e4c71aa56d

View File

@ -1707,7 +1707,7 @@ wr_tex_check_cmd (bool *tlmgr_exist, bool *mpm_exist)
} }
void void
wr_tex_getsrc(char *option) wr_tex_getsrc (char *option)
{ {
bool tlmgr_exist, mpm_exist; bool tlmgr_exist, mpm_exist;
wr_tex_check_cmd (&tlmgr_exist, &mpm_exist); wr_tex_check_cmd (&tlmgr_exist, &mpm_exist);
@ -1726,7 +1726,7 @@ wr_tex_getsrc(char *option)
* https://help.mirrors.cernet.edu.cn/CTAN/ * https://help.mirrors.cernet.edu.cn/CTAN/
*/ */
void void
wr_tex_setsrc(char *option) wr_tex_setsrc (char *option)
{ {
bool tlmgr_exist, mpm_exist; bool tlmgr_exist, mpm_exist;
wr_tex_check_cmd (&tlmgr_exist, &mpm_exist); wr_tex_check_cmd (&tlmgr_exist, &mpm_exist);
@ -1758,7 +1758,7 @@ wr_tex_setsrc(char *option)
void void
wr_emacs_setsrc(char *option) wr_emacs_setsrc (char *option)
{ {
int index = use_specific_mirror_or_auto_select (option, wr_emacs); int index = use_specific_mirror_or_auto_select (option, wr_emacs);
@ -1772,9 +1772,29 @@ wr_emacs_setsrc(char *option)
} }
void
wr_winget_getsrc (char *option)
{
chsrc_run ("winget source list");
}
void void
wr_brew_getsrc(char *option) wr_winget_setsrc (char *option)
{
int index = use_specific_mirror_or_auto_select (option, wr_winget);
SourceInfo source = wr_winget_sources[index];
chsrc_say_selection (&source);
chsrc_run ("winget source remove winget");
chsrc_run (xy_2strjoin ("winget source add winget ", source.url));
chsrc_say_thanks (&source);
}
void
wr_brew_getsrc (char *option)
{ {
char *cmd = "echo HOMEBREW_API_DOMAIN=$HOMEBREW_API_DOMAIN;" char *cmd = "echo HOMEBREW_API_DOMAIN=$HOMEBREW_API_DOMAIN;"
"echo HOMEBREW_BOTTLE_DOMAIN=$HOMEBREW_BOTTLE_DOMAIN;" "echo HOMEBREW_BOTTLE_DOMAIN=$HOMEBREW_BOTTLE_DOMAIN;"
@ -2062,7 +2082,7 @@ static const char
}; };
def_target(wr_brew); def_target(wr_tex); def_target(wr_winget); def_target(wr_brew); def_target(wr_tex);
TargetInfo TargetInfo
wr_flathub_target = {wr_flathub_setsrc, NULL, wr_flathub_sources, wr_flathub_sources_n}, wr_flathub_target = {wr_flathub_setsrc, NULL, wr_flathub_sources, wr_flathub_sources_n},
wr_nix_target = {wr_nix_setsrc, NULL, wr_nix_sources, wr_nix_sources_n}, wr_nix_target = {wr_nix_setsrc, NULL, wr_nix_sources, wr_nix_sources_n},
@ -2071,6 +2091,7 @@ TargetInfo
wr_anaconda_target = {wr_anaconda_setsrc, NULL, wr_anaconda_sources, wr_anaconda_sources_n}; wr_anaconda_target = {wr_anaconda_setsrc, NULL, wr_anaconda_sources, wr_anaconda_sources_n};
static const char static const char
*wr_winget [] = {"winget", NULL, t(&wr_winget_target)},
*wr_brew [] = {"brew", "homebrew", NULL, t(&wr_brew_target)}, *wr_brew [] = {"brew", "homebrew", NULL, t(&wr_brew_target)},
*wr_flathub [] = {"flathub", NULL, t(&wr_flathub_target)}, *wr_flathub [] = {"flathub", NULL, t(&wr_flathub_target)},
*wr_nix [] = {"nix", NULL, t(&wr_nix_target)}, *wr_nix [] = {"nix", NULL, t(&wr_nix_target)},
@ -2080,13 +2101,13 @@ static const char
*wr_anaconda[] = {"conda", "anaconda", NULL, t(&wr_anaconda_target)}, *wr_anaconda[] = {"conda", "anaconda", NULL, t(&wr_anaconda_target)},
**wr_softwares[] = **wr_softwares[] =
{ {
wr_brew, wr_flathub, wr_nix, wr_guix, wr_emacs, wr_tex, wr_anaconda wr_winget, wr_brew, wr_flathub, wr_nix, wr_guix, wr_emacs, wr_tex, wr_anaconda
}; };
#undef t #undef t
/************************************** End Target Matrix ****************************************/ /************************************** End Target Matrix ****************************************/
static const char* static const char *
usage[] = { usage[] = {
"维护: https://gitee.com/RubyMetric/chsrc\n", "维护: https://gitee.com/RubyMetric/chsrc\n",
@ -2126,7 +2147,7 @@ print_available_mirrors ()
void void
print_supported_targets_ (const char*** array, size_t size) print_supported_targets_ (const char ***array, size_t size)
{ {
for (int i=0; i<size; i++) for (int i=0; i<size; i++)
{ {