{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig , wayland, libGL, wayland-protocols, libinput, libxkbcommon, pixman , xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors }: let pname = "wlroots"; version = "unstable-2018-03-16"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchFromGitHub { owner = "swaywm"; repo = "wlroots"; rev = "9cc875429b40e2567b219f8e9ffd23316d136204"; sha256 = "1prhic3pyf9n65qfg5akzkc9qv2z3ab60dpcacr7wgr9nxrvnsdq"; }; # $out for the library and $bin for rootston outputs = [ "out" "bin" ]; nativeBuildInputs = [ meson ninja pkgconfig ]; buildInputs = [ wayland libGL wayland-protocols libinput libxkbcommon pixman xcbutilwm libX11 libcap xcbutilimage xcbutilerrors ]; # Install rootston (the reference compositor) to $bin postInstall = '' mkdir -p $bin/bin cp rootston/rootston $bin/bin/ mkdir $bin/lib cp libwlroots* $bin/lib/ patchelf --set-rpath "$bin/lib:${stdenv.lib.makeLibraryPath buildInputs}" $bin/bin/rootston mkdir $bin/etc cp ../rootston/rootston.ini.example $bin/etc/rootston.ini ''; meta = with stdenv.lib; { description = "A modular Wayland compositor library"; inherit (src.meta) homepage; license = licenses.mit; platforms = platforms.linux; maintainers = with maintainers; [ primeos ]; }; }