不是,为什么要 chmod 啊……直接调 bash 去跑啊……
搁 nix 里直接就报错了……
[ +2 ms] chmod: changing permissions of '/nix/store/9n6lzlckz6y4yf9l47k2hnkfqszfkzzv-pub-rinf-6.15.0/cargokit/run_build_tool.sh': Operation not permittedЧитать полностью…
https://lantian.pub/article/modify-computer/nixos-packaging.lantian/
面对现实吧,要开始打包了……
DEV 5 周期 TODO:
[X] 实现 About Page
[X] 实现工具栏自定义功能
[X] 实现新的 Cover Art 缓存机制
[X] 系统媒体控制功能集成 Cover Art 显示
[X] 实现新默认 Cover Art
[X] 部分格式 Metadata 读取与写入异常Читать полностью…
[X] Mix Page Cover Art 查询混乱
[X] 进度栏标题布局错误
[X] 排查推荐系统输出异常的问题
[X] 修复音量控制异常的问题
https://github.com/NixOS/nixpkgs/blob/ac083a7b11875f0757e4ad25c49e5b413be4d914/pkgs/by-name/ma/mangayomi/rinf.patch
找到修 bug 的大哥了,谢谢大哥!我马上抄!
今天踩过的几个问题,整理一下:
1. nixpkgs 自带的 protoc-gen-dart 不能用,它的版本特别旧导致生成出来的 code rinf 不能正常编译,你得自己写个包处理这个问题。
2. flutter 最新版还没进 unstable,目前想打包就只能用 nixpkgs 的 master 分支来处理依赖,这个行为其实挺危险的,但现在也就只能这么搞着了。
3. 在 nix 打包环境里面不能跑 `flutter pub`,因为 nix 接管了所有的包管理,你必须得用他们自己写的 packageRun,这块文档写得有点暧昧不清,nixpkgs 仓库里也没有包调过这个东西,花了点时间才折腾出来。
4. nix 不吃 yaml 格式的配置,你必须得自己用 yq
把 pubspec.lock 转换成 json,喂给 nix,它会自己去 pub.dev 抓包,自己管理依赖,如果有你自己魔改过的包,记得写 gitHash。
今天折腾了整整一天,还是没编译出来,最后卡在了一个很不确定的状态上:
[ +2 ms] chmod: changing permissions of '/nix/store/9n6lzlckz6y4yf9l47k2hnkfqszfkzzv-pub-rinf-6.15.0/cargokit/run_build_tool.sh': Operation not permitted
[ ] [ +7 ms] Failed obtaining PRETTY_NAME for Linux: PathNotFoundException: Cannot open file, path = '/usr/lib/os-release' (OS Error: No such file or directory, errno = 2)
[ +1 ms] Build process failed
[ ]
#0 throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
哦,理解了,得用 dart 版本的 protoc_plugin,在编译初期,nix 自己的工具链会抓 pubspec 下面的配置,建一个叫做 pub-protoc_plugin
的 nix 包,bin 在这个包里面,然后我现在得想办法找到这个包的 bin 地址,因为它没被自动加到 path 里……
昨天跟大学老师开会,听到了一个挺震惊的 practice。
老师家孩子初三了,不光压力大,而且也出现了青春期那些典型的高焦虑症状。于是这个老师每周亲自帮孩子请心情假,一周只上四天学,并且跟我们说,如果孩子的状况没有改善的话打算每周再多请一天。她告诉我们,现在的教育系统为了提高孩子的成绩已经牺牲了太多东西,而这些代价是不值得的。
作为家长,你是否有勇气成为 Shit Shell,保护对于孩子来讲真正重要的东西?
很坦白地讲,我没有,所以我不会养育后代。
DEV 6 周期 TODO:
[ ] 绘制 Papirus 风格图标
[ ] 绘制 Fluent Design 风格图标
[ ] 绘制 Gnome 风格图标
[ ] 撰写项目 README
[ ] 配置 Linux x86 CI
[ ] 配置 Windows x86 CI
[ ] 为控制栏加入响应式设计(窄屏)Читать полностью…
[ ] 为 Cover Art Wall 加入响应式设计(窄屏)
[ ] 修复 Cover Art Wall Page 没有亮色模式的问题