Description
It would be great if liblsl could be installed simply with a one-liner on Mac and Linux platforms, and with an installer on Windows.
- Debian:
apt-get install liblsl
- Mac:
brew install labstreaminglayer/tap/lsl
- Windows: chocolatey? NuGet? winget? Just a good installer? Please not vcpkg.
- conda:
conda install -c conda-forge liblsl
- Android - pydroid needs "python-for-android" recipe
Debian / Ubuntu
The ultimate goal is to get liblsl into the official list of managed Debian packages. But that might take some time and requires mentorship and sponsorship.
In the interim, we can setup our own PPA that users can add, then they can install and update liblsl like any other package. What's the equivalent for raspbian?
More info:
Mac
We now have our own Tap: https://github.com/labstreaminglayer/homebrew-tap. This has a formula for liblsl and LabRecorder. We can add other formulae too. It would be nice if LabRecorder was a cask so it was added to /Applications, but that can come later.
Would we ever want to request to move the liblsl formula to homebrew/core
? They've deprecated homebrew/science. They have brewsci/science but I'm not sure this is better for us than labstreaminglayer/tap
.
Windows
The benefits to putting LSL into a package manager in Windows are small relative to the other platforms because the available package managers (in their simplest use-case) don't put libraries on the PATH. So this would only benefit developers. This isn't a bad goal, but liblsl is already pretty easy to get for any Windows developer so the gains here are small(er).
Discussion on NuGet package: labstreaminglayer/liblsl-Csharp#17
I think we should work toward making an installer (.exe or .msi) and install to Program Files. Once that's in place then we can think about distribution via chocolatey or winget, both of which can be used as an installer delivery service.
Conda
There's already a conda-build file thanks to @tstenner. I think Tristan has a conda channel setup but we should probably make a labstreaminglayer org conda channel, then we can manage multiple applications there without hijacking Tristan's credentials.
Or even better would be to get it in conda-forge: conda-forge/staged-recipes#15252
More info: