diff --git a/dev-build/steve/Manifest b/dev-build/steve/Manifest index 8841add7374f5..22c670c468df9 100644 --- a/dev-build/steve/Manifest +++ b/dev-build/steve/Manifest @@ -1,2 +1,3 @@ DIST steve-1.5.0.tar.xz 22732 BLAKE2B 2506d9de0fd5415f40ddb85de71acfd5dbdc89672ac86e3c30c7c3c61117d610e469cdc50e2a8bfaafb35443f9aec316846d71336721490827a207a2dd97419b SHA512 bdde7ca302a09eea430ffa34f3b68ee40ae014ca7798f81672dda492a8e2caf289394c61560c882a2cc0409a25864d0d28997462bfe01521ed0777f585a76721 DIST steve-1.5.1.tar.xz 22804 BLAKE2B 395a2a9a1bb943be070e27301ed24efce7d779717c2f1ef7f7f842cab9cbed6d628a2570943b43dc09faa8790ae01586290d7696978c10d9c893175705db38e9 SHA512 3034b36ea5ba811fd6f2c67c69e45ec1ce5f357683cd577b496cdb800b587017b877295740171cba7f01ffb348028c45e194fb68835a6875b062607e850aefa3 +DIST steve-1.5.2.tar.xz 22796 BLAKE2B ccb56ee6becede79676dd5ace1d5f6456189b54b67c74ec5b0be3aa8c97bdef41cdbb5339c18549b3c2d47dcf19021a3830590bdeb70607888abd57be862f66e SHA512 fcdde161feae2f440332aaf275342844f980fab23015579c3f70133d56c6b6d559587479859bb39cc0f6bd7f9197b509e10eec3cec828c0c291d0e79eb40d5ae diff --git a/dev-build/steve/steve-1.5.2.ebuild b/dev-build/steve/steve-1.5.2.ebuild new file mode 100644 index 0000000000000..02966910fa48a --- /dev/null +++ b/dev-build/steve/steve-1.5.2.ebuild @@ -0,0 +1,116 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..15} ) + +inherit linux-info meson python-any-r1 systemd udev + +DESCRIPTION="A load-balancing jobserver for Gentoo" +HOMEPAGE="https://gitweb.gentoo.org/proj/steve.git/" +SRC_URI=" + https://distfiles.gentoo.org/pub/dev/mgorny%40gentoo.org/steve/${P}.tar.xz +" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="debug test" +RESTRICT="test" +PROPERTIES="test? ( test_privileged )" + +DEPEND=" + dev-libs/libevent:= + sys-fs/fuse:3= +" +RDEPEND=" + ${DEPEND} + acct-group/jobserver + acct-user/steve + >=sys-fs/fuse-common-3.10.4-r2 +" +BDEPEND=" + virtual/pkgconfig + test? ( + $(python_gen_any_dep ' + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pytest-timeout[${PYTHON_USEDEP}] + ') + ) +" + +python_check_deps() { + python_has_version "dev-python/pytest[${PYTHON_USEDEP}]" && + python_has_version "dev-python/pytest-timeout[${PYTHON_USEDEP}]" +} + +pkg_pretend() { + local CONFIG_CHECK="~CUSE" + check_extra_config +} + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_configure() { + local emesonargs=( + $(meson_use !debug b_ndebug) + $(meson_use test) + ) + + meson_src_configure +} + +src_test() { + addwrite /dev/cuse + addwrite /dev/steve.test + if [[ ! -w /dev/cuse ]]; then + die "Testing steve requires /dev/cuse" + fi + + local -x STEVE=${BUILD_DIR}/steve + local EPYTEST_PLUGINS=( pytest-timeout ) + epytest +} + +src_install() { + meson_src_install + + # TODO: move these to meson + systemd_dounit data/steve.service + newconfd data/steve.confd steve + newinitd data/steve.initd steve + insinto /etc/sandbox.d + newins data/sandbox.conf 90steve + udev_newrules data/steve.udev 90-steve.rules +} + +pkg_postinst() { + udev_reload + + if ! grep -q -s -R -- '--jobserver-auth=fifo:/dev/steve' "${EROOT}"/etc/portage/make.conf + then + elog "In order to use the system-wide steve instance, enable the service:" + elog + elog " for OpenRC:" + elog " rc-update add steve default" + elog " /etc/init.d/steve start" + elog + elog " for systemd:" + elog " systemctl enable --now steve" + elog + elog "Then add to your make.conf:" + elog + elog ' MAKEFLAGS="--jobserver-auth=fifo:/dev/steve"' + elog ' NINJAOPTS=""' + elog + elog "You can use -l in NINJAOPTS but *do not* use -j, as it disables" + elog "jobserver support." + fi +} + +pkg_postrm() { + udev_reload +} diff --git a/dev-build/steve/steve-9999.ebuild b/dev-build/steve/steve-9999.ebuild index 5151ed1fec26c..933ae6a9c95ea 100644 --- a/dev-build/steve/steve-9999.ebuild +++ b/dev-build/steve/steve-9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{12..14} ) +PYTHON_COMPAT=( python3_{12..15} ) inherit git-r3 linux-info meson python-any-r1 systemd udev