Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add windows support - see (#602) #922

Closed
wants to merge 0 commits into from
Closed

add windows support - see (#602) #922

wants to merge 0 commits into from

Conversation

ghost
Copy link

@ghost ghost commented Mar 18, 2021

See (#602) for details. All credit goes to @JCapucho.

My changes are:

  • rebasing against master
  • making rodio the default background (platform-independent) & update windows-specific dependencies
  • making the default config location based on directories without a fallback + a bit of logging

Feel free to change whatever! I've really only tested compiling this with msvc, but it works for me.

@ghost ghost closed this Mar 24, 2021
@ghost
Copy link
Author

ghost commented Mar 24, 2021

I wanted to clean this up a little - will reopen at a later date.

@Alexhuszagh
Copy link

Alexhuszagh commented Apr 5, 2021

@frankmoskal This doesn't seem to work: a great example is daemonize doesn't support Windows. There's a lot of imports that simply aren't supported on Windows, like use std::os::unix, and I'm not sure how to clean that up without a substantial rewrite.

Not sure how you got it to compile, but I'd be very happy if you could share. I'm using Rust 1.51.0 for x86_64-pc-windows-msvc and MSVC 2019 x86_64.

@Alexhuszagh
Copy link

Alexhuszagh commented Apr 5, 2021

Ok the dependencies that don't seem to work are as follows:

  • syslog (a Unix-only system logger)
  • dbus, dbus-tokio (optional, no big issue)
  • alsa (optional, not used for our backend)
  • daemonize

Other dependencies that fail after compilation include:

  • xdg (Unix only, used for BaseDirectories)

And the function in get_shell_ffi src/utils.rs is currently not supported on Windows.

The main issue is daemonize, which seems to be unmaintained, Unix-specific, and may take some work to port over. syslog v5 supports Windows, while v4 and v4.0.1 only support Unix.

@Alexhuszagh
Copy link

I'm unsure of how we'd port daemonize, since the original relies on fcntl for the Python source, which is Unix-specific, just like the port.

@ghost
Copy link
Author

ghost commented Apr 6, 2021

@Alexhuszagh You'll actually want to look at frankmoskal-windows-dev - I moved things over to that branch after closing this MR to make things a bit easier on my end.

@Alexhuszagh
Copy link

@frankmoskal Ah my bad, I didn't see anything obvious in the branch list and just assumed it was on master.

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant