anchor.diff: -{ stdenv, lib
  +{ stdenv
  +, lib
   , alsa-utils
   , at-spi2-core
   , cmake
   , curl
   , dbus
   , fetchFromGitHub
  +, fetchpatch
   , flac
   , gtk3
   , jasper
  
positive.code:     portaudio
      sqlite
      tinyxml
      udev
      util-linux
      wxGTK31-gtk3
      xorg.libXdmcp
      xorg.libXtst
    ];
  
  
    cmakeFlags = [ "-DOCPN_BUNDLE_DOCS=true" ];
  
    doCheck = true;
  
    meta = with lib; {
      description = "A concise ChartPlotter/Navigator";
      maintainers = with maintainers; [ kragniz lovesegfault ];
      platforms = [ "x86_64-linux" ];
      license = licenses.gpl2;
      homepage = "https://opencpn.org/";
    };
  }
  
negative.code:     hash = "sha256-sNZYf/2gtjRrrGPuazVnKTgcuIQpKPazhexqlK21T4g=";
    };
  
    patches = [
      (fetchpatch {
        url = "https://github.com/OpenCPN/OpenCPN/commit/30fa16850ba97d3df0622273947e3e3975b8e6c0.patch";
        sha256 = "sha256-Sb4FE9QJA5kMJi52/x1Az6rMTS3WSURPx4QAhcv2j9E=";
      })
    ];
  
    postPatch = lib.optionalString stdenv.isDarwin ''
      substituteInPlace cmake/TargetSetup.cmake \
        --replace '"sw_vers" "-productVersion"' '"echo" "1"'
      sed -i '/fixup_bundle/d' CMakeLists.txt
    '' + lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) ''
      substituteInPlace CMakeLists.txt \
        --replace 'DARWIN_VERSION LESS 16' 'TRUE'
    '';
  
    nativeBuildInputs = [
      cmake
      pkg-config
    ] ++ lib.optionals stdenv.isLinux [
      lsb-release
    ] ++ lib.optionals stdenv.isDarwin [
      makeWrapper
    ];
  
    buildInputs = [
      at-spi2-core
      curl
      dbus
  