anchor.diff: -{ lib, stdenv, fetchFromGitHub, cmake, irrlicht, libpng, bzip2, curl, libogg, jsoncpp
  +{ lib, stdenv, fetchFromGitHub, cmake, irrlichtmt, libpng, bzip2, curl, libogg, jsoncpp
   , libjpeg, libXxf86vm, libGLU, libGL, openal, libvorbis, sqlite, luajit
   , freetype, gettext, doxygen, ncurses, graphviz, xorg, gmp, libspatialindex
   , leveldb, postgresql, hiredis, libiconv, zlib, libXrandr, libX11, ninja, prometheus-cpp
  -, OpenGL, OpenAL ? openal, Carbon, Cocoa
  -, Kernel
  +, OpenGL, OpenAL ? openal, Carbon, Cocoa, withTouchSupport ? false
   }:
   
   with lib;
  
positive.code:     nativeBuildInputs = [ cmake doxygen graphviz ninja ];
  
      buildInputs = [
        irrlichtMt luajit jsoncpp gettext freetype sqlite curl bzip2 ncurses
        gmp libspatialindex
      ] ++ optionals stdenv.isDarwin [
        libiconv OpenGL OpenAL Carbon Cocoa
  
negative.code: let
    boolToCMake = b: if b then "ON" else "OFF";
  
    irrlichtmtInput = irrlichtmt.override { inherit withTouchSupport; };
  
    generic = { version, rev ? version, sha256, dataRev ? version, dataSha256, buildClient ? true, buildServer ? false }: let
      sources = {
  