NixOのソースからuckless/surfとsuckless/stをビルドしようとすると、 makeX11/X.h
とX11/Xatom.h
。実際にXlib
インストールしてみました。私はnixosがライブラリを興味深い場所に置いたことを漠然と覚えていて、誰かが変数にいくつかのパスを置くことを提案するのを見ましたC_INCLUDE
。もうほとんどやってきたようですが、もし抜けたことはありませんか?
修正する:追加すると問題は解決しましたが、/home/username/.nix-profile/include
今はインストールしたと文句が表示されません。どこで見つけることができますか?X.h
Xatom.h
X11/extensions/render.h
libXrender
ベストアンサー1
Surfとstはすでに梱包されています(ここそしてここ) nixpkgsから
私がnixについて好きなものの1つはオーバーライド機能です。どのビルドプロセスのステップは、コードソース(src
プロパティなど)を変更することもできます。
たとえば、Surfをに複製したとします/path/to/surf
。default.nix
上書きさsrc
れますが、他のすべてのビルドフェーズで使用されるファイルは次のとおりです。
{ pkgs ? import <nixpkgs> {}
}:
pkgs.surf.overrideDerivation (old: {
src = /path/to/surf;
})
上ではnix-build default.nix
使用できるもう1つの方法は、nixビルドステップを実行せずにすべての依存関係(buildInputs、 propagatedBuildInputs)を使用できるnix環境に移動するツールですnix-shell
。nix-shell
詳細については、次を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
上記が役立つことを願っています。