Commit Graph

238 Commits

Author SHA1 Message Date
Martin Pulec
81691c2199 AppRun: removed unused code
not run in MSW, C&P
2024-07-30 08:39:11 +02:00
Martin Pulec
e412845740 data/scripts/build_aja_lib_win64.sh: absolute path
Use absolute path for libajantv2 library.

The relative path was used as for now, which is true in the CI (libajantv2
is extracted to .) but is less eligible for interactive use.
2024-07-26 09:35:42 +02:00
Martin Pulec
a893667a52 CI Win AJA: built libajantv2 rename
Built libajantv2 has now a different name:
```
2024-07-25T10:26:49.7807780Z      Creating library D:/a/UltraGrid/UltraGrid/libajantv2/build/ajantv2/Release/ajantv2_vs143_MT.lib and object D:/a/UltraGrid/UltraGrid/libajantv2/build/ajantv2/Release/ajantv2_vs143_MT.exp
2024-07-25T10:26:50.0519395Z   ajantv2.vcxproj -> D:\a\UltraGrid\UltraGrid\libajantv2\build\ajantv2\Release\ajantv2_vs143_MT.dll
```
2024-07-25 15:02:00 +02:00
Martin Pulec
f3d67249b7 AppImage custom excludelist x86: removed gnutls
Doesn't seem to be required and nwo (since the new PPA use) causes following error:
```
ultragrid_vidcap_rtsp.so: /lib/x86_64-linux-gnu/libgnutls.so.30: undefined symbol: nettle_siv_gcm_aes256_decrypt_message, version NETTLE_8
``
(obviously) when libgnutls30 is not installed, eg. in Ubuntu 24.04.
2024-07-18 10:49:28 +02:00
Martin Pulec
417497b406 AppRun: check system libva
Check if bundled libavcodec has all dependencies satisfied from system
libva, if not do not use the system ones.

Fixes the error message:
```
undefined symbol: vaMapBuffer2  (./squashfs-root/usr/lib/libavutil.so.59)
```

on (some) current Ubuntu 22.04 with current continuous AI.
2024-07-17 16:07:12 +02:00
Martin Pulec
a2871664cc Revert "UG build fix: expired homepage SSL certificate"
appstreamcli v1.0.3 validation falls with url-homepage-missing

This reverts commit b1a46b6389.
2024-07-16 16:20:39 +02:00
Martin Pulec
89b173ba2b AppImage: option --ug-help for UG help
If run from within the AppImage, -h shows help of the AppImage wrapper
itself, not the one of UltraGrid. So add --ug-help as an alternative for
`-o uv -h`.

First considered was a shortopt -H, but this is currently mapped by UG
for --full-help (which can be used directly), so keep the long variant
in order not to make it confusing.
2024-07-09 09:27:19 +02:00
Martin Piatka
2f601f5ccd CI Win: Dependencies for screen capture 2024-07-08 16:04:20 +02:00
Martin Pulec
46b2c0ee64 AppRun: restore TIO with sighandler
Restore TIO always - the firejail doesn't always let UG exit gracefully
(seems like there is some timeout), so restore this with the wrapping
script.
2024-07-03 09:33:18 +02:00
Martin Pulec
e6473a01dd AppRun Firejail: allow Avahi over D-bus
needed for NDI discovery
2024-06-26 14:33:24 +02:00
Martin Pulec
0ed7d449bc CI: cache AJA build [Win]
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.
2024-05-31 16:04:45 +02:00
Martin Pulec
a735dac86a CI+build Win: use libajantv2
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).
2024-05-31 16:04:44 +02:00
Martin Pulec
a4a2baf32e move some template files to auto places
- 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
2024-05-31 16:04:42 +02:00
Martin Pulec
bd5d6ac8f4 hd-rum-av: added examples 2024-05-28 09:08:56 +02:00
Martin Pulec
5b8d0f8055 hd-rum-av: run audio mixer with conf mode 2024-05-28 09:08:56 +02:00
Martin Pulec
97884d3d98 hd-rum-av: use getopts to parse optons
it is less error-prone and more clear than custom parsing
2024-05-28 08:51:02 +02:00
Martin Pulec
51589f52da hd-rum-av: support for AppImage/Firejail 2024-05-28 08:51:01 +02:00
Martin Pulec
1ee4f9622c added hd-rum-transcode A/V wrapper
allows running reflectors for both audio and video with one command
2024-05-28 08:51:01 +02:00
Martin Pulec
111207abf1 CI macOS: swap version and arch position
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.
2024-05-21 12:56:45 +02:00
Martin Pulec
7373b28aaa AppRun: shorten conditions
||-syntax takes just one line instead of 3
2024-05-09 15:29:29 +02:00
Martin Pulec
3b30d2934b AppIamge: system libva usability improvement
In the current AppImages, the bundled libavcodec depends just on
libva.so.2 but libavutil depends on libva.so.2, libav-drm.so.2 and
libva-x11.so.2. Since the availability of any of libva-*.so was not
detected, even if those are not present (eg. in GRML 24.02 libva-x11.so.2
is missing), the system library was used.

As a solution, check the availability of all libav.* that is bundled
libavcodec and libavutil depending on.
2024-05-09 14:54:24 +02:00
Martin Pulec
c20f777745 macOS updater: support also alternative build updates 2024-05-09 09:40:54 +02:00
Martin Pulec
5df57da6ba macos-wrapper: change version from 10.15 to 12
Current C/C++ workflow builds already on macOS 12, so that also macOS
versions 10.15 and 11 would be incompatible.
2024-05-09 09:39:27 +02:00
Martin Pulec
65129a99e7 AppRun FJ (Linux): do not whitelist /tmp
if it happens that parent dir is /tmp, eg.:
`ug.AppImage -t testcard:file=/tmp/img.pam`

do not whitelist /tmp, otherwise following error occurs:
`Error: invalid whitelist path /tmp`
2024-04-12 10:56:52 +02:00
Martin Pulec
3efd4186a7 AppRun: exec UG binary with exec
This respawns the process instead of the script. The advantage is that
when the AppImage process is killed, UG is killed as well, eg. in this
case:
```
UltraGrid-continuous-x86_64.AppImage -t testcard & (sleep 3; kill $!)
```

Otherwise just the parent process (the shell) is killed, leaving the child
(UG) running on background, which is undesirable. See also:
<https://stackoverflow.com/questions/8533377/why-child-process-still-alive-after-parent-process-was-killed-in-linux>

For the above command, `kill -SIGTERM -$!` would be required to do
the job, but the parent shell process keeps "running" in the background
and `bg` needs to be run.
2024-02-19 15:10:38 +01:00
Martin Pulec
0c55a06c1e create-appimage.sh: disallow SoundFont override
Do not bundle SDL_SOUNDFONT instead of the SoundFont now included in
sources. This is a bit contra-intuitive, since the user may have set
the SDL_SOUNDFONT for its primary reason. Using the variable was just
a workaround to find _any_ usable soundfont, which is now unneeded.
Also, the user-selected soundfont may have hundreds of MB (as usually
the general-purpose soundfonts have).
2024-02-14 09:00:46 +01:00
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
e430d1d61b macOS update.sh: added documentation
both doxygen and command-line simple help
2024-02-09 14:18:17 +01:00
Martin Pulec
a4805e5a2b macOS update.sh: fixed arm/x86_64 distinction 2024-02-09 14:14:03 +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
07e452c778 CI+make: use system location for Syphon 2023-12-04 10:50:56 +01:00
Martin Pulec
d093dbb0a9 AppRun: resolve tilde expansion (just "~/") 2023-11-30 11:26:22 +01:00
Martin Pulec
f35b046359 data/make_man.sh: fixed missing getopts shift
removed accidentally by 7c0bd41b

Now it is shifted after the while-loop (not `shift` in every while
iteration) - should behave the same but this is canonical according to
getopts man (w/o needless '$' before OPTIND).
2023-11-15 09:57:00 +01:00
Martin Pulec
01e525bfd4 data/make_man.sh: check output of binary
Since the manual page is partially generated using uv/hd-rum-transcode
output (for options), check if there is some output available.

Most importantly this should catch the situation when UG/reflector output
changes so that it is no more extracted to the manual page.
2023-11-15 09:35:34 +01:00
Martin Pulec
90e4db36e5 data/make_man.sh: remove check notice
The notice was there when the manual pages were manually generated but
as it is now generated automatically by make, it is slightly annoying.
2023-11-15 08:38:32 +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
646ea19a17 make_man.sh: fixed sed cmd incompatible with mac 2023-11-14 11:29:04 +01:00
Martin Pulec
7c0bd41b6a data/make_man.sh: replace getopt with getopts
use of getopt is a bashism and it is also quite cumbersome

as a side effect, long options are no longer options
2023-11-14 11:13:45 +01:00
Martin Pulec
52d1a3325d data/make_man.sh: better debug message 2023-11-14 11:13:45 +01:00
Martin Pulec
54fbb7fd8b Makefile: build manual pages 2023-11-14 08:20:57 +01:00
Martin Pulec
8670a1d25f AppRun: set LD_LIBRARY_PATH at the end
set LD_LIBRARY_PATH just before uv (or other tool) is run

This minimizes interference when running the script.
2023-11-03 16:16:06 +01:00
Martin Pulec
e09db568f9 AppRun FJ: allow /bin/bash
Bash is needed in /bin on U23.10 when running with Firejail (even though
/bin/sh is dash on that system).
2023-11-03 16:15:43 +01:00
Martin Pulec
af33553e1c AppRun FJ: do not whitelist /dev
eg. for `-d file:n=/dev/null` - whitelisting /dev is invalid:

    Error: invalid whitelist path /dev
2023-11-01 17:01:27 +01:00
Martin Pulec
f05a200add AppRun FJ: recognize also n[ame]=<n> paths 2023-11-01 15:55:41 +01:00
Martin Pulec
bb4ad12970 AppRun: preload also VDPAU 2023-10-09 16:25:43 +02:00
Martin Piatka
1cbb716198 vcap/pipewire: Buildable without screencast dbus portal stuff 2023-10-05 16:05:17 +02:00
Martin Pulec
876869ebae Windows/update.ps1: make it working again
Currently, it always downloads continuous (regardless if invoked from
continous or release channel). But currently it doesn't remove the old
release if the name doesn't match continuous (moreover if it would be
deleted, it is moved to -bkp, possibly overriding the previous version).
2023-08-10 16:08:36 +02:00
Martin Pulec
b5cd530824 AppRun: do not disable dbus-user
Dbus is required for dbus audio and currently it even fails in Arch
without, see:

https://github.com/CESNET/UltraGrid/actions/runs/5642223630/job/15281663172
2023-07-26 09:50:44 +02:00
Martin Pulec
47be77ed94 create-appimage.sh: do not require fc-match
If not running in GitHub CI, do not fail on fc-match absence, only print
the error.
2023-07-24 14:48:12 +02:00