Shizcow / dmenu-rs

A pixel perfect port of dmenu, rewritten in Rust with extensive plugin support
GNU General Public License v3.0
200 stars 9 forks source link

Conflict with dmenu-manjaro #3

Closed flamendless closed 4 years ago

flamendless commented 4 years ago

Trying to install from AUR in my Manjaro i3wm machine gives this error

dmenu-rs and dmenu-manjaro are in conflict (dmenu). Remove dmenu-manjaro? [y/N] y
error: failed to prepare transaction (could not satisfy dependencies)
removing dmenu-manjaro breaks dependency 'dmenu-manjaro' required by manjaro-i3-settings
Shizcow commented 4 years ago

Interesting. I don't use manjaro, so forgive me if this advice is misguided. Can you try something for me? When you install from the AUR, edit the PKGBUILD of dmenu-rs to include:

provides=("dmenu" "dmenu-xft")

If that doesn't work, try:

provides=("dmenu" "dmenu-manjaro")

Of course these are not permanent solution, but it should help narrow down exactly where the issue is. If it's the first one, that's easy. If it's the second one, I might need to tweak some build scripts to include missing features.

flamendless commented 4 years ago

I've tried both, both does not work. I still get the same error message.

the command I run is yay -S --editmenu dmenu-rs

Shizcow commented 4 years ago

Ah, I was assuming you were using pacman instead of yay. I have no idea how yay works, so I can't help you there. However, the recommended way for installing aur packages on Manjaro seems to be through pacman. Give this a try.

flamendless commented 4 years ago

yay is just a wrapper around for pacman for installing AUR packages.

maximbaz commented 4 years ago

@Shizcow your PKGBUILD is doing the right thing, it has conflicts=(dmenu) and provides=(dmenu), that's all you need to have in order to provide a proper dmenu reimplementation.

Judging by the error message, dmenu-manjaro also provides dmenu, so that is probably correct too. What is causing the problem is the fact that manjaro-i3-settings requires not just any dmenu as dependency, but very specifically dmenu-manjaro. Basically it says that it will not work with any other dmenu implementation other than dmenu-manjaro. So that package prevents users from using any other dmenu implementations except dmenu-manjaro.

There's no way around this besides talking to guys who create manjaro-i3-settings, either it must depend on dmenu instead of dmenu-manjaro, or dmenu-manjaro must rename its binary and stop providing dmenu, but in any case there's nothing to be done from this project's point of view 🙂


Speaking of your AUR package, please have a look at VCS packaging guidelines, for example, your package should have been named dmenu-rs-git. You can submit a new AUR package, and then on the existing one click "Submit request" - "Merge into dmenu-rs-git" - or convert your PKGBUILD to compile from the latest release, not from the master branch 🙂

Shizcow commented 4 years ago

@maximbaz thanks for the info, and that clears up my confusion. What about providing a separate pkgbuild on the aur as dmenu-rs-manjaro that provides dmenu-manjaro? I don't have an issue adding Manjaro support via conditional compilation if it's relatively simple.

As for the VCS packaging guidelines, I'll edit shortly to fall into compliance. Thanks for the heads up.

maximbaz commented 4 years ago

As far as I know AUR prohibits manjaro-specific packages that are not intended for regular Arch users... But also, we must really consider why manjaro-i3-settings did specify dmenu-manjaro dependency explicitly, it's completely possible that dmenu-manjaro is implementing some additional features that do not exist in vanilla dmenu, and manjaro-i3-settings depends on those extra features, so installing dmenu-rs will truly break manjaro-i3-settings.

Shizcow commented 4 years ago

Exactly, and that's why I mentioned adding Manjaro support if it's simple. That being said I can't find the proper place this should be uploaded if not from the aur. Manjaro's gitlab seems to be where these packages usually reside, and I'd imagine it wouldn't be easy getting them to sign off on this.

maximbaz commented 4 years ago

I don't know exactly who to contact for Manjaro support, but I'd suggest you (or maybe @flamendless?) to abstract from dmenu-rs and simply figure out why community/dmenu cannot be installed together with manjaro-i3-settings (because pacman will show the exact same conflict error). Once community/dmenu can be installed, so can dmenu-rs 🙂

Shizcow commented 4 years ago

Adding help wanted label for manjaro users or others interested in adding manjaro support. Exactly what features does dmenu-manjaro give that community/dmenu does not?

flamendless commented 4 years ago

I wish i could help. But im not knowledga enough to do those things. But if theres sufficient info that i could follow or steps, I'll be more than happy to spend time helping.

Shizcow commented 4 years ago

Thanks for the offer to help. I have some other projects to attend to at the moment, but I'll return to this thread when I have a proper plan of attack.

asdf8dfafjk commented 4 years ago

I can endorse content of https://github.com/Shizcow/dmenu-rs/issues/3#issuecomment-650754957

Shizcow commented 4 years ago

I've learned a bit about dmenu-manjaro. Looks like there's a whole slew of rendering features, as well as a shell script that helps with configuration. No plans to address this issue. However, a migration away from xlib is in order -- I anticipate changes made along the way will help out here.

Shizcow commented 4 years ago

There's been too little traffic on this issue -- closing as wontfix for the foreseeable future.