Loading pkgs/os-specific/linux/scx/default.nix +6 −1 Original line number Diff line number Diff line Loading @@ -10,6 +10,9 @@ }: let versionInfo = lib.importJSON ./version.json; # Useful function for packaging schedulers, should be used unless the build system is too complex # passes some default values like src, version (all of which can be overridden) mkScxScheduler = packageType: args@{ schedulerName, ... }: Loading Loading @@ -43,7 +46,7 @@ let "zerocallusedregs" ] ++ (args.hardeningDisable or [ ]); meta = args.meta // { meta = (args.meta or { }) // { description = args.meta.description or ""; longDescription = (args.meta.longDescription or "") Loading @@ -65,7 +68,9 @@ let { layered = import ./scx_layered; } { rlfifo = import ./scx_rlfifo; } { rustland = import ./scx_rustland; } { rusty = import ./scx_rusty; } { csheds = import ./scx_csheds.nix; } { full = import ./scx_full.nix; } ]; in (lib.mapAttrs (name: scheduler: callPackage scheduler { inherit mkScxScheduler; }) schedulers) Loading pkgs/os-specific/linux/scx/scx_bpfland/default.nix +1 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ mkScxScheduler, }: mkScxScheduler "rust" rec { mkScxScheduler "rust" { schedulerName = "scx_bpfland"; cargoRoot = "scheds/rust/scx_bpfland"; Loading pkgs/os-specific/linux/scx/scx_csheds.nix +7 −4 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ let }); in mkScxScheduler "c" rec { mkScxScheduler "c" { schedulerName = "scx_csheds"; postPatch = '' Loading @@ -78,8 +78,11 @@ mkScxScheduler "c" rec { mesonFlags = [ (lib.mapAttrsToList lib.mesonEnable { # systemd unit is implemented in the nixos module # upstream systemd files are a hassle to patch "systemd" = false; "openrc" = false; # libbpf is already fetched as FOD "libbpf_a" = false; # not for nix "libalpm" = false; Loading @@ -87,7 +90,7 @@ mkScxScheduler "c" rec { (lib.mapAttrsToList lib.mesonBool { # needed libs are already fetched as FOD "offline" = true; # rust schedulers are built seperately # rust based schedulers are built seperately "enable_rust" = false; }) ]; Loading @@ -99,8 +102,8 @@ mkScxScheduler "c" rec { meta = { description = "Sched-ext C userspace schedulers"; longDescription = '' This includes C based schedulers such as scx_central, scx_flatcg, scx_pair, scx_qmap, scx_simple, scx_userland. This includes C based schedulers such as scx_central, scx_flatcg, scx_nest, scx_pair, scx_qmap, scx_simple, scx_userland. ''; }; } pkgs/os-specific/linux/scx/scx_full.nix 0 → 100644 +28 −0 Original line number Diff line number Diff line { stdenv, lib, scx, mkScxScheduler, }: scx.csheds.overrideAttrs (oldAttrs: { pname = "scx_full"; postInstall = (oldAttrs.postInstall or "") + '' cp ${lib.getExe scx.bpfland} $out/bin/ cp ${lib.getExe scx.lavd} $out/bin/ cp ${lib.getExe scx.layered} $out/bin/ cp ${lib.getExe scx.rlfifo} $out/bin/ cp ${lib.getExe scx.rustland} $out/bin/ cp ${lib.getExe scx.rusty} $out/bin/ ''; meta = oldAttrs.meta // { description = "Sched-ext C and Rust userspace schedulers"; longDescription = '' This includes C based schedulers such as scx_central, scx_flatcg, scx_pair, scx_qmap, scx_simple, scx_userland and Rust based schedulers like scx_rustland, scx_bpfland, scx_lavd, scx_layered, scx_rlfifo. ''; }; }) pkgs/os-specific/linux/scx/scx_lavd/default.nix +1 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ mkScxScheduler, }: mkScxScheduler "rust" rec { mkScxScheduler "rust" { schedulerName = "scx_lavd"; cargoRoot = "scheds/rust/scx_lavd"; Loading Loading
pkgs/os-specific/linux/scx/default.nix +6 −1 Original line number Diff line number Diff line Loading @@ -10,6 +10,9 @@ }: let versionInfo = lib.importJSON ./version.json; # Useful function for packaging schedulers, should be used unless the build system is too complex # passes some default values like src, version (all of which can be overridden) mkScxScheduler = packageType: args@{ schedulerName, ... }: Loading Loading @@ -43,7 +46,7 @@ let "zerocallusedregs" ] ++ (args.hardeningDisable or [ ]); meta = args.meta // { meta = (args.meta or { }) // { description = args.meta.description or ""; longDescription = (args.meta.longDescription or "") Loading @@ -65,7 +68,9 @@ let { layered = import ./scx_layered; } { rlfifo = import ./scx_rlfifo; } { rustland = import ./scx_rustland; } { rusty = import ./scx_rusty; } { csheds = import ./scx_csheds.nix; } { full = import ./scx_full.nix; } ]; in (lib.mapAttrs (name: scheduler: callPackage scheduler { inherit mkScxScheduler; }) schedulers) Loading
pkgs/os-specific/linux/scx/scx_bpfland/default.nix +1 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ mkScxScheduler, }: mkScxScheduler "rust" rec { mkScxScheduler "rust" { schedulerName = "scx_bpfland"; cargoRoot = "scheds/rust/scx_bpfland"; Loading
pkgs/os-specific/linux/scx/scx_csheds.nix +7 −4 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ let }); in mkScxScheduler "c" rec { mkScxScheduler "c" { schedulerName = "scx_csheds"; postPatch = '' Loading @@ -78,8 +78,11 @@ mkScxScheduler "c" rec { mesonFlags = [ (lib.mapAttrsToList lib.mesonEnable { # systemd unit is implemented in the nixos module # upstream systemd files are a hassle to patch "systemd" = false; "openrc" = false; # libbpf is already fetched as FOD "libbpf_a" = false; # not for nix "libalpm" = false; Loading @@ -87,7 +90,7 @@ mkScxScheduler "c" rec { (lib.mapAttrsToList lib.mesonBool { # needed libs are already fetched as FOD "offline" = true; # rust schedulers are built seperately # rust based schedulers are built seperately "enable_rust" = false; }) ]; Loading @@ -99,8 +102,8 @@ mkScxScheduler "c" rec { meta = { description = "Sched-ext C userspace schedulers"; longDescription = '' This includes C based schedulers such as scx_central, scx_flatcg, scx_pair, scx_qmap, scx_simple, scx_userland. This includes C based schedulers such as scx_central, scx_flatcg, scx_nest, scx_pair, scx_qmap, scx_simple, scx_userland. ''; }; }
pkgs/os-specific/linux/scx/scx_full.nix 0 → 100644 +28 −0 Original line number Diff line number Diff line { stdenv, lib, scx, mkScxScheduler, }: scx.csheds.overrideAttrs (oldAttrs: { pname = "scx_full"; postInstall = (oldAttrs.postInstall or "") + '' cp ${lib.getExe scx.bpfland} $out/bin/ cp ${lib.getExe scx.lavd} $out/bin/ cp ${lib.getExe scx.layered} $out/bin/ cp ${lib.getExe scx.rlfifo} $out/bin/ cp ${lib.getExe scx.rustland} $out/bin/ cp ${lib.getExe scx.rusty} $out/bin/ ''; meta = oldAttrs.meta // { description = "Sched-ext C and Rust userspace schedulers"; longDescription = '' This includes C based schedulers such as scx_central, scx_flatcg, scx_pair, scx_qmap, scx_simple, scx_userland and Rust based schedulers like scx_rustland, scx_bpfland, scx_lavd, scx_layered, scx_rlfifo. ''; }; })
pkgs/os-specific/linux/scx/scx_lavd/default.nix +1 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ mkScxScheduler, }: mkScxScheduler "rust" rec { mkScxScheduler "rust" { schedulerName = "scx_lavd"; cargoRoot = "scheds/rust/scx_lavd"; Loading