# Copyright 2025-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 RUST_MIN_VER="1.85.0" CRATES=" aho-corasick@1.1.5 anstream@1.0.0 anstyle@1.0.14 anstyle-parse@1.0.0 anstyle-query@1.1.5 anstyle-wincon@3.0.11 clap@4.6.7 clap_builder@4.6.7 clap_derive@4.6.7 clap_lex@1.1.1 colorchoice@1.0.5 heck@0.5.0 is_terminal_polyfill@1.70.2 memchr@2.8.3 once_cell_polyfill@1.70.2 proc-macro2@1.0.107 quote@1.0.47 regex@1.13.1 regex-automata@0.4.18 regex-syntax@0.8.11 strsim@0.11.1 syn@3.0.9 unicode-ident@1.0.27 utf8parse@0.2.2 windows-link@0.2.1 windows-sys@0.61.2 " inherit cargo cmake multibuild virtualx DESCRIPTION="Useful Qt related C++ classes and routines" HOMEPAGE="https://github.com/Martchus/qtutilities" SRC_URI=" https://github.com/Martchus/qtutilities/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz ${CARGO_CRATE_URIS} " LICENSE="GPL-2" # Dependent crates (icontool) LICENSE+=" Apache-2.0 MIT Unicode-3.0" SLOT="0/$(ver_cut 1)" KEYWORDS="~amd64" IUSE="test" RESTRICT="!test? ( test )" RDEPEND=" dev-cpp/cpp-utilities dev-qt/qtbase:6[dbus,gui,widgets] dev-qt/qttools:6[linguist] " DEPEND="${RDEPEND}" BDEPEND="dev-build/corrosion" QA_FLAGS_IGNORED="usr/libexec/.*" pkg_setup() { MULTIBUILD_VARIANTS=( qt6 ) rust_pkg_setup } src_unpack() { cargo_src_unpack } multibuild_src_configure() { local mycmakeargs=( -DCONFIGURATION_NAME="${MULTIBUILD_VARIANT}" -DCONFIGURATION_TARGET_SUFFIX="${MULTIBUILD_VARIANT}" -DEXCLUDE_TESTS_FROM_ALL=$(usex !test) ) case "${MULTIBUILD_VARIANT}" in qt6) mycmakeargs+=( -DQT_PACKAGE_PREFIX=Qt6 ) ;; esac cmake_src_configure } src_configure() { # cargo is invoked by Corrosion from CMake: stay offline, use vendored crates export CARGO_NET_OFFLINE=true multibuild_foreach_variant multibuild_src_configure } src_compile() { multibuild_foreach_variant cmake_src_compile } src_test() { virtx multibuild_foreach_variant cmake_src_test } src_install() { multibuild_foreach_variant cmake_src_install }