itchio / dash

💨 dash figures out how to run something
MIT License
3 stars 3 forks source link

Ability to search for & launch Mono executables on all platforms #1

Open aaronfranke opened 6 years ago

aaronfranke commented 6 years ago

See also: https://github.com/itchio/itch/issues/1606 https://github.com/OpenRA/OpenRA/pull/14703 https://github.com/ZeroK-RTS/Zero-K-Infrastructure/issues/2076

I don't see any .go files mentioning Mono. Currently, I have to pass Itch mono game.exe in the manifest with my own symlink to mono. It should be able to directly handle game.exe (or look for it).

If this isn't what dash is for, I apologize. I'm making assumptions of what this tool does :)

fasterthanlime commented 6 years ago

That is indeed what dash is for :)

It's only useful if butlerd knows how to launch it though (well, it might be able to accurately identify things we can't launch to show better error message, but..)

I haven't completely made up my mind regarding mono: I really really like it when games package their own runtime (via monokickstart & similar) because there's no nasty surprises for folks who download via web, it's all neatly self-contained.

It's not out of the question to finally add a mono prereq (for all 3 platforms) and start supporting this first-class, but I think that's one feature I'll keep for after v25 (alread wayy too many balls in the air right now).

fasterthanlime commented 6 years ago

Note that even though we don't have a mono prereq, dash will properly identify .NET assemblies:

 bleed ツ butler configure . --no-filter
• Not filtering, by request
✓ Configured in 84.648427ms
✓ Final candidates are:
| 98 MiB .
|-- 486 B data/Bleed script- sh(interpreter=/bin/bash)
|-- 12 MiB data/Bleed.bin.x86 linux-386
|-- 15 MiB data/Bleed.bin.x86_64 linux-amd64
|-- 6.7 MiB data/Bleed.exe windows-386 win(dotNet)
|-- 1.3 MiB data/lib/libSDL2-2.0.so.0 linux-386
|-- 182 KiB data/lib/libmojoshader.so linux-386
|-- 608 KiB data/lib/libopenal.so.1 linux-386
|-- 1.3 MiB data/lib64/libSDL2-2.0.so.0 linux-amd64
|-- 188 KiB data/lib64/libmojoshader.so linux-amd64
|-- 620 KiB data/lib64/libopenal.so.1 linux-amd64
|-- 26 KiB guis/libmojosetupgui_gtkplus2.so linux-386
|-- 38 KiB meta/xdg-utils/xdg-desktop-menu script- sh(interpreter=/bin/sh)
|-- 2.7 KiB meta/xdg-utils/xdg-open script- sh(interpreter=/bin/sh)

(this is Bleed)