gui-libs/ftxui - 7.0.2 (parona-overlay)

Search

Install

Install this version:

emerge -a =gui-libs/ftxui-7.0.2

If this version is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask =gui-libs/ftxui-7.0.2

Or alternatively:

emerge --autounmask-write -a =gui-libs/ftxui-7.0.2

Package Information

Description:
C++ Functional Terminal User Interface
Homepage:
https://github.com/ArthurSonzogni/FTXUI
License:
MIT

Ebuild Details

Version EAPI Keywords Slot
7.0.2 8 ~amd64 0/$(ver_cut 1)
View Raw Ebuild
# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit cmake multibuild

DESCRIPTION="C++ Functional Terminal User Interface"
HOMEPAGE="https://github.com/ArthurSonzogni/FTXUI"
SRC_URI="
	https://github.com/ArthurSonzogni/FTXUI/archive/refs/tags/v${PV}.tar.gz
		-> ${P}.tar.gz
"
S="${WORKDIR}/${P^^}"

LICENSE="MIT"
SLOT="0/$(ver_cut 1)"
KEYWORDS="~amd64"

IUSE="test"
RESTRICT="!test? ( test )"

pkg_setup() {
	MULTIBUILD_VARIANTS=( shared-libs $(usev test) )
}

src_prepare() {
	cmake_src_prepare

	sed -e '/include(cmake\/ftxui_benchmark.cmake)/d' \
		-i CMakeLists.txt || die

}

src_configure() {
	myconfigure() {
		local mycmakeargs=(
			-DFTXUI_BUILD_DOCS=OFF
			-DFTXUI_BUILD_EXAMPLES=OFF #todo
			-DFTXUI_BUILD_TESTS=OFF # requires BUILD_SHARED_LIBS=OFF
			-DFTXUI_BUILD_TESTS_FUZZER=OFF
			-DFTXUI_CLANG_TIDY=OFF
			-DFTXUI_DEV_WARNINGS=OFF
			-DFTXUI_ENABLE_CCACHE=OFF
			-DFTXUI_ENABLE_COVERAGE=OFF
			-DFTXUI_ENABLE_INSTALL=ON
			-DFTXUI_QUIET=OFF
		)
		if [[ "${MULTIBUILD_VARIANT}" == "test" ]]; then
			mycmakeargs+=(
				-DBUILD_SHARED_LIBS=OFF
				-DFTXUI_BUILD_TESTS=ON
			)
		fi
		cmake_src_configure
	}

	multibuild_foreach_variant myconfigure
}

src_compile() {
	multibuild_foreach_variant cmake_src_compile
}

src_test() {
	mytest() {
		if [[ "${MULTIBUILD_VARIANT}" == "test" ]]; then
			cmake_src_test
		fi
	}
	multibuild_foreach_variant mytest
}

src_install() {
	myinstall() {
		if [[ "${MULTIBUILD_VARIANT}" == "shared-libs" ]]; then
			cmake_src_install
		fi
	}
	multibuild_foreach_variant myinstall
}

USE Flags

Manage flags for this package: euse -i <flag> -p gui-libs/ftxui | euse -E <flag> -p gui-libs/ftxui | euse -D <flag> -p gui-libs/ftxui

Global/Standard Flags

Inherited Eclasses

Manifest for 7.0.2

Type File Size Source URLs
DIST ftxui-7.0.2.tar.gz 361777 bytes https://github.com/ArthurSonzogni/FTXUI/archive/refs/tags/v7.0.2.tar.gz