问题描述
我正在尝试为 Python GTK3 应用程序 TLPUI 创建一个派生。
似乎作为其构建的一部分,它试图读取 /etc/tlp.conf,但由于沙盒而中断。
这是我的默认包.nix。
const mergeArraysByIndex = (arrays=[],merged=[],index=0) => {
// stop when last array is reached
if(index >= arrays.length) return merged;
// get larger of the two to iterate over
const arr1 = merged,arr2 = arrays[index] || [];
let first = [],second = [];
if(arr1.length > arr2.length) { first = arr1; second = arr2; }
else { first = arr2; second = arr1; }
// merge two arrays
merged = first.map((item,index) => ({ ...item,...second[index] }) );
return mergeArraysByIndex(arrays,merged,index+1);
}
console.log(
mergeArraysByIndex(
[
[{"genderid":1515},{"genderid":1516}],[{"modnameid":1515},{"modnameid":1516},],[{"userid":1515},{"userid":1516},{"userid":1514}]
]
)
);
console.log(
mergeArraysByIndex(
[
[{"genderid":1515},{"userid":1514}],[{"ageid":1515},{"ageid":1516},{"ageid":1514},{"ageid":1515}]
]
)
);
构建失败并显示以下消息:
{ lib,fetchFromGitHub,cairo,gobject-introspection,gtk3,python3,python38Packages,tlp,wrapGAppsHook }:
python3.pkgs.buildPythonApplication rec {
pname = "tlpui";
version = "1.3.1-5";
src = fetchFromGitHub {
owner = "d4nj1";
repo = "TLPUI";
rev = "${pname}-${version}";
sha256 = "1km3xb1slw7cg7bii1wrgn34s42y820w03wmk1nm63csmbdvin14";
};
nativeBuildInputs = [
cairo
gobject-introspection
gtk3
python38Packages.pygobject3
python38Packages.pycairo
tlp
wrapGAppsHook
];
Meta = {
description = "Better lighting for Linux. Open source GUI for xflux";
homepage = "https://justgetflux.com/linux.html";
license = lib.licenses.gpl2;
maintainers = [ lib.maintainers.ciferkey ];
platforms = lib.platforms.linux;
};
}
注意错误“错误:无法从 /etc/tlp.conf 或 /etc/default/tlp 读取用户配置。”
这个配置文件映射到以下软链接链:/etc/tlp.conf -> /etc/static/tlp.conf -> /nix/store/203msjwrf88ly6c1f5pavcgsk6icwfjf-etc-tlp.conf
- 为什么配置文件的哈希名称以“etc-tlp”结尾,而不仅仅是“tlp”?
- 是否可以让我的派生定义依赖于“etc-tlp”,然后创建某种映射,以便构建看到 /etc 下的文件?这是思考问题的错误方式吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)