【Rust日报】Brioche - 一个全新的包管理器和构建工具

Brioche - 一个全新的包管理器和构建工具

Brioche 是一个全新的包管理器和构建工具,结合了 Nix、Homebrew 和 Cargo 等其他包管理器的优点,使用 TypeScript 进行类型检查和自动补全,近日发布了 0.1 版本。

Brioche 作者曾在 Tangram, Inc. 工作,并在那里获得了灵感,而作者也曾是 Nix 用户,但因为使用上的挫折而放弃。因此,Brioche 旨在保留 Nix 的最佳特性,同时设计得更少怪癖。

可以通过下面的方式,快速构建 rust 应用,并且完成 docker 打包

import * as std from "std";
import { cargoBuild } from "rust";

export default () => {
  // Build a Rust project
  const server = cargoBuild({
    crate: Brioche.glob("src", "Cargo.*"),
  });

  // Put it in a container image
  return std.ociContainerImage({
    recipe: server,
    entrypoint: ["/bin/server"],
  });
}

目前这个版本,还存在一些问题,比如目前仅限于 x86-64 Linux,只有少量的包,存在性能问题和语言服务器协议实现的错误。

作者的计划是,短期内提高性能,增加更多包,支持更多平台,长期目标则是成为管理软件项目的最佳方式,感兴趣的可以持续关注。

github主页

项目官网 https://brioche.dev/

undname: 处理 MSVC 的混淆符号

作者在处理混淆符号时对现有解决方案不满意,特别是 Win32 的 UnDecorateSymbolName 函数和 msvc-demangler 库。

具体的原因是,UnDecorateSymbolName 函数需要将字符串转换为 utf-16 编码,且存在缺陷和单线程限制,而 msvc-demangler 库仅支持 utf-8 编码输入,且缺少对多种混淆字符串的支持。

因此,作者创建了一个新的 Rust 库,旨在提供更准确、支持更广泛的混淆字符串格式,并且性能优于现有解决方案。有下面的特点:

  • 准确性:与 Microsoft 的实现相比,该库能更准确地处理混淆字符串。

  • 支持范围:支持广泛的混淆字符串格式,超过 msvc-demangler

  • 性能:在单次和批量解混淆应用中表现出色。

项目链接 https://crates.io/crates/undname

-- From 日报小组 🕯RustPlumber🕯

社区学习交流平台订阅:

  • Rust.cc 论坛: 支持 rss

  • 微信公众号:Rust 语言中文社区

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值