anchor.diff:  { lib, stdenv, fetchurl, fetchpatch
   , autoPatchelfHook, makeWrapper
   , hexdump, exfat, dosfstools, e2fsprogs, xz, util-linux, bash, parted
  +, withGtk3 ? true, gtk3
  +, withQt5 ? false, qt5
   }:
   
   let arch = {
  
positive.code: 
      # Cleanup.
      case "$ARCH" in
          x86_64) rm -r tool/{i386,aarch64,mips64el};;
          i386) rm -r tool/{x86_64,aarch64,mips64el};;
          aarch64) rm -r tool/{x86_64,i386,mips64el};;
          mips64el) rm -r tool/{x86_64,i386,aarch64};;
      esac
      rm README
  
      # Copy from "$src" to "$out".
      mkdir -p "$out"/bin "$VENTOY_PATH"
  
negative.code:   aarch64-linux = "aarch64";
    mipsel-linux = "mips64el";
  }.${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}");
  defaultGuiType = if withGtk3 then "gtk3"
                   else if withQt5 then "qt5"
                   else "";
  in stdenv.mkDerivation rec {
    pname = "ventoy-bin";
    version = "1.0.56";
  
    nativeBuildInputs = [ autoPatchelfHook makeWrapper ]
      ++ lib.optional withQt5 qt5.wrapQtAppsHook;
    buildInputs = [ hexdump exfat dosfstools e2fsprogs xz util-linux bash parted ]
      ++ lib.optional withGtk3 gtk3
      ++ lib.optional withQt5 qt5.qtbase;
  
    src = fetchurl {
      url = "https://github.com/ventoy/Ventoy/releases/download/v${version}/ventoy-${version}-linux.tar.gz";
      sha256 = "da53d51e653092a170c11dd560e0ad6fb27c497dd77ad0ba483c32935c069dea";
    };
    patches = [
      (fetchpatch {
  