summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-kernel/scx/scx-1.0.8.ebuild')
-rw-r--r--sys-kernel/scx/scx-1.0.8.ebuild383
1 files changed, 383 insertions, 0 deletions
diff --git a/sys-kernel/scx/scx-1.0.8.ebuild b/sys-kernel/scx/scx-1.0.8.ebuild
new file mode 100644
index 000000000000..572276fe1c97
--- /dev/null
+++ b/sys-kernel/scx/scx-1.0.8.ebuild
@@ -0,0 +1,383 @@
+# 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="
+ addr2line@0.24.1
+ adler2@2.0.0
+ aho-corasick@1.1.3
+ android-tzdata@0.1.1
+ android_system_properties@0.1.5
+ anstream@0.6.15
+ anstyle-parse@0.2.5
+ anstyle-query@1.1.1
+ anstyle-wincon@3.0.4
+ anstyle@1.0.8
+ anyhow@1.0.87
+ async-broadcast@0.7.1
+ async-channel@2.3.1
+ async-executor@1.13.1
+ async-fs@2.1.2
+ async-io@2.3.4
+ async-lock@3.4.0
+ async-process@2.2.4
+ async-recursion@1.1.1
+ async-signal@0.2.10
+ async-task@4.7.1
+ async-trait@0.1.82
+ atomic-waker@1.1.2
+ autocfg@1.3.0
+ backtrace@0.3.74
+ bindgen@0.69.4
+ bitflags@1.3.2
+ bitflags@2.6.0
+ bitvec@1.0.1
+ blocking@1.6.1
+ bumpalo@3.16.0
+ bytes@1.7.1
+ camino@1.1.9
+ cargo-platform@0.1.8
+ cargo_metadata@0.15.4
+ cargo_metadata@0.18.1
+ cc@1.1.18
+ cexpr@0.6.0
+ cfg-if@1.0.0
+ cfg_aliases@0.2.1
+ cgroupfs@0.7.1
+ chrono@0.4.38
+ clang-sys@1.8.1
+ clap@4.5.17
+ clap_builder@4.5.17
+ clap_derive@4.5.13
+ clap_lex@0.7.2
+ colorchoice@1.0.2
+ colored@2.1.0
+ concurrent-queue@2.5.0
+ const_format@0.2.31
+ const_format_proc_macros@0.2.31
+ convert_case@0.6.0
+ core-foundation-sys@0.8.7
+ crossbeam-channel@0.5.13
+ crossbeam-deque@0.8.5
+ crossbeam-epoch@0.9.18
+ crossbeam-queue@0.3.11
+ crossbeam-utils@0.8.20
+ crossbeam@0.8.4
+ ctrlc@3.4.5
+ darling@0.20.10
+ darling_core@0.20.10
+ darling_macro@0.20.10
+ deranged@0.3.11
+ either@1.13.0
+ endi@1.1.0
+ enumflags2@0.7.10
+ enumflags2_derive@0.7.10
+ equivalent@1.0.1
+ errno@0.3.9
+ event-listener-strategy@0.5.2
+ event-listener@5.3.1
+ fastrand@2.1.1
+ fb_procfs@0.7.1
+ filetime@0.2.25
+ fnv@1.0.7
+ funty@2.0.0
+ futures-core@0.3.30
+ futures-io@0.3.30
+ futures-lite@2.3.0
+ futures-sink@0.3.30
+ futures-task@0.3.30
+ futures-util@0.3.30
+ gimli@0.31.0
+ glob@0.3.1
+ gpoint@0.2.1
+ hashbrown@0.14.5
+ heck@0.5.0
+ hermit-abi@0.3.9
+ hermit-abi@0.4.0
+ hex@0.4.3
+ home@0.5.9
+ iana-time-zone-haiku@0.1.2
+ iana-time-zone@0.1.60
+ ident_case@1.0.1
+ indexmap@2.5.0
+ is_terminal_polyfill@1.70.1
+ itertools@0.12.1
+ itertools@0.13.0
+ itoa@1.0.11
+ js-sys@0.3.70
+ lazy_static@1.5.0
+ lazycell@1.3.0
+ libbpf-cargo@0.24.8
+ libbpf-rs@0.24.8
+ libbpf-sys@1.4.6+v1.4.7
+ libc@0.2.158
+ libloading@0.8.5
+ libredox@0.1.3
+ linux-raw-sys@0.4.14
+ log@0.4.22
+ maplit@1.0.2
+ memchr@2.7.4
+ memmap2@0.5.10
+ memoffset@0.6.5
+ memoffset@0.9.1
+ minimal-lexical@0.2.1
+ miniz_oxide@0.8.0
+ mio@1.0.2
+ nix@0.25.1
+ nix@0.29.0
+ nom@7.1.3
+ ntapi@0.4.1
+ num-conv@0.1.0
+ num-traits@0.2.19
+ num_cpus@1.16.0
+ num_threads@0.1.7
+ nvml-wrapper-sys@0.8.0
+ nvml-wrapper@0.10.0
+ object@0.36.4
+ once_cell@1.19.0
+ openat@0.1.21
+ ordered-float@3.9.2
+ ordered-stream@0.2.0
+ parking@2.2.1
+ paste@1.0.15
+ pin-project-lite@0.2.14
+ pin-utils@0.1.0
+ piper@0.2.4
+ pkg-config@0.3.30
+ plain@0.2.3
+ polling@3.7.3
+ powerfmt@0.2.0
+ prettyplease@0.2.22
+ proc-macro-crate@3.2.0
+ proc-macro2@1.0.86
+ quote@1.0.37
+ radium@0.7.0
+ rayon-core@1.12.1
+ rayon@1.10.0
+ redox_syscall@0.5.3
+ regex-automata@0.4.7
+ regex-syntax@0.6.29
+ regex-syntax@0.8.4
+ regex@1.10.6
+ rustc-demangle@0.1.24
+ rustc-hash@1.1.0
+ rustix@0.38.36
+ rustversion@1.0.17
+ ryu@1.0.18
+ same-file@1.0.6
+ semver@1.0.23
+ serde@1.0.210
+ serde_derive@1.0.210
+ serde_json@1.0.128
+ serde_repr@0.1.19
+ serde_spanned@0.6.8
+ shlex@1.3.0
+ signal-hook-registry@1.4.2
+ simple_logger@5.0.0
+ simplelog@0.12.2
+ slab@0.4.9
+ socket2@0.5.7
+ sorted-vec@0.8.3
+ sscanf@0.4.2
+ sscanf_macro@0.4.2
+ static_assertions@1.1.0
+ strsim@0.10.0
+ strsim@0.11.1
+ syn@2.0.77
+ sysinfo@0.31.4
+ tap@1.0.1
+ tar@0.4.41
+ tempfile@3.12.0
+ termcolor@1.4.1
+ terminal_size@0.3.0
+ thiserror-impl@1.0.63
+ thiserror@1.0.63
+ threadpool@1.8.1
+ time-core@0.1.2
+ time-macros@0.2.18
+ time@0.3.36
+ tokio-macros@2.4.0
+ tokio@1.40.0
+ toml@0.8.19
+ toml_datetime@0.6.8
+ toml_edit@0.22.20
+ tracing-attributes@0.1.27
+ tracing-core@0.1.32
+ tracing@0.1.40
+ uds_windows@1.1.0
+ unicase@2.7.0
+ unicode-ident@1.0.12
+ unicode-segmentation@1.11.0
+ unicode-width@0.1.12
+ unicode-xid@0.2.5
+ utf8parse@0.2.2
+ vergen@8.3.2
+ version-compare@0.1.1
+ version_check@0.9.5
+ vsprintf@2.0.0
+ walkdir@2.5.0
+ wasi@0.11.0+wasi-snapshot-preview1
+ wasm-bindgen-backend@0.2.93
+ wasm-bindgen-macro-support@0.2.93
+ wasm-bindgen-macro@0.2.93
+ wasm-bindgen-shared@0.2.93
+ wasm-bindgen@0.2.93
+ which@4.4.2
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.9
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-core@0.52.0
+ windows-core@0.57.0
+ windows-implement@0.57.0
+ windows-interface@0.57.0
+ windows-result@0.1.2
+ windows-sys@0.48.0
+ windows-sys@0.52.0
+ windows-sys@0.59.0
+ windows-targets@0.48.5
+ windows-targets@0.52.6
+ windows@0.57.0
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_gnullvm@0.52.6
+ windows_aarch64_msvc@0.48.5
+ windows_aarch64_msvc@0.52.6
+ windows_i686_gnu@0.48.5
+ windows_i686_gnu@0.52.6
+ windows_i686_gnullvm@0.52.6
+ windows_i686_msvc@0.48.5
+ windows_i686_msvc@0.52.6
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnu@0.52.6
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_gnullvm@0.52.6
+ windows_x86_64_msvc@0.48.5
+ windows_x86_64_msvc@0.52.6
+ winnow@0.6.18
+ wrapcenum-derive@0.4.1
+ wyz@0.5.1
+ xattr@1.3.1
+ xdg-home@1.3.0
+ zbus@5.1.1
+ zbus_macros@5.1.1
+ zbus_names@4.1.0
+ zvariant@5.1.0
+ zvariant_derive@5.1.0
+ zvariant_utils@3.0.2
+"
+
+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}
+"
+
+LICENSE="GPL-2"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0 BSD-2 BSD ISC MIT MPL-2.0 Unicode-DFS-2016 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
+}