run the same test cases for both Arch Linux and Ubuntu
+ rename Dockerfile.arch to Dockerfile.archlinux (the former is a bit
misleading - arch==architecture or what?)
Make the bug <https://github.com/CESNET/UltraGrid/issues/478> fail
with distcheck.
The arm64 Homebrew uses different location than x86_64 so that it didn't
catch the problems (Homebrew libs were still visible).
ensure URL is not empty
see also f4f54fda - adding -f to curl caused URL to be empty if release
was not found (was to be created) - the GH REST API returns 404 with
a valid body without -f but fails with empty. Since `-o pipefail` is not
used, the curl error was not used because last command of pipeline is jq.
The REST API returned 4xx on unknown object but valid JSON body. As
written originally, valid JSON was assumed (result queried on null).
So revert back the original curl calls where acquiring JSON.
- '|| true' no longer needded
- CFLAGS also doesn't seem to be required
- remove --disable-shared - when possible, linkling dynamic library may
be rather preferred than the contrary
Co not continue if SDK_NONFREE_PATH is set but deltacast
SDK not present there. At this time, this will fail later in
.github/scripts/install-common-deps.sh, anyways. Also the DELTACAST
SDK remains the last non-free SDK so it doesn't make sense to define
SDK_NONFREE_PATH GH variable while not having that SDK.
compute SHA256 checksums for builds
this is useful at least for 2 reasons:
1. user can ensure that the build comes really from the CI (isn't
tampered)
2. can identify or match version with appropriate action run (the $VERSION
is usually always "continuous", except for releases)
The sha256 sum is currently only show in the protocol, not uploaded
to GH releases - this doesn't seem to be needed because GH currently
already prints the checksum by itself on the download (releases) page.
Skip computing checksum in Win when uplad-artifact is used - the zip
is actually created by the Action so we cannot compute the checksum
on it.
/sbin/sha256sum is not present in CI mac workers for some reason
Remove commands that actually do nothing because uv-qt.exe is installed
by make install and the contents of bin/ subdirectory is not copied
"as is" as the command seem to imply.
+ use $(TARGET) in Makefile instead of bin/uv (which will be bin/uv.exe
in MSW but obviously it worked even without the extension)
CMAKE_OSX_SYSROOT is empty by default since CMake 4 [1] so make a workaround
MSCOS_SDK_VERSION_MAJOR and _MINOR seems to be unused but are derived
from MACOS_SDK_VERSION which is conversly derived from MACOS_SDK_NAME,
which can be now eg. /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
(`xcrun --sdk macosx --show-sdk-path`) - not containing the version
string in expected form.
[1]: https://cmake.org/cmake/help/latest/variable/CMAKE_OSX_SYSROOT.html
doesn't need to be patched
Also, the dynamic version may be slightly better because it is separated
from UG, eg. also because the uv binary and reflector both link with
this so not linking twice (increasing overall size).
- coverity-scan.yml: typo
- configure.ac: misleading message if SDL not found -> do not mention
version at all, it was perhaps meant "didn't found any version" but it
might have also been that did't found specified version...
- configure.ac: removed sdl_mixer from summary
This simplifies things a bit at the expense that the soundfont is always
included/installed (91 kB).
Added get_data_path() function for generic handling the path to common
data (eg. /usr/local/share/ultragrid if installed). The idea is to catch
all cases - installed (run with absolute or relative path) or run from
inside the source directory in one place.
This reverts 960d2315 (2022-02-21) because the commit 18f049608
(2022-04-20) already restricts the scheduled run to CESNET Git repository
or manual push.
So that the token unavailability should be considered error and thus the
condition doesn't need to be re-iterated in every step.
in similar fashion as already done for install_sdl.sh
As a bonus, we do not need to depend on whole prepare.sh for cache
rebuild but only on this script, which is perhaps cleaner and may
yield less rebuilds. Also prepare.sh is slightly easier.
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.
add all to one script with deps/build_install/install_cached actions
- yml - use action @main
- cache: do not depend .github/scripts/Linux/prepare.sh, just the
catch-all SDL install file
- build SDL,SDL_ttf without entering the dir (as fluidsynth already does)
Install the qt6-wayland package - the plugin will then be deployed to
the AppImage automatically.
for the case when user has set QT_QPA_PLATFORM=wayland
+ also to LIBRARY_PATH - this will is done also with -L in configure,
probably
Seems like that /usr/local/lib has never been in LD_LIBRARY_PATH and
somehow it didn't matter so far. But with fluidsynth build, we now get
in CI (== also prevents build):
```
ultragrid_acap_fluidsynth.so: libfluidsynth.so.3: cannot open shared object file: No such file or directory
````
In U22.04 (current Linux CI image), fluidsynth depends on sdl2, which
is undesirable. Actually we need to avoid sdl2 linking altogether.
Build from sources alongside with SDL. This makes sense since SDL_mixer
used to be build there and fluidsynth is replacing it.
+ prevent libsdl2-2.0-0 from (accidentally) installing
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).