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";
+}

Reply via email to