Commit Graph

140 Commits

Author SHA1 Message Date
Martin Pulec
bf09d1cdca CI: add sountfont, not download
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.
2024-02-13 16:44:31 +01:00
Martin Pulec
5ef864729d CI mac install_others.sh: ensure vars visibility
Make some variables, which may be adjusted by subsequent commands,
visible outside the subshell.
2024-02-13 16:42:43 +01:00
Martin Pulec
bbed291a95 CI mac: remove NDI 4 compat
unneeded and removing will ease refactor
2024-02-13 16:04:37 +01:00
Martin Piatka
0fac525e6f CI: MacOS: Fix deltacast install 2024-02-13 14:00:26 +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
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
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
Martin Pulec
cfd8009380 gh/scripts/macOS/install_others.sh: fixed local path
fixed local installation when `cd` was executed (eg. for aja)
2024-02-09 08:41:48 +01:00
Martin Pulec
5a0772b400 added .github/scripts/macOS/install_others.sh
separated from prepare.sh (in a similar way as it already is for Linux)

Useful for standalone installation, eg. on development machines.
2024-02-06 16:38:45 +01:00
Martin Pulec
c4b13ba642 sign.sh: added --sign-only (and --help)
to allow notariation skipping
2024-02-06 16:15:02 +01:00
Martin Pulec
6d17c7274d gh/.github/scripts/macOS/prepare.sh: dl installers
Download installers if not present. They usually are, because are cached
by the workflow. However, this change is mainly to allow the installation
not by CI but on some local computer for debugging purposes by C&P.
2024-02-06 13:28:27 +01:00
Martin Pulec
fdd4fc1283 CI macos: limit number of threads for GLFW make
Using `cmake --build . --parallel` actually doesn't limit the number
of processes because it just passes the number (here none) to make,
resulting in `make -j`.

This is a possible explanations of macOS runner freezes, as eg. here:
<https://github.com/MartinPulec/UltraGrid/actions/runs/7641831068>
(last relevant message in log is `[100%] Built target joysticks`).
2024-01-25 17:07:41 +01:00
Martin Pulec
07e452c778 CI+make: use system location for Syphon 2023-12-04 10:50:56 +01:00
Martin Pulec
040a6797f2 CI scripts: ennsure that really copying to dir
Following to the previous commit, ensure that we are really copying to
an existing dir, where it is expected by appending '/' to the path.
2023-11-20 08:09:13 +01:00
Martin Pulec
dc1ff7d21b CI: generalize GH asset download 2023-11-16 14:04:56 +01:00
Martin Pulec
84aab9aff0 man: prefer asciidoctor in macOS (also in CI)
asciidoc seems to be broken in currrent Homebrew
2023-11-14 11:42:37 +01:00
Martin Pulec
4019d611b3 CI: install AsciiDoc
In order to build the manual pages as those are build during UG build
since the previous commits.
2023-11-14 11:13:45 +01:00
Martin Pulec
4e5de7279c Revert "Revert "CI: macOS compilation fix (Vulkan missing hdr)""
Workaround unfortunately still needed:
<https://github.com/MartinPulec/UltraGrid/actions/runs/6769716576/job/18396669215>

This reverts commit 8b233cd68f.
2023-11-06 13:28:19 +01:00
Martin Pulec
8b233cd68f Revert "CI: macOS compilation fix (Vulkan missing hdr)"
No longer needed - GH macos-12 runner has VK v1.3.268, which doesn't
miss the needed header.

This reverts commit 70d1c5186d.
2023-11-03 16:46:06 +01:00
Martin Pulec
b8e0acf5b8 macOS/sign.sh: don't fail if keychain exists
This makes the script reentrant, allowing to run it also interactively
repeatedly, provided that the `apple_key_p12_b64` and
`notarytool_credentials` environment variables are correctly set.
2023-11-02 12:18:06 +01:00
Martin Pulec
bc50883086 Revert "CI mac compilation fix"
natpmp workaround no longer needed

This reverts commit 6c50f15988.
2023-11-02 10:09:31 +01:00
Martin Pulec
20f72cc797 CI macOS workaround: apply only if needed
ensure that if forgot to remove, there won't be issues in future
2023-10-23 09:10:47 +02:00
Martin Pulec
acd11ef4cb Revert "CI mac: (self-)update Homebrew"
no longer needed

This reverts commit d6daa8e9af.
2023-10-23 09:10:46 +02:00
Martin Pulec
70d1c5186d CI: macOS compilation fix (Vulkan missing hdr) 2023-09-19 16:33:30 +02:00
Martin Pulec
5451a2fbce Revert "CI mac: keep vulkan 1.3.262 temporarily"
Currently installed version is now 1.3.264, anyways.

This reverts commit ff483081b5.
2023-09-19 16:33:30 +02:00
Martin Pulec
ee1d6146a6 GitHub CI: build with Qt 6
Following to previous commit, we can build with Qt 6 (even thought that
a workaround is neeeded).

qt package (version 6) is installed anyways as a dependency of opencv
2023-09-15 15:36:43 +02:00
Martin Pulec
ff483081b5 CI mac: keep vulkan 1.3.262 temporarily
Install vulkan headers prior to updating homebrew tree.

the version 1.3.264 seem to be temporarily broken (see [1]), producing
error:

    /usr/local/include/vulkan/vulkan.hpp:15:10: fatal error: 'vulkan/vulkan_hpp_macros.hpp' file not found
    #include <vulkan/vulkan_hpp_macros.hpp>

[1]:
https://github.com/MartinPulec/UltraGrid/actions/runs/6184953701/job/16789584064
2023-09-14 16:11:40 +02:00
Martin Pulec
792d5d8b2e CI macOS prepare.sh: removed unneeded env paths 2023-09-14 16:11:40 +02:00
Martin Pulec
d6daa8e9af CI mac: (self-)update Homebrew
the version 4.1.7 in GH runner is unsolicitedly producing
relocatable install names as it would with (in recent HB version)
HOMEBREW_RELOCATABLE_INSTALL_NAMES=1

see failed run:
<https://github.com/CESNET/UltraGrid/actions/runs/6147222102/job/16745596096>

The relocatable install names like:

    $ otool -L /usr/local/opt/qt/lib/QtGui.framework/QtGui | grep png
            @loader_path/../../../../../../../opt/libpng/lib/libpng16.16.dylib

Makes significant problems to macdylibbundler (it doesn't copy the library
to the bundle at all neither chantes the name).

\+ reinstall freetype (see failed build
<https://github.com/MartinPulec/UltraGrid/actions/runs/6185513000/job/16791263362>)
2023-09-14 16:11:39 +02:00
Martin Pulec
44fb3ceb9b gh/scripts/macOS/prepare.sh: standalone install
allow standalone installation of deps (outside GitHub CI) for debugging
2023-09-14 16:11:39 +02:00
Martin Pulec
47b1abfd93 CI mac: enforce use of Qt5 even if Qt6 present
fixes failed run
<https://github.com/CESNET/UltraGrid/actions/runs/5925739298/job/16065753514>

From some point, it seems that Qt6 (Homebrew port _qt_) is already
installed but it doesn't bundle successfully. So enforce using Qt5
(previous symlink command didn't replace the `/usr/local/opt/qt` symlink
if already present).

\+ copy the link instead of linking it to prevent:

    Error: /usr/local/opt/qt@5 is not a valid keg
2023-08-21 14:29:24 +02:00
Martin Pulec
78796781db bundled SoundFount is sf3 2023-05-18 08:43:39 +02:00
Martin Pulec
b8ce258d4d sdl_mixer: try to open from common path
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.
2023-04-28 10:15:11 +02:00
Martin Pulec
6c50f15988 CI mac compilation fix
Fixes failed run:

    https://github.com/CESNET/UltraGrid/actions/runs/4827804161/jobs/8600918491
2023-04-28 09:16:25 +02:00
Martin Pulec
449c03dfcd CI: added caca 2023-03-09 13:27:47 +01:00
Martin Pulec
56ecf79f06 removed remaning cppunit bits 2023-03-07 15:45:46 +01:00