Package Details: kanshi-git r85.846b725-1

Git Clone URL: (read-only, click to copy)
Package Base: kanshi-git
Description: Dynamic output configuration for Wayland WMs
Upstream URL:
Keywords: sway wayland
Licenses: MIT
Conflicts: kanshi
Provides: kanshi
Submitter: lowercase
Maintainer: pychuang
Last Packager: pychuang
Votes: 6
Popularity: 0.53
First Submitted: 2019-03-19 14:21
Last Updated: 2020-06-11 20:49

Required by (2)

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:

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.

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...