(Only the first 10 of 11 ports in this commit are shown above. )
graphics/darktable: Use GCC as the compiler instead of LLVM
Darktable source code is heavily tuned for GCC and its optimizations. It
always required some work to make it compile with LLVM. With LLVM 14+,
new errors around `static inline __attribute__((target-clones))`
appeared: the compiler failed to link the final executable because there
was multiple copies of the same ifunc resolver (the code originated from
a header included in a couple places). Apparently GCC knows how to deal
with the "static-inline"-ness of the resolver somehow.
Unfortunately, even with GCC, we get several compilation failures
because the source files enable Graphite optimizations (using `#pragma`)
but our GCC compiler has Graphite disabled by default. All the patches
included in this commit simply delete all the corresponding `#pragma`. I
suppose Darktable will be slightly slower because of this, but I didn't
measure anything.
In the end, the dependencies of the port change a bit because GCC
replaces LLVM.