Csound Csound-dev Csound-tekno Search About

[Csnd-dev] Supported Platforms

Date2024-01-02 18:28
FromSteven Yi
Subject[Csnd-dev] Supported Platforms
Hi All,

I'm looking at platforms for us to support, mainly using the criteria of what is supported by the platform maintainers (i.e., MS, Apple, Linux Distros) for LTS. If the platform maintainers are no longer supporting a version of an OS, then I think we are okay to drop support for it as well. 

The main impact from supporting these older platforms is that we should look at the version of dependencies they have available. For example, Debian 10 has CMake 3.13 as its last release available in its repo. 

From looking around I think we should support:

  * Unsure what version of Visual Studio we should set for support
* macOS 12 (Apple support current and last two versions of macOS: https://endoflife.date/macos)
* Linux
  * Debian 10 (https://wiki.debian.org/LTS)
  * Fedora 38 (from looking at https://pkgs.org/)
  * Ubuntu 20.04 (https://ubuntu.com/about/release-cycle)
  * OpenSuse 15.4
  * Arch (rolling release)
  
For architectures, I assume:
* x64 for Windows
* x86_64 + arm64 for macOS
* amd64 and arm64 for Linux

For desktop systems, am I missing anything? If we can finalize the supported platforms, we can then look at dependencies for versions we should be using. 

For Mobile, we have iOS and Android. I have not kept up with either to know what platforms are the minimums we should support, but we should also document and keep those up to date. 

For the web, we have some control via Nix for toolchain versioning for building WASM Csound. There is an open PR for adding back in Emscripten support that we'll need to resolve. However, I think we'll likely be more limited by earlier Linux Desktop platforms more than anything in regards to tools and library versions. 

For embedded (e.g., Bela, baremetal, RPi), I'm not on those platforms so I need suggestions from others for what to add for supported platform documentation. 

Thanks!
Steven






Date2024-01-02 21:18
FromStephen Kyne
SubjectRe: [Csnd-dev] Supported Platforms
It would be good to know what is the minimum Cmake version to use is. There are some features that would be nice to have but I think we're limited by older Linux distros.

Stephen


From: Csound-developers <CSOUND-DEV@LISTSERV.HEANET.IE> on behalf of Steven Yi <stevenyi@GMAIL.COM>
Sent: Tuesday 2 January 2024 19:28
To: CSOUND-DEV@LISTSERV.HEANET.IE <CSOUND-DEV@LISTSERV.HEANET.IE>
Subject: [Csnd-dev] Supported Platforms
 
Hi All,

I'm looking at platforms for us to support, mainly using the criteria of what is supported by the platform maintainers (i.e., MS, Apple, Linux Distros) for LTS. If the platform maintainers are no longer supporting a version of an OS, then I think we are okay to drop support for it as well. 

The main impact from supporting these older platforms is that we should look at the version of dependencies they have available. For example, Debian 10 has CMake 3.13 as its last release available in its repo. 

From looking around I think we should support:

  * Unsure what version of Visual Studio we should set for support
* macOS 12 (Apple support current and last two versions of macOS: https://endoflife.date/macos)
* Linux
  * Debian 10 (https://wiki.debian.org/LTS)
  * Fedora 38 (from looking at https://pkgs.org/)
  * Ubuntu 20.04 (https://ubuntu.com/about/release-cycle)
  * OpenSuse 15.4
  * Arch (rolling release)
  
For architectures, I assume:
* x64 for Windows
* x86_64 + arm64 for macOS
* amd64 and arm64 for Linux

For desktop systems, am I missing anything? If we can finalize the supported platforms, we can then look at dependencies for versions we should be using. 

For Mobile, we have iOS and Android. I have not kept up with either to know what platforms are the minimums we should support, but we should also document and keep those up to date. 

For the web, we have some control via Nix for toolchain versioning for building WASM Csound. There is an open PR for adding back in Emscripten support that we'll need to resolve. However, I think we'll likely be more limited by earlier Linux Desktop platforms more than anything in regards to tools and library versions. 

For embedded (e.g., Bela, baremetal, RPi), I'm not on those platforms so I need suggestions from others for what to add for supported platform documentation. 

Thanks!
Steven






Date2024-01-02 21:20
FromSteven Yi
SubjectRe: [Csnd-dev] Supported Platforms
As far as I can tell 3.13.4 is the lowest version I can find for the linux distros I mentioned:

https://pkgs.org/download/cmake

I think other platforms have newer versions available, but someone feel free to correct me if I'm wrong. 

On Tue, Jan 2, 2024 at 4:18 PM Stephen Kyne <stevek@outlook.ie> wrote:
It would be good to know what is the minimum Cmake version to use is. There are some features that would be nice to have but I think we're limited by older Linux distros.

Stephen


From: Csound-developers <CSOUND-DEV@LISTSERV.HEANET.IE> on behalf of Steven Yi <stevenyi@GMAIL.COM>
Sent: Tuesday 2 January 2024 19:28
To: CSOUND-DEV@LISTSERV.HEANET.IE <CSOUND-DEV@LISTSERV.HEANET.IE>
Subject: [Csnd-dev] Supported Platforms
 
Hi All,

I'm looking at platforms for us to support, mainly using the criteria of what is supported by the platform maintainers (i.e., MS, Apple, Linux Distros) for LTS. If the platform maintainers are no longer supporting a version of an OS, then I think we are okay to drop support for it as well. 

The main impact from supporting these older platforms is that we should look at the version of dependencies they have available. For example, Debian 10 has CMake 3.13 as its last release available in its repo. 

From looking around I think we should support:

  * Unsure what version of Visual Studio we should set for support
* macOS 12 (Apple support current and last two versions of macOS: https://endoflife.date/macos)
* Linux
  * Debian 10 (https://wiki.debian.org/LTS)
  * Fedora 38 (from looking at https://pkgs.org/)
  * Ubuntu 20.04 (https://ubuntu.com/about/release-cycle)
  * OpenSuse 15.4
  * Arch (rolling release)
  
For architectures, I assume:
* x64 for Windows
* x86_64 + arm64 for macOS
* amd64 and arm64 for Linux

For desktop systems, am I missing anything? If we can finalize the supported platforms, we can then look at dependencies for versions we should be using. 

For Mobile, we have iOS and Android. I have not kept up with either to know what platforms are the minimums we should support, but we should also document and keep those up to date. 

For the web, we have some control via Nix for toolchain versioning for building WASM Csound. There is an open PR for adding back in Emscripten support that we'll need to resolve. However, I think we'll likely be more limited by earlier Linux Desktop platforms more than anything in regards to tools and library versions. 

For embedded (e.g., Bela, baremetal, RPi), I'm not on those platforms so I need suggestions from others for what to add for supported platform documentation. 

Thanks!
Steven