commit: f4bd4ea7612d55c1d6b864a8d376ae08a3549982 Author: Ben Kohler <bkohler <AT> gentoo <DOT> org> AuthorDate: Sun Sep 6 12:26:59 2020 +0000 Commit: Ben Kohler <bkohler <AT> gentoo <DOT> org> CommitDate: Sun Sep 6 12:27:14 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f4bd4ea7
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 <AT> gentoo.org> sys-apps/kmscon/kmscon-8_p20180906-r1.ebuild | 145 +++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) 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" +}