登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
AI 队友
登录
注册
2025 Gitee 年度开源项目评选投票进行中,快为你的心仪项目助力!
代码拉取完成,页面将自动刷新
仓库状态说明
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
6
Star
1
Fork
13
src-openEuler
/
ocaml-dune
关闭
代码
Issues
0
Pull Requests
1
Wiki
统计
流水线
服务
JavaDoc
PHPDoc
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
我知道了,不再自动展开
更新失败,请稍后重试!
移除标识
内容风险标识
本任务被
标识为内容中包含有代码安全 Bug 、隐私泄露等敏感信息,仓库外成员不可访问
22.03-lts-next分支ocaml-dune软件升级至2.9.1
已完成
#I4RO9E
开源软件变更管理
lyn
成员
创建于
2022-01-20 20:03
| 差异分析报告 | | | | | :----------- | ----------------------------------------------------- | -------- | ------------------ | | 版本变更原因 | 22.03-lts-next分支,ocaml升级到4.13后ocaml-dune编译失败,通过升级到2.9.1解决编译失败 | 变更后版本 | 2.9.1 | | 差异分类 | 差异项 | 差异说明 | 影响评估与适配方案 | | 特性变化 | 新增特性/删除特性/变更特性实现 |不要在 Opam 文件中使用 subst --root (#4806, @MisterDA) <br>修复 Haiku 上的编译(#4885,@Sylvain78) <br>未安装 ocamlfind 时允许取决于 ocamldoc 库。 (#4811,修复#4809,@nojb) <br>已安装库的修复 (enabled_if ...) (#4824,修复 #4821,@dra27) <br>使用 --promote-install-files=false (#4860, @bobot) 创建更多面向未来的 opam 文件 <br>将 (enabled_if ...) 添加到 (mdx ...) (#4434, @emillon) <br>添加对检测依赖项的支持(#4210,修复 #3983,@nojb) <br>添加在补习班测试节中使用锁的可能性(#4480,@voodoos) <br>允许在默认上下文的变体中设置 merlin (#4145, @TheLortex, @voodoos) <br>将 (package ...) 添加到 (mdx ...) (#4691,修复 #3756,@emillon) <br>在 Coq 8.14 中处理将 coq.kernel 库重命名为 coq-core.kernel (#4713, @proux01) <br>在 Windows 上使用 (include_subdirs unqualified) 时修复 merlin 配置的生成 (#4745, @nojb) <br>修复使用 (include_subdirs 限定) 时安装 Coq 原生文件的错误 (#4753, @ejgallego) <br>允许用户为 doc 和 etc 部分指定安装目标目录。我们在 Dune 的 configure 和 dune install 命令中添加了新选项 --docdir 和 --etcdir。 (#4744,修复#4723,@ejgallego,感谢@JasonGross 报告此问题) <br>修复 Dune 会忽略出现在 dune 文件中的 (env ... (coq (flags ...))) 声明的问题(#4749,修复 #4566,@ejgallego @rgrinberg) <br>由于 Coq “native” 编译系统的返工(#4760,@ejgallego),禁用 Coq 8.14 和 (lang coq (>= 0.3)) 上的一些警告 <br>修复了即使禁用检测也会添加检测标志的错误(@nojb,#4770) <br>修复 #4682:选项 -p 现在优先于环境变量 DUNE_PROFILE(#4730、#4774、@bobot,由@dra27 #4632 报告) <br>使用带有沙丘站点的软件包的 opam 修复安装。 .install 文件现在由构建阶段的本地沙丘安装生成(#4730、#4645、@bobot,由@kit-ty-kate #4198 报告) <br>修复站点功能中的多个问题(#4730、#4645 @bobot、@Lelio-Brun #4219、@Kakadu #4325、@toots #4415 报告) <br>修复了已安装的 .cmxs 缺少可执行位的问题(#4149,修复了 #4148,@bobot) <br>修复沙丘缓存中的比赛。在 Windows 上使用缓存时特别容易遇到这种情况(#4406,修复 #4167,@snowleopard) <br>修复 compiler-libs.toplevel 的 META 文件存在时的崩溃(@jeremiedimino,#4249) <br>让 patdiff 显示精致的差异(#4257,修复 #4254,@hakuch) <br>修复了由于 Sys.getcwd(在 emacs 下观察到)结果的大小写差异可能导致在 Windows 下进行不必要的重新编译的错误。 (#3966,@nojb)。 <br>为 coq-lang < 0.3 恢复与 Coq < 8.10 的兼容性,证明(使用 coq 0.3)确实至少需要 Coq 8.10(#4224,修复 #4142,@ejgallego) <br>为“compiler-libs.native-toplevel”添加 META 规则(#4175,@altgr) <br>不再在符号链接上调用 chmod(修复 #4195,@dannywillems) <br>沙丘不再自动创建或编辑沙丘项目文件(#4239,修复#4108,@jeremiedimino) <br>让 dune 将标准库目录的位置传达给 merlin(#4211,修复 #4188,@nojb) <br>解决方法 Unix.utimes (OCaml PR#8857) 在 Windows 上的 Path.touch (#4223, @dra27) 中引发的错误异常 <br>dune ocaml-merlin 现在能够为 _build 目录中的源文件提供配置。 (#4274,@巫毒) <br>首次重建以前使用 Dune <= 2.7 构建的项目时,自动删除剩余的 Merlin 文件。 (#4261,@voodoos,@aalekseyev) <br>修复 ppx.exe 在交叉编译时被编译为错误的目标(#3751,修复 #3698,@toots) <br>dune top 正确地转义了生成的顶级指令,并使 dune top 更容易找到与相关库关联的 C 存根。 (#4242,修复#4231,@nojb) <br>编译字节码时不要传递包含本机对象的包含目录(#4200,@nojb) <br>允许 %{version:pkg} 为外部包工作 (#4104, @kit-ty-kate) <br>修复了从沙丘 ocaml-merlin 发现错误的工作区(#4127,修复了 #4125,@voodoos) <br>修复了 2.8.0 中引入的内存爆炸(#4144,修复了 #4134,@jeremiedimino) <br>修复了 dune --version 打印 n/a 而不是版本 <br>沙丘规则接受别名和其他非路径规则 (#4063, @mrmr1993) <br>Action (diff reference test_result) 现在接受不存在的引用,在这种情况下认为引用是空的。然后运行 dune Promotion 将创建参考文件。 (#3795,@bobot) <br>忽略特殊文件 (BLK, CHR, FIFO, SOCKET), (#3570, fix #3124, #3546, @ejgallego) <br>实验性:通过引入特定的安装站点,在程序运行时简化附加文件(数据或代码)的加载。特别是它允许定义要安装在这些站点中的插件。 (#3104,#3794,修复#1185,@bobot) <br>将 dune 创建的所有用于运行操作的临时文件移动到单个目录,并通过设置 TMPDIR(或 Windows 上的 TEMP)确保 dune 执行的操作也使用该目录。 (#3691,修复#3422,@rgrinberg) <br>使用自定义配置修复引导脚本。 (#3757,修复#3774,@marsam) <br>将可执行字段添加到 inline_tests 以自定义测试运行程序可执行文件的编译标志(#3747,修复 #3679,@lubegasimon) <br>添加 (enabled_if ...) 到 (copy_files ...) (#3765, @nojb) <br>确保 Dune 在退出之前清理状态行(#3767,修复 #3737,@alan-j-hu) <br>添加 {gitlab,bitbucket} 作为在 dune-project 文件中使用源节 (source (<host> user/repo)) 定义项目源的选项。 (#3813,@rgrinberg) <br>当某些目标(字节、本机、dynlink)被禁用时,修复了 META 和沙丘包文件的生成。以前,无论设置如何,沙丘都会生成所有档案。 (#3829,#4041,@rgrinberg) <br>不要为单个模块可执行文件和库运行 ocamldep。此类工件的依赖图很简单(#3847,@rgrinberg) <br>修复供应商目录中的补习班测试未正确解释。 (#3860,修复#3843,@rgrinberg) <br>将包字段添加到私有库。这允许安装此类库并可供同一项目中的其他公共库使用(#3655,修复 #1017,@rgrinberg) <br>通过仅检查类 UNIX 系统上的 gmake 二进制文件来修复 Windows 上的 %{make} 变量,因为 Windows 上可能存在不相关的 gmake 二进制文件。 (#3853,@kit-ty-kate) <br>修复 $dune install 修改构建目录。这使得在 $ sudo dune install 修改权限时构建目录不可用。 (修复#3857,@rgrinberg) <br>修复对命令行上给出的别名的处理(使用 @ 和 @@ 语法),以便正确处理相对路径。 (#3874,修复#3850,@nojb) <br>允许在预处理可执行文件中使用链接时间代码生成。这使得在预处理器中使用构建信息模块成为可能。 (#3848,修复#3848,@rgrinberg) <br>正确调用 git ls-tree 以便不引用 unicode 文件,这解决了存在 unicode 文件时 dune subst 的问题。修复 #3219(#3879,@ejgallego) <br>dune subst 现在接受常见的命令行参数,例如 --debug-backtraces (#3878, @ejgallego) <br>dune describe 现在除了库之外还包括有关可执行文件的信息。 (#3892,#3895,@nojb) <br>仪表后端现在可以通过 (instrumentation (backend <name> <args>)) 接收参数。 (#3906,#3932,@nojb) <br>调整沙丘文件的自动格式以提高可读性。 (#3928,@nojb) <br>当上下文不是默认值时,向 opam 添加一个 switch 参数。 (#3951,@tmattio) <br>运行 $ git diff (#3912, @AltGr) 时避免使用寻呼机 <br>将 (root_module ..) 字段添加到库和可执行文件。这使得使用本地模块隐藏的库依赖成为可能(#3825,@rgrinberg) <br>允许 (env ...) 节中的 (formatting ...) 字段设置每个目录的格式规范。 (#3942,@nojb) <br>[coq] 在 coq.theory 中,标志字段的 :standard 现在使用 env 配置文件标志中设置的标志(#3931,@ejgallego @rgrinberg) <br>[coq] 将 -q 标志添加到 :standard coqc 标志,修复 #3924,(#3931,@ejgallego) <br>添加对 Coq 原生计算编译模式的支持 (@ejgallego, #3210) <br>在 .merlin 文件中为每个方言添加一个 SUFFIX 指令,无需预处理,让 merlin 知道其他文件扩展名(#3977,@vouillon) <br>停止推广 .merlin 文件。以二进制形式编写每节 Merlin 配置。添加一个新的子命令 dune ocaml-merlin,Merlin 可以使用它来查询配置文件。 allow_approximate_merlin 选项现在无用且已弃用。 Dune 现在与 merlin < 3.4.0 和 ocaml-lsp-server < 1.3.0 冲突 (#3554, @voodoos) <br>配置器:修复了在 2.6.0 中引入的一个错误,即在沙丘之外使用时配置器 V1 API 根本不起作用。 (#4046,@aalekseyev) <br>修复 libexec 和 libexec-private 变量。在交叉编译设置中,它们现在指向主机上下文中的文件。 (#4058,修复#4057,@TheLortex) <br>运行 $ dune subst 时,在缺少包元数据时使用项目元数据作为后备。当沙丘项目文件中缺少 (name ..) 时,我们还会生成警告,以避免生产构建失败。 <br>删除对传递 -nodynlink 可执行文件的支持。它在大多数情况下被绕过,在其他情况下不正确,特别是在 arm32 上。 (#4085,修复#4069,修复#2527,@emillon) <br>生成与 4.12 兼容的存档规则。如果不必要,Dune 会更长时间地尝试生成存档文件(#3973,修复 #3766,@rgrinberg) <br>当为同一文件夹中的不同模块定义多个预处理器时,修复生成的 Merlin 配置。 (#4092,修复#2596,#1212和#3409,@voodoos) <br>将选项 use_standard_c_and_cxx_flags 添加到 dune-project 1. 在 C 编译器调用中禁用 ocamlc -config 中无条件使用 ocamlc_cflags 和 ocamlc_cppflags,这些标志将出现在 :standard 集中; 2. 启用 C 编译器系列的检测,并在构建 CXX 存根时使用通用默认值填充 :standard 标志集。 (#3875,#3802,修复#3718 和#3528,@voodoos) <br>配置器:更灵活地探测#define。我们允许目标文件中的重复值,只要它们在解析后相同。 (#3739,修复#3736,@rgrinberg) <br>在沙丘包文件中记录仪器后端。这使得可以使用在已安装库中定义的检测后端(例如通过 OPAM)。 (#3735,@nojb) <br>将缺少的 .aux 和 .glob 目标添加到 coq 规则(#3721,修复 #3437,@rgrinberg) <br>当 META 模板存在时修复 dune-package 安装(#3743,修复 #3746,@rgrinberg) <br>在运行 $ git diff 之前解析符号链接(#3750,修复 #3740,@rgrinberg) <br>Cram 测试:检查所有测试目录是否包含 run.t 文件时,跳过空目录。这些可以由 git 留下。 (#3753,@埃米隆) <br>在每个 mdx 节的 .mdx 文件夹中写入中间文件,以防止相应的操作作为 @all 别名的一部分执行(#3659,@NathanReb) <br>从 env 读取 Coq 标志(#3547,修复 #3486,@gares) <br>通过 dune-workspace 和/或命令行添加检测框架以通过 bisect_ppx、地标等切换检测。 (#3404,#3526 @stephanieyou,@nojb) <br>沙丘文件的格式化现在在执行沙丘进程中完成,而不是在单独的进程中。 (#3536,@nojb) <br>添加 --debug-artifact-substution 标志以帮助调试 dune-build-info 未捕获版本的问题(#3589,@jeremiedimino) <br>允许在可执行文件的 enabled_if 字段中使用 context_name 变量并安装节。 (#3568,修复#3566,@voodoos) <br>修复编译空档案时与 OCaml 4.12.0 的兼容性;不生成 .a 文件。 (#3576,@dra27) <br>$ dune utop 不再尝试加载不可用的可选库(#3612,修复 #3188,@anuragsoni) <br>修复 4.10.0+flambda 上的 dune-build-info(#3599,@emillon,@jeremiedimino)。 <br>允许在同一目录中定义多个具有 inline_tests 的库 (#3621, @rgrinberg) <br>在 jsoo 单独编译模式下运行退出钩子(#3626,修复 #3622,@rgrinberg) <br>将 (alias ...), (mode ...) 字段添加到 (copy_fields ...) 节 (#3631, @nojb) <br>(copy_files ...) 现在支持使用绝对文件名从工作区外部复制文件 (#3639, @nojb) <br>Dune 不再使用 ocamlc 作为调用 C 编译器的中介。配置标志 ocamlc_cflags 和 ocamlc_cppflags 总是预先添加到编译器参数中。 (#3565,修复#3346,@voodoos) <br>恢复 #2268 中的构建优化。当单个可执行文件是可执行文件节组的一部分时,此优化会减慢构建单个可执行文件的速度(#3644,@rgrinberg) <br>在生成的 .opam 文件中使用 {dev} 而不是 {pinned}。 (#3647,@kit-ty-kate) <br>编辑沙丘项目文件时插入正确的扩展名。以前,dune 只会插入节名称。 (#3649,修复#3624,@rgrinberg) <br>在评估依赖于不可用包的 mdx 节时修复崩溃。 (#3650,@CraigFe) <br>修复沙丘配置文件中缓存检查概率字段中的拼写错误。此字段现在需要 2.7,因为在此版本之前它不可用。 (#3652,@edwintorok) <br>将“odoc”{with-doc} 添加到生成的 .opam 文件中的依赖项中。 (#3667,@kit-ty-kate) <br>不允许用户操作来捕获沙丘的标准输入(#3677,修复 #3672,@rgrinberg) <br>(subdir ...) 节现在可以出现在通过 (include ...) 使用的沙丘文件中。 (#3676,@nojb) <br>添加操作 pipe-{stdout,stderr,outputs} 用于输出重定向(#3392,修复 #428,@NathanReb) <br>修复与 OCaml 4.12 的兼容性(#3585,修复 #3583,@ejgallego) <br>修复启用缓存时的崩溃(@rgrinberg,#3581,修复 #3580) <br>在 4.10.1 之前不要使用 -output-complete-exe,因为它在 4.10.0 中已损坏(@jeremiedimino,#3187) <br>修复发现未知 pform 时的崩溃(例如 %{unknown})(#3560,@emillon) <br>改进将无效包名称(例如空字符串)传递给 dune build -p 时的错误消息。 (#3561,@埃米隆) <br>修复显示大输出(包括差异)时的堆栈溢出(#3537,修复#2767,#3490,@emillon) <br>编译 ppx 预处理器时传递 -g (#3671, @rgrinberg) <br>修复了 dune init exec --libs=lib1,lib2 中的有效库名称导致错误的错误。 (#3444,修复#3443,@bikalem) <br>将和 enabled_ if 字段添加到安装节。对可执行文件和安装节中的 enabled_if 字段实施与库节中相同的变量限制。当使用 dune lang < 2.6 时,在可执行文件节中使用禁止变量只会触发警告以保持兼容性。 (#3408 和 #3496,修复 #3354,@voodoos) <br>当用户在 dune-project 文件中明确指定对 dune 的依赖时,插入一个 dune 版本的约束(#3434,修复 #3427,@diml) <br>为包含 .js 运行时文件的子库(形式为 lib.foo)生成正确的 META 文件。 (#3445,@hhugo) <br>添加一个 (no-infer ...) 操作,以防止在操作中推断目标和依赖项。 (#3456,修复#2006,@roddyyaga) <br>正确推断差异的目标?行动。 (#3457,修复#2990,@greedy) <br>修复 $ dune 打印规则崩溃(#3459,修复 #3440,@rgrinberg) <br>使用 js_of_ocaml.3.6 简化 js_of_ocaml 规则(#3375,@hhugo) <br>添加一个新的 ocaml-merlin 子命令,Merlin 可以使用该子命令直接从沙丘获取配置,而不是使用 .merlin 文件。 (#3395,@巫毒) <br>删除实验变体功能并使默认实现成为语言的一部分(#3491,修复 #3483,@rgrinberg) <br>[coq] 修复 Coq 理论的安装 .v 文件(#3384,@lthms) <br>[coq] 修复级别大于 1 的理论名称的安装路径(#3358,@ejgallego) <br>修复了 2.0.0 中引入的错误,其中没有目标的规则中的 [locks] 字段无效。 (@aalekseyev,@craigfe 报道) <br>添加一个 --release 选项,含义与 -p 相同,但没有包过滤。这对于我们不需要 -p 的 opam 文件中的自定义沙丘调用很有用(#3260,@diml) <br>修复 2.4.0 中引入的导致 .bc 程序默认使用 -custom 构建的错误(#3269,修复 #3262,@diml) <br>允许在工作区文件中使用本地开关定义上下文(#3265,修复#3264,@rgrinberg) <br>延迟扩展错误,直到规则被用于构建某些东西(#3261,修复#3252,@rgrinberg,@diml) <br>[coq] 使用新领域(理论 ...)支持理论依赖和组合构建(#2053,@ejgallego,@rgrinberg) <br>从现在开始,每个版本的语法扩展都必须明确地绑定到沙丘语言的最低版本。沙丘项目中的版本不一致将触发版本 <=2.4 的警告和版本> 2.4 的沙丘语言的错误。 (#3270,修复#2957,@voodoos) <br>[coq] 将 coq lang 版本升级到 0.2。此版本提供的新 coq 功能需要此版本的 coq lang。 (#3283,@ejgallego) <br>防止安装使用 enabled_if 字段禁用的公共可执行文件。安装现在将简单地跳过此类可执行文件,而不是引发错误。 (#3195,@巫毒) <br>dune upgrade 现在将尝试将使用版本 <2.0 的项目升级到 dune 语言的 2.0 版本。 (#3174,@巫毒) <br>添加一个 top 命令以将 dune 与任何顶层集成,而不仅仅是 utop。它旨在与 OCaml 4.11 的新 #use_output 指令一起使用(#2952,@mbernat,@diml) <br>在生成的 opam 文件中允许每个包版本(#3287,@toots) <br>[coq] 介绍 coq.extraction 节。它可用于提取 OCaml 源(#3299,修复 #2178,@rgrinberg) <br>在 dune utop 中加载 ppx 重写器并将 pps 字段添加到顶层节。 Ppx 扩展现在可以在顶层使用(#3266,修复 #346,@stephanieyou) <br>添加一个 (subdir ..) 节以允许评估子目录中的节。 (#3268,@rgrinberg) <br>修复了阻止在多种模式下运行内联测试的错误(#3352,@diml) <br>允许在库节的 enabled_if 字段中使用 %{profile} 变量。 (#3344,@mrmr1993) <br>允许在库节的 enabled_if 字段中使用 %{ocaml_version} 变量。 (#3339,@巫毒) <br>修复启用缓存时 MacOS 上的沙丘构建冻结。 (#3249,修复##2973,@artempyanykh) | 无 | | | | | | | 配置文件 | 新增/变更/删除配置项 | 无 | | | | | | | | ABI差异 | 新增/变更/删除API | 无 | | | | 新增/变更/删除结构体 | | | | | | | | | 命令行/功能 | 新增/变更/删除命令 | 无 | | | | 新增/变更/删除命令选项 | | | | | 新增/变更/删除日志输出 | | | | | | | | | SPEC文件 | 新增/变更/删除 编译依赖、安装依赖、依赖的软件版本变更 | 增加编译依赖ocaml-csexp-devel make | 无 | | | 拆分软件包方式变更 | 无 | | | | | | |
| 差异分析报告 | | | | | :----------- | ----------------------------------------------------- | -------- | ------------------ | | 版本变更原因 | 22.03-lts-next分支,ocaml升级到4.13后ocaml-dune编译失败,通过升级到2.9.1解决编译失败 | 变更后版本 | 2.9.1 | | 差异分类 | 差异项 | 差异说明 | 影响评估与适配方案 | | 特性变化 | 新增特性/删除特性/变更特性实现 |不要在 Opam 文件中使用 subst --root (#4806, @MisterDA) <br>修复 Haiku 上的编译(#4885,@Sylvain78) <br>未安装 ocamlfind 时允许取决于 ocamldoc 库。 (#4811,修复#4809,@nojb) <br>已安装库的修复 (enabled_if ...) (#4824,修复 #4821,@dra27) <br>使用 --promote-install-files=false (#4860, @bobot) 创建更多面向未来的 opam 文件 <br>将 (enabled_if ...) 添加到 (mdx ...) (#4434, @emillon) <br>添加对检测依赖项的支持(#4210,修复 #3983,@nojb) <br>添加在补习班测试节中使用锁的可能性(#4480,@voodoos) <br>允许在默认上下文的变体中设置 merlin (#4145, @TheLortex, @voodoos) <br>将 (package ...) 添加到 (mdx ...) (#4691,修复 #3756,@emillon) <br>在 Coq 8.14 中处理将 coq.kernel 库重命名为 coq-core.kernel (#4713, @proux01) <br>在 Windows 上使用 (include_subdirs unqualified) 时修复 merlin 配置的生成 (#4745, @nojb) <br>修复使用 (include_subdirs 限定) 时安装 Coq 原生文件的错误 (#4753, @ejgallego) <br>允许用户为 doc 和 etc 部分指定安装目标目录。我们在 Dune 的 configure 和 dune install 命令中添加了新选项 --docdir 和 --etcdir。 (#4744,修复#4723,@ejgallego,感谢@JasonGross 报告此问题) <br>修复 Dune 会忽略出现在 dune 文件中的 (env ... (coq (flags ...))) 声明的问题(#4749,修复 #4566,@ejgallego @rgrinberg) <br>由于 Coq “native” 编译系统的返工(#4760,@ejgallego),禁用 Coq 8.14 和 (lang coq (>= 0.3)) 上的一些警告 <br>修复了即使禁用检测也会添加检测标志的错误(@nojb,#4770) <br>修复 #4682:选项 -p 现在优先于环境变量 DUNE_PROFILE(#4730、#4774、@bobot,由@dra27 #4632 报告) <br>使用带有沙丘站点的软件包的 opam 修复安装。 .install 文件现在由构建阶段的本地沙丘安装生成(#4730、#4645、@bobot,由@kit-ty-kate #4198 报告) <br>修复站点功能中的多个问题(#4730、#4645 @bobot、@Lelio-Brun #4219、@Kakadu #4325、@toots #4415 报告) <br>修复了已安装的 .cmxs 缺少可执行位的问题(#4149,修复了 #4148,@bobot) <br>修复沙丘缓存中的比赛。在 Windows 上使用缓存时特别容易遇到这种情况(#4406,修复 #4167,@snowleopard) <br>修复 compiler-libs.toplevel 的 META 文件存在时的崩溃(@jeremiedimino,#4249) <br>让 patdiff 显示精致的差异(#4257,修复 #4254,@hakuch) <br>修复了由于 Sys.getcwd(在 emacs 下观察到)结果的大小写差异可能导致在 Windows 下进行不必要的重新编译的错误。 (#3966,@nojb)。 <br>为 coq-lang < 0.3 恢复与 Coq < 8.10 的兼容性,证明(使用 coq 0.3)确实至少需要 Coq 8.10(#4224,修复 #4142,@ejgallego) <br>为“compiler-libs.native-toplevel”添加 META 规则(#4175,@altgr) <br>不再在符号链接上调用 chmod(修复 #4195,@dannywillems) <br>沙丘不再自动创建或编辑沙丘项目文件(#4239,修复#4108,@jeremiedimino) <br>让 dune 将标准库目录的位置传达给 merlin(#4211,修复 #4188,@nojb) <br>解决方法 Unix.utimes (OCaml PR#8857) 在 Windows 上的 Path.touch (#4223, @dra27) 中引发的错误异常 <br>dune ocaml-merlin 现在能够为 _build 目录中的源文件提供配置。 (#4274,@巫毒) <br>首次重建以前使用 Dune <= 2.7 构建的项目时,自动删除剩余的 Merlin 文件。 (#4261,@voodoos,@aalekseyev) <br>修复 ppx.exe 在交叉编译时被编译为错误的目标(#3751,修复 #3698,@toots) <br>dune top 正确地转义了生成的顶级指令,并使 dune top 更容易找到与相关库关联的 C 存根。 (#4242,修复#4231,@nojb) <br>编译字节码时不要传递包含本机对象的包含目录(#4200,@nojb) <br>允许 %{version:pkg} 为外部包工作 (#4104, @kit-ty-kate) <br>修复了从沙丘 ocaml-merlin 发现错误的工作区(#4127,修复了 #4125,@voodoos) <br>修复了 2.8.0 中引入的内存爆炸(#4144,修复了 #4134,@jeremiedimino) <br>修复了 dune --version 打印 n/a 而不是版本 <br>沙丘规则接受别名和其他非路径规则 (#4063, @mrmr1993) <br>Action (diff reference test_result) 现在接受不存在的引用,在这种情况下认为引用是空的。然后运行 dune Promotion 将创建参考文件。 (#3795,@bobot) <br>忽略特殊文件 (BLK, CHR, FIFO, SOCKET), (#3570, fix #3124, #3546, @ejgallego) <br>实验性:通过引入特定的安装站点,在程序运行时简化附加文件(数据或代码)的加载。特别是它允许定义要安装在这些站点中的插件。 (#3104,#3794,修复#1185,@bobot) <br>将 dune 创建的所有用于运行操作的临时文件移动到单个目录,并通过设置 TMPDIR(或 Windows 上的 TEMP)确保 dune 执行的操作也使用该目录。 (#3691,修复#3422,@rgrinberg) <br>使用自定义配置修复引导脚本。 (#3757,修复#3774,@marsam) <br>将可执行字段添加到 inline_tests 以自定义测试运行程序可执行文件的编译标志(#3747,修复 #3679,@lubegasimon) <br>添加 (enabled_if ...) 到 (copy_files ...) (#3765, @nojb) <br>确保 Dune 在退出之前清理状态行(#3767,修复 #3737,@alan-j-hu) <br>添加 {gitlab,bitbucket} 作为在 dune-project 文件中使用源节 (source (<host> user/repo)) 定义项目源的选项。 (#3813,@rgrinberg) <br>当某些目标(字节、本机、dynlink)被禁用时,修复了 META 和沙丘包文件的生成。以前,无论设置如何,沙丘都会生成所有档案。 (#3829,#4041,@rgrinberg) <br>不要为单个模块可执行文件和库运行 ocamldep。此类工件的依赖图很简单(#3847,@rgrinberg) <br>修复供应商目录中的补习班测试未正确解释。 (#3860,修复#3843,@rgrinberg) <br>将包字段添加到私有库。这允许安装此类库并可供同一项目中的其他公共库使用(#3655,修复 #1017,@rgrinberg) <br>通过仅检查类 UNIX 系统上的 gmake 二进制文件来修复 Windows 上的 %{make} 变量,因为 Windows 上可能存在不相关的 gmake 二进制文件。 (#3853,@kit-ty-kate) <br>修复 $dune install 修改构建目录。这使得在 $ sudo dune install 修改权限时构建目录不可用。 (修复#3857,@rgrinberg) <br>修复对命令行上给出的别名的处理(使用 @ 和 @@ 语法),以便正确处理相对路径。 (#3874,修复#3850,@nojb) <br>允许在预处理可执行文件中使用链接时间代码生成。这使得在预处理器中使用构建信息模块成为可能。 (#3848,修复#3848,@rgrinberg) <br>正确调用 git ls-tree 以便不引用 unicode 文件,这解决了存在 unicode 文件时 dune subst 的问题。修复 #3219(#3879,@ejgallego) <br>dune subst 现在接受常见的命令行参数,例如 --debug-backtraces (#3878, @ejgallego) <br>dune describe 现在除了库之外还包括有关可执行文件的信息。 (#3892,#3895,@nojb) <br>仪表后端现在可以通过 (instrumentation (backend <name> <args>)) 接收参数。 (#3906,#3932,@nojb) <br>调整沙丘文件的自动格式以提高可读性。 (#3928,@nojb) <br>当上下文不是默认值时,向 opam 添加一个 switch 参数。 (#3951,@tmattio) <br>运行 $ git diff (#3912, @AltGr) 时避免使用寻呼机 <br>将 (root_module ..) 字段添加到库和可执行文件。这使得使用本地模块隐藏的库依赖成为可能(#3825,@rgrinberg) <br>允许 (env ...) 节中的 (formatting ...) 字段设置每个目录的格式规范。 (#3942,@nojb) <br>[coq] 在 coq.theory 中,标志字段的 :standard 现在使用 env 配置文件标志中设置的标志(#3931,@ejgallego @rgrinberg) <br>[coq] 将 -q 标志添加到 :standard coqc 标志,修复 #3924,(#3931,@ejgallego) <br>添加对 Coq 原生计算编译模式的支持 (@ejgallego, #3210) <br>在 .merlin 文件中为每个方言添加一个 SUFFIX 指令,无需预处理,让 merlin 知道其他文件扩展名(#3977,@vouillon) <br>停止推广 .merlin 文件。以二进制形式编写每节 Merlin 配置。添加一个新的子命令 dune ocaml-merlin,Merlin 可以使用它来查询配置文件。 allow_approximate_merlin 选项现在无用且已弃用。 Dune 现在与 merlin < 3.4.0 和 ocaml-lsp-server < 1.3.0 冲突 (#3554, @voodoos) <br>配置器:修复了在 2.6.0 中引入的一个错误,即在沙丘之外使用时配置器 V1 API 根本不起作用。 (#4046,@aalekseyev) <br>修复 libexec 和 libexec-private 变量。在交叉编译设置中,它们现在指向主机上下文中的文件。 (#4058,修复#4057,@TheLortex) <br>运行 $ dune subst 时,在缺少包元数据时使用项目元数据作为后备。当沙丘项目文件中缺少 (name ..) 时,我们还会生成警告,以避免生产构建失败。 <br>删除对传递 -nodynlink 可执行文件的支持。它在大多数情况下被绕过,在其他情况下不正确,特别是在 arm32 上。 (#4085,修复#4069,修复#2527,@emillon) <br>生成与 4.12 兼容的存档规则。如果不必要,Dune 会更长时间地尝试生成存档文件(#3973,修复 #3766,@rgrinberg) <br>当为同一文件夹中的不同模块定义多个预处理器时,修复生成的 Merlin 配置。 (#4092,修复#2596,#1212和#3409,@voodoos) <br>将选项 use_standard_c_and_cxx_flags 添加到 dune-project 1. 在 C 编译器调用中禁用 ocamlc -config 中无条件使用 ocamlc_cflags 和 ocamlc_cppflags,这些标志将出现在 :standard 集中; 2. 启用 C 编译器系列的检测,并在构建 CXX 存根时使用通用默认值填充 :standard 标志集。 (#3875,#3802,修复#3718 和#3528,@voodoos) <br>配置器:更灵活地探测#define。我们允许目标文件中的重复值,只要它们在解析后相同。 (#3739,修复#3736,@rgrinberg) <br>在沙丘包文件中记录仪器后端。这使得可以使用在已安装库中定义的检测后端(例如通过 OPAM)。 (#3735,@nojb) <br>将缺少的 .aux 和 .glob 目标添加到 coq 规则(#3721,修复 #3437,@rgrinberg) <br>当 META 模板存在时修复 dune-package 安装(#3743,修复 #3746,@rgrinberg) <br>在运行 $ git diff 之前解析符号链接(#3750,修复 #3740,@rgrinberg) <br>Cram 测试:检查所有测试目录是否包含 run.t 文件时,跳过空目录。这些可以由 git 留下。 (#3753,@埃米隆) <br>在每个 mdx 节的 .mdx 文件夹中写入中间文件,以防止相应的操作作为 @all 别名的一部分执行(#3659,@NathanReb) <br>从 env 读取 Coq 标志(#3547,修复 #3486,@gares) <br>通过 dune-workspace 和/或命令行添加检测框架以通过 bisect_ppx、地标等切换检测。 (#3404,#3526 @stephanieyou,@nojb) <br>沙丘文件的格式化现在在执行沙丘进程中完成,而不是在单独的进程中。 (#3536,@nojb) <br>添加 --debug-artifact-substution 标志以帮助调试 dune-build-info 未捕获版本的问题(#3589,@jeremiedimino) <br>允许在可执行文件的 enabled_if 字段中使用 context_name 变量并安装节。 (#3568,修复#3566,@voodoos) <br>修复编译空档案时与 OCaml 4.12.0 的兼容性;不生成 .a 文件。 (#3576,@dra27) <br>$ dune utop 不再尝试加载不可用的可选库(#3612,修复 #3188,@anuragsoni) <br>修复 4.10.0+flambda 上的 dune-build-info(#3599,@emillon,@jeremiedimino)。 <br>允许在同一目录中定义多个具有 inline_tests 的库 (#3621, @rgrinberg) <br>在 jsoo 单独编译模式下运行退出钩子(#3626,修复 #3622,@rgrinberg) <br>将 (alias ...), (mode ...) 字段添加到 (copy_fields ...) 节 (#3631, @nojb) <br>(copy_files ...) 现在支持使用绝对文件名从工作区外部复制文件 (#3639, @nojb) <br>Dune 不再使用 ocamlc 作为调用 C 编译器的中介。配置标志 ocamlc_cflags 和 ocamlc_cppflags 总是预先添加到编译器参数中。 (#3565,修复#3346,@voodoos) <br>恢复 #2268 中的构建优化。当单个可执行文件是可执行文件节组的一部分时,此优化会减慢构建单个可执行文件的速度(#3644,@rgrinberg) <br>在生成的 .opam 文件中使用 {dev} 而不是 {pinned}。 (#3647,@kit-ty-kate) <br>编辑沙丘项目文件时插入正确的扩展名。以前,dune 只会插入节名称。 (#3649,修复#3624,@rgrinberg) <br>在评估依赖于不可用包的 mdx 节时修复崩溃。 (#3650,@CraigFe) <br>修复沙丘配置文件中缓存检查概率字段中的拼写错误。此字段现在需要 2.7,因为在此版本之前它不可用。 (#3652,@edwintorok) <br>将“odoc”{with-doc} 添加到生成的 .opam 文件中的依赖项中。 (#3667,@kit-ty-kate) <br>不允许用户操作来捕获沙丘的标准输入(#3677,修复 #3672,@rgrinberg) <br>(subdir ...) 节现在可以出现在通过 (include ...) 使用的沙丘文件中。 (#3676,@nojb) <br>添加操作 pipe-{stdout,stderr,outputs} 用于输出重定向(#3392,修复 #428,@NathanReb) <br>修复与 OCaml 4.12 的兼容性(#3585,修复 #3583,@ejgallego) <br>修复启用缓存时的崩溃(@rgrinberg,#3581,修复 #3580) <br>在 4.10.1 之前不要使用 -output-complete-exe,因为它在 4.10.0 中已损坏(@jeremiedimino,#3187) <br>修复发现未知 pform 时的崩溃(例如 %{unknown})(#3560,@emillon) <br>改进将无效包名称(例如空字符串)传递给 dune build -p 时的错误消息。 (#3561,@埃米隆) <br>修复显示大输出(包括差异)时的堆栈溢出(#3537,修复#2767,#3490,@emillon) <br>编译 ppx 预处理器时传递 -g (#3671, @rgrinberg) <br>修复了 dune init exec --libs=lib1,lib2 中的有效库名称导致错误的错误。 (#3444,修复#3443,@bikalem) <br>将和 enabled_ if 字段添加到安装节。对可执行文件和安装节中的 enabled_if 字段实施与库节中相同的变量限制。当使用 dune lang < 2.6 时,在可执行文件节中使用禁止变量只会触发警告以保持兼容性。 (#3408 和 #3496,修复 #3354,@voodoos) <br>当用户在 dune-project 文件中明确指定对 dune 的依赖时,插入一个 dune 版本的约束(#3434,修复 #3427,@diml) <br>为包含 .js 运行时文件的子库(形式为 lib.foo)生成正确的 META 文件。 (#3445,@hhugo) <br>添加一个 (no-infer ...) 操作,以防止在操作中推断目标和依赖项。 (#3456,修复#2006,@roddyyaga) <br>正确推断差异的目标?行动。 (#3457,修复#2990,@greedy) <br>修复 $ dune 打印规则崩溃(#3459,修复 #3440,@rgrinberg) <br>使用 js_of_ocaml.3.6 简化 js_of_ocaml 规则(#3375,@hhugo) <br>添加一个新的 ocaml-merlin 子命令,Merlin 可以使用该子命令直接从沙丘获取配置,而不是使用 .merlin 文件。 (#3395,@巫毒) <br>删除实验变体功能并使默认实现成为语言的一部分(#3491,修复 #3483,@rgrinberg) <br>[coq] 修复 Coq 理论的安装 .v 文件(#3384,@lthms) <br>[coq] 修复级别大于 1 的理论名称的安装路径(#3358,@ejgallego) <br>修复了 2.0.0 中引入的错误,其中没有目标的规则中的 [locks] 字段无效。 (@aalekseyev,@craigfe 报道) <br>添加一个 --release 选项,含义与 -p 相同,但没有包过滤。这对于我们不需要 -p 的 opam 文件中的自定义沙丘调用很有用(#3260,@diml) <br>修复 2.4.0 中引入的导致 .bc 程序默认使用 -custom 构建的错误(#3269,修复 #3262,@diml) <br>允许在工作区文件中使用本地开关定义上下文(#3265,修复#3264,@rgrinberg) <br>延迟扩展错误,直到规则被用于构建某些东西(#3261,修复#3252,@rgrinberg,@diml) <br>[coq] 使用新领域(理论 ...)支持理论依赖和组合构建(#2053,@ejgallego,@rgrinberg) <br>从现在开始,每个版本的语法扩展都必须明确地绑定到沙丘语言的最低版本。沙丘项目中的版本不一致将触发版本 <=2.4 的警告和版本> 2.4 的沙丘语言的错误。 (#3270,修复#2957,@voodoos) <br>[coq] 将 coq lang 版本升级到 0.2。此版本提供的新 coq 功能需要此版本的 coq lang。 (#3283,@ejgallego) <br>防止安装使用 enabled_if 字段禁用的公共可执行文件。安装现在将简单地跳过此类可执行文件,而不是引发错误。 (#3195,@巫毒) <br>dune upgrade 现在将尝试将使用版本 <2.0 的项目升级到 dune 语言的 2.0 版本。 (#3174,@巫毒) <br>添加一个 top 命令以将 dune 与任何顶层集成,而不仅仅是 utop。它旨在与 OCaml 4.11 的新 #use_output 指令一起使用(#2952,@mbernat,@diml) <br>在生成的 opam 文件中允许每个包版本(#3287,@toots) <br>[coq] 介绍 coq.extraction 节。它可用于提取 OCaml 源(#3299,修复 #2178,@rgrinberg) <br>在 dune utop 中加载 ppx 重写器并将 pps 字段添加到顶层节。 Ppx 扩展现在可以在顶层使用(#3266,修复 #346,@stephanieyou) <br>添加一个 (subdir ..) 节以允许评估子目录中的节。 (#3268,@rgrinberg) <br>修复了阻止在多种模式下运行内联测试的错误(#3352,@diml) <br>允许在库节的 enabled_if 字段中使用 %{profile} 变量。 (#3344,@mrmr1993) <br>允许在库节的 enabled_if 字段中使用 %{ocaml_version} 变量。 (#3339,@巫毒) <br>修复启用缓存时 MacOS 上的沙丘构建冻结。 (#3249,修复##2973,@artempyanykh) | 无 | | | | | | | 配置文件 | 新增/变更/删除配置项 | 无 | | | | | | | | ABI差异 | 新增/变更/删除API | 无 | | | | 新增/变更/删除结构体 | | | | | | | | | 命令行/功能 | 新增/变更/删除命令 | 无 | | | | 新增/变更/删除命令选项 | | | | | 新增/变更/删除日志输出 | | | | | | | | | SPEC文件 | 新增/变更/删除 编译依赖、安装依赖、依赖的软件版本变更 | 增加编译依赖ocaml-csexp-devel make | 无 | | | 拆分软件包方式变更 | 无 | | | | | | |
评论 (
1
)
登录
后才可以发表评论
状态
已完成
待办的
进行中
已完成
已拒绝
负责人
未设置
标签
未设置
项目
未立项任务
未立项任务
里程碑
未关联里程碑
未关联里程碑
Pull Requests
未关联
未关联
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
未关联
分支 (25)
标签 (21)
master
openEuler-25.09
openEuler-20.03-LTS-SP4
openEuler-20.03-LTS-SP3
openEuler-20.03-LTS-SP1
openEuler-23.03
openEuler-23.09
openEuler-24.03-LTS
openEuler-24.03-LTS-Next
openEuler-24.03-LTS-SP1
openEuler-24.03-LTS-SP2
openEuler-24.03-LTS-SP3
openEuler-24.09
openEuler-25.03
openEuler-22.09
openEuler-22.03-LTS-Next
openEuler-22.03-LTS-SP1
openEuler-22.03-LTS-SP2
openEuler-22.03-LTS-SP3
openEuler-22.03-LTS-SP4
openEuler-22.03-LTS
openEuler-20.03-LTS-Next
openEuler-20.03-LTS-SP2
openEuler-21.03
openEuler-21.09
openEuler-25.09-release
openEuler-24.03-LTS-SP2-release
openEuler-25.03-release
openEuler-24.03-LTS-SP1-release
openEuler-22.03-LTS-SP4-release
openEuler-24.09-release
openEuler-24.03-LTS-release
openEuler-22.03-LTS-SP3-release
openEuler-23.09-rc5
openEuler-22.03-LTS-SP1-release
openEuler-22.09-release
openEuler-22.09-rc5
openEuler-22.09-20220829
openEuler-22.03-LTS-20220331
openEuler-22.03-LTS-round5
openEuler-22.03-LTS-round3
openEuler-22.03-LTS-round2
openEuler-22.03-LTS-round1
openEuler-20.03-LTS-SP3-release
openEuler-20.03-LTS-SP2-20210624
openEuler-21.03-20210330
开始日期   -   截止日期
-
置顶选项
不置顶
置顶等级:高
置顶等级:中
置顶等级:低
优先级
不指定
严重
主要
次要
不重要
预计工期
(小时)
参与者(1)
1
https://gitee.com/src-openeuler/ocaml-dune.git
git@gitee.com:src-openeuler/ocaml-dune.git
src-openeuler
ocaml-dune
ocaml-dune
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册