anchor.diff:        --subst-var-by APP_VERSION_YEAR ${lib.versions.major version} \
         --subst-var-by APP_VERSION_NUMBER ${lib.versions.minor version} \
         --subst-var-by GIT_DESCRIBE v${version}
  -
  -    # Tests don't compile because of vendored `catch2` being incompatible with glibc-2.34.
  -    # Also, no need to since we don't even run them.
  -    substituteInPlace lib/CMakeLists.txt \
  -      --replace "add_subdirectory(Catch2)" ""
  -    substituteInPlace lib/vecmath/CMakeLists.txt \
  -      --replace "add_subdirectory(test)" "" \
  -      --replace "add_subdirectory(lib)" ""
  -    substituteInPlace lib/kdl/CMakeLists.txt \
  -      --replace "add_subdirectory(test)" ""
  -    substituteInPlace common/CMakeLists.txt \
  -      --replace "add_subdirectory(test)" "" \
  -      --replace "add_subdirectory(benchmark)" ""
     '';
   
  -  nativeBuildInputs = [ cmake git pandoc wrapQtAppsHook copyDesktopItems ];
  -  buildInputs = [ libGL libGLU libXxf86vm freeimage qtbase ];
  +  nativeBuildInputs = [ cmake git pandoc wrapQtAppsHook copyDesktopItems pkg-config ];
  +  buildInputs = [
  +    libGL libGLU libXxf86vm freeimage qtbase catch2 fmt glew miniz tinyxml-2
  +    xorg.libSM
  +  ];
     QT_PLUGIN_PATH = "${qtbase}/${qtbase.qtPluginPrefix}";
     QT_QPA_PLATFORM = "offscreen";
  +
  +  cmakeFlags = [
  +    # https://github.com/TrenchBroom/TrenchBroom/issues/4002#issuecomment-1125390780
  +    "-DCMAKE_PREFIX_PATH=cmake/packages"
  +  ];
     ninjaFlags = [
       "TrenchBroom"
     ];
  
positive.code: 
    meta = with lib; {
      homepage = "https://trenchbroom.github.io/";
      description = "Level editor for Quake-engine based games";
      license = licenses.gpl3Only;
      maintainers = with maintainers; [ astro ];
  
negative.code: { lib, stdenv, fetchFromGitHub
  , cmake, ninja, git, pandoc, pkg-config
  , libGL, libGLU, libXxf86vm, freeimage
  , catch2, fmt, glew, miniz, tinyxml-2, xorg
  , qtbase, wrapQtAppsHook
  , copyDesktopItems, makeDesktopItem
  }:
  
  stdenv.mkDerivation rec {
    pname = "TrenchBroom";
    version = "2022.1";
  
    src = fetchFromGitHub {
      owner = "TrenchBroom";
      repo = "TrenchBroom";
      rev = "v${version}";
      sha256 = "sha256-FNpYBfKnY9foPq1+21+382KKXieHksr3tCox251iJn4=";
      fetchSubmodules = true;
    };
    postPatch = ''
  