summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Kohler <bkohler@gentoo.org>2020-09-06 07:26:59 -0500
committerBen Kohler <bkohler@gentoo.org>2020-09-06 07:27:14 -0500
commitf4bd4ea7612d55c1d6b864a8d376ae08a3549982 (patch)
tree4d621dcc0d3edd22e1e0f9d187ed7dff0ede932e
parentx11-misc/xsensors: Patch configure.ac for missing AM_PATH_GTK_2_0 (diff)
downloadgentoo-f4bd4ea7612d55c1d6b864a8d376ae08a3549982.tar.gz
gentoo-f4bd4ea7612d55c1d6b864a8d376ae08a3549982.tar.bz2
gentoo-f4bd4ea7612d55c1d6b864a8d376ae08a3549982.zip
sys-apps/kmscon: fix 'calls cc directly' bug
Closes: https://bugs.gentoo.org/740492 Package-Manager: Portage-3.0.5, Repoman-3.0.1 Signed-off-by: Ben Kohler <bkohler@gentoo.org>
-rw-r--r--sys-apps/kmscon/kmscon-8_p20180906-r1.ebuild145
1 files changed, 145 insertions, 0 deletions
diff --git a/sys-apps/kmscon/kmscon-8_p20180906-r1.ebuild b/sys-apps/kmscon/kmscon-8_p20180906-r1.ebuild
new file mode 100644
index 00000000000..ec59e73c619
--- /dev/null
+++ b/sys-apps/kmscon/kmscon-8_p20180906-r1.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+COMMIT="01dd0a231e2125a40ceba5f59fd945ff29bf2cdc"
+SRC_URI="https://github.com/Aetf/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64 ~x86"
+
+inherit autotools flag-o-matic systemd toolchain-funcs vcs-snapshot
+
+DESCRIPTION="KMS/DRM based virtual Console Emulator"
+HOMEPAGE="https://github.com/Aetf/kmscon"
+
+LICENSE="MIT LGPL-2.1 BSD-2"
+SLOT="0"
+IUSE="debug doc +drm +fbdev +gles2 +optimizations +pango pixman static-libs systemd +unicode"
+
+COMMON_DEPEND="
+ >=virtual/udev-172
+ x11-libs/libxkbcommon
+ >=dev-libs/libtsm-4.0.0:=
+ media-libs/mesa[X(+)]
+ drm? ( x11-libs/libdrm
+ >=media-libs/mesa-8.0.3[egl,gbm] )
+ gles2? ( >=media-libs/mesa-8.0.3[gles2] )
+ systemd? ( sys-apps/systemd )
+ pango? ( x11-libs/pango dev-libs/glib:2 )
+ pixman? ( x11-libs/pixman )"
+RDEPEND="${COMMON_DEPEND}
+ x11-misc/xkeyboard-config"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ x11-base/xorg-proto
+ doc? ( dev-util/gtk-doc )"
+
+REQUIRED_USE="gles2? ( drm )"
+
+# args - names of renderers to enable
+renderers_enable() {
+ if [[ "x${RENDER}" == "x" ]]; then
+ RENDER="$1"
+ shift
+ else
+ for i in $@; do
+ RENDER+=",${i}"
+ done
+ fi
+}
+
+# args - names of font renderer backends to enable
+fonts_enable() {
+ if [[ "x${FONTS}" == "x" ]]; then
+ FONTS="$1"
+ shift
+ else
+ for i in $@; do
+ FONTS+=",${i}"
+ done
+ fi
+}
+
+# args - names of video backends to enable
+video_enable() {
+ if [[ "x${VIDEO}" == "x" ]]; then
+ VIDEO="$1"
+ shift
+ else
+ for i in $@; do
+ VIDEO+=",${i}"
+ done
+ fi
+}
+
+src_prepare() {
+ default
+ eautoreconf
+
+ export CC_FOR_BUILD="$(tc-getBUILD_CC)"
+}
+
+src_configure() {
+ # Video backends
+
+ if use fbdev; then
+ video_enable fbdev
+ fi
+
+ if use drm; then
+ video_enable drm2d
+ fi
+
+ if use gles2; then
+ video_enable drm3d
+ fi
+
+ # Font rendering backends
+
+ if use unicode; then
+ fonts_enable unifont
+ fi
+
+ if use pango; then
+ fonts_enable pango
+ fi
+
+ # Console rendering backends
+
+ renderers_enable bbulk
+
+ if use gles2; then
+ renderers_enable gltex
+ fi
+
+ if use pixman; then
+ renderers_enable pixman
+ fi
+
+ # kmscon sets -ffast-math unconditionally
+ strip-flags
+
+ # xkbcommon not in portage
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable debug) \
+ $(use_enable optimizations) \
+ $(use_enable systemd multi-seat) \
+ --with-video=${VIDEO} \
+ --with-fonts=${FONTS} \
+ --with-renderers=${RENDER} \
+ --with-sessions=dummy,terminal
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ systemd_dounit "${S}/docs"/kmscon{,vt@}.service
+}
+
+pkg_postinst() {
+ grep -e "^ERASECHAR" "${EROOT}"/etc/login.defs && \
+ ewarn "It is recommended that you comment out the ERASECHAR line in" && \
+ ewarn " /etc/login.defs for proper backspace functionality at the" && \
+ ewarn " kmscon login prompt. For details see:" && \
+ ewarn "https://github.com/dvdhrm/kmscon/issues/69#issuecomment-13827797"
+}