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)
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).
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.
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
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).
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 libva in the savoury1 is very new (2.22), which is even newer than
in U24.04. This would prevent LD_PRELOAD of libva from the system.
This reverts commit 234821d31c.
U20.04 doesn't have libopenh264 yet, so use it from the
ppa:savoury1/ffmpeg4, which replaces ppa:savoury1/vlc3 - it contains
the same x265 version (3.6).
The new repo ppa:savoury1/ffmpeg4 contains more (updated) packages
than /vlc3, which can be actually the advantage (eg. no need to build
own Vulkan loader/headers).
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).
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.
It is not needed to split the string like this:
```
a="potentially long string on"\
"multiple lines"
```
but it is better rather to put the '\' inside the string:
```
a="potentially long string on\
multiple lines"
```
Copy sounfont to known path for macOS and Windows CI builds (in Linux,
this is already handled with a environment var SDL_SOUNDFONTS). And also
use that location if there is any soundfont.
Previously, actually the same version was used but downloaded directly
and installed with dpkg, because it has been used a version from U20
(now default) to U18.
SDL2 now obviously works on U20.04, because we are building there. It
doesn't work on U22.04, but neither the build with SDL 2.0.20 nor 2.26.2
does.
The problem seems actually to be the inclusion of Wayland libraries in
AppImage.