diff --git a/sys-boot/rpi-imager/rpi-imager-9999.ebuild b/sys-boot/rpi-imager/rpi-imager-9999.ebuild index d159a25..33070bf 100644 --- a/sys-boot/rpi-imager/rpi-imager-9999.ebuild +++ b/sys-boot/rpi-imager/rpi-imager-9999.ebuild @@ -1,59 +1,95 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit xdg cmake optfeature +PYTHON_COMPAT=( python3_{10..12} ) + +inherit cmake optfeature python-any-r1 xdg DESCRIPTION="Raspberry Pi Imaging Utility" HOMEPAGE="https://github.com/raspberrypi/rpi-imager" if [[ "${PV}" == *9999* ]]; then inherit git-r3 - EGIT_REPO_URI="https://github.com/raspberrypi/${PN}.git" + EGIT_REPO_URI="https://github.com/raspberrypi/rpi-imager.git" else - SRC_URI="https://github.com/raspberrypi/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + SRC_URI="https://github.com/raspberrypi/rpi-imager/archive/v${PV}.tar.gz -> ${P}.tar.gz" KEYWORDS="~amd64" fi LICENSE="Apache-2.0" SLOT="0" -CMAKE_USE_DIR="${S}/src" +IUSE="qt6 +filter-drivelist test" +RESTRICT="test !test? ( test )" # requires network and extra permissions to write -BDEPEND=" - dev-qt/linguist-tools -" RDEPEND=" - app-arch/libarchive - dev-qt/qtconcurrent:5 - dev-qt/qtcore:5 - dev-qt/qtdbus:5 - dev-qt/qtdeclarative:5 - dev-qt/qtgui:5 - dev-qt/qtquickcontrols2:5 - dev-qt/qtsvg:5 - dev-qt/qtwidgets:5 - dev-qt/qtxml:5 + app-arch/libarchive:= + app-arch/xz-utils + net-libs/gnutls:= net-misc/curl - sys-fs/udisks:2 - || ( - dev-libs/openssl - net-libs/gnutls + !qt6? ( + dev-qt/qtcore:5 + dev-qt/qtdbus:5 + dev-qt/qtdeclarative:5 + dev-qt/qtgui:5 + dev-qt/qtnetwork:5 + dev-qt/qtwidgets:5 + ) + qt6? ( + dev-qt/qtbase:6[dbus,gui,network,widgets] + dev-qt/qtdeclarative:6 ) " DEPEND=" ${RDEPEND} + !qt6? ( + dev-qt/qtsvg:5 + ) + qt6? ( + dev-qt/qtsvg:6 + ) " +BDEPEND=" + !qt6? ( dev-qt/linguist-tools ) + test? ( + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/jsonschema[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/urllib3[${PYTHON_USEDEP}] + ') + ) +" + +CMAKE_USE_DIR="${S}/src" + +python_check_deps() { + python_has_version "dev-python/jsonschema[${PYTHON_USEDEP}]" \ + && python_has_version "dev-python/pytest[${PYTHON_USEDEP}]" \ + && python_has_version "dev-python/urllib3[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use test && python-any-r1_pkg_setup +} src_configure() { local mycmakeargs=( -DENABLE_CHECK_VERSION=OFF -DENABLE_TELEMETRY=OFF + -DDRIVELIST_FILTER_SYSTEM_DRIVES=$(usex filter-drivelist) + $(cmake_use_find_package !qt6 Qt5) ) cmake_src_configure } -pkg_postinst() { - optfeature "writing to disk as non-root user" sys-fs/udisks +src_test() { + epytest tests +} + +pkg_postinst() { + xdg_pkg_postinst + optfeature "writing to disk as non-root user" sys-fs/udisks:2 }