{ stdenv , ruby , makeWrapper , pkg-config , xorg , rubyPackages , gcc , lib }: stdenv.mkDerivation { pname = "kutu"; version = "0.1.0"; src = ./.; nativeBuildInputs = [ pkg-config makeWrapper gcc ]; buildInputs = [ (ruby.withPackages (ps: [ ps.ffi ])) xorg.libxcb xorg.xcbutilwm xorg.xrandr xorg.xprop ]; buildPhase = '' mkdir -p build gcc -shared -fPIC \ -Wall -Wextra \ -o build/X-kutu.so \ src/c/X-kutu.c \ $(pkg-config --libs --cflags xcb xcb-icccm); ''; installPhase = '' mkdir -p $out/bin mkdir -p $out/build mkdir -p $out/src cp bin/kutu.rb $out/bin/kutu.rb cp bin/kutu-run.rb $out/bin/kutu-run.rb cp build/X-kutu.so $out/build/ cp -r src/. $out/src/ wrapProgram $out/bin/kutu.rb \ --prefix PATH : ${lib.makeBinPath [ xorg.xrandr xorg.xprop ]} ''; }