Commit graph

66 commits

Author SHA1 Message Date
Bruno Lopes
cc849cf189 build/macos: Update background path for local .dmg creation (not used) 2026-04-06 21:49:00 -03:00
Bruno Lopes
2a3480cc1b build: Anotate some dependencies limitations for packaging 2026-04-06 19:50:16 -03:00
Bruno Lopes
ee06c790c3 build: Make generic CWD error message more consistent 2026-04-02 23:23:09 -03:00
Bruno Lopes
9cfccfb968 build/macos: Fix macOS CWD error message
It should direct to gimp-web-devel
2026-04-02 23:19:04 -03:00
Bruno Lopes
a9e1f665dd build: Make gimp build scripts work on tarballs too 2026-04-02 23:12:49 -03:00
Bruno Lopes
febeb89c55 build: Add check for 'git' on Windows and macOS deps scripts
Since git is actually not a dependency, we need to do some checks.

See: https://gitlab.gnome.org/Infrastructure/gimp-web-devel/-/issues/54
2026-04-02 22:24:22 -03:00
Bruno Lopes
d5b087d656 build/macos: Complete a bit homebrew dependencies list
This adds aalib, gi-docgen, libheif, libmng and vala.

The homebrew list was originally minified since all-deps-uni was
ported from the treatment of vcpkg on build/windows all-deps-uni.
But since on homebrew we don't build anything, let's install them.

This also adds to the list deps already installed recursively.
2026-04-02 14:50:10 -03:00
Bruno Lopes
ff3c56ba1f build/macos: Add perl to all-deps-uni list 2026-04-02 14:50:10 -03:00
Bruno Lopes
37c11d1748 build: List some missing packages for parity with INSTALL file 2026-04-02 13:18:15 -03:00
Bruno Lopes
55cf88f2c8 build/macos: Fail on warnings on Apple Clang builds for gimp sake 2026-03-31 18:58:47 -03:00
Bruno Lopes
2bdc93281c build, libgimpwidgets, meson: Add ScreenCaptureKit support
Inspired by https://github.com/neutralinojs/neutralinojs/pull/1477/changes
which was found by Alex.

This makes possible to build GIMP on macOS 12+ targets, which is
useful for local builds. We, however, will keep targeting macOS 11.
2026-03-29 11:55:36 -03:00
Bruno Lopes
4f1c6a2a8b build/macos: Improve gexiv 0.16 patch for Homebrew builds
This makes building less noisy while we don't support the new API.
2026-03-29 10:42:44 -03:00
Bruno Lopes
ec22a2f058 build/macos: Fallback to SDK version on Assets.car generation
This is needed when MACOSX_DEPLOYMENT_TARGET is not set.
2026-03-29 07:47:32 -03:00
Bruno Lopes
eb119759ca build/macos: maxflow is now available on MacPorts
See: 70daadd5fb
2026-03-28 09:55:34 -03:00
Bruno Lopes
b3c40c7be1 build/linux: Enable "Send by email" on AppImage
Hmmm why this was not already enabled? On my tests, it works.
Don't remember why I have not handled this before.

This commit also reorder the xdg-mail position on macOS script.
2026-03-27 18:59:50 -03:00
Bruno Lopes
6661004e5e build/macos: Remove 'source' bashism recently introduced on DMG script
As per 'meson-health' job advice
2026-03-27 06:41:59 -03:00
Bruno Lopes
8da8d9a478 build/macos: Use ds_store Python package on DMG creation
The pre-made .DS_Store(.tar.xz) got broken after version bumps.
2026-03-26 19:02:58 -03:00
Bruno Lopes
01268d9f5e build/macos: Avoid unexpected ports upgrades
We need to add this condition otherwise ports would
be updated on gimp job causing disparity with deps job.
2026-03-24 20:51:23 -03:00
Bruno Lopes
3a90c48d6e build/macos: Try to fix MacPorts packages not being upgraded 2026-03-24 15:12:08 -03:00
Bruno Lopes
a4fd6a6298 build/macos: Remove didatic README
Now the in-house macOS builds are so pristine that
does not make sense to link to the legacy CircleCI.
2026-03-21 21:48:24 -03:00
Bruno Lopes
8c3a9dd4a8 gitlab-ci, build: Add x64 macOS builds with Rosetta emulation
See: https://gitlab.gnome.org/Infrastructure/Infrastructure/-/issues/2166
2026-03-21 21:46:35 -03:00
Bruno Lopes
6a35db6ec2 build/macos, libgimpbase: Support both in-house and CircleCI relocatable bundles
This was the last patch. Now, GIMP can finally be built without patches on Mac.
2026-03-21 21:39:42 -03:00
Bruno Lopes
85044d78d1 app, build/macos: Move PYTHONHOME logic from .patch to core code
This was tested with both in-house MacPorts, in-house HomeBrew and
legacy CircleCI builds and I confirmed it works (it is needed only
by the in-house MacPorts builds).
2026-03-21 17:34:30 -03:00
Bruno Lopes
92a860d5c9 app, meson: Make python check more robust to work with MacPorts etc
Partially reverts 9be1af2b

See the context: https://gitlab.gnome.org/Infrastructure/gimp-macos-build/-/merge_requests/408#note_2642419
2026-03-20 22:56:31 -03:00
Bruno Lopes
dd5349a9f5 app, build: Use gimp_installation_directory() on macOS wrapper
It is more packaging-agnostic than the previous hardcoded code.
I confirmed it works with both in-house and CircleCI builds.
2026-03-19 21:06:40 -03:00
Bruno Lopes
91b840f557 build/macos: Remove uneded GIMP3_ vars set after symlinks
Following 2cbfad8e
2026-03-19 13:28:48 -03:00
Bruno Lopes
4c83f5eacc gitlab-ci, build/macos: Only save macports/ on GitLab CI cache
The Hessele runner started to complain about the artifacts size and
the macports/ dir as artifact is not needed on a non-splitted job.
It was a leftover from the inspiration from Flatpak scripts.

(On Flatpak it is needed becase if we don't pass .flatpak-builder as
artifacts the gimp job will not know that babl and gegl were built)
2026-03-12 22:22:07 -03:00
Bruno Lopes
d50aa908c7 build/macos: Build babl and GEGL with host SDK on non-custom builds
When MacPorts or Homebrew prefix is the standard one, not a custom installation,
let's use the host macOS/SDK since this is the expected by both toolkits which
provide binaries only for host. Otherwise, we get warnings from the linker.

(We will keep assuming LSMinimumSystemVersion is desired on custom installs,
like our officialy distributed binaries which are built from a custom install)
2026-03-12 22:12:53 -03:00
Bruno Lopes
1e5b9ed643 build/macos: More leftovers of macOS jobs split 2026-03-12 12:50:38 -03:00
Bruno Lopes
701d127ac8 build/macos: Some leftovers of macOS jobs split 2026-03-12 12:49:30 -03:00
Bruno Lopes
b9b9b43338 gitlab-ci, build: Do not run splitted macOS jobs on anymore
More preparition to x64 support

As a ugly regression, it will not be possible to create .dmgs on
forks anymore without an explicit "Run pipeline" from a Developer.

I hope to fix that when we take our sponsored runner from CircleCI.
2026-03-12 12:47:25 -03:00
Bruno Lopes
fc84cdbe87 build/macos: Fix typo 2026-03-08 22:26:06 -03:00
Bruno Lopes
269717a1c7 build/macos: Try to fix gnupg2 build error 2026-03-08 22:25:02 -03:00
Bruno Lopes
1b6bd94563 build/macos: Create macports-* arch-specific dir if it does not exist
Following 59fe682f
2026-03-08 16:39:06 -03:00
Bruno Lopes
59fe682fe1 build/macos: Copy macports contents, not macports dir
Ths fixes a bug introduced by f5fa988a
2026-03-08 14:28:53 -03:00
Bruno Lopes
f5fa988a54 gitlab-ci, build/macos: Reset GitLab CI cache preparing for multi-arch support 2026-03-08 11:00:51 -03:00
Bruno Lopes
e8987fc26b gitlab-ci, build/macos: Bump Orka image to macOS 26
This is needed to generate Liquid Glass icons (#15023) and
was made possible thanks to Infrastructure/Infrastructure#2159
2026-03-08 10:44:56 -03:00
Bruno Lopes
6e8928e823 gitlab-ci, build: Fail on warnings on Clang builds making them more useful
Thanks to various improvements on babl and GEGL repos they now build cleanly.
So, let's take advantage of Clang senstive semantic analysis on future builds.

For now, this is limited to such projects and on GNU Clang and Apple Clang,
since there is still a bit of work to do on Clang-CL (MSVC) side.
2026-03-01 11:16:22 -03:00
Bruno Lopes
2cbfad8ef3 build/macos: Use symlinks instead of patches for macOS bundle structuring
This is way cleaner.
2026-02-27 12:14:09 -03:00
Bruno Lopes
2dcffe6aad build/macos: pango is now built with Thai support on Homebrew too
See: https://github.com/Homebrew/homebrew-core/pull/262960
2026-01-30 07:40:57 -03:00
Bruno Lopes
70b8ed1530 build/macos: Fix .dmg icons layout after custom volume icon 2026-01-28 18:35:15 -03:00
Bruno Lopes
9a2a19575e build/macos: Bundle relevant headers and import libraries on .app 2026-01-28 14:47:24 -03:00
Bruno Lopes
890514702e gitlab-ci, build/macos: Add custom icon to the DMG volume
See: Infrastructure/gimp-macos-build#60
2026-01-27 11:13:17 -03:00
Bruno Lopes
06e2ebfea4 gitlab-ci, build/macos: Add caching to MacPorts builds
This makes the macOS builds way faster (aprox. 1hr instead of 3.5hr)
thanks to local caching of GNOME runner. We, however, still need to
split them since the timeout is relatively small on such runner.
2026-01-27 08:04:12 -03:00
Bruno Lopes
472dcb22ee build/macos: Add FIXME comment about ScreenCaptureKit 2026-01-24 09:07:08 -03:00
Bruno Lopes
962291dbb7 build/macos: Build GIMP with MacPorts targeting macOS 11 on our CI
We still need to implement cache and better timeouts in the future.
2026-01-23 23:05:18 -03:00
Bruno Lopes
f62f8389ab build/macos: Other /opt/local check fix 2026-01-23 16:21:51 -03:00
Bruno Lopes
5837be97d8 build/macos: Fix /opt/local check
shell syntax requires spaces.
2026-01-23 16:16:35 -03:00
Bruno Lopes
6444079d22 build/macos: Set background for .dmg on CI
By using a pre-made .DS_Store file, this bypasses Apple Script
restrictions which made impossible to set custom background on CI.
We don't have rights to tweak com.apple.TCC like gimp-macos-build.

.DS_Store is a binary file, but it is tiny and rarely updated,
which follows the precedent of build/windows/store/*.pfx.
2026-01-19 18:03:57 -03:00
Bruno Lopes
45dddaa816 build/macos: Update comment about Liquid Glass
It is stalled for now because GNOME runner does not have Xcode.app
2026-01-18 16:36:40 -03:00