Fix mac os nightly builds#379
Conversation
|
|
Hi @jakenvac, In your PR , some shell scripts are modified for only a CI context. But those shell scripts are also used to build by hand a MacOS X package of Ansel. And by modifying only a couple of scripts used in a chain of build, this chain is then broken. In order to fix this chain, could you please modify also the following scripts in the packaging/macosx/ directory:
|
|
I have submitted PR #391 that fixes the issue with ICU in the Mac build |
|
@mmoqui Apologies for the delay in my response, I took some time away over xmas. Thanks for the feedback, if I can find the time, I will address your comments. |
|
Hi Sorry - I haven't had any time to get to this and probably won't in the foreseeable future. I'm happy for someone else to take over my work if they want to. |
The MacOS X dedicated build script 2_build_hb_ansel_custom.sh is updated to take into account the new installation directory (in $PROJECT_DIR/install). This script, as well as the 1_install_hb_dependencies.sh script, aren't to be used by the CI. These are for users wishing build Ansel by hand onto their Mac machine. So, the script 2_build_hb_ansel_custom.sh fetches the version of MacOS X to pass it to the cmake statement (instead of given a hard coded value corresponding to the minimum expected version of MacOS X).
The MacOS X dedicated build script 2_build_hb_ansel_custom.sh is updated to take into account the new installation directory (in $PROJECT_DIR/install). This script, as well as the 1_install_hb_dependencies.sh script, aren't to be used by the CI. These are for users wishing build Ansel by hand onto their Mac machine. So, the script 2_build_hb_ansel_custom.sh fetches the version of MacOS X to pass it to the cmake statement (instead of given a hard coded value corresponding to the minimum expected version of MacOS X). Update also the CI script used to check pull requests so that the build of Ansel for MacOS X is also executed.
The MacOS X dedicated build script 2_build_hb_ansel_custom.sh is updated to take into account the new installation directory (in $PROJECT_DIR/install). This script, as well as the 1_install_hb_dependencies.sh script, aren't to be used by the CI. These are for users wishing build Ansel by hand onto their Mac machine. So, the script 2_build_hb_ansel_custom.sh fetches the version of MacOS X to pass it to the cmake statement (instead of given a hard coded value corresponding to the minimum expected version of MacOS X). Update also the CI script used to check pull requests so that the build of Ansel for MacOS X is also executed.
The MacOS X dedicated build script 2_build_hb_ansel_custom.sh is updated to take into account the new installation directory (in $PROJECT_DIR/install). This script, as well as the 1_install_hb_dependencies.sh script, aren't to be used by the CI. These are for users wishing build Ansel by hand onto their Mac machine. So, the script 2_build_hb_ansel_custom.sh fetches the version of MacOS X to pass it to the cmake statement (instead of given a hard coded value corresponding to the minimum expected version of MacOS X). Update also the CI script used to check pull requests so that the build of Ansel for MacOS X is also executed.
The MacOS X dedicated build script 2_build_hb_ansel_custom.sh is updated to take into account the new installation directory (in $PROJECT_DIR/install). This script, as well as the 1_install_hb_dependencies.sh script, aren't to be used by the CI. These are for users wishing build Ansel by hand onto their Mac machine. So, the script 2_build_hb_ansel_custom.sh fetches the version of MacOS X to pass it to the cmake statement (instead of given a hard coded value corresponding to the minimum expected version of MacOS X). Update also the CI script used to check pull requests so that the build of Ansel for MacOS X is also executed. The Debug build type is removed for MacOS X because the uint64_t type is an unsigned long long on MacOS X whereas it is an unsigned long in other platforms and the debug messages in the code use values of type uint64_t (hence the build for the debug build type fails).
The MacOS X dedicated build script 2_build_hb_ansel_custom.sh is updated to take into account the new installation directory (in $PROJECT_DIR/install). This script, as well as the 1_install_hb_dependencies.sh script, aren't to be used by the CI. These are for users wishing build Ansel by hand onto their Mac machine. So, the script 2_build_hb_ansel_custom.sh fetches the version of MacOS X to pass it to the cmake statement (instead of given a hard coded value corresponding to the minimum expected version of MacOS X). Update also the CI script used to check pull requests so that the build of Ansel for MacOS X is also executed. The Debug build type is removed for MacOS X because the uint64_t type is an unsigned long long on MacOS X whereas it is an unsigned long in other platforms and the debug messages in the code use values of type uint64_t (hence the build for the debug build type fails).
The MacOS X dedicated build script 2_build_hb_ansel_custom.sh is updated to take into account the new installation directory (in $PROJECT_DIR/install). This script, as well as the 1_install_hb_dependencies.sh script, aren't to be used by the CI. These are for users wishing build Ansel by hand onto their Mac machine. So, the script 2_build_hb_ansel_custom.sh fetches the version of MacOS X to pass it to the cmake statement (instead of given a hard coded value corresponding to the minimum expected version of MacOS X). Update also the CI script used to check pull requests so that the build of Ansel for MacOS X is also executed. The Debug build type is removed for MacOS X because the uint64_t type is an unsigned long long on MacOS X whereas it is an unsigned long in other platforms and the debug messages in the code use values of type uint64_t (hence the build for the debug build type fails).
|
Closing in favor of @mmoqui's work. Thanks for picking this up. |



I've managed to get mac os nightly builds working, but with a couple of caveats. (screenshots below)
I'm not really familiar with CMake or how it works so I'm sure this is very hacky. A lot of what I came up with in
ci-script-mac.shwas trial and error. Any guidance is much appreciated.Caveats:
Ansel--arm64.dmgneed to use tag to insert versionAny advice of what else needs to be done to get this merged would be greatly appreciated.
You can see the github action on my fork producing a build here:
https://github.com/jakenvac/ansel/actions/runs/11742245723/job/32712579211
And you can download the release from my fork here:
https://github.com/jakenvac/ansel/releases/download/v0.0.0/Ansel--arm64.dmg
screenshots:

