mavriq-dev / Mavriq-Lua-Batteries

GNU General Public License v3.0
9 stars 1 forks source link

Linux support #2

Open eureka-cpu opened 1 month ago

eureka-cpu commented 1 month ago

Hello, I'm wondering if linux support is still in the cards for this? I'm happy to contribute if pointed in the right direction as well. Thanks!

mavriq-dev commented 1 month ago

I didn't get much feedback for the project after putting in 100's of hours. So I never did finish things.

Reaper is missing some libraries that cause it to throw an error when loading an external library. So the fix is to load our own lua library that is the same version as the one in reaper that contains the missing symbols. I have built these for mac and for windows already and they included when you install Mavriq-Lua-Binaries.

Next the individual libraries need to be built using the correct version of Lua.

Then they can work in Reaper.

This repository uses a workflow to build the libraries, sometimes using lua rocks, sometimes other methods if needed. If you look at the workflow (Mavriq-Lua-Batteries/.gitub/workflows/mian.yml) you can see how many are built.

So the first step is building the correct version of lua in linux to match reaper. I think it is something like this:

  - name: Build Lua Lib
    run: |
      wget https://www.lua.org/ftp/lua-5.4.6.tar.gz
      tar -xvf lua-5.4.6.tar.gz 
      cd lua-5.4.6/src/
      sed -i '/MYCFLAGS=/ !b; s/$/ -fPIC/' Makefile
      sed -i '/MYLDFLAGS=/ !b; s/$/ -fPIC/' Makefile
      make linux
      cd -

Then get all the modules to build and test them in Linux.

I hope that make sense. IF you do get them to build, please send a pull request and I will happily merge. I never did update this for lua 5.4.6, but I did for Mavriq Lua Sockets. You may want to look at that repository for information, but keep in mind that it uses and outdated way of loading libraries etc. This one is more robust.

Thanks!

eureka-cpu commented 1 month ago

Really, this is incredible work. I was at a loss for how to build the plugin idea I had, and ended up just now completing the boilerplate using python but ideally I wouldn't have to force users to have python on their system and go through all the setup just to do something very simple such as sending some json over tcp. I'll have a look at some point after we release this plugin, so that way there are more options. 🙂

mavriq-dev commented 1 month ago

If you look at my Mavriq-Lua-Sockets, it is maintained and does allow for TCP. It doesn't have any json libraries, but for the most part json is pretty easy to hand manipulate. I think the json library in the Batteries package, may be pure Lua as well, so you could include that with your plugin (if so).

On Wed, Sep 11, 2024 at 1:09 AM @. @.> wrote:

Really, this is incredible work. I was at a loss for how to build the plugin idea I had, and ended up just now completing the boilerplate using python but ideally I wouldn't have to force users to have python on their system and go through all the setup just to do something very simple such as sending some json over tcp. I'll have a look at some point after we release this plugin, so that way there are more options. 🙂

— Reply to this email directly, view it on GitHub https://github.com/mavriq-dev/Mavriq-Lua-Batteries/issues/2#issuecomment-2342635406, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJYH265WP7BOXFO6FAPB5LZV7GATAVCNFSM6AAAAABN3OXBE6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNBSGYZTKNBQGY . You are receiving this because you commented.Message ID: @.***>

-- Geoff Van Brunt