Update WinGet

This commit is contained in:
Aoran Zeng 2025-08-09 21:46:44 +08:00
parent 2d358fbc6a
commit 35ef3a4c37
No known key found for this signature in database
GPG Key ID: 8F8BA8488E10ED98
3 changed files with 56 additions and 60 deletions

View File

@ -55,13 +55,12 @@ typedef SourceProvider_t MirrorSite_t;
SourceProvider_t UpstreamProvider = SourceProvider_t UpstreamProvider =
{ {
IS_UpstreamProvider, IS_UpstreamProvider,
/* 引入新的上游默认源时,请使下面第一行的前三个字段保持不变,只添加第四个字段,可使用 def_upstream 宏 */ /* 引入新的上游默认源时,请使下面第一行的前三个字段保持不变,只添加第四个字段 */
"upstream", "Upstream", "上游默认源", NULL, "upstream", "Upstream", "上游默认源", NULL,
/* 引入新的上游默认源时,请完全修改下面这个结构体,可使用 def_need_measure_info 宏 */ /* 引入新的上游默认源时,请完全修改下面这个结构体,可使用 def_need_measure_info 宏 */
{SKIP, "URL未知邀您参与贡献!", "URL unknown, welcome to contribute!", NULL, ACCURATE} {SKIP, "URL未知邀您参与贡献!", "URL unknown, welcome to contribute!", NULL, ACCURATE}
}; };
#define def_upstream IS_UpstreamProvider, "upstream", "Upstream", "上游默认源"
#define def_need_measure_info {SKIP, "缺乏较大的测速对象,邀您参与贡献!", "Lack of large object URL, welcome to contribute!", NULL, ACCURATE} #define def_need_measure_info {SKIP, "缺乏较大的测速对象,邀您参与贡献!", "Lack of large object URL, welcome to contribute!", NULL, ACCURATE}
SourceProvider_t UserDefinedProvider = SourceProvider_t UserDefinedProvider =
@ -180,29 +179,29 @@ typedef struct TargetRegisterInfo_t
TargetRegisterInfo_t; TargetRegisterInfo_t;
#define def_target_inner_s(t) NULL, t##_setsrc, NULL, NULL // #define def_target_inner_s(t) NULL, t##_setsrc, NULL, NULL
#define def_target_inner_sr(t) NULL, t##_setsrc, t##_resetsrc, NULL // #define def_target_inner_sr(t) NULL, t##_setsrc, t##_resetsrc, NULL
#define def_target_inner_sf(t) NULL, t##_setsrc, NULL, t##_feat // #define def_target_inner_sf(t) NULL, t##_setsrc, NULL, t##_feat
#define def_target_inner_srf(t) NULL, t##_setsrc, t##_resetsrc, t##_feat // #define def_target_inner_srf(t) NULL, t##_setsrc, t##_resetsrc, t##_feat
#define def_target_inner_gs(t) t##_getsrc, t##_setsrc, NULL, NULL // #define def_target_inner_gs(t) t##_getsrc, t##_setsrc, NULL, NULL
#define def_target_inner_gsr(t) t##_getsrc, t##_setsrc, t##_resetsrc, NULL // #define def_target_inner_gsr(t) t##_getsrc, t##_setsrc, t##_resetsrc, NULL
#define def_target_inner_gsf(t) t##_getsrc, t##_setsrc, NULL, t##_feat // #define def_target_inner_gsf(t) t##_getsrc, t##_setsrc, NULL, t##_feat
#define def_target_inner_gsrf(t) t##_getsrc, t##_setsrc, t##_resetsrc, t##_feat // #define def_target_inner_gsrf(t) t##_getsrc, t##_setsrc, t##_resetsrc, t##_feat
#define def_target_sourcesn(t) t##_sources, t##_sources_n #define def_target_sourcesn(t) t##_sources, t##_sources_n
/* 大部分target还不支持reset所以暂时先默认设置为NULL来过渡 */ /* 大部分target还不支持reset所以暂时先默认设置为NULL来过渡 */
#define def_target(t) Target_t t##_target = {def_target_inner_gs(t),def_target_sourcesn(t)} // #define def_target(t) Target_t t##_target = {def_target_inner_gs(t),def_target_sourcesn(t)}
#define def_target_s(t) Target_t t##_target = {def_target_inner_s(t),def_target_sourcesn(t)} // #define def_target_s(t) Target_t t##_target = {def_target_inner_s(t),def_target_sourcesn(t)}
#define def_target_sr(t) Target_t t##_target = {def_target_inner_sr(t),def_target_sourcesn(t)} // #define def_target_sr(t) Target_t t##_target = {def_target_inner_sr(t),def_target_sourcesn(t)}
#define def_target_sf(t) Target_t t##_target = {def_target_inner_sf(t),def_target_sourcesn(t)} // #define def_target_sf(t) Target_t t##_target = {def_target_inner_sf(t),def_target_sourcesn(t)}
#define def_target_srf(t) Target_t t##_target = {def_target_inner_srf(t),def_target_sourcesn(t)} // #define def_target_srf(t) Target_t t##_target = {def_target_inner_srf(t),def_target_sourcesn(t)}
#define def_target_gs(t) Target_t t##_target = {def_target_inner_gs(t),def_target_sourcesn(t)} // #define def_target_gs(t) Target_t t##_target = {def_target_inner_gs(t),def_target_sourcesn(t)}
#define def_target_gsr(t) Target_t t##_target = {def_target_inner_gsr(t),def_target_sourcesn(t)} // #define def_target_gsr(t) Target_t t##_target = {def_target_inner_gsr(t),def_target_sourcesn(t)}
#define def_target_gsf(t) Target_t t##_target = {def_target_inner_gsf(t),def_target_sourcesn(t)} // #define def_target_gsf(t) Target_t t##_target = {def_target_inner_gsf(t),def_target_sourcesn(t)}
#define def_target_gsrf(t) Target_t t##_target = {def_target_inner_gsrf(t),def_target_sourcesn(t)} // #define def_target_gsrf(t) Target_t t##_target = {def_target_inner_gsrf(t),def_target_sourcesn(t)}
#define define_target(t) void t##_getsrc(char *option);void t##_setsrc(char *option);void t##_resetsrc(char *option); Target_t t##_target={0}; #define def_target(t) void t##_getsrc(char *option);void t##_setsrc(char *option);void t##_resetsrc(char *option); Target_t t##_target={0};
/* 以下宏仅能放在 prelude() 中使用 */ /* 以下宏仅能放在 prelude() 中使用 */
#define use_this(t) Target_t *this = &t##_target; #define use_this(t) Target_t *this = &t##_target;
@ -210,4 +209,4 @@ TargetRegisterInfo_t;
#define def_sources_begin() Source_t sources[] = { #define def_sources_begin() Source_t sources[] = {
#define def_sources_end() }; this->sources = sources; this->sources_n = xy_arylen(sources); #define def_sources_end() }; this->sources = sources; this->sources_n = xy_arylen(sources);
#define def_upstream_provider(url) SourceProvider_t upstream = UpstreamProvider; upstream.site = url; #define def_upstream(url) SourceProvider_t upstream = UpstreamProvider; upstream.site = url;

View File

@ -2,7 +2,7 @@
* SPDX-License-Identifier: GPL-3.0-or-later * SPDX-License-Identifier: GPL-3.0-or-later
* ------------------------------------------------------------*/ * ------------------------------------------------------------*/
define_target(wr_flathub); def_target(wr_flathub);
void void
wr_flathub_prelude () wr_flathub_prelude ()
@ -11,7 +11,7 @@ wr_flathub_prelude ()
chef_set_created_on (this, "2023-09-11"); chef_set_created_on (this, "2023-09-11");
chef_set_last_updated (this, "2025-08-09"); chef_set_last_updated (this, "2025-08-09");
chef_set_sources_last_updated (this, "2025-05-27");
chef_set_authors (this, 1, "Aoran Zeng", "ccmywish@qq.com"); chef_set_authors (this, 1, "Aoran Zeng", "ccmywish@qq.com");
chef_set_chef (this, NULL, NULL); chef_set_chef (this, NULL, NULL);
@ -31,8 +31,8 @@ wr_flathub_prelude ()
chef_set_sources_last_updated (this, "2025-05-27");
def_upstream_provider("https://flathub.org/repo"); def_upstream("https://flathub.org/repo");
def_sources_begin() def_sources_begin()
{&upstream, "https://flathub.org/repo", DelegateToUpstream}, {&upstream, "https://flathub.org/repo", DelegateToUpstream},

View File

@ -1,25 +1,38 @@
/** ------------------------------------------------------------ /** ------------------------------------------------------------
* SPDX-License-Identifier: GPL-3.0-or-later * SPDX-License-Identifier: GPL-3.0-or-later
* -------------------------------------------------------------
* File Authors : Aoran Zeng <ccmywish@qq.com>
* Contributors : Nil Null <nil@null.org>
* Created On : <2024-06-07>
* Last Modified : <2025-07-13>
* ------------------------------------------------------------*/ * ------------------------------------------------------------*/
/** def_target(wr_winget);
* @update 2025-07-13
*/ void
static Source_t wr_winget_sources[] = wr_winget_prelude ()
{ {
{&UpstreamProvider, "https://cdn.winget.microsoft.com/cache", NULL}, use_this(wr_winget);
{&MirrorZ, "https://mirrors.cernet.edu.cn/winget-source", NULL},
{&Ustc, "https://mirrors.ustc.edu.cn/winget-source", NULL}, chef_set_created_on (this, "2024-06-07");
{&Nju, "https://mirror.nju.edu.cn/winget-source", NULL}, chef_set_last_updated (this, "2025-07-13");
{&Nyist, "https://mirror.nyist.edu.cn/winget-source", NULL}, chef_set_sources_last_updated (this, "2025-07-13");
{&Xjtu, "https://mirrors.xjtu.edu.cn/winget-source", NULL}
}; chef_set_authors (this, 1, "Aoran Zeng", "ccmywish@qq.com");
def_sources_n(wr_winget); chef_set_chef (this, NULL, NULL);
chef_set_sous_chefs (this, 0);
chef_set_contributors (this, 0);
this.can_english = false;
this.can_user_define = true;
def_upstream("https://github.com/microsoft/winget-cli/");
def_sources_begin()
{&upstream, "https://cdn.winget.microsoft.com/cache", NULL},
{&MirrorZ, "https://mirrors.cernet.edu.cn/winget-source", NULL},
{&Ustc, "https://mirrors.ustc.edu.cn/winget-source", NULL},
{&Nju, "https://mirror.nju.edu.cn/winget-source", NULL},
{&Nyist, "https://mirror.nyist.edu.cn/winget-source", NULL},
{&Xjtu, "https://mirrors.xjtu.edu.cn/winget-source", NULL}
def_sources_end()
}
void void
@ -35,7 +48,8 @@ wr_winget_getsrc (char *option)
void void
wr_winget_setsrc (char *option) wr_winget_setsrc (char *option)
{ {
chsrc_yield_source_and_confirm (wr_winget); use_this(wr_winget);
Source_t source = chsrc_yield_source_and_confirm (this, option);
chsrc_run ("winget source remove winget", RunOpt_Default); chsrc_run ("winget source remove winget", RunOpt_Default);
chsrc_run (xy_strjoin (3, "winget source add winget ", source.url, " --trust-level trusted"), RunOpt_Default); chsrc_run (xy_strjoin (3, "winget source add winget ", source.url, " --trust-level trusted"), RunOpt_Default);
@ -53,20 +67,3 @@ wr_winget_resetsrc (char *option)
chsrc_determine_chgtype (ChgType_Reset); chsrc_determine_chgtype (ChgType_Reset);
chsrc_conclude (NULL); chsrc_conclude (NULL);
} }
Feature_t
wr_winget_feat (char *option)
{
Feature_t f = {0};
f.can_get = true;
f.can_reset = true;
f.can_english = false;
f.can_user_define = true;
return f;
}
def_target_gsrf(wr_winget);