Bug 503112 - macOS supports universal binaries, this would be preferable to having separate x68_64 and arm64 binaries
Summary: macOS supports universal binaries, this would be preferable to having separat...
Status: REPORTED
Alias: None
Product: digikam
Classification: Applications
Component: Bundle-MacOS (other bugs)
Version First Reported In: 8.6.0
Platform: macOS (DMG) macOS
: NOR wishlist
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-04-21 14:15 UTC by rcfa
Modified: 2025-08-10 07:49 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description rcfa 2025-04-21 14:15:15 UTC
Compiling the product as universal binary would simplify distribution (only one download) and installation/migration in a mixed system setup.
Comment 1 caulier.gilles 2025-04-21 18:02:45 UTC
Well, we don't turn on the universal build for multiple reason :

- Dependencies can be broken.
- PKG size explode.
- Binary compatibility with older MacOS version is lost.

Best regards

Gilles Caulier
Comment 2 caulier.gilles 2025-05-09 15:28:35 UTC
I enabled universal compilation in Macports for testing. arm64 pass, Intel Pass, but not universal in the harfbuzz port :

:debug:build system:  cd "/opt/digikam.org.arm64/var/macports/build/_opt_digikam.org.arm64_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_harfbuzz/harfbuzz/work/build-arm64" && /opt/digikam.org.arm64/bin/ninja -j10 CFLAGS+="-arch arm64" LDFLAGS+="-arch arm64" -v 
:info:build ninja: error: unknown target 'CFLAGS+=-arch arm64'
:info:build Command failed:  cd "/opt/digikam.org.arm64/var/macports/build/_opt_digikam.org.arm64_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_harfbuzz/harfbuzz/work/build-arm64" && /opt/digikam.org.arm64/bin/ninja -j10 CFLAGS+="-arch arm64" LDFLAGS+="-arch arm64" -v 
:info:build Exit code: 1 

Do not ask me why. Universal compatibility with all ports is not yet guaranty.

Best regards

Gilles Caulier
Comment 3 caulier.gilles 2025-05-09 15:42:43 UTC
Downstream bug : https://trac.macports.org/ticket/71699
Comment 4 caulier.gilles 2025-05-10 07:09:42 UTC
Git commit df5f5f9cb11ab0d213767e1782575cdc3f4ec612 by Gilles Caulier.
Committed on 10/05/2025 at 07:08.
Pushed by cgilles into branch 'master'.

add Main option to build universal bundle

M  +1    -1    project/bundles/macports/01-build-macports.sh
M  +3    -0    project/bundles/macports/config.sh

https://invent.kde.org/graphics/digikam/-/commit/df5f5f9cb11ab0d213767e1782575cdc3f4ec612
Comment 5 caulier.gilles 2025-08-08 11:24:58 UTC
A new entry from Macports which is broken using universal target :

https://trac.macports.org/ticket/72800
Comment 6 caulier.gilles 2025-08-10 07:49:46 UTC
Git commit 401fa00fca4b69cef224dd55a44f0fa82e7f85ec by Gilles Caulier.
Committed on 10/08/2025 at 07:48.
Pushed by cgilles into branch 'master'.

handle properly the universal configuration everywhere, eg. all cmake build target, install dir, and log file prefix.

M  +4    -4    project/bundles/macports/01-build-macports.sh
M  +1    -1    project/bundles/macports/02-build-extralibs.sh
M  +3    -3    project/bundles/macports/03-build-digikam.sh
M  +2    -2    project/bundles/macports/04-build-installer.sh
M  +21   -9    project/bundles/macports/config.sh
M  +4    -4    project/bundles/macports/makeall.sh
M  +5    -5    project/bundles/macports/update.sh

https://invent.kde.org/graphics/digikam/-/commit/401fa00fca4b69cef224dd55a44f0fa82e7f85ec