summaryrefslogtreecommitdiff
blob: 8723d31de38dae0446961b75b50b2f5307c8f58c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit meson optfeature

DESCRIPTION="i3 fork with gaps and some more features"
HOMEPAGE="https://github.com/Airblader/i3"
SRC_URI="https://github.com/Airblader/i3/archive/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/i3-${PV}"

LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="doc test"
RESTRICT="!test? ( test )"

COMMON_DEPEND="dev-libs/glib:2
	dev-libs/libev
	dev-libs/libpcre2
	dev-libs/yajl:=
	x11-libs/cairo[X,xcb(+)]
	x11-libs/libxcb:=
	x11-libs/libxkbcommon[X]
	x11-libs/pango[X]
	x11-libs/startup-notification
	x11-libs/xcb-util
	x11-libs/xcb-util-cursor
	x11-libs/xcb-util-keysyms
	x11-libs/xcb-util-wm
	x11-libs/xcb-util-xrm"
DEPEND="${COMMON_DEPEND}
	test? (
		dev-perl/ExtUtils-PkgConfig
		dev-perl/IPC-Run
		dev-perl/Inline
		dev-perl/Inline-C
		dev-perl/X11-XCB
		dev-perl/XS-Object-Magic
		x11-apps/xhost
		x11-base/xorg-server[xephyr,xvfb]
		x11-misc/xvfb-run
	)"
BDEPEND="app-text/asciidoc
	app-text/xmlto
	dev-lang/perl
	virtual/pkgconfig"
RDEPEND="${COMMON_DEPEND}
	dev-lang/perl
	dev-perl/AnyEvent-I3
	dev-perl/JSON-XS
	!x11-wm/i3"

DOCS=( RELEASE-NOTES-$(ver_cut 1-3) )

PATCHES=(
	"${FILESDIR}/${PN}-4.18-musl.patch"
)

src_configure() {
	local emesonargs=(
		-Ddocdir="/usr/share/doc/${PF}"
		-Ddocs=$(usex doc true false)
		-Dmans=true
	)

	meson_src_configure
}

src_install() {
	meson_src_install

	exeinto /etc/X11/Sessions
	newexe - i3wm <<- EOF
		#!/usr/bin/env sh
		exec /usr/bin/i3
	EOF
}

pkg_postinst() {
	optfeature "Application launcher" x11-misc/dmenu
	optfeature "Simple screen locker" x11-misc/i3lock
	optfeature "Status bar generator" x11-misc/i3status
}