[Optimizations] add defaultSettings option for optimizePkg + add more packages to blacklist

This commit is contained in:
Antoine Viallon 2023-05-05 11:41:20 +02:00
parent 49a6dd3bb4
commit deccde8589
Signed by: aviallon
GPG key ID: 186FC35EDEB25716

View file

@ -15,14 +15,12 @@ let
blacklist ? cfg.blacklist, blacklist ? cfg.blacklist,
ltoBlacklist ? cfg.lto.blacklist, ltoBlacklist ? cfg.lto.blacklist,
overrideMap ? cfg.overrideMap, overrideMap ? cfg.overrideMap,
recursive ? 1,
level ? "slower",
lto ? cfg.lto, lto ? cfg.lto,
stdenv ? null, stdenv ? null,
... ...
}@attrs: pkg: }@attrs: pkg:
myLib.optimizations.optimizePkg pkg ({ myLib.optimizations.optimizePkg pkg (cfg.defaultSettings // {
inherit cpuCores cpuTune cpuArch extraCFlags blacklist overrideMap; inherit cpuCores cpuTune cpuArch extraCFlags blacklist ltoBlacklist overrideMap stdenv;
} // attrs); } // attrs);
in { in {
options.aviallon.optimizations = { options.aviallon.optimizations = {
@ -50,6 +48,14 @@ in {
description = "Add specific compile flags"; description = "Add specific compile flags";
type = types.listOf types.str; type = types.listOf types.str;
}; };
defaultSettings = mkOption {
default = {
recursive = 1;
level = "slower";
};
example = { level = "unsafe"; recursive = 0; };
description = mdDoc "Specify default options passed to optimizePkg";
};
optimizePkg = mkOption { optimizePkg = mkOption {
default = optimizePkg; default = optimizePkg;
example = "pkg: pkg.override { stdenv = pkgs.fastStdenv; }"; example = "pkg: pkg.override { stdenv = pkgs.fastStdenv; }";
@ -62,7 +68,7 @@ in {
"cmocka" "libkrb5" "libidn2" "tpm2-tss" "libxcrypt" "cmocka" "libkrb5" "libidn2" "tpm2-tss" "libxcrypt"
"libomxil-bellagio" "wayland" "wayland-protocols" "libomxil-bellagio" "wayland" "wayland-protocols"
"openssl" "libXt" "intel-media-sdk" "openssl" "libXt" "intel-media-sdk"
"zlib" "alsa-lib" "glib" "lcms2" "zlib" "alsa-lib" "glib" "lcms2" "gconf" "gnome-vfs"
# Very slow # Very slow
"llvm" "clang" "clang-wrapper" "valgrind" "rustc" "tensorflow" "llvm" "clang" "clang-wrapper" "valgrind" "rustc" "tensorflow"
@ -110,34 +116,18 @@ in {
(self: super: { (self: super: {
opensshOptimized = optimizePkg { opensshOptimized = optimizePkg {
level = "very-unsafe";
recursive = 0; recursive = 0;
lto = true;
} super.openssh; } super.openssh;
htop = optimizePkg { htop = optimizePkg {
level = "slower";
lto = true;
} super.htop; } super.htop;
nano = optimizePkg { nano = optimizePkg {
level = "slower";
recursive = 99; recursive = 99;
lto = true;
} super.nano; } super.nano;
mesaOptimized = optimizePkg {
level = "slower";
recursive = 1;
lto = true;
} super.mesa;
optipngOptimized = optimizePkg { optipngOptimized = optimizePkg {
level = "unsafe";
lto = true;
recursive = 1;
parallelize = generalCfg.cores; parallelize = generalCfg.cores;
} super.optipng; } super.optipng;
myFFmpeg = optimizePkg { myFFmpeg = optimizePkg {
level = "normal";
lto = false; lto = false;
recursive = 1;
} super.myFFmpeg; } super.myFFmpeg;
man-db_optimized = optimizePkg { man-db_optimized = optimizePkg {
@ -154,11 +144,11 @@ in {
jetbrains = super.jetbrains // { jetbrains = super.jetbrains // {
jdk = optimizePkg { jdk = optimizePkg {
level = "moderately-unsafe";
lto = true; lto = true;
recursive = 1; recursive = 1;
} super.jetbrains.jdk; } super.jetbrains.jdk;
}; };
}) })
]; ];