Fails to build with aurtools and stuff using it like aurto. Use of meson in the prepare function will fail there. Maybe you could adjust the PKGBUILD to resemble something like https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/eog or https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/fwupd
Search Criteria
Package Details: kanshi-git r92.dabd7a2-2
Git Clone URL: | https://aur.archlinux.org/kanshi-git.git (read-only, click to copy) |
---|---|
Package Base: | kanshi-git |
Description: | Dynamic output configuration for Wayland WMs |
Upstream URL: | https://github.com/emersion/kanshi |
Keywords: | sway wayland |
Licenses: | |
Conflicts: | |
Provides: | |
Submitter: | lowercase |
Maintainer: | pychuang |
Last Packager: | pychuang |
Votes: | 9 |
Popularity: | 0.44 |
First Submitted: | 2019-03-19 14:21 |
Last Updated: | 2021-02-24 18:32 |
Dependencies (6)
- wayland (wayland-git, wayland-nodocs-git, wayland-hi-res-scroll-git)
- git (git-git) (make)
- meson (meson-git) (make)
- ninja (ninja-git, ninja-samurai, ninja-mem, ninja-kitware, ninja-bin) (make)
- scdoc (make)
- wlroots>=0.7 (wlroots-full-git, wlroots-git, wlroots-hidpi-git, wlroots-strace-git, wlroots-nosystemd-strace-git, wlroots-nosystemd-git, wlroots-nosystemd-minimal-git, wlroots-nosystemd-nox11-git, wlroots-nox11-git) (make)
Required by (2)
- sway-services-git (requires kanshi) (optional)
- wayfire-desktop-git (requires kanshi)
Sources (2)
Latest Comments
lowercase commented on 2020-10-11 23:52
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
- if dependency check asks for any version:
the comparison against wlroots>=0.7
runs into the latter case:
wlroots-git
provideswlroots
(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.
mpsq 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...
Pinned Comments
pychuang commented on 2021-02-24 18:58
This package comes with a
systemd
unit file that is not supported by the upstream. To enable the unit, run$ systemctl --user enable kanshi.service
. Some notes:graphical-session.target
has already started. Though on many users' systems,graphical-session.target
always starts under Sway, Sway actually does not activategraphical-session.target
by default. Thegraphical-session.target
may be activated silently by some other applications/units or by explicitexec
command in the Sway config.graphical-session.target
. This says, if you sometimes use other WM, likegnome
orkde
,kanshi.service
will also automatically start (and then fail because kanshi is a Sway-only application).The best practice is to create your own
sway-session.target
, and modify (or create your own) thekanshi.service
to be wanted bysway-session.target
. See the Wiki at Sway's GitHub and also ArchWiki: