Commit Graph

70 Commits

Author SHA1 Message Date
Martin Pulec
3720721836 create-appimage.sh: bundle decor if having vulkan
in additon to gl and sdl check, bundle also if having vulkan

This should be covered by the sdl case, anyways - vulkan display uses
sdl for window management so this usually implies that sdl display will
be present as well, unless explicitly disabled.
2026-01-06 14:23:47 +01:00
Martin Pulec
a44e42e520 AppImage: bundle libdecor
both GLFW and SDL load libdecor-0.so.0 by dlopen so it is not going to
be bundled...
2026-01-06 09:02:56 +01:00
Martin Pulec
b17135d8e4 AppImage: better handle libOpenGL.so.0
the previous actually didn't work properly, because uv-qt depend
on libQt6OpenGL.so.6 which in turn depend on libOpenGL.so.0. But
LD_LIBRARY_PATH is not set inside the AI so the transitive dep
is not handled and thus the preload is not applied.

Querying libQt6OpenGL.so.6 directly also don't work because it resolves
to the libOpenGL.so.0 in the same library, from which we cannot deduce
if its counterpart is inside the system.
2025-12-05 16:17:07 +01:00
Martin Pulec
1f3438ec31 create-appimage.sh: generalize includes
(includes here are the exceptions from upstream/AppImage excludelist)
2025-11-25 09:33:12 +01:00
Martin Pulec
b9ce913b9d AppImage: include libOpenGL.so.0 fallback
Currently Ubuntu 25.10 live DVD (ubuntu-25.10-desktop-amd64.iso)
does not include the library, preventing the GUI from being
run.  On the other hand, if used unconditionally, it causes
the warning (even in the U25.10) for which it was removed:
<https://github.com/linuxdeploy/linuxdeploy/issues/152>

So preload the library if is in the system and use the bundled just as
a fallback.
2025-11-25 09:33:09 +01:00
Martin Pulec
4357452c32 move soundfont to shared + always install
This simplifies things a bit at the expense that the soundfont is always
included/installed (91 kB).

Added get_data_path() function for generic handling the path to common
data (eg. /usr/local/share/ultragrid if installed). The idea is to catch
all cases - installed (run with absolute or relative path) or run from
inside the source directory in one place.
2025-09-03 16:42:28 +02:00
Martin Pulec
517f47ec7e create_appimage.sh: fix missing $
The excludelist was not applied for arm64 (used x86 instead)? Currently
excluded was just ld-linux-aarch64.so.1 but it may cause problems...
2025-08-29 12:33:38 +02:00
Martin Pulec
aa6be6b1a4 create-appimage.sh: ship soundfont also for fluidsynth
not only sdl_mixer
2025-08-27 09:30:35 +02:00
Martin Pulec
61261a39df create-appimage.sh: try curl prior to wget
In CI, the attempt to download mkappimage sometimes fail with some cryptic:
```
ERROR 403: Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature..
```
2025-07-17 15:32:31 +02:00
Martin Pulec
3edee950bf create-appimage.sh: silence tput err msgs
tput is just a pretty-printer, suppress the errs like `tput: unknown
terminal "unknown"` in CI (not relevant at all, just to make it clear)
2025-04-15 09:40:22 +02:00
Martin Pulec
8c73534128 create-appimages.sh: print errors bold/red
The errors are not fatal unless in CI but user should be notified.
2025-04-04 22:42:44 +02:00
Martin Pulec
05187ea56d AppImage: bundle aux data for IM magickwand 2025-04-04 22:42:41 +02:00
Martin Pulec
2e321f6511 AppImage: disable signing again
Validation with:
<https://github.com/AppImageCommunity/AppImageUpdate/releases/download/continuous/validate-x86_64.AppImage>

fails, which eg. prevents the AppImage update. Perhaps problem in
AppImageUpdate upstream (the sign reenablement is quite new - see the
link referenced in 9a6f0796).
2025-01-21 09:36:27 +01:00
Martin Pulec
9a6f07964a AppImage CI: reenable signing
Adapted to the new (proposed) way of signing:
<https://github.com/probonopd/go-appimage/issues/318>. It is possible
that it this is not final implementation in the go-appimage.
2025-01-13 14:28:29 +01:00
Martin Pulec
4b449c5917 create-appimage.sh: do not exclude libpipewire-0.3.so.0
ilibpipewire-0.3.so.0 was added to excludelist causing the distcheck fail,
see [1]

We do not need to exclude the lib, because we already handle the preload
in data/scripts/Linux-AppImage/AppRun:282 (the case is similar as for
libjack.so.0 as also mentioned in the related AppImage issue).

[1]:
04af461f47
2024-08-28 13:29:49 +02: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
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
Martin Pulec
c381978ab3 create-appimage.sh: removed stdout->stderr redir
+ removed the subshell

The redirection is actually no longer neeeded - we do not need to bother
where the output goes but the reason for the redirection is no longer
valid - the created AppImage is no longer outputted.
2023-07-18 10:49:05 +02:00
Martin Pulec
74d1bf7963 CI Linux: prevent mkappimage auto upload
mkappimage now tries to automatically upload the asset if it detects
running in GitHub CI, which is not the behavior we perhaps want because
it deletes and recreates our _continuous_ release.

See following failed run:
https://github.com/CESNET/UltraGrid/actions/runs/5575039257/jobs/10185765784

+ fixed `wget` presence check in `create-appimage.sh`
2023-07-18 10:01:07 +02:00
Martin Pulec
78796781db bundled SoundFount is sf3 2023-05-18 08:43:39 +02:00
Martin Pulec
30e9484ff7 AppImage: bundle a SoundFont file
In order to sdl_mixer being able to synthetise MIDI.
2023-04-28 10:15:11 +02:00
Martin Pulec
1930b7b857 create-appimage.sh: fixed shellcheck warnings 2023-04-04 14:26:58 +02:00
Martin Pulec
062f771fde AppImage: don't use bundled Wayland libraries
Don't use bundled Wayland libraries when running on Wayland but use it
otherwise to satisfy possibly unsatisfied dependencies.

See also previous commit - Wayland libraries seem not to be portable and
prevent SDL2 native run on Wayland. After this change, SDL2 runs on
U22.04 in Weston (without Xwayland).
2023-04-04 14:19:55 +02:00
Martin Piatka
46c6486353 create-appimage: Bundle qt plugins with correct version
Starting from about 20th January, the wrong version (qt4) started
getting bundled on the Ubuntu runner.
2023-03-13 15:55:13 +01:00
Martin Pulec
d6aaf6a6c3 create-appimage.sh: add --fail as curl opt 2023-01-25 16:25:53 +01:00
Martin Pulec
698b854e48 create-appimage.sh: pass GITHUB_TOKEN if available
to avoid GitHub rate-limiting

+ added '-Ss' options to curl
2023-01-02 16:22:50 +01:00
Martin Pulec
7d033195b3 AppRun,create-appimage.sh: added missing expr redirections 2023-01-02 10:44:31 +01:00
Martin Pulec
4f7c37ca97 AppImage: fixed appimageupdate not running on U22.04
llibfuse2 is missing there
2023-01-02 10:27:20 +01:00
Martin Pulec
e85988557d add tools/convert to AppImage 2022-11-22 11:29:02 +01:00
Martin Pulec
a1e0d266ff excludelist.local: split to x86 and ARM variants
Currently libgdk-3.so.0 is needed for ARM but still causes a crash with
U22.04 (retested, previously tested was U21.10 which is no longer
supported).
2022-11-01 11:29:06 +01:00
Martin Pulec
9f2e748644 CI ARM: use create-appimage.sh 2022-11-01 11:11:45 +01:00
Martin Pulec
67b717ffcf CI ARM: set curl insecure by default
+ suppress wget not found messsage
2022-11-01 11:11:45 +01:00
Martin Pulec
033614338c create-appimage.sh: style + appimageupdatetool cache
Keep appimageupdatetool copy in current directory (where the script also
looks it up from previous commit) as a cache.

+ use either wget or curl (whichever available)
2022-10-26 11:37:35 +02:00
Martin Pulec
2fa1d7eff3 create-appimage.sh: allow preload/caching AI tools
cache/preload AppImage tools appimageupdatetool and mkappimage

Lookup the tools also in current directory where it is downloaded if
there isn't a system one, so this can be considered also as a cache for
future runs.
2022-10-26 11:37:33 +02:00
Martin Pulec
0ad25c6c6d create-appimage.sh: extract mkappimage if no fuse
extract mkappimage if fuse is not available, eg. in docker containers

+ use curl instead of wget - curl is already used a line above so it
  must be present, wget don't
2022-10-24 15:06:53 +02:00
Martin Pulec
3830817f17 create-appimage.sh: added another excludelist opts
- use local version if available in $CWD
- if wget fails, try curl
2022-10-24 15:06:53 +02:00
Martin Pulec
dae8192c4d CI Linux: build own SDL2
This fixed crashing on Wayland (only - Weston without XWayland) in both U20.04 and
U22.04.
2022-10-24 15:06:23 +02:00
Martin Pulec
4eb8f32cd1 AppImage: fixed obtaining mkappimage
GH now uses AJAX API on web so that the link is no longer there in HTML.
2022-09-20 12:11:18 +02:00
Martin Pulec
0787d10676 create-appimage.sh: improved readibility
The pattern in output of ldd that should be skipped is actually '<lib>
=> not found'. The pattern "found" of course covers that but is a little
bit misleading.
2022-09-14 08:29:24 +02:00
Martin Pulec
ad5c6bd2c2 AppImage: bundle libjack.so.0 again
This effectively reverts 3c9b8293.

libjack.so.0 is a dependency also for different modules like portaudio
so if we do not want to depend on instance in the system, we must ship
our version.
2022-07-27 09:05:56 +02:00
Martin Pulec
735428abd2 AppImage: fixed appsteam+validation 2022-05-30 15:52:03 +02:00
Martin Pulec
189c2b4211 AppImage: use static runtime
Ubuntu 22.04 no longer contains libfuse.so.2 but ships libfuse.so.3
instead preventing AppImage from run (dlopens version 2).
2022-05-30 15:51:50 +02:00
Martin Pulec
1cf8dde8b4 AppImage: Qt6 support 2022-05-30 15:38:49 +02:00
Martin Pulec
1873392fa7 Linux AppImage: copy DejaVu Sans+Mono Book+Bold
Copy DejaVu Sans+Mono Book+Bold explicitly + pass it a variable
UG_FONT_DIR to UltraGrid.
2022-01-21 15:09:31 +01:00
Martin Pulec
03d01f0923 create-appimage.sh: shellchecked 2022-01-21 15:09:27 +01:00
Martin Pulec
4870b8f046 AppImage: font location <ai>/usr/share/fonts
Changed font location to <appimage>/usr/share/fonts - this is more
convenient location than <appimage>/usr/lib/fonts.
2022-01-21 10:26:52 +01:00
Martin Pulec
72e56713a7 Linux AppImage: remove libgdk-3.so.0
This causes a crash of uv-qt on U21.10.

Actually it suffices to remove libffi.so.6 instead but it is a
dependency of SDL2.
2021-12-02 09:55:25 +01:00
Martin Pulec
7d9284227d Linux AppImage: add fonts only if GUI present
Withuot GUI it is pointless.
2021-07-14 09:33:21 +02:00
Martin Pulec
0a0e4da288 AppImage: bundle also VAAPI drivers 2021-07-13 15:10:53 +02:00