Distribute opencascade includes as part of cabal sources to fix Nix Integration and improve build reproducibility on different systems #11
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently
opencascade-hs
binds to system state by linking to absolute system path/usr/include/opencascade
. We can't dynamically link to headers files paths, since opencascade doesn't distribute pkg-config file. So we can only copy all of the header files locally to make project build reproducible on different systems.In this PR I've copied all of the
/include/opencascade
files (of version 7.8.1) and configured cabal to use them. After that I was able to buildopencascade-hs
on my Haskell+Nix project (which translates cabal project to Nix via cabal2nix). Windows build won't work with current bind path too. I think this PR should make this library buildable on windows too, but I'm not able to test itNot sure if it's best way to fix this problems, but it works