61 lines
924 B
Nix
61 lines
924 B
Nix
{ 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
|
|
]}
|
|
'';
|
|
}
|