我正在尝试为Foliate进行 Nix 推导,这是我的第一个真正的推导,所以我还不知道我在做什么。
这是我到目前为止所拥有的。它构建并安装,但失败并出现以下错误:
Running custom install script '/build/source/build-aux/meson/postinstall.py'
Failed to run install script '/build/source/build-aux/meson/postinstall.py'
FAILED: meson-install
/nix/store/2b4cdbcs1xbqjna5dr4qrr1p9p9bgm98-meson-0.51.2/bin/meson install --no-rebuild
ninja: build stopped: subcommand failed.
builder for '/nix/store/32vn9xlxlk9zb7vmpm90bz5i5qq59fjc-foliate-1.5.3.drv' failed with exit code 1
error: build of '/nix/store/32vn9xlxlk9zb7vmpm90bz5i5qq59fjc-foliate-1.5.3.drv' failed
Run Code Online (Sandbox Code Playgroud)
我尝试添加python3
为构建依赖项,但这似乎不起作用。我缺少什么?
另外,还有其他方法可以改进或简化这个推导吗?
发生此错误的原因是文件的 shebang 指向类似 的内容/usr/bin/env
,而该内容在 Nix 沙箱中不可用。
我们通常通过调用部分patchShebangs
中的文件来解决此问题postPatch
。
有时该文件不可执行,因此您可能需要将其设置为可执行;但这在这里不是问题。
postPatch = ''
chmod +x build-aux/meson/postinstall.py # not necessary here
patchShebangs build-aux/meson/postinstall.py
'';
Run Code Online (Sandbox Code Playgroud)
另请注意,我们已经有一个(不完整的)PR 添加了 Foliate,您可能想看一下。
归档时间: |
|
查看次数: |
1127 次 |
最近记录: |