diff --git a/src/framework/struct.h b/src/framework/struct.h index 6845268..2d55721 100644 --- a/src/framework/struct.h +++ b/src/framework/struct.h @@ -55,13 +55,12 @@ typedef SourceProvider_t MirrorSite_t; SourceProvider_t UpstreamProvider = { IS_UpstreamProvider, - /* 引入新的上游默认源时,请使下面第一行的前三个字段保持不变,只添加第四个字段,可使用 def_upstream 宏 */ + /* 引入新的上游默认源时,请使下面第一行的前三个字段保持不变,只添加第四个字段 */ "upstream", "Upstream", "上游默认源", NULL, /* 引入新的上游默认源时,请完全修改下面这个结构体,可使用 def_need_measure_info 宏 */ {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} SourceProvider_t UserDefinedProvider = @@ -180,29 +179,29 @@ typedef struct TargetRegisterInfo_t TargetRegisterInfo_t; -#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_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_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_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_s(t) NULL, t##_setsrc, NULL, 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_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_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_gsrf(t) t##_getsrc, t##_setsrc, t##_resetsrc, t##_feat #define def_target_sourcesn(t) t##_sources, t##_sources_n /* 大部分target还不支持reset,所以暂时先默认设置为NULL来过渡 */ -#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_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_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_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_gsrf(t) Target_t t##_target = {def_target_inner_gsrf(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_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_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_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_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() 中使用 */ #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_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; diff --git a/src/recipe/ware/Flathub.c b/src/recipe/ware/Flathub.c index 5f29e48..e728557 100644 --- a/src/recipe/ware/Flathub.c +++ b/src/recipe/ware/Flathub.c @@ -2,7 +2,7 @@ * SPDX-License-Identifier: GPL-3.0-or-later * ------------------------------------------------------------*/ -define_target(wr_flathub); +def_target(wr_flathub); void wr_flathub_prelude () @@ -11,7 +11,7 @@ wr_flathub_prelude () chef_set_created_on (this, "2023-09-11"); 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_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() {&upstream, "https://flathub.org/repo", DelegateToUpstream}, diff --git a/src/recipe/ware/WinGet.c b/src/recipe/ware/WinGet.c index 7ffaa01..d815894 100644 --- a/src/recipe/ware/WinGet.c +++ b/src/recipe/ware/WinGet.c @@ -1,25 +1,38 @@ /** ------------------------------------------------------------ * SPDX-License-Identifier: GPL-3.0-or-later - * ------------------------------------------------------------- - * File Authors : Aoran Zeng - * Contributors : Nil Null - * Created On : <2024-06-07> - * Last Modified : <2025-07-13> * ------------------------------------------------------------*/ -/** - * @update 2025-07-13 - */ -static Source_t wr_winget_sources[] = +def_target(wr_winget); + +void +wr_winget_prelude () { - {&UpstreamProvider, "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_n(wr_winget); + use_this(wr_winget); + + chef_set_created_on (this, "2024-06-07"); + chef_set_last_updated (this, "2025-07-13"); + chef_set_sources_last_updated (this, "2025-07-13"); + + chef_set_authors (this, 1, "Aoran Zeng", "ccmywish@qq.com"); + 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 @@ -35,7 +48,8 @@ wr_winget_getsrc (char *option) void 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 (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_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);