Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add arm64 linux build #69

Open
MaximilianGaedig opened this issue Sep 5, 2023 · 4 comments
Open

Add arm64 linux build #69

MaximilianGaedig opened this issue Sep 5, 2023 · 4 comments

Comments

@MaximilianGaedig
Copy link

MaximilianGaedig commented Sep 5, 2023

First of all, thank you for your amazing work, it's amazing what Tridactyl does with all the limitations for extensions.

There is currently no binary for arm64/aarch64 on linux, this is important for Asahi Linux users for example, it would be nice if they could be build in the releases.

For this a Nim nightly propably needs to be used.

I have compiled a linux aarch64 executable on my machine build in release mode (nimble -d:release), I advise you to build it yourself but if you want to trust me here it is:
native_main.zip

@sahinakkaya
Copy link

Having the same problem. It is fixed after manually building myself. Here is my system information just for the records:

OS: Arch Linux ARM aarch64
Host: Apple MacBook Pro (14-inch, M2 Pro, 2023)
Kernel: 6.5.0-asahi-15-1-edge-ARCH

@bovine3dom
Copy link
Member

Do you know what we would need to change about this line?

nimble build -d:debug -Y --cpu:arm

I think that makes it work for pinebooks but I'm not certain

@sahinakkaya
Copy link

Do you know what we would need to change about this line?

nimble build -d:debug -Y --cpu:arm

I think that makes it work for pinebooks but I'm not certain

I don't know if this is obvious but if I do

nimble build -d:debug -Y --cpu:arm64

I can use the resulting executable in my system without any problem

@sahinakkaya
Copy link

ChatGPT came up with this. I don't know a single thing about nim but it looks promising to me:

steps:
      - name: Check CPU architecture
        id: check_arch
        run: |
          if [[ $(arch) == "aarch64" ]]; then
            echo "::set-output name=cpu::arm64"
          else
            echo "::set-output name=cpu::armhf"
          fi

      - name: Install dependencies and build
        run: |
          if [[ "${{ steps.check_arch.outputs.cpu }}" == "arm64" ]]; then
            nimble build -d:debug -Y --cpu:arm64
            mv native_main native_main-arm64
            file native_main-arm64
          else
            sudo apt-get install gcc-arm-linux-gnueabihf
            nimble build -d:debug -Y --cpu:arm
            mv native_main native_main-armhf
            file native_main-armhf
          fi
        if: runner.os == 'Linux'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants