Files

64 lines
925 B
Nix

{ stdenv
, ruby
, makeWrapper
, pkg-config
, libxcb
, xcbutilwm
, xrandr
, xprop
, rubyPackages
, gcc
, lib
}:
stdenv.mkDerivation {
pname = "kutu";
version = "0.1.0";
src = ./.;
nativeBuildInputs = [
pkg-config
makeWrapper
gcc
];
buildInputs = [
(ruby.withPackages (ps: [
ps.ffi
]))
libxcb
xcbutilwm
xrandr
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 [
xrandr
xprop
]}
'';
}