ports/media.nix
Focused repairs for shared graphics and codec dependencies.
| patch | ../patches/coin-link-math.patch | |
| patch | ../patches/coin-external-fields.patch | |
| use | doCheck = true; |
NASM output has the native ABI. Use the upstream portable C decoder. | ||
| addMesonFlag | "-Denable_asm=false" | |
| patch | ../patches/libyuv-xgetbv.patch | |
| patch | ../patches/libyuv-interpolate-planes.patch | |
The x86 row kernels are inline assembly with memory operands, which Fil-C refuses at run time. Use libyuv's portable C kernels. | ||
| addCFlag | "-DLIBYUV_DISABLE_X86" | |
Each unit test file registers hundreds of gtest tests from one static constructor, and Fil-C's -O3 pipeline is superlinear on that function (SROA's PromoteMemToReg). convert_argb_test.cc ran for over 15 minutes at 11 GB; at -O0 it takes about 2.5 minutes. Only the test code drops to -O0; the library keeps -O3. | ||
| use | ||
The old ALSA 0.9 API needs symbol versions the Fil-C alsa-lib lacks. | ||
| patch | ../patches/timidity-alsa-new-api.patch | |
| patch | ../patches/timidity-ctl-event-pointers.patch | |
makefile.machine says gcc and g++. Nixpkgs prepends the target prefix when cross-compiling, but Fil-C's is empty, leaving gcc. | ||
| addMakeFlag | "CC=clang" | |
| addMakeFlag | "CXX=clang++" | |
| patch | ../patches/p7zip-hash-stdint.patch | |
| patch | ../patches/p7zip-zstd-p2align.patch | |
| use | ||
AC_FUNC_MALLOC cannot run its probe when cross-compiling, assumes malloc(0) returns NULL and renames malloc to an rpl_malloc that mhash does not provide. glibc's malloc(0) returns a pointer. | ||
| configure | "ac_cv_func_malloc_0_nonnull=yes" | |
| patch | ../patches/mhash-test-use-after-free.patch | |
| use | ||
| patch | ../patches/sfml2-libcxx-char-traits.patch | |
The suite builds with the library and runs from the build. | ||
| addCMakeFlag | "-DSFML_BUILD_TEST_SUITE=ON" | |
Catch's fatal-signal handlers need sigaltstack. | ||
| addCFlag | "-DCATCH_CONFIG_NO_POSIX_SIGNALS" | |