Arquivos de cabeçalho Nixos X11 não encontrados

2

Ao tentar construir o suckless / surf e suckless / st a partir da fonte no NixOs, o make não consegue encontrar os arquivos de cabeçalho do X11, por exemplo. X11/X.h e X11/Xatom.h . Eu tenho Xlib instalado. Eu também me lembro vagamente das bibliotecas nixos put em um lugar interessante, e tenho visto pessoas sugerindo colocar alguns caminhos para C_INCLUDE variable. Parece que estou quase lá, o que está faltando?

Atualização: adicionar /home/username/.nix-profile/include resolveu o problema para X.h e Xatom.h , mas agora está reclamando sobre X11/extensions/render.h que instalei libXrender , mas não aparece. Onde eu encontro isso?

    
por rem 11.08.2016 / 04:33

1 resposta

3

surf e st já estão empacotados ( aqui e aqui ) em nixpkgs

uma das coisas que eu amo nix é a possibilidade de sobrescrever qualquer passo no processo de compilação, o que significa que você pode mudar a fonte do código (por exemplo: src attribute).

apenas para um exemplo, digamos que você clonou o surf em /path/to/surf . um arquivo default.nix que substituiria src , mas usou todos os outros passos de compilação:

{ pkgs ? import <nixpkgs> {}
}:

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

acima, você criaria usando nix-build default.nix

Outra maneira que você também pode usar é usar nix-shell . nix-shell é uma ferramenta que o colocaria no ambiente nix, não executando as etapas nix build, mas todas as dependências (buildInputs, propagatedBuildInputs) estarão disponíveis para você. para saber mais sobre nix-shell , leia aqui .

para usar nix-shell que você pode fazer:

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

ou você pode trabalhar no clone do 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

espero que acima ajuda.

    
por 11.08.2016 / 10:07

Tags