Use __MINGW_GNU_PRINTF instead of __attribute__((format (printf...))) in
MinGW with gcc and UCRT (MSYS2 mingw-w64-ucrt-x86_64). The gcc
attribute(printf) doesn't seem to work correctly here for eg. '%zu'
(it seems it does in Clang env).
The selected pixel format information is potentially important information
that helps the user check that the conversion is not degrading some
aspect of the video (if it can occur). Anyways, it shall be useful for
the info, anyways.
Since the tests are run in parallel (and also there is much output),
it may be difficult to track which one container actually failed so
write at least a summary.
see also recent commit 951f9648
countof seem to be upcoming C2Y language macro (and _Countof operator)
so make use of it instead of ARR_COUNT that is now removed.
Rename ARR_COUNT to countof that is probably going to be defined by C2Y
in stdcountof.h (as a macro for _Countof) for convenience.
+ keep the ARR_COUNT for compatibility
in additon to gl and sdl check, bundle also if having vulkan
This should be covered by the sdl case, anyways - vulkan display uses
sdl for window management so this usually implies that sdl display will
be present as well, unless explicitly disabled.
Instead of ensuring that the plugin is present, instal the Cairo plugin
directly.
The Cairo implementation is the only libdecor plugin present in U22.04
repositories (U24.04 has the Gtk implementation as well).
Expect that the shell implements pipefail - as the environment.sh is
run (sourced) always by bash (implicit CI shell for Linux/macOS and
C:\shells\msys2bash.cmd set explictly in Windows).
this changes c1cfe73a (from today)
Also remove static and const from DEFAULT_VIDEO_COMPRESSION and
DEFAULT_AUDIO_CODEC:
- pointer to const char -> can be turned to constexpr char array,
where constexpr implies const
- static unnecessary - const (implied by constexpr) objects have implicit
internal linkage in C++ (differs from C)
Try to set -o pipefail. The option should be supported since POSIX v8
(2024). Of course it is supported by shells like bash/zsh long time ago
but it was added to dash [here], which is merged to dash 5.13, so it
is not in any Ubuntu version yet. So adding '|| true' to suppress
omission.
XIMEA URL extraction must have been updated 'sed -e "... q"' causes
broken pipe, which becomes now fatal.
[here]: https://git.kernel.org/pub/scm/utils/dash/dash.git/commit/?id=6347b9fc52d742f36a0276cdea06cd9ad1f02c77
use IMO "prettier" shortcut URLs - UGNightyArchive -> UltraGridArchive
and UGAltBuilds -> UltraGridAltBuilds
While the use of CamelCase is enforced by <https://shlink.io/> UGN...
and UGA.. prefixes is harder to read so use unsortened UltraGrid,
omitting Nightly from UGNightlyArchive (with UltraGrid exceeds 20 char
limits and the Nightly isn't necessary /it is actually continuous/).
the previous actually didn't work properly, because uv-qt depend
on libQt6OpenGL.so.6 which in turn depend on libOpenGL.so.0. But
LD_LIBRARY_PATH is not set inside the AI so the transitive dep
is not handled and thus the preload is not applied.
Querying libQt6OpenGL.so.6 directly also don't work because it resolves
to the libOpenGL.so.0 in the same library, from which we cannot deduce
if its counterpart is inside the system.
generate the run-time dependency according to the build system, not
hard-coded
The advantage for CI is that it does no longer need to be upgraded every
time the GH runner was updated.
This also generalizes for non-CI builds, when the build macOS version
can obviously differ from the CI macos runner.
Do not use both Darwin and macOS version, use just macOS ver.
Use rather branch release instead of main because in main things may
break sometimes.
Eg. currently (libajantv2 commit 9060cc4a), ntv2m31enums.h is not
installed but ntv2utils.h includes that.