Commit graph

95 commits

Author SHA1 Message Date
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
Bruno Lopes
d3501ffc35
build/linux: Make AppImage script tool-agnostic (part 3) 2025-04-10 07:33:01 -03:00
Bruno Lopes
4070cfb9ee
build/linux: Add some comments to AppRun
And make APPDIR output clearer.
2025-04-10 07:27:36 -03:00
Bruno Lopes
f2bdf03b9a
build/linux: Do not set uneeded GIMP3_* dirs on (relocatable) AppImage
Relocatable builds do not need them.

Also, remove comments about the inspiration for the scripts since
they are now so refined that make no sense to link 3P sources.
2025-04-09 08:58:03 -03:00
Bruno Lopes
43ae9fced5
build/linux: Prevent LD_LIBRARY_PATH leaking on AppImage
Closes #13603

Following 8fe7ddf3
2025-04-07 09:23:45 -03:00
Bruno Lopes
abeac94e8e
build/linux: Fix '--no-expand' param of conf_app function on AppImage script 2025-04-06 22:05:21 -03:00
Bruno Lopes
b303b6e20b Issue #13367: set Mesa drivers on Continuous appimage from stable series.
Partially reverts 3bbcdbd325
2025-04-06 20:19:31 +00:00
Jehan
afa152ea54 Issue #13367: use correct AppImage and MSIX IDs for continuous builds.
Also make sure we ship the relevant graphviz runtime dependencies when
the debug menu is visible.
2025-04-06 20:19:31 +00:00
Bruno Lopes
b2bf83a6bd
build/linux: Make AppImage script tool-agnostic (part 2) 2025-04-06 16:04:49 -03:00
Bruno Lopes
30d7631d34
build/linux: Make AppImage script tool-agnostic (part 1) 2025-04-06 13:39:15 -03:00
Bruno Lopes
c29be7ba5f
build/linux: Bundle correct Resource dev files on AppImage
Similarly to 73c7d468
2025-03-29 15:38:31 -03:00
Bruno Lopes
ad155fd545
build/linux: Do not include .debug symbols
Shipping .debug symbols is not a common practice on Linux distros.
Also, backtrace() API seems to not be able to read them separetely.

So, there is no use for them. Who wants top tier debugging can set:
export DEBUGINFOD_URLS="https://debuginfod.debian.net"
2025-03-28 21:10:44 -03:00
Bruno Lopes
8cb3f0ff66
build/linux: Ensure that 'ld-linux' have .debug symbols
x86_64 have a peculiar path so this trick is needed.
2025-03-16 19:27:31 -03:00
Bruno Lopes
4e073a6788
build/linux: Do not bundle 'gdk-pixbuf-query-loaders' .debug symbol 2025-03-16 19:27:27 -03:00
Bruno Lopes
4c8c64aa46
build/linux: Remove leftover from previous try of .debug on AppImage
It is not needed because the .debug files are bundled.
2025-03-16 17:43:01 -03:00
Bruno Lopes
958e82d5e9
build/linux: Bundle deps .debug symbols on AppImage with 'debuginfod' 2025-03-16 17:14:54 -03:00
Bruno Lopes
d4f51fdd77
build/linux: No need to set PYTHONHOME on AppImage
Closes: #13050
2025-03-15 20:45:11 -03:00
Bruno Lopes
ce33dab5f1
build/linux: Add error message to runtime version check 2025-03-15 17:13:15 -03:00
Bruno Lopes
df9f812b59
build/linux: Fix comment style about Lua on AppImage script
Let's put links only about toolkit (go-appimage and appimagetool) issues
2025-03-14 18:04:48 -03:00
Bruno Lopes
4497c906c1
build/linux: Fix AppImage crashing due to lack of Xapp gschemas
Closes: #13082
2025-03-12 13:24:32 -03:00
Bruno Lopes
c63419ee7f
build/linux: Fix AppDir detection on AppImage script
It wasn't making possible to create one AppDir per arch locally.
2025-03-03 11:18:46 -03:00
Bruno Lopes
a1e5049f9f
build/linux: Make AppImage deps download and revisioning work locally 2025-03-01 18:02:25 -03:00
Bruno
7a2537de9a
build/linux : Fix unwanted character in AppImage revisioning
Completing 57e91450
2025-02-17 21:03:58 -03:00
Bruno
57e914507d
build/linux: Complete AppImage revisioning code
It was first introduced in 131834d3 but was incomplete.
2025-02-17 16:01:23 -03:00
Bruno
5e287e8bbe
meson, build: Auto parse full 'config.h' for future-proof scripts
Now, we can use whatever variable we want from 'config.h' with its
value, unlike the previous code which was hardcoded and did not
worked at all for variables with custom values like GIMP_RC_VERSION.

(Note: there are still work to do with Inno scripts)
2025-02-17 09:51:19 -03:00
Bruno
fd3fcf68a5
build/linux: Fix 'undefined symbol: gtk_module_display_init' error on AppImage
It was caused by GTK finding host's canberra or others modules, which
is goappimage fault: https://github.com/probonopd/go-appimage/issues/332

This bug will remain if the distro have some uncommon module (e.g.
appmenu, colorreload), since we don't ship them.
2025-02-16 10:49:58 -03:00
Bruno
29209fa219
Issue #12937: Bundle 'gio-launch-desktop' to fix AppImage unable to open links
Closes #12937
2025-02-15 16:57:43 -03:00
Bruno
f5088b8915
build/linux: Support 'updateinformation' on AppImage
This makes possible to easily update the .appimage file with
tools compliant with AppImage spec (e.g.: AppImageUpdate)
2025-02-13 16:48:10 -03:00
Bruno
131834d34f
build: Get rid of "CI_COMMIT_TAG" in favor of GIMP_* vars from config.h
This makes the scripts more consistent and easier to understand.
2025-02-13 09:24:57 -03:00
Bruno
0c1d11dc86
build: Unify checksumming behavior
As a rule, dist scripts will always output sha-256 and sha-512 sums but
the checksums files will be generated only on releases.
2025-02-13 09:24:19 -03:00
Bruno
e496a1ce4f
build/linux: Complete 827961ca (regarding CI_COMMIT_TAG check on AppImage) 2025-02-09 15:48:29 -03:00
Bruno
827961cae3
build/linux: Generate checksums for released AppImages
This is used by our release scripts on gimp-web.

Let's not generate for other pipelines, however, since they
don't have long life on GitLab and there is no permalinks yet.
2025-02-09 11:41:47 -03:00
Bruno
6c879b8cb8
build/linux: Only 'Nimbus' and 'StandardSymbols' fonts are needed for WMF
Following e1294fec

This makes the AppImage's WMF bundling consistent with Windows and macOS.
See also: https://github.com/caolanm/libwmf/tree/master/fonts
2025-02-08 09:36:25 -03:00
Bruno
5b84d17ec1
gitlab-ci, build/linux: Make AppImage releases
Closes: #7661 (for now)
2025-02-07 15:29:15 -03:00
Bruno
e1294fecc1
build/linux: Bundle PS fonts for WMF support on AppImage 2025-02-06 10:41:44 -03:00
Bruno
1c00380f56
build/linux: Workaround go-appimagetool failing to find 'file' util 2025-01-25 22:03:34 -03:00
Bruno
7b11fe8dba
build: Include all headers for use of gimptool 2025-01-25 19:03:55 -03:00
Bruno
50b6ba6366
build/linux: Include 'gimp-debug-tool' on AppImage
It works, but do not work well if 'gdb' or 'lldb' are installed.
2025-01-22 14:26:09 -03:00