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

Fix Anvil build #179

Merged
merged 2 commits into from
Apr 13, 2020
Merged

Fix Anvil build #179

merged 2 commits into from
Apr 13, 2020

Conversation

Siborgium
Copy link
Contributor

@Siborgium Siborgium commented Apr 12, 2020

Add backend_libinput_udev feature to Smithay
This feature enables backend_libinput, backend_udev and input/udev features.
Use backend_libinput_udev feature in Anvil to fix build

This feature enables backend_libinput, backend_udev and input/udev features.
Use `backend_libinput_udev` feature in Anvil to fix build
@Siborgium Siborgium changed the title Add backend_libinput_udev feature to Smithay Fix Anvil build Apr 12, 2020
@Siborgium Siborgium mentioned this pull request Apr 12, 2020
@Siborgium Siborgium marked this pull request as ready for review April 12, 2020 09:58
@elinorbgr elinorbgr requested a review from Drakulix April 12, 2020 09:58
@Drakulix
Copy link
Member

Could you change this PR to make anvil depends on input and input/udev instead? We do not need the feature in smithay to expose any new functionality, it would be just there for the re-export. So in my eyes this is a problem the compositor needs to deal with instead.

@Siborgium
Copy link
Contributor Author

However, there is little sense in importing another crate just for the sake of one feature. If user needs functionality behind "input/udev", they'd be required to dig into Smithay manifest and look up what features are enabled. Exposing guts to everyone isn't good imo, especially since input and udev are expected to be frequently combined together.

That's what I thought.

@elinorbgr
Copy link
Member

However, there is little sense in importing another crate just for the sake of one feature. If user needs functionality behind "input/udev", they'd be required to dig into Smithay manifest and look up what features are enabled.

Currently, the user is responsible for initializing the Libinput context anyway, so given the current status, I think having the user enable the feature itself makes sense. Documentation should made be clear about that though.

That said, I think it would make sense to provide in Smithay some glue code to automatically initialize a libinput context and link it to a Session and the UdevBackend. In such case, a backend_libinput_udev would definitely make sense, as we cannot simply trigger the input/udev feature whenever both backend_udev and backend_libinput are enabled, due to cargo limitations: rust-lang/cargo#3494

Though this would probably be easier done once we revamp the signalling framework.

@Siborgium
Copy link
Contributor Author

Fine then, I'll push patch in a second.

Add input 0.5.0 dependency to Anvil
Enable input/udev feature

For info see #179
@Drakulix Drakulix merged commit 328dd59 into Smithay:upgrade/udev-04 Apr 13, 2020
@Siborgium Siborgium deleted the upgrade/udev-04-fix-anvil branch April 13, 2020 14:50
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.

3 participants