Commit graph

297 commits

Author SHA1 Message Date
Bruno Lopes
6ab5402195
build/linux: Make flatpak env section more consistent with Snap script 2025-08-04 14:37:38 -03:00
Bruno Lopes
05f85e79d1
build/linux: Bump qoi module commit
The recent commit promisses slighty better performance.
2025-08-04 08:53:27 -03:00
Bruno Lopes
7f7ee96717
build/linux: Update poppler module to 25.08 2025-08-04 08:44:08 -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
88d6c95ef4
build/linux: Add info about Flatpak toolkit for debugging purposes 2025-08-03 17:35:43 -03:00
Bruno Lopes
27f0594ef6
build/linux: Add info about Snap toolkit for debugging purposes 2025-08-03 14:57:44 -03:00
Bruno Lopes
caf460177a
gitlab-ci, build: Add infrastructure to distribute nightly aarch64 flatpak 2025-08-02 22:07:37 -03:00
Bruno Lopes
6b69fca88d
build/linux: Remove bogus cleanup on cfitisio module after move to CMake 2025-08-02 19:38:24 -03:00
Bruno Lopes
4ae861f5ac
build/linux: Fix Nightly flatpak after GCC 15 + CMake 4 bombastic combo
These updates brokened badly json-c, x265, cfitsio and maxflow modules.
Let's workaround them with proper patches and build options.

By the way, cfitsio was updated and is now built with CMake.

ghostscript was temporarely dropped since it is impossible to
build right now even with Archlinux patches. Let's wait a release.
2025-08-02 16:41:15 -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
a7be8ec6cd
build/linux: Correct typo in APP_ID 2025-07-31 20:43:23 -03:00
Bruno Lopes
c5427bec21
build/linux: Take flatpak app ID and branch dybamically from the manifest
This is more future proof.
2025-07-31 20:42:12 -03:00
Bruno Lopes
8a2dd28082
build/linux: Add CLI message explaining how to test .flatpak artifact
We can't guarantee that every DE or package manager have
support to install .flatpak files by double click.
2025-07-31 20:37:56 -03:00
Bruno Lopes
4faa5a6153
build/linux: Delete empty line on env block of Snap script 2025-07-31 20:18:38 -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
Bruno Lopes
79374e0bc1
build/linux: Update openexr and suitesparse Flatpak modules 2025-07-30 20:51:01 -03:00
Bruno Lopes
75aa40f3cb
build/linux: Add (nightly) Snap package distribution 2025-07-30 20:44:11 -03:00
Bruno Lopes
d7687ee7e6
build/linux: Complete 2aee80b7 2025-07-27 21:43:15 -03:00
Bruno Lopes
9e1c1e314a
build/linux: Rename suffix of flatpak scripts to flatpakbuilder
Since the praxis in all other scripts is to
name the suffix with the toolkit name
2025-07-27 19:33:42 -03:00
Bruno Lopes
2aee80b77f
build/linux: Drop support to unreproducible builds on Flatpak
We had a way of building gimp without calling flatpak-builder but
"thanks" to Glycin sandboxing in pixbuf we can't anymore...
2025-07-27 19:06:58 -03:00
Bruno Lopes
b3d7d9b8df
build/linux: Update gexiv2 and graphviz modules 2025-07-24 15:39:07 -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
7f527d8c72
build/linux: Update poppler, libheif and graphviz modules
poppler: Update poppler-25.06.0.tar.xz to 25.07.0
libheif: Update libheif-1.19.8.tar.gz to 1.20.1
graphviz: Update graphviz-13.0.1.tar.gz to 13.1.0
2025-07-06 14:14:11 +02:00
Bruno Lopes
4b549c61f2
build/linux: Restrict Gexiv2 module version to the API we support
See the explanation in: #14361
2025-06-29 10:48:26 -03:00
Bruno Lopes
fc06a435fa
build/linux: Fix OpenBLAS comment position 2025-06-23 07:06:06 -03: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
c1422a9008
build/linux: Update graphviz module 2025-06-21 08:59:25 -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
2defc3d07b
build/linux: Delete some whitespaces on Flatpak deps script 2025-06-19 14:45:08 -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
26c2fe9e3d
build/linux: Add comment about why libbacktrace is custom built 2025-06-14 12:46:41 -03:00
Bruno Lopes
d178d741b0
build/linux: Sync Flatpak nightly modules with Flathub branches 2025-06-13 21:52:11 -03:00
Bruno Lopes
ac320fb6a6
build/linux: Enable dependency check on Nightly flatpak
Inspired by https://github.com/flathub/org.gimp.GIMP/pull/437

Now, in the weekly builds the job will fail if some module is old.
It is reasonable to make the job fail since nightly builds are
supposed to be blending edge so they should have the latest deps.

This makes way easier to spot when some module needs to be updated,
reducing a bit the continuous burden of syncing the 3 manifests.
2025-06-13 21:52: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
Ondřej Míchal
c55f4b104c build/linux: Sync dependencies with Flathub flatpak
Poppler - 25.05.0 -> 25.06.0
2025-06-06 08:09:08 -03:00
Bruno Lopes
4290f3dc7b
build/linux: Update flatpak SDK and runtime install commands
Ported from: 25ba247a96
2025-05-10 13:23:37 -03:00
Bruno Lopes
ddf9d57ab6
build/linux: Fix bundling of GEGL json modules 2025-05-09 21:22:27 -03:00
Ondřej Míchal
3988b76e33 build/linux: Sync dependencies with Flathub flatpak
OpenEXR     - 3.3.2   -> 3.3.3
Poppler     - 25.03.0 -> 25.05.0
Ghostscript - 10.04.0 -> 10.05.1
libheif     - 1.19.7  -> 1.19.8
libde265    - 1.0.15  -> 1.0.16
SuiteSparse - 7.10.1  -> 7.10.3
2025-05-08 11:46:35 +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
a2aedc789b
build/linux: Improve a bit the comments of Flatpak dist script 2025-04-26 22:11:48 -03:00
Bruno Lopes
00ff3831e4
build/linux: Fix indentation on Flatpak scripts after c2771753 2025-04-26 14:13:27 -03:00
Bruno Lopes
72f80d5331
build/linux: Make Flatpak scripts POSIX-compliant 2025-04-26 11:08:29 -03:00
Bruno Lopes
c2771753db
build/linux: Add org.flatpak.Builder support for Flatpak .sh scripts 2025-04-26 10:52:38 -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
8b5ddf53aa
build/linux: Sync with Beta manifest
Ported from: 7d7e018d0f
2025-03-25 13:32:39 -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
dc53786acd
build/linux: Update README regarding versioning 2025-03-16 07:02:44 -03:00
Bruno Lopes
b0b4c513ff
build/linux: Make gimp module a bit more alike the one on Beta manifest 2025-03-15 21:30:50 -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
2ad8aa8a56
build/linux: Update Flatpak modules preparing to 3.0 RC3
Ported from:

4006f0fcf5
8d6a68748b
fd3926baac
2025-03-08 08:04:44 -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
4464537a38
build/linux: Do not distribute 'gegl-imgcmp' on Flatpak nightly
Similarly to 188deedb
2025-01-26 16:22:52 -03:00
Bruno
f61b98dd98
build/linux: Complete c45a4eed (regarding cfitsio update) 2025-01-26 14:46:12 -03:00
Bruno
c45a4eed48
build/linux: Update cfitsio module to 4.5.0 preparing to RC3 2025-01-25 22:13:06 -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
Jehan
26a079bd57 devel-docs: get rid of g-ir-doc.
Per the (quite off-topic) discussion in #12772, the fact it's quite
broken on Windows, apparently not too maintained anymore and its syntax
clashes with gi-docgen syntax…
2025-01-23 13:07:03 +01: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
Bruno
6b13a9fff2
build/linux: Fix dangling "gimp-console*" and "gimptool*" symlinks on Flatpak
Ported from: 323972fdf5
2025-01-17 16:20:00 -03:00
Bruno
ef8dedd109
build/linux: Complete d479eab2 (regarding Lua for AppImage) 2025-01-15 21:53:00 -03:00
Bruno
d479eab25e
build/linux: Add Lua support to AppImage (but not enable it, see 78665ca3)
This is one of the last pending items on GNOME/gimp!1440 checklist.
It took time because LUA_CPATH and LUA_PATH are exotic and Lua docs not good.
2025-01-15 21:21:48 -03:00
Bruno
841a30bed1
build/linux: Exit AppImage script if no 'config.h' file is present 2025-01-05 08:44:33 -03:00
Daniele Forsi
994137a82e Fix spelling errors found with codespell 2025-01-04 15:11:03 +00:00
Bruno
5e606bb580
build/linux: Like other dist scripts, do not try to build in AppImage .sh
This is a remnant of the past, not needed since 46f716a0 organization.
2025-01-02 14:51:55 -03:00
Bruno
01ce43d94b
build/linux: Sync with Beta manifest regarding OpenMP and libbacktrace
11d009928e

30d588c455
2025-01-01 21:29:30 -03:00
Bruno
3fc06f06b6
build/linux: Make AppImage .desktop and appdata.xml configuration not scattered 2025-01-01 15:19:19 -03:00
Bruno
d04bfe964f
build/linux: Complete 37b7b8f7 (regarding appstreamcli) 2024-12-31 14:17:28 -03:00
Bruno
37b7b8f7a4
build/linux: Do not copy additional .desktop file in AppDir root
We can just make a symlink that appimaged (the daemon for integration) will
read it and work just fine.

Also, run appstreamcli validation again.
2024-12-31 12:22:26 -03:00
Bruno
e32cf624a4
build/linux: Sync with Beta flatpak regarding updated modules for RC2
See: 17144650cd
2024-12-31 10:36:54 -03:00
Bruno
739c613fe2
build/linux: Bundle "share/libthai" on AppImage too
Following 4cbb9360

Most of the distros provides the dictionary pre-installed but
some like Gentoo not. So, let's bundle "share/libthai" for
maximum portability.
2024-12-29 21:26:23 -03:00
Bruno
3d4ca10ba2
build/linux: Ensure the same type2-runtime is used for aarch64 and x86_64
The previous code left open a tiny possibility of a different runtime be
downloaded between the 5-6s of squashing of aarch64 and x86_64 appimage.
2024-12-29 08:36:00 -03:00
Bruno
f9cb8ba69f
build/linux: Revert APPIMAGETOOL_APP_NAME change from 522b9ced
It was changed to "GIMP-continuous-ARCH.AppImage" because
I had hope of linking GitLab artifacts on gimp-web (which failed)
so let's use "GIMP-GIMP_VERSION-ARCH.AppImage" again.

Also, uppercase AppId 'Continuous' suffix to be consistent with Flatpak.
2024-12-26 19:49:34 -03:00
Bruno
46f716a0a3
gitlab-ci, build: Make 'aarch64' AppImage too
Partially reverts e01973b9

This makes the AppImage .sh script multiarch aware and
make Debian pipeline a GL 'matrix' for easier maintenance.

As consequence, making an arm64 .appimage is pretty easy now,
so let's make one since this arch is not that rare in Linux.
2024-12-24 14:28:28 -03:00
Bruno
350c24cc8a
build/linux: Possibly fix AppImage custom App ID still not working
Following 522b9ced
2024-12-20 08:39:03 -03:00
Bruno
5ea569e208
build: Explain why we bundle GTK locales 2024-12-19 13:54:29 -03:00
Bruno
2952039ea7
build/linux: Use custom App ID on Nightly flatpak
This avoids DEs mixing icons from stable/beta with nightly.
2024-12-19 09:16:25 -03:00
Bruno
1309e98fb9
gitlab-ci, build: Implement GL collapsed logs (like GHA/CircleCI 'steps')
This provides us fine-grained info on how much time each step take,
making easier to spot stuckness and to quickly understand the logs.

'gimp' jobs normally do not take advantage on this due to log limits
(they expand and crop the log), so I adapted them to only output errors.

---

Also, to reduce logs, all jobs were reviewed with proper GIT_* variables.
2024-12-15 09:36:11 -03:00
Bruno
522b9cedf2
build/linux: Move appimage making to separate job and make it weekly
The "AppImage platform" don't have releases, every tool is blending edge.
Obviously, it is too prone to broke, and for the first time it got broken.
So, let's move it to a separate job and with less frequency to not broke CI.
2024-12-09 22:09:08 -03:00
Bruno
e38dae1bb1
build/linux: Output go-appimage build number for easier debugging 2024-12-01 07:51:52 -03:00
Bruno
058d62c308
gitlab-ci, build/linux: Ensure that AppImage .log can always be downloaded
The fix is how we do in any other job.
2024-12-01 07:51:01 -03:00
Bruno
9149fd0727
build/linux: GTK_THEME code on AppImage is uneeded
Assuming that this var is needed seemed to be a error on my side. GIMP can
use the system theme out of the box in to my tests on Manjaro and Ubuntu.
2024-11-26 13:08:11 -03:00
Bruno
3bbcdbd325
build/linux: Drop LIBGL_DRIVERS_PATH for upcoming unstable AppImage
mesa 24.2, available on Debian testing, don't read this var anymore.
2024-11-26 13:08:08 -03:00
Bruno
72f2c0066c
build/linux: Do not bundle graphviz nor video drivers in stable AppImage
They are not needed since the "Debug" menu is hidden.
2024-11-26 13:08:04 -03:00
Bruno
f8423e5e00
build/linux: Complete GJS bundling in AppImage 2024-11-26 13:08:01 -03:00
Bruno
444518da5d
build/linux: Move to edge appimagetool for static AppImage squashing
The latest appimagetool inserts a runtime with static libfuse in the .appimage.
It also makes the .appimage run way faster and slightly better compressed.

Thanks for helping me with this, @samueru
2024-11-26 13:07:56 -03:00
Bruno
8fe7ddf36c
build/linux: Set LD interpreter but unset LD_LIBRARY_PATH on AppImage
This avoids calling host libs, fixing the last pendency on !1440 desc.
In other words, the AppImage now can be run, in thesis, in any distro.

Thanks for helping me with this, @samueru
2024-11-26 13:07:53 -03:00
Bruno
73bbb31242
build/linux: Make AppImage script work locally 2024-11-18 07:40:30 -03:00
Bruno
e2614019b6 gitlab-ci, build/linux: Give .flatpak artifact a "standard" name
Every artifact from our CI have a pretty name with some reason for it:
- Installer: it is this way on download.gimp.org since ever(?) and that's fine
- Store: follows Microsoft de facto spec of .msix files naming
- AppImage: follows AppImage draft spec of .appimage files naming

But the .flatpak just looks like AUR pkg. So, let's use reverse DNS
naming which is used at least for .flatpakref files. This makes more sense.
2024-11-04 01:52:20 +00:00
Bruno
fb5e72fbbf
build/linux: Build 'openblas' with DYNAMIC_ARCH enabled (for now)
Fixes: #12237

We were building with that option disabled here because it was making our
runners to randomly fail at building it. However, that option disabled also
makes some machines to fail, due to its low-level nature. So, there is no
fix for it(?), let's enable then and hope the runners willn't fail again.
2024-11-03 10:55:30 -03:00
Bruno
9d8e20f432
build/linux: Build flatpak with GCC to avoid LLVM/freedesktop branch hell
Despite building GIMP with Clang helped a lot to make our deps builds robust,
it is very hard to maintain, not because of LLVM but because of freedesktop.
We needed to ensure that the branch of LLVM matched the one of freedesktop on
which GNOME SDK is based. That stopped to work resulting on bad inconsistency:
1) flathub never had a problem; 2) GNOME runners sometimes worked, others not;
3) locally it stopped to work completely, so the .json right now is unportable.

Some annoying bugs were:
- "error: Requested extension *llvm* not installed"
- "Similar refs found for *llvm*"

So, let's end this not using any extension anymore while keeping only the nice
improvements in the custom builds.
2024-11-03 10:55:27 -03:00
Bruno
5284b5258f
build/linux: Clean Flatpak dist stage output 2024-11-03 10:55:23 -03:00
Bruno
d5c7c9304c
build/linux: Stop Flatpak scripts if any command fails 2024-11-03 10:55:19 -03:00
Bruno
1182d7606c
build/linux: Make flatpak scripts humanly readable
Despite my good intentions in the previous structure, it
was just too complicated and not linear to read. Let's
make it more orthodox.
2024-11-03 10:55:08 -03:00
Bruno
975a462dc2
build/linux: Instruct contributors about flatpak-builder dependency
GNOME docker image and Flathub runner seems to use edge flatpak-builder,
which auto set -DCMAKE_INSTALL_LIBDIR option, crucial for some deps.
Pre-1.4.3 versions don't do this so the build fails in some machines.
Let's prevent this making the script more clear about flatpak-builder.
2024-11-03 10:48:27 -03:00
Bruno
d9710697d6
build/linux: Sync with beta manifest updating some modules
Ported from: f381737705

This updates openexr, libdeflate, poppler and suitesparse, after testing them.
2024-10-28 20:40:50 -03:00
Bruno
5778d9353a
build/linux: Restore 'gjs' bundling in AppImage
This got lost in a988084a
2024-10-14 17:48:35 -03:00
Bruno
dc08645614
build/linux: Rectify comment about WMF support on AppImage
The previous comment is wrong, because GIMP never had WMF export. Let's
clarify, however, that WMF support is still tricky because of some
options available at configure time regarding 'fontmap' and so on.
2024-10-14 16:05:33 -03:00
Bruno
47852ef90f
build/linux: Do not impose 'GIMP3_DIRECTORY' var on AppImage's AppRun
This var points to a dir that exists outside of the AppImage bundle and it
exists to be customized if needed. So, let's not impose it in the AppRun.
2024-10-14 10:43:29 -03:00
Bruno
6b13a097ab
build/linux: Bundle complete GTK and ISO locales as in Windows bundling script
Since the 'bund_usr' is now smater, we can have parity with Windows bundle.
2024-10-12 10:32:44 -03:00
Bruno
be67c70a89
build/linux: Add "Image Graph" support to AppImage
To we properly bundle graphviz, the 'bund_usr' function was improved.
2024-10-10 09:29:29 -03:00
Bruno
4a41b76411
build/linux: Update ghostscript, json-c and graphviz modules
Ported from: e499861f14
2024-09-29 12:58:47 -03:00
Bruno
cf2893747d gitlab-ci, build: Do not bundle nor dist any Lua related files
Following 78665ca372

Since our official builds tends to be vanilla (only using meson
standard options), there is no need to shipping these lua files.

This commit can be reverted in the future if Lua is stable again.
2024-09-28 01:42:44 +00:00
Bruno
aa10a33db9
build/linux: Sync with Beta manifest regarding imath, poppler, suitesparse and graphviz
Ported from: 1ddf27837b
2024-09-14 17:44:04 -03:00
Bruno
a988084a97 build/linux: Refactor AppImage bundling script to easier maintenance
- Simplify three functions into 'bund_usr' (similar to 'bundle' in Win script)
- Add 'wipe_usr' function (similar to 'clean' in Win script)
- Verbose the steps of AppImage making
- Log (go)appimagetool bundling of deps (not only the the .appimage making)
- Change AppRun to be more clear about our .appimage compatibility

This refactoring is not perfect but is good enough to anyone understand
how our AppImage is made just reading the script.
2024-09-09 10:51:52 +00:00
Bruno
898f8917ab
build/linux: Sync with Beta manifest regarding IFF support
Ported from: 0acddb8909
2024-09-08 16:57:47 -03:00
Bruno
23bae9ab42
gitlab-ci, build: Move appimage code out of gitlab-ci and reduce verbosity
This should be enough to not "annoy" developers with repetitive ninja and
not too relevant appimagetool output. This makes easier to devs to look at
the runner log without needing to revert 9653e50e (the revert/split would
make us lose .appimage in some custom Deb pipelines and 50% of ccache hits).
2024-08-30 12:44:40 -03:00
Jehan
75978104de build: AppImage also uses appstreamcli to validate the AppStream data…
… so let's make a quick edit for our 'date="TODO"' trick.
2024-08-30 00:06:58 +02:00
Anders Jonsson
a9cf2d7a3e desktop: change gimp20 to gimp30 for gettext
The real used value for gettext_package is
already changed in meson.build
2024-08-29 09:09:29 +00:00
Bruno
0e245e86c1 build/linux: Always use latest commit in luajit and lua-lgi modules
luajit download server to tarballs stopped to work, which is expected,
since it was advised by the team in https://luajit.org/download.html:
"Please do not use obsolete versions from older tarballs or zip files.
Please remove any outdated links to these downloads — these links will
cease to work soon."

We also will not use the official git server since it does not support
all git clone features, which makes flatpak-builder cloning stage fail.

---

Regarding lua-lgi, we will not use the latest commit since seems that
our goat exercises or gobject-introspection or lua-lgi iteself is broken
since lua-lgi commit: 3f47eb57ef5a84be878ce33c15b7ff037059b08d
2024-08-28 11:16:57 +00:00
Bruno
d389068d5d build/linux: Update suitesparse module on flatpak manifest 2024-08-28 11:16:57 +00:00