see the previous commit
This changes the manual handling introduced by the commit 925db63e. Also
$FEATURES are not passed explicitly as added in the commit 9eb29225.
The flags queried also for 64-bit ARM but it is empty there.
This does basically the same as the commit f46a101c, that adds
_FILE_OFFSET_BITS=64 define to config.h. But the config.h may not be
always included now.
+ compat/misc: typo in comment + assert 64b off_t (off_t should be
actually 64b in _OFF64 env and >= 64b in _OFFBIG so assert at least 64)
The development in PCP seem to be very turbulent these days and it breaks
Win builds often so pin a commit in Windows CI until the situation calms
down a bit.
IP*PKTINFO is defined by the Mingw-w64 headers but the structs
(eg. msghdr or cmsghdr) as defined in RFC 3542 seem to be called
differently (WSAMSG, WSACMSGHDR).
So the compat will be perhaps still required unless PCP adds support
for Win structure names. The other changes are just fixing Win-specific
headers (which may be fixed in PCP upstream eventually).
Also moved dummy Git identity setting to enfironment.sh (is now needed
also for MSW).
This reverts commit 91b56cddab.
The ppa:savoury1/ffmpeg4 repo is no longer used with ubuntu-22.04
runner but FFmpeg currently needs Vulkan v1.3.277 ibut the distro has
only 1.3.204.
Instead of use "Cache XY" use more techical "Run action/cache for XY"
(similarly as implicit name when "name" key was not used).
Although the action is really actions/cache, the problem with the previous
name is that it actually doesn't cache the named item. It checks, and
if found loads, the item. But even if the item is not found, the action
reports success in GH web UI, which is quite misleading. So using rather
neutral name for the step should slightly decrease the confusion.
Use runner ubuntu-22.04 instead of ubuntu-latest. Because ubuntu-latest
has switched to ubuntu-24.04 recently, whiich breaks the build for arm64.
There seem to be an unresolved bug in QEMU >= 8.1
(U24.04 has v8.2.2) when using ARM64 and bullseye:
<https://gitlab.com/qemu-project/qemu/-/issues/2377>.
(ARM64 buster and bookworm, as well as ARMHF, may be fine as indicated
in the bug description.)
This can be reverted later (either when fixed in QEMU or when switched
the chroot to bookworm). But it shouldn't matter much, anyways, since this
is just the "host" environment.
Also include runner ver in chroot key because it seem to make a difference
from the above..
the package `qemu` is no longer present in U24.04, which is now
ubuntu-latest default Ubuntu version as a GH runner. But we don't need
it, we use just the static version (qemu-user-static).
THe problem seems to be that there is preinstalled pkg-config@0.29.2 in
CI but the version that is being to be installed is an alias for pkgconf.
The problem seems to be cumbersome, because installing pkgconf fails, pkg-config
as well (tries to install pkgconf 2.3.0; installed version of pkg-config
is pkg-config@0.29.2).
So made just a workaround, that will not be needed after the updated
pkg-config (linked to pkgconf) applies to all macos runners (will be
preinstalled).
The problematic package is pkg-config in current macos-13 runner but
pkg-config@0.29.2 in macos-14 image.
suppress `brew list` output
It is used just to check if a package is installed and the output is
print is output to stdout. To stderr is print that it if the package is
not installed.
pkgconf is more modern version and the CI on macos-14 now fails
because both pkg-config and pkgconf (presumably as a dependency) are to
be installed.
The erroa (the beginning, additional info omittedr):
```
==> Pouring pkgconf--2.3.0_1.arm64_sonoma.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /opt/homebrew
Could not symlink bin/pkg-config
Target /opt/homebrew/bin/pkg-config
is a symlink belonging to pkg-config@0.29.2. You can unlink it:
brew unlink pkg-config@0.29.2
```
Both pkgconf and pkg-config can be installed automatically as a dependency
of some other packages so ensure a defined state (both installed,
pkg-config disabled).
Version 2024-10-24 expects std::atomic_flag::test(), which is a C++20
feature but can be omitted if NO_STD_LIB is defined. (passing -std=c++2a
won't help because U20.04 libstdc++ doesn't contain that method).
needed for DELTACAST, otherwise manpage generation fails with:
```
dyld[40232]: Library not loaded: @rpath/VideoMasterHD.framework/Versions/A/VideoMasterHD
Referenced from: <3D8A8CBA-1094-3538-9770-331DE9A2D6D2> /Users/runner/work/UltraGrid/UltraGrid/bin/uv
Reason: tried: '/usr/local/lib/VideoMasterHD.framework/Versions/A/VideoMasterHD' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/lib/VideoMasterHD.framework/Versions/A/VideoMasterHD' (no such file), '/usr/local/lib/VideoMasterHD.framework/Versions/A/VideoMasterHD' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/lib/VideoMasterHD.framework/Versions/A/VideoMasterHD' (no such file)
Could not obtain data from UG/reflector output!
```
The file name has changed and --enable-deltacast was used just if the
download succeeded (which didn't).
Fixes the commit 98d4969b (2024-05-24) that disabled deltacast, because
the archive was not downloaded due to wrong name.
ubuntu-latest is now U24.04, which uses .source files in deb822 format
instead the original .list in one-line-style format. ubuntu-latest is
used by Coverity runner.
the build fails after switch to macos-13 on manual page generation:
```
dyld[41003]: Symbol not found: __Z11IsRGBFormat21NTV2FrameBufferFormat
Referenced from: <2945C378-5453-3610-9AA4-63E2723BBA5D> /Users/runner/work/UltraGrid/UltraGrid/bin/uv
Expected in: <no uuid> unknown
Could not obtain data from UG/reflector output!
make: *** [uv.1] Error 3
make: *** Waiting for unfinished jobs....
```
which tries to run bin/uv with --fullhelp.
(this fails only if run within the script data/make_man.sh, not when run directly)
macOS 12 is no longer supported and as Homebrew has a policy, that it
compiles packages from sources on unsupported macOSes, it is needed to
switch to newer macOS to keep reasonable build times.