summaryrefslogtreecommitdiff
path: root/sys-kernel/scx
diff options
context:
space:
mode:
Diffstat (limited to 'sys-kernel/scx')
-rw-r--r--sys-kernel/scx/Manifest3
-rw-r--r--sys-kernel/scx/scx-1.0.9.ebuild129
2 files changed, 132 insertions, 0 deletions
diff --git a/sys-kernel/scx/Manifest b/sys-kernel/scx/Manifest
index 31f16dbad733..b6be1fc5f479 100644
--- a/sys-kernel/scx/Manifest
+++ b/sys-kernel/scx/Manifest
@@ -186,6 +186,8 @@ DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df
DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c
DIST scx-1.0.6.tar.gz 4172710 BLAKE2B 5d2cf3930c309b2753a08df80943af8c6a3a0d81fafc0f8b8f481aa8c1d8670cea4134f4d64a49b481b64fdcccb368c23eca86cc843fd83b482a22aef938a50d SHA512 16e9960a9411a6f9ed9f3b1a8c70eb8535c5fe79decfd5fccc11fe6463f227bc22a434f3509e14d6e49c66e658d03792f9cb9253bae4875f686310e4a45d5e06
DIST scx-1.0.8.tar.gz 4206261 BLAKE2B af9b832945ec99a188d437cd4ce898a93768910661bed8a48c8c8d4a93e0550c9f34d356a7b4c78bbf4afb8477f52c475eb0cfd3d6c91913556d473a9972b8b8 SHA512 dc9352a6d131b4dcda1a721dd792bebc159f439cef8b14d2c9b065c3144892931dfec23f5db802efb13d3961a00a36720f0295553099dcfa88b33dce6cbeebcf
+DIST scx-1.0.9.tar.gz 4552837 BLAKE2B 5f6aa0c37cc62f59ea87bf881f0aae41d94fb2884e140cffdfdb70a52a7330aaebcc483aff350c80172983061ee339e50dc4d2c480ada0d53c8c7391a51b547e SHA512 d17d0203d0f7144de72ecca37f8a9a8bcfa8b68c70a20a985bfcca16f49bce9cda8a5de57a6f2852ed679721b28bdb53ec3a01d0c17b4d0123eeb56e4ce8990f
+DIST scx-v1.0.9-crates.tar.xz 29505484 BLAKE2B 45ebc950b118535630ae0161721aa32fe0f1f9457e0146b26570bf46b7411c335882009ad8c4d640e8cdb06439423618c6ca60485fd21725e6893697ef379adb SHA512 ada609aa5f9d9a5523e037c48f6bbd65e82ea19bc6a0a293cb8f9ff1a3a12a26b3dcab182af2b207051ea4e900af903f3c4352553b2a9147d8c44ed805af74a2
DIST semver-1.0.23.crate 30622 BLAKE2B af5f7401daa2004ac1fc419ff907a65feb9b11743ad0feca0929bf2409eb81e03637ec5f92ba9f38ea386c4ee5cde72bd3d2042083e2fb0d6fa0b839b1c5093a SHA512 5ea1fa17c08d1280c3a4bc8d28494e88ee05acd5dc969ef6f0c6f91fd3b5a8fbe999c9e8bbd2da383413038b8d29fabf02b87bd5265bbb8333f3fcbe409103ec
DIST serde-1.0.210.crate 78338 BLAKE2B b3621d1313312177a346313e6e384fe9660f74eefb18e6cffa39fc2aadc0ab73be84b9037c59b716e5feafcd73f4f054f83e6d17d82746984b3064bf8d3ed338 SHA512 0d853ca51543ae8b4a0c70204ff4e559a4eec77af3d3bdcfc75c5905c80d4ffd1bd9eb8258ea4f6ecfbdd26477ecac7dd698d84d86759fa32e03a9cce02fa4ae
DIST serde_derive-1.0.210.crate 56020 BLAKE2B b346e574c99b6a8b12dfc29b20a4fd2daf8abfabd3714ccfde059a3a1f14a5628d4acf6a03f8076174fd28adfdb7cb9bbdb8ac0d4403aa2f43e917eed4b08028 SHA512 1c54d70a55007c00d3ff3d8c2096f4f9966431ba7bfd9195bcf41932de71b71c4ab934f9a8c5067cb56a042742cf0efab07377dbabf12feb1af6d20399de00b5
@@ -300,4 +302,5 @@ DIST zvariant_utils-2.1.0.crate 7043 BLAKE2B b891c5fc2b5afb5eba01b9068b454a965b4
DIST zvariant_utils-3.0.2.crate 13751 BLAKE2B 2bd54b955b677eb3d7a6930677b8c6657a1802ac183b4e59646a16351f40bf0adc535dca4024d084c8e8f3cc05772a79b6a9142b407a965fb89cb24c02f0433e SHA512 8711367ae755fadc5a36cad7ec818c73f03d5c6cfcf5a8e9675cebcd3ae15eea7863b183fea68aa324e34c016d44fd174e6c78470d3f0711f562ab4752607906
EBUILD scx-1.0.6-r2.ebuild 7811 BLAKE2B fab57049dcb6de433a66a3d0156181140174eeff217d86cf09a23ef1371f1ea8e0fafcab3c58c35582205765ae5591158d13ec9134328440dce21f6b07f2d23c SHA512 0be5a185d9c896df8ddc8c934ae449aa710a89760c6f80408583ea1fd9094dfe8b4dcbe0565e0d04f38de702c033fae021a2d79367dc40cad5f23fa9e8433b9b
EBUILD scx-1.0.8.ebuild 7385 BLAKE2B 11c4370ee13d20cfbabd2b6ee00a3ee2887e4c26f73e0d55f719e17c0e5cbeff4ff174100541831bb2f689c925d84916ed1a1f708559db2bd9bf38a1d653457c SHA512 92aa5c4a9bdb9198c9724e1d81d18070634624d8e272710046293f3a3fce2137b44bd2a1b3e0e4b5e2cbd09c49fc295f17ef1c2c015fdac6a5295b5b12688070
+EBUILD scx-1.0.9.ebuild 2523 BLAKE2B f458c2ff0097ec332b7a097535d3872e8bcfc1b27b223e2ed397874df691349c799413c0028719fa2bd1004edc203553ec3c47c3087a1703b3a8744341e61e5f SHA512 d4665f0854f88513bbf04f0924d4b1b491bc7f91d01784353f3693a227503f7e961b57379dcb32b1984740584baf0f30b87a5c71888bc49a659b3d1fab79a708
MISC metadata.xml 914 BLAKE2B 779b89227103a237d3b52ae37bfc2f2061b7f8c23ff0e381df85ee0701453e164bc9ae3dddb45106dca90e4823e82de969abeb9a95a759103674d312471eafe0 SHA512 27a19b00fe44c1d5662af8d7a950c9c8c11c33da76206c33328cb1f0bf5fcd4befed2fca06c752b4c4d11930a07421dcbe05f302186fd1b592e46309b2b5da13
diff --git a/sys-kernel/scx/scx-1.0.9.ebuild b/sys-kernel/scx/scx-1.0.9.ebuild
new file mode 100644
index 000000000000..619570efafeb
--- /dev/null
+++ b/sys-kernel/scx/scx-1.0.9.ebuild
@@ -0,0 +1,129 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {16..19} )
+
+# List of crates for pycargoebuild:
+# rust/scx_{loader,rustland_core,stats,utils}
+# scheds/rust/scx_{bpfland,lavd,layered,rlfifo,rustland,rusty}
+CRATES="
+"
+
+RUST_MIN_VER="1.74.1"
+
+inherit llvm-r1 linux-info cargo rust-toolchain meson
+
+DESCRIPTION="sched_ext schedulers and tools"
+HOMEPAGE="https://github.com/sched-ext/scx"
+SRC_URI="
+ https://github.com/sched-ext/scx/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/gentoo-crate-dist/scx/releases/download/v${PV}/scx-v${PV}-crates.tar.xz
+ "
+fi
+
+LICENSE="GPL-2"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 BSD-2 BSD CC0-1.0 ISC MIT MPL-2.0 Unicode-3.0 ZLIB
+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="openrc systemd"
+
+DEPEND="
+ virtual/libelf:=
+ sys-libs/zlib:=
+ >=dev-libs/libbpf-1.5:=
+ openrc? ( || (
+ sys-apps/openrc
+ sys-apps/openrc-navi
+ ) )
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ app-misc/jq
+ >=dev-util/bpftool-7.5.0
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}=[llvm_targets_BPF(-)]
+ ')
+"
+
+CONFIG_CHECK="
+ ~BPF
+ ~BPF_EVENTS
+ ~BPF_JIT
+ ~BPF_SYSCALL
+ ~DEBUG_INFO_BTF
+ ~FTRACE
+ ~SCHED_CLASS_EXT
+"
+
+QA_PREBUILT="/usr/bin/scx_loader"
+
+pkg_setup() {
+ linux-info_pkg_setup
+ llvm-r1_pkg_setup
+ rust_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Inject the rust_abi value into install_rust_user_scheds
+ sed -i "s;\${MESON_BUILD_ROOT};\${MESON_BUILD_ROOT}/$(rust_abi);" \
+ meson-scripts/install_rust_user_scheds || die
+
+ # bug #944832
+ sed -i 's;^#!/usr/bin/;#!/sbin/;' \
+ services/openrc/scx.initrd || die
+}
+
+src_configure() {
+ BUILD_DIR="${BUILD_DIR:-${WORKDIR}/${P}-build}"
+
+ local emesonargs=(
+ -Dbpf_clang="$(get_llvm_prefix)/bin/clang"
+ -Dbpftool=disabled
+ -Dlibbpf_a=disabled
+ -Dcargo="${EPREFIX}/usr/bin/cargo"
+ -Dcargo_home="${ECARGO_HOME}"
+ -Doffline=true
+ -Denable_rust=true
+ -Dlibalpm=disabled
+ $(meson_feature openrc)
+ $(meson_feature systemd)
+ )
+
+ cargo_env meson_src_configure
+}
+
+src_compile() {
+ cargo_env meson_src_compile
+}
+
+src_test() {
+ cargo_env meson_src_test
+}
+
+src_install() {
+ cargo_env meson_src_install
+
+ dodoc README.md
+
+ local readme readme_name
+ for readme in scheds/{rust,c}/*/README.md ./rust/*/README.md; do
+ [[ -e ${readme} ]] || continue
+ readme_name="${readme#*/rust/}"
+ readme_name="${readme_name#*/c/}"
+ readme_name="${readme_name%/README.md}"
+ newdoc "${readme}" "${readme_name}.md"
+ done
+}