nelson-lang / nelson

The Nelson Programming Language
https://nelson-lang.github.io/nelson-website/
GNU Lesser General Public License v3.0
89 stars 16 forks source link

Mac arm64 Automated Binaries #1093

Open evertoncolling opened 4 months ago

evertoncolling commented 4 months ago

Is your feature request related to a problem? Please describe. Currently, Mac users who wish to test Nelson must build it from source. This process is time-consuming and poses a barrier to entry for users not familiar with building software from source, potentially limiting the testing and adoption of Nelson on the Mac platform.

Describe the solution you'd like Automated builds specifically for Mac arm64 architecture. This would make Nelson more accessible to a wider audience.

Describe alternatives you've considered N/A

Additional context I successfully built Nelson in my Mac M1 Pro several months ago, which allowed me to test its features. However, with each new release, repeating this manual build process requires significant time and effort.

Nelson-numerical-software commented 4 months ago

Hi,

At the moment, my access to MacOS devices is restricted. I can perform CI builds, and I utilize MacOS when feasible. I'm need to look into .dmg packaging through the cmake process, aiming to include all dependencies within the packages.

I anticipate proper MacOS support for version 2.0. You can find more details in the roadmap: https://github.com/nelson-lang/nelson/blob/4a02d059066ccff47ffd1f332e4e601d636b56a2/ROADMAP.md?plain=1#L12

I will start this packaging next month for v1.3 ;)

(contributions and feedback are welcome)

Nelson-numerical-software commented 4 months ago

https://www.kitware.com/creating-mac-os-x-packages-with-cmake/ https://cmake.org/cmake/help/v3.5/module/CPackDMG.html

macos packaging is a hell compared to debian or windows. It will require some scripts to automatize this task (embed dependencies ...) I will be begin in v1.3 but it will take more time to have a stable version. Only arm target and sonoma will be supported

Nelson-numerical-software commented 4 months ago

Here the plan. Not perfect but step by step 1] update cmakefiles to easily package (v1.3) 2] expose build as .tar.gz (v1.3) 3] creates brew formula (v1.4) 4] expose brew formula (v1.4) 5] packaging as .dmg (v2.0) a real dmg package to be published/codesigning require a apple developper account 99$/year

stay tuned :)

Nelson-numerical-software commented 3 months ago

libffi was not correctly detected with brew formula (my fault ...) it will report packaging in brew to 1.4 build macos exposed as result: https://github.com/nelson-lang/nelson/actions/runs/8493025349/artifacts/1371828902

Nelson-numerical-software commented 2 months ago
CMake Error at CMake/FfiConfig.cmake:20 (message):
  Brew reported an error:

  .

  Please resolve this error.
Call Stack (most recent call first):
  CMakeLists.txt:231 (include)

brew install nelson.rb fails again with 1.4 - boring - ...

Nelson-numerical-software commented 6 days ago

postponed (sorry), no more access to an physical mac arm64