anchor.diff:  , meson
   , ninja
   , nixosTests
  -, pandoc
   , pango
   , pixman
   , pkg-config
  
positive.code: 
  stdenv.mkDerivation rec {
    pname = "cagebreak";
    version = "1.7.0";
  
    src = fetchFromGitHub {
      owner = "project-repo";
      repo = pname;
      rev = version;
      hash = "sha256-HpAjJHu5sxZKof3ydnU3wcP5GpnH6Ax8m1T1vVoq+oI=";
    };
  
    nativeBuildInputs = [
      makeWrapper
      meson
      ninja
      pandoc
      pkg-config
      scdoc
      wayland
  
negative.code:     "-Dxwayland=${lib.boolToString withXwayland}"
    ];
  
    # TODO: investigate why is this happening
    postPatch = ''
      sed -i -e 's|<drm_fourcc.h>|<libdrm/drm_fourcc.h>|' *.c
    '';
  
    postInstall = ''
      install -d $contrib/share/cagebreak/
      install -m644 $src/examples/config $contrib/share/cagebreak/
    '';
  
    postFixup = lib.optionalString withXwayland ''
      wrapProgram $out/bin/cagebreak --prefix PATH : "${xwayland}/bin"
    '';
  
    meta = with lib; {
      homepage = "https://github.com/project-repo/cagebreak";
      description = "A Wayland tiling compositor inspired by ratpoison";
      license = licenses.mit;
      maintainers = with maintainers; [ berbiche ];
      platforms = platforms.linux;
    };
  
    passthru.tests.basic = nixosTests.cagebreak;
  }
  