luckyframework / lucky

A full-featured Crystal web framework that catches bugs for you, runs incredibly fast, and helps you write code that lasts.
https://luckyframework.org
MIT License
2.57k stars 156 forks source link

Support Native Windows #1746

Open jwoertink opened 1 year ago

jwoertink commented 1 year ago

With Crystal almost at 100% support on native Windows, it's about time to start looking in to making Lucky run natively as well. This will most like require a minimum of Crystal 1.6 to work.

These are the shards that will need to be ported:

mdwagner commented 1 year ago

I think another hat to throw in the ring is eventual WebAssembly (or WASI) support. Probably partly related to this, but also might be a little more off, not sure.

diego-crespo commented 1 year ago

For what it's worth I just tried building Lucky on Windows 10 manually and it failed at the shards build step with this error. I know this work isn't done so hopefully this is a useful datapoint. Looking forward to seeing Windows support soon!

Error target lucky failed to compile:
Showing last frame. Use --error-trace for full trace.

In lib\teeplate\src\lib\file_tree.cr:8:10

 8 | {{ run(__DIR__ + "/file_tree/macros/directory", dir.id) }}
        ^--
Error: error executing macro 'run':

https://imgur.com/a/fksmfzl

Crystal 1.8.1 [a59a3db] (2023-04-20)

LLVM: 15.0.7 Default target: x86_64-pc-windows-msvc

mdwagner commented 1 year ago

For what it's worth I just tried building Lucky on Windows 10 manually and it failed at the shards build step with this error. I know this work isn't done so hopefully this is a useful datapoint. Looking forward to seeing Windows support soon!

Error target lucky failed to compile:
Showing last frame. Use --error-trace for full trace.

In lib\teeplate\src\lib\file_tree.cr:8:10

 8 | {{ run(__DIR__ + "/file_tree/macros/directory", dir.id) }}
        ^--
Error: error executing macro 'run':

https://imgur.com/a/fksmfzl

Crystal 1.8.1 [a59a3db] (2023-04-20)

LLVM: 15.0.7 Default target: x86_64-pc-windows-msvc

Yeah, I'm already aware of this issue. Still working on a fix.

At this point, we just need these shards working on Windows first, then we can start fixing things internal to Lucky.