Skip to content

Improve scijava.platform.* properties for native artifact classifiers #30

Description

@ctrueden

A particular goal is to make Mac M1 better supported. E.g. #29 sets the scijava.platform.bits to 64, but the architecture name is really arm64. See the #29 comment thread for important details here.

An example project in the SciJava umbrella that would benefit from these improvements is FLIMLib; see flimlib/flimlib#60.


@mkitti wrote:

It would be nice if we could align some of the definitions with those of other communities. For example, here are the platforms where Zulu openjdk 11 is available on conda-forge.

I'm not sure if I really under their architectures that well myself, but perhaps someone at https://gitter.im/conda-forge/conda-forge.github.io might be able to provide more information.

Over in Julia, we use a cross-compilation framework to support these platforms. The framework is not exclusive to Julia, so this could be useful if you want to support a wide variety of platforms with a single build recipe.

julia> using BinaryBuilder

julia> supported_platforms()
16-element Vector{Platform}:
 Linux i686 {libc=glibc}
 Linux x86_64 {libc=glibc}
 Linux aarch64 {libc=glibc}
 Linux armv6l {call_abi=eabihf, libc=glibc}
 Linux armv7l {call_abi=eabihf, libc=glibc}
 Linux powerpc64le {libc=glibc}
 Linux i686 {libc=musl}
 Linux x86_64 {libc=musl}
 Linux aarch64 {libc=musl}
 Linux armv6l {call_abi=eabihf, libc=musl}
 Linux armv7l {call_abi=eabihf, libc=musl}
 macOS x86_64
 macOS aarch64
 FreeBSD x86_64
 Windows i686
 Windows x86_64

julia> triplet.(supported_platforms())
16-element Vector{String}:
 "i686-linux-gnu"
 "x86_64-linux-gnu"
 "aarch64-linux-gnu"
 "armv6l-linux-gnueabihf"
 "armv7l-linux-gnueabihf"
 "powerpc64le-linux-gnu"
 "i686-linux-musl"
 "x86_64-linux-musl"
 "aarch64-linux-musl"
 "armv6l-linux-musleabihf"
 "armv7l-linux-musleabihf"
 "x86_64-apple-darwin"
 "aarch64-apple-darwin"
 "x86_64-unknown-freebsd"
 "i686-w64-mingw32"
 "x86_64-w64-mingw32"

https://binarybuilder.org/
https://github.com/JuliaPackaging/Yggdrasil (recipe repository)
On Windows, I'm starting to anticipate the need to do distinct UCRT builds in a few years.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions