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
The commit bd91d16b (2024-05-31) causes the live555 being build on all
platforms, including arm Linux. But the plaform is not valid for that,
so replace linux-64bit with linux.
Also enforce live555 in this case.
Latest MSVS 2022 17.10.34928.147 (MSVC v14.40.33807) in GH runner
20240603.1.0) is no longer compatible with CUDA 11.8.0.52206. CUDA refuses
to compile because of unsupported compiler. Previous version 17.9.34902.65
(GH runner 20240514.3.0) was OK.
As MSVS 2022 is supported by CUDA 11.8 in general, we can pass
-allow-unsupported-compiler flag.
Although not required for platforms other than Linux, it doesn't hurt
if we use this always (reduce script size and complexity).
\+ also removed setting CC/CXX for Win - perhaps no longer needed but
the second is now overriden, anyways (CPLUSPLUS_COPILER is set to CXX
by default but we override it)
Since we must now build the new libajantv2, which takes some 3 minutes,
cache the build in order not to increase the build time.
Also use libajantv2 path for the SDK instead of AJA (doesn't require
unneeded rename), which will be Windows specific.
Only do it in MSW, since the build is slowest. But it can be easily used
also for other platforms.
Use libajantv2 + switch the build system to the new lib at the same time
(it is easier and there is perhaps not a big advantage to splitthis to
2 steps).
- moved ultragrid-bugreport-collect.sh to doc (will be bundled automatically)
- moved data/MacOS-bundle-template to data/template (just a move)
- added data/template/README.md
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 GitHub actions now complain if trying to install a formula, that is
already installed, eg:
```
run macOS (macos-14)
pkg-config 0.29.2_3 is already installed and up-to-date. To reinstall 0.29.2_3, run: brew reinstall pkg-config
```
As a workaround, install just the formulas, that are not already
installed.
added by the commit f3003ed1
For the original reason it is no longer needed (the higher bit depth
x264 is already included in distro repositories). Anyways, the version
of libx264, that will be installed, is taken from ppa:savoury1/vlc3,
anyways (newer one).
\+ error from the notarize script if called
Previously (since commit 1c7c3ac1), the script silently exitted without
cigning and notarizing the app, which may harden debugging. Now the skip
is explicit and if the script is called anyways, it returns error.
enhances the commit 1c7c3ac1 (2024-03-22)
If no signing keys available, the expected behavior is rather to skip
signing instead of failing, which is unintended because of shell check
for unset variables (set -u).
Building rav1e requires nasm 2.15 (if asm is not disabled) while U20
has just 2.14.02, so that the build in CI currently fails, anyways.
Pick sse4 for now but expect using avx2 version later, depending on
UG_ARCH value.
\+ populate PKG_CONFIG_PATH immediately
This modifies the commit 7f166a2411. Although Linux CI is run with U20.04,
Coverity workflow uses ubuntu-latest, which is currently 22.04, where
default gcc is actually 11 and this breaks GPUJPEG compilation with
error starting with:
```
-- The C compiler identification is GNU 10.5.0
CMake Error at /usr/local/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake:780 (message):
Compiling the CUDA compiler identification source file
"CMakeCUDACompilerId.cu" failed.
Compiler: /usr/bin/nvcc
```
fixes failed run <https://github.com/CESNET/UltraGrid/actions/runs/7968323068>
The size is only some 90 kB when compressed so it is perhaps not worth
downloading from external source and depend on it.
It could be even bundled directly, not by CI. Now it is actually the case
in Linux (create-appimage.sh) but it is also possible for other platforms.
In CI on x86_64, for some reason, the path defaults to
/Library/Frameworks, while otherwhere to @rpath. So enforce to
/Library/Frameworks to be deterministic.
\+ build x86_64 from source as well to:
1. be consistent with the arm64 build
2. the binary x86_64 already had hardcoded the path @loader_path/../Frameworks/
instead of @rpath, which would require yet another handling
Use the installer and rely on dylibbundler v2 to deploy the framework
correctly.
Note: in the macOS/install_others.sh script, make sure that the env var
modification is global (== not just in the subshell) in order to be updated
by subsequent commands in the same script.
disabled in 3a076d24
The VideoMasterHD[_audio] did have invalid signature because of tweaked
internal paths, which caused Apple runtime to kill the process. Removing
the signature is not sufficient (the runtime requires signature) so we
sign it by our key.