Commit Graph

957 Commits

Author SHA1 Message Date
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 de37e08109
build/windows: Always bundle gspawn*-console.exe (for gimp*.exe --verbose)
Without this, it is not possible to open links when
running gimp*.exe --verbose
2024-12-30 21:08:05 -03:00
Bruno 89cc350348
build/windows: Bundle python.exe even on stable versions (for gimp-console)
This is needed for scripting output with 'gimp-console*.exe', which is
included in stable versions (but the user needs to change the .interp).

The need to manually change the .interp is ugly as hell (specially for
system-wide .exe installer and MSIX package) but a separate issue.
2024-12-30 17:32:25 -03:00
Bruno 64481569c0
build/windows: Make (even more) clear how Inno langs maintenance works
Inno langs maintenance is semi-automatic since 21ffb589 and 4ec072ed

Right now, seems that everyone understands it, but who knows in the future?
So, just to make sure, being overly cautious, let's add one nice comment.
2024-12-30 11:42:27 -03:00
Bruno 1e37822533
build/windows: Fix 'revision 2' being shown in 'RC 2' MSIX About dialog
Following 9d9d7226
2024-12-30 08:45:21 -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 4cbb93609d
build/windows: Bundle 'libthai' again for Thai (th) word breaking support
The only trace of reason for this dir being bundled was a pango crash: #2496.
Since the crash was gone, no other reason left, so it was discarded: c808d13b.

However, according to my tests, "word breaking" does not work without this.
(This is what thbrk.c#L22 source says but was never clear in our scripts).
So, let's bundle it with proper comments to make clear why this is needed.
2024-12-29 09:57:37 -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
Jacob Boerema b150a4ea27 build installer: Swedish is now an official language in Innosetup 2024-12-28 18:54:53 -05:00
Bruno 541e7446ce
build/windows: Bundle correct gspawn*.exe for stable releases
Following a4d2fbc9
2024-12-27 15:38:32 -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 08019d95df
build/windows: Default to user-mode install (recommended since Windows 7)
See: https://learn.microsoft.com/en-us/windows/win32/shell/app-registration#using-the-app-paths-subkey

Starting with Windows 7, Microsoft "strongly" recommends to install per user.
This still applies today for Windows 10: per-user is the default for our
MSIX installed from MS Store and for our .exe installer obtained by winget.

Note: this commit just change the "(recommended)" option in an Inno dialog.
Users can install GIMP in system-wide (admin mode) as always, nothing changed.
2024-12-22 11:51:25 -03:00
Bruno dd4b687d36
build/windows: Renew pseudo-gimp*.pfx certificate and document it 2024-12-21 08:40:07 -03:00
Bruno 12db54cded
build/windows: Create .msixbundle in fake tagged pipelines
This is useful right before releases according our release procedure:
https://testing.developer.gimp.org/core/maintainer/release/

Also, checking the variable content make the script more safe,
considering that in the future we will publish automatically from CI.
2024-12-21 08:40:03 -03:00
Bruno 9d9d7226db
build/windows: Auto bump MSIX pseudo-revision in Release Candidates
See: https://gitlab.gnome.org/GNOME/gimp/-/blob/master/build/windows/store/README.md?ref_type=heads#versioning-the-msix
2024-12-21 08:40:00 -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 b450bf922c
build/windows: Make Inno auto repairing finally work
Partially revert f0fb4435

It is safer to wait for Inno to compile successfully before deleting the
.bak langs, which are the condition to auto repairing.
2024-12-16 13:54:05 -03:00
Bruno b8ac9da4db
build/windows: Do not display strong bezel so better match Vista-style
Note: I reinforce that, despite the name, this doesn't look like Vista.

Following de556c0734

Microsoft use of bezel in Win32 and UWP/WinUI3 apps is inconsistent:
sometimes the bezel is there, others not. However, when displayed
the bezel never is that dark. So let's at least hide it, just how
we do in the Devel warning and Inno do in most dialogs.
2024-12-16 13:53:30 -03:00
Bruno 8a0c294a32
build/windows: Drop SSE check (outdated since 2018)
SSE2 (not the first SSE) instructions are required since 2012 on Windows 8.
Our minimum requeriment for 3.0 series is 10 so Inno built-in 'MinVersion',
by consequence, implies requesting SSE(2) without needing a custom dialog.
Then, let's cleanup this, which will make us gain a few (milli?)seconds.

Just to note, SSE2 (again, not SSE) is required even on Win 7 (since 2018).
2024-12-16 13:42:43 -03:00
Bruno 3b6d9b1662
build/windows: Generate 32-bit TWAIN dependencies list automatically
Fixes #12537

Following e59dec50
2024-12-16 13:42:28 -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 3e5166f4cf
build/windows: Drop workaround to stuck pacman
Note: the original workaround was superseded by: 9ab48164

The actual workaround (which adress the same issue) is being dropped since,
according to my tests, seems that the MSYS2 issue was fixed. See: #10782
2024-12-08 09:04:09 -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 5948f8176b
Issue #11734: Use Inno new 'x64os' architecture identifier 2024-11-30 18:13:24 -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 325074fec5 build/windows: Complete de3cf104 (regarding correct pyhton .exe)
I forgot to set rules to cleaning a previous Inno install. And they
need to be set since the previous .exe are from python3.11, not 3.12.
2024-11-24 17:37:32 +00:00
Bruno 19ab03e69f
build/windows: Uninstall previous desktop .lnk icon again for RC2 and onwards
A regression introduced by a8b9bedf is that installing GIMP 3.0.0-RC1+git was
keeping GIMP 3.0.0-RC1 icon since an [InstallDelete] line was mislooked by me.

As a side note, to understand how the Windows versioning introduced by a8b9bedf
works, please read the latest base_gimp3264.iss file at 3.2.2 [Setup] section.
2024-11-23 09:34:37 -03:00
Bruno 889c1f9896
build/windows: Fix not working WACK mode in MSIX script
The bug was introduced by 1380b899
2024-11-21 14:18:43 -03:00
Bruno 7b596bedbd
build/windows: Make WinSDK detection code portable 2024-11-21 14:18:12 -03:00
Bruno 0a9ba4491e
build/windows: Distribute installer localized with not released Tamil lang
fa2b2b710f
2024-11-20 12:01:05 -03:00
Bruno 4ec072ed3a
build/windows: Integrate Official langs download with 'iso_639_custom.xml' 2024-11-20 12:01:02 -03:00
Bruno de3cf104e3
build, plug-ins: Bundle and distribute correct python*.exe
According to Jernej and my searches pythonw.exe should be used for stable
releases and python.exe for unstable as commented in the changed files.
2024-11-19 09:30:57 -03:00
Bruno f0fb443553
build/windows: Auto repair Inno langs if .ps1 script is interrupted
027013c7 was fine but not good enough. Without this new commit,
if you stop the script after touching the Inno lang files and run
the script again it would not restore the patched lang files so
patch over patch, producing something like "GIMP 3.0.0 3.0.0".

So, this new commit identifies if the script wasn't completed and
repair Inno installation before applying the patches again.
2024-11-18 12:03:40 -03:00
Bruno 73bbb31242
build/linux: Make AppImage script work locally 2024-11-18 07:40:30 -03:00
Bruno 32aeb4f630
build/windows: Make .ps1 scripts produce checksums in common format 2024-11-16 15:49:13 -03:00
Bruno 67c842b705
build/windows: Document 'App Paths' registration 2024-11-16 14:56:55 -03:00
Bruno c15d9367b8
build/windows: Make backslashes more consistent in installer .ps1 2024-11-16 10:50:46 -03:00
Bruno 027013c7a0
build/windows: Make installer .ps1 script less pervasive
- Do not install Inno if it is already updated
- Delete unofficial langs after creating the .exe installer
- Ensure that all .isl files are kept as before the patching
2024-11-16 10:50:43 -03:00