Skip to content

Commit

Permalink
libe57format: Fix dependents not finding its cmake config
Browse files Browse the repository at this point in the history
  • Loading branch information
nh2 committed Nov 10, 2020
1 parent 1c460c0 commit b972ca8
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions pkgs/development/libraries/libe57format/default.nix
Expand Up @@ -5,6 +5,9 @@
boost,
xercesc,
icu,

dos2unix,
fetchpatch,
}:

stdenv.mkDerivation rec {
Expand All @@ -25,9 +28,39 @@ stdenv.mkDerivation rec {
buildInputs = [
boost
icu
];

propagatedBuildInputs = [
# Necessary for projects that try to find libE57Format via CMake
# 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:
# https://github.com/asmaloney/libE57Format/issues/48
Expand Down

0 comments on commit b972ca8

Please sign in to comment.