Package Details: kanshi-git r73.823cdb0-2

Git Clone URL: https://aur.archlinux.org/kanshi-git.git (read-only)
Package Base: kanshi-git
Description: Dynamic display configuration for WMs like i3/sway
Upstream URL: https://github.com/emersion/kanshi
Keywords: wayland
Licenses: MIT
Conflicts: kanshi
Provides: kanshi
Submitter: lowercase
Maintainer: None
Last Packager: bwidawsk
Votes: 5
Popularity: 0.974893
First Submitted: 2019-03-19 14:21
Last Updated: 2019-09-09 16:01

Dependencies (6)

Required by (1)

Sources (1)

Latest Comments

eschwartz commented on 2019-09-23 20:05

I'd simplify your definition.

There are two ways pacman checks if a dependency is satisfied:

  • The dependency is satisfied by an installed package. All actual packages must contain version metadata.

  • If the dependency is not satisfied by a package, check if it is satisfied by a virtual package created by an installed package with the provides metadata.

    • If the virtual package contains optional version metadata, the virtual package can satisfy a versioned dependency.

    • If the virtual package does not contain optional version metadata, the virtual package cannot satisfy a versioned dependency.

Ferdi265 commented on 2019-09-23 18:08

I decided I'd look into why pacman doesn't allow wlroots-git even though it provides wlroots.

* one deep dive into the pacman source later *

What actually happens

There are two ways in which pacman checks if a dependency is satisfied:

  • literal check: the package wlroots is installed
    • => pacman compares versions
  • provides check: a package providing wlroots is installed
    • if dependency check asks for any version:
      • => return true
    • if provides section of the package specifies a version:
      • => pacman compares versions
    • else:
      • => return false

the comparison against wlroots>=0.7 runs into the latter case:

  • wlroots-git provides wlroots (no specified version)
    • => ergo, only comparisons without specific versions succeed
Possible Solutions and Workarounds
change kanshi-git (workaround)

depend on wlroots instead of wlroots>=0.7

change wlroots-git

(see edit) ~~change the provides line to provides=('wlroots==0.7.0') or anything involving $pkgver.~~

(see edit) ~~I don't know if that can be generated from git like pkgver().~~

EDIT: that doesn't seem to be valid syntax according to makepkg
EDIT2: manually setting provides to wlroots==0.7.0 after the package has been built works though, so not allowing this is a bug in makepkg
EDIT3: answer from makepkg developer: not a bug, the syntax should be wlroots=0.7.0, further discussion in the bug tracker: https://bugs.archlinux.org/task/63895

bwidawsk commented on 2019-09-10 15:00

@naibafo: I'm somewhat ignorant to the build system, but I had assumed wlroots-git would have satisfied the wlroots>=0.7 dep. Not sure if wlroots-git package should say it provides wlroots??

I've disowned the package because I personally want a release version, and only used this, and maintained this until 1.0.

naibafo commented on 2019-09-10 11:55

Why did you remove the alternative dependency on wlroots-git?

My whole sway/wayland setup at the moment still consists of *-git aur packages, including wlroots-git. I can't imagine that I am the only one. I think with this pkg being -git it would be nice if the wlroots-git package could be used without editing the pkgbuild myself.

charlesgervais commented on 2019-08-30 12:45

Now that wlroots 0.7 is out and available in Arch official repos, I think we can drop the dependency on wlroots-git in favor of community/wlroots. https://www.archlinux.org/packages/community/x86_64/wlroots/

lowercase commented on 2019-06-06 02:17

Please excuse my late reply. I have begun editing the PKGBUILD, but could not finalize it as of yet. I disowned the package now, so you may take over. Thank you very much

bwidawsk commented on 2019-06-05 18:11

I'd be happy to take over maintenance.

mazzolino commented on 2019-06-01 10:44

The author just rewrote the tool in C...

https://github.com/emersion/kanshi/pull/29