Commit graph

132 commits

Author SHA1 Message Date
Bruno Lopes
75ea18ad00 build/linux: Explain a bit type2-runtime peculiar check 2026-02-23 22:15:47 -03:00
Bruno Lopes
22e9ccf72d build/linux: Support 3P binary plug-ins on AppImage (if linked against Debian)
Closes: #15807 by preloading API-related libraries for 3P plug-ins sake.

This will only work if the .appimage is run normally (without extract), because
when extracted its APPDIR can be placed on dirs with spaces unsupported by LD.

It also requires plug-ins to be built with the Debian used for the AppImage.
But there is nothing new under the sun, this rule is valid for all packages.
2026-02-09 22:36:25 -03:00
Bruno Lopes
250469dd05 build/linux: Workaround Debian 13 broken gresource on AppImage
Closes: #15552
2026-02-01 18:14:21 -03:00
Bruno Lopes
807678cc92 build/linux: Make AppRun more robust to dashes when extracted
Ported from 8c8c91f762
2026-01-29 12:48:08 -03:00
Bruno Lopes
fd59099b92 build/linux: Explain the purpose of --updateinformation param on appimagetool 2026-01-01 12:57:59 -03:00
Bruno Lopes
fde3b7ed57 build/linux: Add missing FIXMEs to AppImage script 2025-12-27 10:34:01 -03:00
Bruno Lopes
5f7c90b8f1 build/linux: Make AppImage's wipe_usr() similar to clean() of Windows script 2025-12-25 17:09:51 -03:00
Bruno Lopes
ce0c24ac2c buid/linux: Change some lines on AppImage script for cosmetics 2025-12-25 14:25:00 -03:00
Bruno Lopes
80e64d7347 build/linux: Comment bogus GIMP_PREFIX code on conf_app
babl and gegl are now built relocatable since
!2571
2025-12-25 14:25:00 -03:00
Bruno Lopes
c5f8147c50 build/linux: Make prep_pkg verbose when locally 2025-12-25 14:25:00 -03:00
Bruno Lopes
ad47f3f6ac build/linux: Slightly simplify go-appimagetool download commands
Now, the downloading is similar to standard-appimagetool and runtime
2025-12-25 14:25:00 -03:00
Bruno Lopes
c8cce02504
build: Always bundle "Debug" menu binaries after 083360fa
This ends dev comments we get on every release like:
"Wow, the tagged binaries are suddenly smaller!"
2025-12-13 08:42:33 -03:00
Bruno Lopes
efdb3ea269 build/linux: Make AppImage with relocatable babl and GEGL
Closes: GNOME/gegl#385 GNOME/gegl#420

This changes build options etc to take advantage of Jehan's work.
2025-12-11 18:51:56 -03:00
Bruno Lopes
6e80f5a2f9
build/linux: Fix AppImage not being able to open relative paths
Closes: #13636

Patch adapted from @kruthers
2025-12-11 14:22:29 -03:00
Bruno Lopes
f14a795211
build/linux: Quick fix for wrong type2-runtime being fetched
This fixes:

(ERROR): Downloaded runtime version differs from the one released online. Please, run again this script.
2025-12-11 10:27:24 -03:00
Bruno Lopes
c3e152a4c3
build/linux: Remove useless line on AppImage script
It was introduced by 6f632974
2025-11-15 20:19:52 -03:00
Bruno Lopes
6f6329744d
build/linux: Create pseudo-release on AppData if nightly builds
This is specially useful for Flatpak since now the
correct version will be shown on 'flatpak list'
2025-11-11 13:49:08 -03:00
Bruno Lopes
014aa5ae6f
build/linux: Patch mypaint brushes on AppImage and Snap too
Following 2f6b7591
2025-09-28 21:39:00 -03:00
Bruno Lopes
47eac319b1
build/linux: Silence noisy warnings about GTK_MODULES
From GTK mouth:
https://gitlab.gnome.org/GNOME/gtk/-/blob/3.24.50/gtk/gtkmodules.c?ref_type=tags#L250
2025-09-28 19:58:25 -03:00
Bruno Lopes
b0689f565b
build/linux: Little improvement on libheif plugins bundling 2025-09-28 08:25:27 -03:00
Bruno Lopes
2b32496195
build/linux: Remove some uneeded lines after move to Trixie 2025-09-28 07:41:45 -03:00
Bruno Lopes
de62139894
build/linux: Fix GJS bundling on AppImage
It have an undeclared dependency on GioUnix typelib.
2025-09-28 07:40:20 -03:00
Bruno Lopes
f774ad7f16
Revert "Issue #13001: build/linux: Sandbox XDG_DATA_DIRS on AppImage"
This reverts commit bc095d5c83.

Sandboxing XDG_DATA_DIRS, while can fix the crash due to share/mime,
on the other hand makes impossible to call share/applications
associated with such mimes on host.

So, since we bumped the AppImage to Debian Trixie so the Glib
crash due to mime is gone, we can (and should) revert the
wrong sandboxing without problems.
2025-09-27 19:58:02 -03:00
Bruno Lopes
f53a843c3d
gitlab-ci, build: Move to Debian Trixie on AppImage only
Fixes: #13001 #13106 #13492 #13647 #14779

AppImage jobs are now built with Trixie to adress #13001 and many others.

To have two Debian versions with less complexity possible, I needed to:
- Revert the prevalence of the AppImage CI (now nonreloc comes first);
- Revert the use of Clang on Debian (also to save 120MB from registry,
  since we now have 4 Docker images, each one with its own STEP cache!).
In short, .gitlab-ci.yml will look more like before I changing it a lot.
2025-09-27 18:58:18 -03:00
Bruno Lopes
d5f3fa77db
build/linux: Improve bund_usr check added in 5bc2f26c 2025-09-21 21:37:25 -03:00
Bruno Lopes
63b4d69e48
build/linux: Drop --permissive mode introduced in 5bc2f26c
It was an awful design of mine.
2025-09-21 14:44:11 -03:00
Bruno Lopes
5bc2f26cb0
build/linux: Stop AppImage script if bund_usr target do not exist 2025-09-20 20:31:24 -03:00
Bruno Lopes
b70186bc99
build/linux: Bundle needed files for PostScript support on AppImage 2025-09-16 12:10:21 -03:00
Bruno Lopes
c734c0f33f
build/linux: Make bund_usr function more robust on AppImage script 2025-08-22 19:55:31 -03:00
Bruno Lopes
9eee96328b
build/linux: appimagetool now supports specifying .appimage path on .zsync
See: https://github.com/AppImage/appimagetool/pull/111
2025-08-14 21:44:15 -03:00
Bruno Lopes
893f268e60
build/linux: Complete a3aca3c1 2025-08-03 19:47:24 -03:00
Bruno Lopes
a3aca3c171
build/linux: Print info message about which archs will be distributed
All our Linux dist scripts are multi-arch aware so
we need to be clear like on windows scripts.
2025-08-03 19:39:59 -03:00
Bruno Lopes
bd6218a12f
build/linux: Some cosmetic changes to AppRun vars 2025-08-01 10:55:54 -03:00
Bruno Lopes
bc095d5c83
Issue #13001: build/linux: Sandbox XDG_DATA_DIRS on AppImage
Closes #13001

XDG_DATA_DIRS is a variable used by many deps (e.g. glib) to
find runtime data. So, let's point XDG_DATA_DIRS to the
appimage bundle so prevent unexpected data from the host.
2025-08-01 10:46:07 -03:00
Bruno Lopes
d731a8fc0d
build: Make scripts CWD check run on CI too 2025-08-01 09:19:21 -03:00
Bruno Lopes
70eb95bff8
build: Reorder shasums output on AppImage and Installer scripts
The output being before the release-only file generation is more logical
2025-07-31 19:24:40 -03:00
Bruno Lopes
e0b2bcba27
build/linux: Some cosmetic changes and comments to AppImage script 2025-07-31 18:40:13 -03:00
Alx Sa
ea8b9dc13c core, paint, tools: Port to MyPaint Brushes2
This patch ports our MyPaint code to use the
MyPaintSurface2 API, allowing us to support
version 2 MyPaint Brushes correctly.
The API update lets us take into account
the zoom factor and rotation of the canvas
when drawing. It also adds a "Gain" option
to the GUI in order to control the strength
of the input's pressure (tablet or mouse).
As a caveat, this patch does not yet
implement spectral/pigment blending.
2025-07-09 22:14:42 +00:00
Bruno Lopes
464b1fb32f
build: Only bundle the strictly needed .typelib files
Otherwise plug-in developers would rely on .typelib available only on
Linux OR macOS OR Windows so create unportable/broken .py plug-ins.
2025-06-21 18:40:22 -03:00
Bruno Lopes
6c5401b9da
build/linux: Explain the purpose of $APPENDED_LIST 2025-06-19 16:25:16 -03:00
Bruno Lopes
f59b83ed6c
build/linux: Reorganize a bit the files section of AppImage script
This makes it a bit more similar to the Windows bundling script so
easier to read and maintain in the future.
2025-06-19 16:20:00 -03:00
Bruno Lopes
fd47161215
gitlab, build, tools: Port bashisms to POSIX-compliant code
Although these scripts are not called by Meson, portability outside the
build system is always welcome (specially on macOS or non-GNU OSes).
2025-06-16 22:06:06 -03:00
Bruno Lopes
b57744ceba
build/linux: Fix AppImage StartupWMClass
This completes aede2709b0
2025-06-13 10:09:22 -03:00
Bruno Lopes
472123181d
build/windows: Do not bundle unneeded share/metainfo on Windows
Seems it was used at runtime in the past but that is
not the case anymore. Indeed, it started to be bundled in
af79bbe028 due to an
error: before the Windows bundling unification the
crossbuilds "script" on .yml bundled all the 'share' dir.
2025-06-12 18:59:48 -03:00
Bruno Lopes
7fd2489985
build/linux: Run gimp process without LD interpreter on AppImage
Closes: #12929

This normalizes argv0, making the AppImage debuggable by gdb etc.

From now, the AppImage can't be run in pre-Bookworm (glibc < 2.36)
distros, but that use case was never officialy supported anyway.
2025-06-07 16:47:30 -03:00
Bruno Lopes
f2bd9fcd7f
build/linux: Do not bundle daemons on AppImage
We weren't launching then (and not sure if
we should at all). Also, the proper fix to
some errors encountered is 330ebe90.
2025-06-07 13:44:40 -03:00
Bruno Lopes
330ebe90b6
build/linux: Prevent loading host's GIO_EXTRA_MODULES on AppImage
We can't guarantee that the .so modules pointed by GIO_EXTRA_MODULES will
link properly to the bundled libc and other bundled deps in the AppImage.

So, by making our AppImage ignore that var we avoid errors on terminal due
to linking mismatch (e.g. on NixOS which sets that var by default).
2025-06-06 21:22:44 -03:00
Bruno Lopes
ddf9d57ab6
build/linux: Fix bundling of GEGL json modules 2025-05-09 21:22:27 -03:00
Bruno Lopes
373e46f871
build: Fix pkgconfig files not being fully bundled (e.g. gimpui*.pc) 2025-05-04 14:36:29 -03:00
Bruno Lopes
2cedc9fc96
build/linux: Do not allow library preloading on AppImage
Closes: #13527
2025-04-12 19:20:29 -03:00