diff options
Diffstat (limited to 'app-portage/gentoolkit/gentoolkit-9999.ebuild')
-rw-r--r-- | app-portage/gentoolkit/gentoolkit-9999.ebuild | 129 |
1 files changed, 91 insertions, 38 deletions
diff --git a/app-portage/gentoolkit/gentoolkit-9999.ebuild b/app-portage/gentoolkit/gentoolkit-9999.ebuild index 983d63f9d31e..5eb3d884baf5 100644 --- a/app-portage/gentoolkit/gentoolkit-9999.ebuild +++ b/app-portage/gentoolkit/gentoolkit-9999.ebuild @@ -1,58 +1,112 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -DISTUTILS_USE_SETUPTOOLS=no -PYTHON_COMPAT=( python3_{6,7,8,9} pypy3 ) +PYTHON_COMPAT=( python3_{10..12} pypy3 ) PYTHON_REQ_USE="xml(+),threads(+)" -EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoolkit.git" -inherit distutils-r1 git-r3 +inherit meson python-r1 tmpfiles + +if [[ ${PV} = 9999* ]]; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoolkit.git" + inherit git-r3 +else + SRC_URI="https://gitweb.gentoo.org/proj/gentoolkit.git/snapshot/${P}.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi DESCRIPTION="Collection of administration scripts for Gentoo" HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools" -SRC_URI="" LICENSE="GPL-2" SLOT="0" -IUSE="" - -KEYWORDS="" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +IUSE="test" +RESTRICT="!test? ( test )" +# Need newer Portage for eclean-pkg API, bug #900224 DEPEND=" - sys-apps/portage[${PYTHON_USEDEP}]" -RDEPEND="${DEPEND} - sys-apps/gawk - sys-apps/gentoo-functions" - -distutils_enable_tests setup.py - -python_prepare_all() { - python_setup - echo VERSION="${PVR}" "${PYTHON}" setup.py set_version - VERSION="${PVR}" "${PYTHON}" setup.py set_version - distutils-r1_python_prepare_all -} + >=sys-apps/portage-3.0.57[${PYTHON_USEDEP}] +" +RDEPEND=" + ${DEPEND} + ${PYTHON_DEPS} + app-alternatives/awk + sys-apps/gentoo-functions +" -pkg_preinst() { - if has_version "<${CATEGORY}/${PN}-0.4.0"; then - SHOW_GENTOOKIT_DEV_DEPRECATED_MSG=1 +# setuptools is still needed as a workaround for Python 3.12+ for now. +# https://github.com/mesonbuild/meson/issues/7702 +# +# >=meson-1.2.1-r1 for bug #912051 +BDEPEND=" + ${PYTHON_DEPS} + >=dev-build/meson-1.2.1-r1 + $(python_gen_cond_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ' python3_12) + test? ( + dev-python/pytest[${PYTHON_USEDEP}] + ) +" + +src_prepare() { + default + if use prefix-guest ; then + # use correct repo name, bug #632223 + sed -i \ + -e "/load_profile_data/s/repo='gentoo'/repo='gentoo_prefix'/" \ + pym/gentoolkit/profile.py || die fi } +src_configure() { + local code_only=false + python_foreach_impl my_src_configure +} + +my_src_configure() { + local emesonargs=( + -Dcode-only=${code_only} + $(meson_use test tests) + -Deprefix="${EPREFIX}" + -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" + ) + + meson_src_configure + code_only=true +} + +src_compile() { + python_foreach_impl meson_src_compile +} + +src_test() { + python_foreach_impl meson_src_test --no-rebuild --verbose +} + +src_install() { + python_foreach_impl my_src_install + dotmpfiles data/tmpfiles.d/revdep-rebuild.conf + + local scripts + mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/bin/* || die) + python_replicate_script "${scripts[@]}" +} + +my_src_install() { + local pydirs=( + "${D}$(python_get_sitedir)" + ) + + meson_src_install + python_fix_shebang "${pydirs[@]}" + python_optimize "${pydirs[@]}" +} + pkg_postinst() { - # Create cache directory for revdep-rebuild - mkdir -p -m 0755 "${EROOT}"/var/cache - mkdir -p -m 0700 "${EROOT}"/var/cache/revdep-rebuild - - if [[ ${SHOW_GENTOOKIT_DEV_DEPRECATED_MSG} ]]; then - elog "Starting with version 0.4.0, ebump, ekeyword and imlate are now" - elog "part of the gentoolkit package." - elog "The gentoolkit-dev package is now deprecated in favor of a single" - elog "gentoolkit package. The remaining tools from gentoolkit-dev" - elog "are now obsolete/unused with the git based tree." - fi + tmpfiles_process revdep-rebuild.conf # Only show the elog information on a new install if [[ ! ${REPLACING_VERSIONS} ]]; then @@ -67,7 +121,6 @@ pkg_postinst() { elog " app-admin/eclean-kernel" elog " app-portage/diffmask" elog " app-portage/flaggie" - elog " app-portage/install-mask" elog " app-portage/portpeek" elog " app-portage/smart-live-rebuild" fi |