Foxotron vendors a lot of dependencies (see the `external` directory and
the various submodules it contains). One of them (`FBX`) fails to build
with current versions of GCC because the compiler cannot resolve the
type `std::uint32_t`. The affected file still imports the type via
`#include <stdint.h>`, which has been superseded by `#include <cstdint>`
in C++11.
The upstream patch applied here fixes this build issue by introducing
the missing include line of `<cstdint>`.
The new addition to `postPatch` disables a `-Werror` setting that
(currently) seemingly only causes assimp builds failures on darwin.
Co-authored-by: Cosima Neidahl <opna2608@protonmail.com>
with structuredAttrs lists will be bash arrays which cannot be exported
which will be a issue with some patches and some wrappers like cc-wrapper
this makes it clearer that NIX_CFLAGS_COMPILE must be a string as lists
in env cause a eval failure
Done with the help of https://github.com/Mindavi/nixpkgs-mark-broken
Tool is still WIP but this is one of the first results.
I manually audited the results and removed some results that were not valid.
Note that some of these packages maybe should have more constrained platforms set
instead of broken set, but I think not being perfectly correct is better than
just keep trying to build all these things and never succeeding.
Some observations:
- Some darwin builds require XCode tools
- aarch64-linux builds sometimes suffer from using gcc9
- gcc9 is getting older and misses some new libraries/features
- Sometimes tools try to do system detection or expect some explicit settings for
platforms that are not x86_64-linux