|
|
|
# Copyright 1999-2018 Gentoo Foundation
|
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
|
|
|
|
EAPI=6
|
|
|
|
|
|
|
|
AEVER=0.17
|
|
|
|
|
|
|
|
inherit autotools out-of-source virtualx
|
|
|
|
|
|
|
|
DESCRIPTION="An improved dynamic tiling window manager"
|
|
|
|
HOMEPAGE="https://i3wm.org/"
|
|
|
|
SRC_URI="https://i3wm.org/downloads/${P}.tar.bz2"
|
|
|
|
|
|
|
|
LICENSE="BSD"
|
|
|
|
SLOT="0"
|
|
|
|
KEYWORDS="amd64 ~arm64 x86"
|
|
|
|
IUSE="doc debug test"
|
|
|
|
|
|
|
|
CDEPEND="dev-libs/libev
|
|
|
|
dev-libs/libpcre
|
|
|
|
>=dev-libs/yajl-2.0.3
|
|
|
|
x11-libs/libxcb[xkb]
|
|
|
|
x11-libs/libxkbcommon[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
|
|
|
|
x11-misc/xkeyboard-config
|
|
|
|
>=x11-libs/cairo-1.14.4[X,xcb]
|
|
|
|
>=x11-libs/pango-1.30.0[X]"
|
|
|
|
DEPEND="${CDEPEND}
|
|
|
|
test? (
|
|
|
|
dev-perl/AnyEvent
|
|
|
|
>=dev-perl/X11-XCB-0.120.0
|
|
|
|
dev-perl/Inline
|
|
|
|
dev-perl/Inline-C
|
|
|
|
dev-perl/IPC-Run
|
|
|
|
dev-perl/ExtUtils-PkgConfig
|
|
|
|
dev-perl/local-lib
|
|
|
|
>=virtual/perl-Test-Simple-0.940.0
|
|
|
|
x11-base/xorg-server[xephyr]
|
|
|
|
)
|
|
|
|
virtual/pkgconfig"
|
|
|
|
RDEPEND="${CDEPEND}
|
|
|
|
dev-lang/perl
|
|
|
|
dev-perl/AnyEvent-I3
|
|
|
|
dev-perl/JSON-XS"
|
|
|
|
|
|
|
|
# Test without debug will apply optimization levels, which results
|
|
|
|
# in type-punned pointers - which in turn causes test failures.
|
|
|
|
REQUIRED_USE="test? ( debug )"
|
|
|
|
|
|
|
|
PATCHES=(
|
|
|
|
"${FILESDIR}/${PN}-musl-GLOB_TILDE.patch"
|
|
|
|
)
|
|
|
|
|
|
|
|
# https://github.com/i3/i3/issues/3013
|
|
|
|
RESTRICT="test"
|
|
|
|
|
|
|
|
src_prepare() {
|
|
|
|
default
|
|
|
|
|
|
|
|
cat <<- EOF > "${T}"/i3wm
|
|
|
|
#!/bin/sh
|
|
|
|
exec /usr/bin/i3
|
|
|
|
EOF
|
|
|
|
|
|
|
|
eautoreconf
|
|
|
|
}
|
|
|
|
|
|
|
|
my_src_configure() {
|
|
|
|
local myeconfargs=(
|
|
|
|
$(use_enable debug)
|
|
|
|
)
|
|
|
|
econf "${myeconfargs[@]}"
|
|
|
|
}
|
|
|
|
|
|
|
|
my_src_test() {
|
|
|
|
emake \
|
|
|
|
test.commands_parser \
|
|
|
|
test.config_parser \
|
|
|
|
test.inject_randr15
|
|
|
|
|
|
|
|
virtx perl \
|
|
|
|
-I "${S}/testcases/lib" \
|
|
|
|
-I "${BUILD_DIR}/testcases/lib" \
|
|
|
|
testcases/complete-run.pl
|
|
|
|
}
|
|
|
|
|
|
|
|
my_src_install_all() {
|
|
|
|
doman man/*.1
|
|
|
|
|
|
|
|
einstalldocs
|
|
|
|
use doc && dodoc -r docs "RELEASE-NOTES-${PV}"
|
|
|
|
|
|
|
|
exeinto /etc/X11/Sessions
|
|
|
|
doexe "${T}/i3wm"
|
|
|
|
}
|
|
|
|
|
|
|
|
pkg_postinst() {
|
|
|
|
# Only show the elog information on a new install
|
|
|
|
if [[ ! ${REPLACING_VERSIONS} ]]; then
|
|
|
|
elog "There are several packages that you may find useful with ${PN} and"
|
|
|
|
elog "their usage is suggested by the upstream maintainers, namely:"
|
|
|
|
elog " x11-misc/dmenu"
|
|
|
|
elog " x11-misc/i3status"
|
|
|
|
elog " x11-misc/i3lock"
|
|
|
|
elog "Please refer to their description for additional info."
|
|
|
|
fi
|
|
|
|
}
|