only for Win + non-ARM Linux - doesn't seem to be officially supported
in neither ARM nor macOS
configure.ac - require just SVT-JPEG-XS 0.9 as is in msys Win package
(proxy mode commented out - isn't needed to set to "proxy_mode_full"
explicitly, anyways)
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)
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
the script is sourced so errexit+nounset is perhaps not yet set
But it is better to exit early, especially when setting the environment
variables that are considered a prerequisite.
In Debian/Ubuntu, libbacktrace is part of libgcc-XY-dev package so no
need to install anything (but this doesn't hold eg. for Arch where this
is a packed as a standalone package libbacktrace).
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).
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 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.
Some features that are used by x86_64 Linux build are disabled, for the
rest dependencies are installed.
disabled:
- CUDA features (except of NV Jetson usually there is no CUDA)
- lavc vdpau (similar to CUDA, it is primarliy NV-focused API)
- Qt GUI
- Cineform (doesn't compile on ARM)
dependencies installed:
- libsdl2-ttf-dev
- libsdl2-mixer-dev
- libva-dev
was UltraGrid-<arch>-<version>.dmg (eg. UltraGrid-arm64-1.9.2.dmg),
which is not consistent with other platforms,
eg. UltraGrid-1.9.2-x86_64.AppImage and UltraGrid-1.9.2-win64.zip. The
one with the version just after UltraGrid seems to be more natural.
- the yaml file is less messed
- all platform features are put together without being spread across the
respecive jobs in the yaml
- $FEATURES are now used also by Coverity CI
As there will be releases 1.7.1, 1.7.2 etc., storing zsync in release
asset doesn't make sense (further version won't update previous update
information). Thus store this in continuous release assets - update
channel "release" was introduced aside to existing "continuous".
The release channel is not build from release/ branch, instead a bugfix
version numbers are required and the build is from appropriate tag, eg.
v1.7 (release, should be in master) and then v1.7.1, v1.7.2. The bugfix
releases should have its own entry in NEWS file (create-release.sh makes
GitHub release description from this).