anchor.diff:    src = fetchFromGitHub {
       owner = "Genymobile";
       repo = "scrcpy";
  -    rev = "v${version}";
  -    sha256 = "02szi8w3w0lacyz42hlayxififi863qpm63yg9qir3jcl2vs7vdk";
  +    rev = "v${version}-fixversion";
  +    sha256 = "0magmc44pahw1f4jhzkhjlfc31mk3qq43hzn9513idcl4kh4sb8i";
     };
  +
  +  # postPatch:
  +  #   screen.c: When run without a hardware accelerator, this allows the command to continue working rather than failing unexpectedly.
  +  #   This can happen when running on non-NixOS because then scrcpy seems to have a hard time using the host OpenGL-supporting hardware.
  +  #   It would be better to fix the OpenGL problem, but that seems much more intrusive.
  +  #
  +  #   command.c: When copying over the prebuilt binary to mobile, it also copies the permissions of the nix store, and thus it cannot delete normally.
  +  postPatch = ''
  +    substituteInPlace app/src/screen.c \
  +      --replace "SDL_RENDERER_ACCELERATED" "SDL_RENDERER_ACCELERATED || SDL_RENDERER_SOFTWARE"
  +    substituteInPlace app/src/command.c \
  +      --replace 'const char *const adb_cmd[] = {"shell", "rm", path};' 'const char *const adb_cmd[] = {"shell", "rm", "-f", path};'
  +  '';
   
     nativeBuildInputs = [ makeWrapper meson ninja pkgconfig ];
   
  
positive.code: }:
  
  let
    version = "1.3";
    prebuilt_server = fetchurl {
      url = "https://github.com/Genymobile/scrcpy/releases/download/v${version}/scrcpy-server-v${version}.jar";
      sha256 = "1ha04wfmghblwr9ajfl96cswacfgrk0b7klq2ixfvw1kgwhmm6hg";
    };
  in
  stdenv.mkDerivation rec {
  
negative.code:     echo -n > server/meson.build
    '';
  
    mesonFlags = ["-Doverride_server_path=${prebuilt_server}"];
    postInstall = ''
      mkdir -p "$out/share/scrcpy"
      ln -s "${prebuilt_server}" "$out/share/scrcpy/scrcpy-server.jar"
  