anchor.diff:      # due to the way that libe57format's CMake config is written.
       xercesc
     ];
  -
  -  # TODO: Remove CMake patching when https://github.com/asmaloney/libE57Format/pull/60 is available.
  -
  -  # GNU patch cannot patch `CMakeLists.txt` that has CRLF endings,
  -  # see https://unix.stackexchange.com/questions/239364/how-to-fix-hunk-1-failed-at-1-different-line-endings-message/243748#243748
  -  # so convert it first.
  -  prePatch = ''
  -    ${dos2unix}/bin/dos2unix CMakeLists.txt
  -  '';
  -  patches = [
  -    (fetchpatch {
  -      name = "libE57Format-cmake-Fix-config-filename.patch";
  -      url = "https://github.com/asmaloney/libE57Format/commit/279d8d6b60ee65fb276cdbeed74ac58770a286f9.patch";
  -      sha256 = "0fbf92hs1c7yl169i7zlbaj9yhrd1yg3pjf0wsqjlh8mr5m6rp14";
  -    })
  -  ];
  -  # It appears that while the patch has
  -  #     diff --git a/cmake/E57Format-config.cmake b/cmake/e57format-config.cmake
  -  #     similarity index 100%
  -  #     rename from cmake/E57Format-config.cmake
  -  #     rename to cmake/e57format-config.cmake
  -  # GNU patch doesn't interpret that.
  -  postPatch = ''
  -    mv cmake/E57Format-config.cmake cmake/e57format-config.cmake
  -  '';
   
     # The build system by default builds ONLY static libraries, and with
     # `-DE57_BUILD_SHARED=ON` builds ONLY shared libraries, see:
  
positive.code:   '';
  
    meta = with lib; {
      description = "Library for reading & writing the E57 file format (fork of E57RefImpl)";
      homepage = "https://github.com/asmaloney/libE57Format";
      license = licenses.boost;
      maintainers = with maintainers; [ chpatrick nh2 ];
  
negative.code:   boost,
    xercesc,
    icu,
  }:
  
  stdenv.mkDerivation rec {
    pname = "libe57format";
    version = "2.2.0";
  
    src = fetchFromGitHub {
      owner = "asmaloney";
      repo = "libE57Format";
      rev = "v${version}";
      sha256 = "15l23spjvak5h3n7aj3ggy0c3cwcg8mvnc9jlbd9yc2ra43bx7bp";
    };
  
    nativeBuildInputs = [
  