Nixos

未找到 Nixos X11 標頭檔

  • August 11, 2016

當嘗試在 NixOs 上從原始碼建構 sinkless/surf 和 sinkless/st 時,make 找不到 X11 標頭檔,例如X11/X.hX11/Xatom.h. 我確實Xlib安裝了。我還隱約記得 nixos 將庫放在了一個有趣的地方,我看到有人建議放置一些C_INCLUDE變數路徑。感覺我就快到了,還缺少什麼?

**更新:**添加/home/username/.nix-profile/include解決了X.hand的問題Xatom.h,但現在它抱怨X11/extensions/render.h我安裝了libXrender但它沒有出現。我在哪裡可以找到它?

surf 和 st 已在 nixpkgs中打包(此處此處)

我喜歡 nix 的一件事是可以覆蓋建構過程中的任何步驟,這也意味著您可以更改程式碼的來源(例如:src屬性)。

舉個例子,假設您將 surf 複製到/path/to/surf. 一個default.nix將覆蓋src但使用所有其他建構步驟的文件將是:

{ pkgs ? import <nixpkgs> {}
}:

pkgs.surf.overrideDerivation (old: {
 src = /path/to/surf;
})

上面你會使用nix-build default.nix

您也可以使用的另一種方法是使用nix-shell. nix-shell是一個工具,可以讓你進入 nix 環境,不執行 nix 建構步驟,但所有依賴項(buildInputs,propagatedBuildInputs)都可供你使用。更多關於nix-shell你可以在這裡閱讀。

使用nix-shell你可以做:

% cd /path/where/above/mentioned/default.nix/is
% nix-shell

或者你可以複製nixpkgs

% cd /path/to/nixpkgs
... here edit file pkgs/applications/misc/st/default.nix
% nix-build -A st    # to build st
% nix-shell -A st    # to enter development environment

我希望以上有所幫助。

引用自:https://unix.stackexchange.com/questions/302694