514 Commits

Author SHA1 Message Date
Martin Pulec
76dcda887d CI PCP: fix another breakage [Win]
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.
2025-03-21 14:52:23 +01:00
Martin Pulec
55eb31a840 CI PCP Win: most of incompat is now fixed upstream
Most of the incompatibilities, which were patched, have already been
fixed in upstream.

just forward decl of struct timezone/timeval is still needed
2025-03-21 12:58:51 +01:00
Martin Pulec
e6cf35ca0b CI Linux: switch to ubuntu-22.04
ubuntu-20.04 GH image is being deprecated and will be eventually removed
from GH
2025-03-21 12:58:49 +01:00
Martin Pulec
e8763663c2 CI GPUJPEG Win: upstream file name has changed 2025-03-21 12:58:49 +01:00
Martin Pulec
ec8467dabe CI Linux FFmpeg: libsvtav1 API change patch 2025-03-21 12:58:48 +01:00
Martin Pulec
4868103be3 CI FFmpeg SVT-VP9 patch
SVT-HEVC and SVT-VP9 patches now interfere (neighbor of SVT-VP9 is not
libspeex but libsvthevc now).
2024-11-20 13:30:30 +01:00
Martin Pulec
908165c83b CI mac: add /Library/Framework to rpath
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!
```
2024-10-25 09:26:07 +02:00
Martin Pulec
4bf16b87ee CI macos: fail if DELTA not found
Fail if DELTACAST SDK was not found (actually remove check for its
presence) if $SDK_URL is set.
2024-10-24 16:19:00 +02:00
Martin Pulec
09ff92219f CI macos: re-enable DELTACAST
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.
2024-10-24 16:18:37 +02:00
Martin Pulec
8881d22150 Revert "CI Linux FFmpeg: patch VP9 FFmpeg patch"
This reverts commit c8b1e6859d.

the upstream SVT-VP9 patch has been updated
2024-10-21 15:04:56 +02:00
Martin Pulec
a6ed0cbcdb CI FFmpeg Linux: updated libde265 patch
remove FFCodec.init_static_data - dropped from upstream but not used by
libde265 plugin anyways
2024-10-21 15:04:55 +02:00
Martin Pulec
82cfa8caf8 CI Linux FFmpeg: compat vaapi patch update 2024-10-21 15:04:55 +02:00
Martin Pulec
7c6681c016 macOS build: fixed crashing build
the build fails after switch to macos-13 on manual page generation:
```
dyld[39415]: Symbol not found: _glfwCreateWindow
  Referenced from: <2CA04B35-6318-3824-91FA-664E963F3C86> /Users/runner/work/UltraGrid/UltraGrid/bin/uv
  Expected in:     <no uuid> unknown
Could not obtain data from UG/reflector output!
```

Please note that the corresponding error in master (from which was this
commit cherry-picked) was the following, which seems to be the same issue:
```
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)
2024-10-21 15:04:54 +02:00
Martin Pulec
c274f90fa8 CI Win: current MSVC/CUDA 11.8 incompatibility workaroud
Workaround to current MSVC error with CUDA 11.8:
```
C:\Program Files\Microsoft Visual
Studio\2022\Community\VC\Tools\MSVC\14.41.34120\include\yvals_core.h(888):
error: static assertion failed with "error STL1002: Unexpected compiler
version, expected CUDA 12.4 or newer."
```

CUDA 11.8 is used for compatibility with CC 3.5 (Kepler) devices. The
support for those will however end in 5 days [1] so we may swich to CUDA
12.x later.

[1]: https://endoflife.date/nvidia-gpu
2024-10-21 15:04:48 +02:00
Martin Piatka
8c41477b43 CI Win: Install VC 2010 Redist 2024-07-22 11:22:22 +02:00
Martin Pulec
0af8eaf755 CI NDI: do not repeat downloads in install scripts
NDI SDK should be already downloaed from the step before in the YAML.
2024-07-22 11:22:19 +02:00
Martin Pulec
1123f4f399 CI: suppress brew list output for uninstalled
the message: `Error: No such keg: /opt/homebrew/Cellar/asciidoctor`
is now print on stderr, which disturbs GitHub CI (complains about it in
action summary annotations; just a warning).
`
2024-06-26 16:08:14 +02:00
Martin Pulec
5aaba6d1d1 CI Win: CUDA/MSVC incompatibility fix
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.
2024-06-26 16:08:14 +02:00
Martin Pulec
c378bea288 CI Linux FFmpeg: patch VP9 FFmpeg patch
temporarily again incompatible with current FFmpeg HEAD
2024-06-26 16:08:14 +02:00
Martin Pulec
6e44d112d9 CI macOS: install only not installed brew formulas
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.
2024-05-22 10:18:28 +02:00
Martin Pulec
5a5fc53f60 CI macos: adapt to new DELTACAST packages
see previous commit
2024-05-22 10:01:40 +02:00
Martin Pulec
359aed3446 CI Win: adapt to new DELATCAST packages
See:
<https://www.deltacast.tv/media/30987/changenotice_videomaster625_installers_and_distribution_packages.pdf>
2024-05-22 10:00:05 +02:00
Martin Pulec
7f9e311757 CI Windows: install clang gcc-compat
No longer installed automatically, causing gcc from mingw64 MSYS2
environment being used (autoconf defaults to gcc).
2024-04-29 10:55:42 +02:00
Martin Pulec
0fb244025d CI Windows: build CUDA stuff for CC 3.5
Kepler cards are still (and few months will be) supported by NVIDIA.
2024-04-29 10:28:04 +02:00
Martin Pulec
0f2d95a9b9 Revert "CI FFmpeg Linux: pin Vulkan-Headers"
No longer needed. Moreover, this now prevents the FFmpeg build.

This reverts commit b8f4d15df4.
2024-04-29 10:23:24 +02:00
Martin Pulec
b5c697ba22 CI Windows: install Vulkan
Supposedly, it has been installed as a ffmpeg dependency but now the
MSYS package depends just on vulkan-loader, not headers.
2024-04-29 10:22:58 +02:00
Martin Piatka
6320243e52 CI: Fix Win jack download 2024-03-20 14:52:00 +01:00
Martin Pulec
7f397d2e1c CI FFmpeg Linux libde264 patch: removed reordered_opaque
dropped from upstream
2024-03-20 14:49:32 +01:00
Martin Piatka
6b7d38d6c5 CI: Ubuntu install gcc-10
FFmpeg refuses to build on gcc 9, because of missing intrinsic
_mm256_loadu2_m128i
2024-03-20 14:49:31 +01:00
Martin Pulec
2ccefd5f4f CI Linux FFmpeg: updated libde265 patch
rebased with the current FFmpeg code
2024-03-20 14:18:44 +01:00
Martin Pulec
7fa8a935a2 CI Linux: download rav1e build instead of building own
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
2024-03-20 14:18:42 +01:00
Martin Pulec
3ff011341e CI mac: enforce /Library/Frameworks for Syphon
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.
2024-02-12 14:18:47 +01:00
Martin Pulec
93f9dd074f build/CI macOS: do not handle Syphon specially
\+ 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
2024-02-12 11:57:48 +01:00
Martin Pulec
1cce11666e CI mac: do not handle VideoMasterHD manually
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.
2024-02-12 11:57:48 +01:00
Martin Pulec
4ed7421276 CI mac: use mac dylib bundler v2 again
see the comment in the changed script for details
2024-02-12 09:55:52 +01:00
Martin Pulec
bea0ee1b64 CI mac: signing docu updates
\+ do not check $apple_key_p12_b64 in sign.sh but $KEY_CHAIN and
$KEY_CHAIN_PASS presence, which are used directly
2024-02-09 17:05:28 +01:00
Martin Pulec
86b4c0696d CI mac: move signing key import to environment.sh
The signing key is actually needed in the ccpp.yml workflow earlier than
`prepare.sh` is run, namely in cache-macos-nonfree-sdks step.
2024-02-09 16:44:26 +01:00
Martin Pulec
1ef26af0e6 CI mac arm64: enable Deltacast
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.
2024-02-09 16:44:26 +01:00
Martin Pulec
d82c10a7b1 CI mac: videomasterhd preparation improvement
Remove absolute path from library location - we are in the directory
anyways.

This will be useful for local use (to copy and paste) when the library
is already copied to `$(xcrun --show-sdk-path)..` etc.

\+ early return
2024-02-09 16:44:26 +01:00
Martin Pulec
58741e3d91 CI mac: import the key in prepare.sh
We will need to sign VideoMasterHD frameworks with our key.
2024-02-09 16:44:25 +01:00
Martin Pulec
dbe6fff795 CI mac: added arch string
to identify if the build is arm64 or x86_64
2024-02-09 12:46:03 +01:00
Martin Pulec
e7c2379fef Revert "Revert "Revert "CI: macOS compilation fix (Vulkan missing hdr)"""
hopefully no longer needed

This reverts commit 4e5de7279c.
2024-02-09 12:46:03 +01:00
Martin Pulec
f54382d44e CI mac: use -msse4.2 only on x86_64 2024-02-09 12:45:49 +01:00
Martin Pulec
98d55eb316 CI mac arm64: added rpath needed for libjuice
otherwise linking fails with following error:

    dyld[34092]: Library not loaded: @rpath/libjuice.1.3.4.dylib
2024-02-09 12:14:22 +01:00
Martin Pulec
87e9438751 CI mac: select AJA arch
in order to work on arm64 as well
2024-02-09 12:14:22 +01:00
Martin Pulec
183ac67990 gh/scripts/macOS/prepare.sh: paths for arm64 Homebrew
Homebrew uses /opt/homebrew on arm64
2024-02-09 12:14:22 +01:00
Martin Pulec
e38af98538 CI mac: small updates for arm64
- missing sudo
- /usr/local/include mkdir for EWS
2024-02-09 12:14:22 +01:00
Martin Pulec
3a076d2482 CI mac arm64: disable cineform+Deltacast
- cineform seems to be unsupported altogether
- Deltacast should work but it doesn't seem so
2024-02-09 12:14:22 +01:00
Martin Pulec
d25d80939c CI mac: build Syphon for ARM 2024-02-09 12:14:21 +01:00
Martin Pulec
b73edbf575 scripts: remove SC2140 disable
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"
```
2024-02-09 12:14:21 +01:00