O problema está na entrada xorg
em buildInputs
.
xorg
é uma coleção, não um módulo individual. Até onde eu posso ver, a expectativa para buildInputs
é que tudo na lista seja coercível para uma string, e aparentemente módulos podem ser coagidos de tal forma (presumivelmente para o nome do módulo). Uma lista não pode ser coagida dessa maneira.
A referência a nativeBuildInputs
indica que buildInputs
é acumulado em nativeBuildInputs
.
Aqui está o texto de uma derivação que constrói, mas está simplesmente faltando algumas das bibliotecas que eu ainda não incluí a partir de xorg
. Vou substituí-lo com uma derivação completa, uma vez que o aplicativo esteja funcionando completamente.
{ pkgs ? import <nixpkgs> {}
, cairo ? pkgs.cairo
, fetchurl ? pkgs.fetchurl
, glib ? pkgs.glib
, patchelf ? pkgs.patchelf
, stdenv ? pkgs.stdenv
, xorg ? pkgs.xorg
}:
stdenv.mkDerivation rec {
name = "GoPanda";
version = "2";
meta = {
homepage = "http://pandanet-igs.com/communities/gopanda2";
};
src = fetchurl {
url = "http://pandanet-igs.com/gopanda2/installer/stable/linux-64/gopanda2-linux-64.tar.gz";
sha256 = "6d0a13e81a4646779331ff182acdbf9fe7982b2659f12a794a50897ea7368e1c";
};
phases = [ "unpackPhase" "installPhase" ];
buildInputs = [
cairo
glib
xorg.libX11
];
libPath = stdenv.lib.makeLibraryPath buildInputs;
installPhase = ''
mkdir -p $out/share
mkdir -p $out/bin
cp -r locales $out/share
cp GoPanda2 $out/bin/GoPanda2
patchelf \
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
--set-rpath ${libPath} \
$out/bin/GoPanda2
'';
}