diff options
Diffstat (limited to 'pkgs/top-level')
-rw-r--r-- | pkgs/top-level/aliases.nix | 4 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 31 | ||||
-rw-r--r-- | pkgs/top-level/config.nix | 32 | ||||
-rw-r--r-- | pkgs/top-level/kodi-packages.nix | 209 | ||||
-rw-r--r-- | pkgs/top-level/linux-kernels.nix | 13 | ||||
-rw-r--r-- | pkgs/top-level/octave-packages.nix | 10 | ||||
-rw-r--r-- | pkgs/top-level/php-packages.nix | 2 | ||||
-rw-r--r-- | pkgs/top-level/python-packages.nix | 8 | ||||
-rw-r--r-- | pkgs/top-level/release-cross.nix | 169 | ||||
-rw-r--r-- | pkgs/top-level/release-cuda.nix | 11 | ||||
-rw-r--r-- | pkgs/top-level/release-lib.nix | 65 | ||||
-rw-r--r-- | pkgs/top-level/release-python.nix | 13 | ||||
-rw-r--r-- | pkgs/top-level/release-r.nix | 8 | ||||
-rw-r--r-- | pkgs/top-level/release-small.nix | 8 | ||||
-rw-r--r-- | pkgs/top-level/release.nix | 42 | ||||
-rw-r--r-- | pkgs/top-level/unixtools.nix | 13 |
16 files changed, 386 insertions, 252 deletions
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 28ee46900ded..dd23505b159c 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -608,6 +608,7 @@ mapAliases ({ linuxPackages_6_5 = linuxKernel.packages.linux_6_5; linuxPackages_6_6 = linuxKernel.packages.linux_6_6; linuxPackages_6_7 = linuxKernel.packages.linux_6_7; + linuxPackages_6_8 = linuxKernel.packages.linux_6_8; linuxPackages_rpi0 = linuxKernel.packages.linux_rpi1; linuxPackages_rpi02w = linuxKernel.packages.linux_rpi3; linuxPackages_rpi1 = linuxKernel.packages.linux_rpi1; @@ -634,6 +635,7 @@ mapAliases ({ linux_6_5 = linuxKernel.kernels.linux_6_5; linux_6_6 = linuxKernel.kernels.linux_6_6; linux_6_7 = linuxKernel.kernels.linux_6_7; + linux_6_8 = linuxKernel.kernels.linux_6_8; linux_rpi0 = linuxKernel.kernels.linux_rpi1; linux_rpi02w = linuxKernel.kernels.linux_rpi3; linux_rpi1 = linuxKernel.kernels.linux_rpi1; @@ -982,6 +984,7 @@ mapAliases ({ ricochet = throw "ricochet has been deprecated in favor of ricochet-refresh"; # Added 2024-02-26 rigsofrods = rigsofrods-bin; # Added 2023-03-22 ring-daemon = jami-daemon; # Added 2021-10-26 + rnix-lsp = throw "'rnix-lsp' has been removed as it is unmaintained"; # Added 2024-03-09 rockbox_utility = rockbox-utility; # Added 2022-03-17 rocalution = throw "'rocalution' has been replaced with 'rocmPackages.rocalution'"; # Added 2023-10-08 rocblas = throw "'rocblas' has been replaced with 'rocmPackages.rocblas'"; # Added 2023-10-08 @@ -1100,6 +1103,7 @@ mapAliases ({ spice-gtk_libsoup2 = throw "'spice-gtk_libsoup2' has been renamed to/replaced by 'spice-gtk'"; # Added 2023-02-21 # spidermonkey is not ABI upwards-compatible, so only allow this for nix-shell spidermonkey = spidermonkey_78; # Added 2020-10-09 + spotify-tui = throw "'spotify-tui' has been removed, as it was broken and unmaintained"; # Added 2024-03-12 spotify-unwrapped = spotify; # added 2022-11-06 spring-boot = spring-boot-cli; # added 2020-04-24 squid4 = throw "'squid4' has been renamed to/replaced by 'squid'"; # Converted to throw 2023-09-10 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c1677d7ddb24..7ed2913b7680 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7094,6 +7094,8 @@ with pkgs; certstrap = callPackage ../tools/security/certstrap { }; + cffconvert = python3Packages.toPythonApplication python3Packages.cffconvert; + cfssl = callPackage ../tools/security/cfssl { }; cfs-zen-tweaks = callPackage ../os-specific/linux/cfs-zen-tweaks { }; @@ -18186,10 +18188,6 @@ with pkgs; pylyzer = callPackage ../development/tools/language-servers/pylyzer { }; - rnix-lsp = callPackage ../development/tools/language-servers/rnix-lsp { - nix = nixVersions.nix_2_15; - }; - ruff-lsp = python3Packages.callPackage ../development/tools/language-servers/ruff-lsp { }; rune-languageserver = callPackage ../development/tools/language-servers/rune-languageserver { }; @@ -19991,7 +19989,9 @@ with pkgs; terracognita = callPackage ../development/tools/misc/terracognita { }; terraform-lsp = callPackage ../development/tools/misc/terraform-lsp { }; - terraform-ls = callPackage ../development/tools/misc/terraform-ls { }; + terraform-ls = callPackage ../development/tools/misc/terraform-ls { + buildGoModule = buildGo122Module; + }; terraformer = callPackage ../development/tools/misc/terraformer { }; @@ -24233,10 +24233,6 @@ with pkgs; prime-server = callPackage ../development/libraries/prime-server { }; - primecount = callPackage ../applications/science/math/primecount { }; - - primesieve = callPackage ../applications/science/math/primesieve { }; - proj = callPackage ../development/libraries/proj { stdenv = if stdenv.cc.isClang then overrideLibcxx llvmPackages_13.stdenv else stdenv; }; @@ -27011,7 +27007,7 @@ with pkgs; smcroute = callPackage ../servers/smcroute { }; - snipe-it = callPackage ../servers/web-apps/snipe-it { + snipe-it = callPackage ../by-name/sn/snipe-it/package.nix { php = php81; }; @@ -27236,10 +27232,6 @@ with pkgs; pg_tileserv = callPackage ../servers/geospatial/pg_tileserv { }; - t-rex = callPackage ../servers/geospatial/t-rex { - inherit (darwin.apple_sdk.frameworks) Security; - }; - tegola = callPackage ../servers/geospatial/tegola { }; tile38 = callPackage ../servers/geospatial/tile38 { }; @@ -33621,8 +33613,6 @@ with pkgs; webkitgtk = webkitgtk_6_0; }; - nicotine-plus = callPackage ../applications/networking/soulseek/nicotine-plus { }; - nice-dcv-client = callPackage ../applications/networking/remote/nice-dcv-client { }; nixos-shell = callPackage ../tools/virtualization/nixos-shell { }; @@ -34886,10 +34876,6 @@ with pkgs; spotify-tray = callPackage ../applications/misc/spotify-tray { }; - spotify-tui = callPackage ../applications/audio/spotify-tui { - inherit (darwin.apple_sdk.frameworks) AppKit Security; - }; - sptlrx = callPackage ../applications/audio/sptlrx { }; sptk = callPackage ../development/libraries/sptk { }; @@ -35795,6 +35781,7 @@ with pkgs; virtualbox = libsForQt5.callPackage ../applications/virtualization/virtualbox { stdenv = stdenv_32bit; inherit (gnome2) libIDL; + jdk = openjdk17; }; virtualboxKvm = lowPrio (virtualbox.override { @@ -37702,7 +37689,9 @@ with pkgs; pacvim = callPackage ../games/pacvim { }; - papermc = callPackage ../games/papermc { }; + papermcServers = callPackages ../games/papermc { }; + + papermc = papermcServers.papermc; path-of-building = qt6Packages.callPackage ../games/path-of-building {}; diff --git a/pkgs/top-level/config.nix b/pkgs/top-level/config.nix index aa3a235553ef..3418a44e0f13 100644 --- a/pkgs/top-level/config.nix +++ b/pkgs/top-level/config.nix @@ -2,14 +2,20 @@ { config, lib, ... }: -with lib; - let + inherit (lib) + literalExpression + mapAttrsToList + mdDoc + mkOption + optionals + types + ; mkMassRebuild = args: mkOption (builtins.removeAttrs args [ "feature" ] // { type = args.type or (types.uniq types.bool); default = args.default or false; - description = lib.mdDoc ((args.description or '' + description = mdDoc ((args.description or '' Whether to ${args.feature} while building nixpkgs packages. '') + '' Changing the default may cause a mass rebuild. @@ -34,7 +40,7 @@ let /* Config options */ warnUndeclaredOptions = mkOption { - description = lib.mdDoc "Whether to warn when `config` contains an unrecognized attribute."; + description = mdDoc "Whether to warn when `config` contains an unrecognized attribute."; type = types.bool; default = false; }; @@ -66,7 +72,7 @@ let allowAliases = mkOption { type = types.bool; default = true; - description = lib.mdDoc '' + description = mdDoc '' Whether to expose old attribute names for compatibility. The recommended setting is to enable this, as it @@ -86,7 +92,7 @@ let default = false; # getEnv part is in check-meta.nix defaultText = literalExpression ''false || builtins.getEnv "NIXPKGS_ALLOW_UNFREE" == "1"''; - description = lib.mdDoc '' + description = mdDoc '' Whether to allow unfree packages. See [Installing unfree packages](https://nixos.org/manual/nixpkgs/stable/#sec-allow-unfree) in the NixOS manual. @@ -98,7 +104,7 @@ let default = false; # getEnv part is in check-meta.nix defaultText = literalExpression ''false || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1"''; - description = lib.mdDoc '' + description = mdDoc '' Whether to allow broken packages. See [Installing broken packages](https://nixos.org/manual/nixpkgs/stable/#sec-allow-broken) in the NixOS manual. @@ -110,7 +116,7 @@ let default = false; # getEnv part is in check-meta.nix defaultText = literalExpression ''false || builtins.getEnv "NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM" == "1"''; - description = lib.mdDoc '' + description = mdDoc '' Whether to allow unsupported packages. See [Installing packages on unsupported systems](https://nixos.org/manual/nixpkgs/stable/#sec-allow-unsupported-system) in the NixOS manual. @@ -132,7 +138,7 @@ let showDerivationWarnings = mkOption { type = types.listOf (types.enum [ "maintainerless" ]); default = []; - description = lib.mdDoc '' + description = mdDoc '' Which warnings to display for potentially dangerous or deprecated values passed into `stdenv.mkDerivation`. @@ -147,7 +153,7 @@ let checkMeta = mkOption { type = types.bool; default = false; - description = lib.mdDoc '' + description = mdDoc '' Whether to check that the `meta` attribute of derivations are correct during evaluation time. ''; }; @@ -156,7 +162,7 @@ let in { freeformType = - let t = lib.types.lazyAttrsOf lib.types.raw; + let t = types.lazyAttrsOf types.raw; in t // { merge = loc: defs: let r = t.merge loc defs; @@ -166,8 +172,8 @@ in { inherit options; config = { - warnings = lib.optionals config.warnUndeclaredOptions ( - lib.mapAttrsToList (k: v: "undeclared Nixpkgs option set: config.${k}") config._undeclared or {} + warnings = optionals config.warnUndeclaredOptions ( + mapAttrsToList (k: v: "undeclared Nixpkgs option set: config.${k}") config._undeclared or {} ); }; diff --git a/pkgs/top-level/kodi-packages.nix b/pkgs/top-level/kodi-packages.nix index 0014a1ff53f3..09ec68b592f8 100644 --- a/pkgs/top-level/kodi-packages.nix +++ b/pkgs/top-level/kodi-packages.nix @@ -1,29 +1,18 @@ { config, lib, newScope, kodi, libretro }: -with lib; - let - inherit (libretro) fuse genesis-plus-gx mgba nestopia snes9x twenty-fortyeight; -in - -let self = rec { + inherit (lib) + catAttrs + concatLists + filter + optionalAttrs + unique + ; - addonDir = "/share/kodi/addons"; - rel = "Nexus"; + inherit (libretro) fuse genesis-plus-gx mgba nestopia snes9x twenty-fortyeight; callPackage = newScope self; - inherit kodi; - - # Convert derivation to a kodi module. Stolen from ../../../top-level/python-packages.nix - toKodiAddon = drv: drv.overrideAttrs (oldAttrs: { - # Use passthru in order to prevent rebuilds when possible. - passthru = (oldAttrs.passthru or {}) // { - kodiAddonFor = kodi; - requiredKodiAddons = requiredKodiAddons drv.propagatedBuildInputs; - }; - }); - # Check whether a derivation provides a Kodi addon. hasKodiAddon = drv: drv ? kodiAddonFor && drv.kodiAddonFor == kodi; @@ -34,170 +23,186 @@ let self = rec { in unique (modules ++ concatLists (catAttrs "requiredKodiAddons" modules)); - # package update scripts + self = { + addonDir = "/share/kodi/addons"; + + rel = "Nexus"; + + inherit callPackage kodi hasKodiAddon requiredKodiAddons; + + # Convert derivation to a kodi module. Stolen from ../../../top-level/python-packages.nix + toKodiAddon = drv: drv.overrideAttrs (oldAttrs: { + # Use passthru in order to prevent rebuilds when possible. + passthru = (oldAttrs.passthru or {}) // { + kodiAddonFor = kodi; + requiredKodiAddons = requiredKodiAddons drv.propagatedBuildInputs; + }; + }); + + # package update scripts - addonUpdateScript = callPackage ../applications/video/kodi/addons/addon-update-script { }; + addonUpdateScript = callPackage ../applications/video/kodi/addons/addon-update-script { }; - # package builders + # package builders - buildKodiAddon = callPackage ../applications/video/kodi/build-kodi-addon.nix { }; + buildKodiAddon = callPackage ../applications/video/kodi/build-kodi-addon.nix { }; - buildKodiBinaryAddon = callPackage ../applications/video/kodi/build-kodi-binary-addon.nix { }; + buildKodiBinaryAddon = callPackage ../applications/video/kodi/build-kodi-binary-addon.nix { }; - # regular packages + # regular packages - kodi-platform = callPackage ../applications/video/kodi/addons/kodi-platform { }; + kodi-platform = callPackage ../applications/video/kodi/addons/kodi-platform { }; - # addon packages + # addon packages - a4ksubtitles = callPackage ../applications/video/kodi/addons/a4ksubtitles { }; + a4ksubtitles = callPackage ../applications/video/kodi/addons/a4ksubtitles { }; - arteplussept = callPackage ../applications/video/kodi/addons/arteplussept { }; + arteplussept = callPackage ../applications/video/kodi/addons/arteplussept { }; - controller-topology-project = callPackage ../applications/video/kodi/addons/controller-topology-project { }; + controller-topology-project = callPackage ../applications/video/kodi/addons/controller-topology-project { }; - iagl = callPackage ../applications/video/kodi/addons/iagl { }; + iagl = callPackage ../applications/video/kodi/addons/iagl { }; - invidious = callPackage ../applications/video/kodi/addons/invidious { }; + invidious = callPackage ../applications/video/kodi/addons/invidious { }; - libretro = callPackage ../applications/video/kodi/addons/libretro { }; + libretro = callPackage ../applications/video/kodi/addons/libretro { }; - libretro-2048 = callPackage ../applications/video/kodi/addons/libretro-2048 { inherit twenty-fortyeight; }; + libretro-2048 = callPackage ../applications/video/kodi/addons/libretro-2048 { inherit twenty-fortyeight; }; - libretro-fuse = callPackage ../applications/video/kodi/addons/libretro-fuse { inherit fuse; }; + libretro-fuse = callPackage ../applications/video/kodi/addons/libretro-fuse { inherit fuse; }; - libretro-genplus = callPackage ../applications/video/kodi/addons/libretro-genplus { inherit genesis-plus-gx; }; + libretro-genplus = callPackage ../applications/video/kodi/addons/libretro-genplus { inherit genesis-plus-gx; }; - libretro-mgba = callPackage ../applications/video/kodi/addons/libretro-mgba { inherit mgba; }; + libretro-mgba = callPackage ../applications/video/kodi/addons/libretro-mgba { inherit mgba; }; - libretro-nestopia = callPackage ../applications/video/kodi/addons/libretro-nestopia { inherit nestopia; }; + libretro-nestopia = callPackage ../applications/video/kodi/addons/libretro-nestopia { inherit nestopia; }; - libretro-snes9x = callPackage ../applications/video/kodi/addons/libretro-snes9x { inherit snes9x; }; + libretro-snes9x = callPackage ../applications/video/kodi/addons/libretro-snes9x { inherit snes9x; }; - jellyfin = callPackage ../applications/video/kodi/addons/jellyfin { }; + jellyfin = callPackage ../applications/video/kodi/addons/jellyfin { }; - joystick = callPackage ../applications/video/kodi/addons/joystick { }; + joystick = callPackage ../applications/video/kodi/addons/joystick { }; - keymap = callPackage ../applications/video/kodi/addons/keymap { }; + keymap = callPackage ../applications/video/kodi/addons/keymap { }; - mediacccde = callPackage ../applications/video/kodi/addons/mediacccde { }; + mediacccde = callPackage ../applications/video/kodi/addons/mediacccde { }; - mediathekview = callPackage ../applications/video/kodi/addons/mediathekview { }; + mediathekview = callPackage ../applications/video/kodi/addons/mediathekview { }; - netflix = callPackage ../applications/video/kodi/addons/netflix { }; + netflix = callPackage ../applications/video/kodi/addons/netflix { }; - orftvthek = callPackage ../applications/video/kodi/addons/orftvthek { }; + orftvthek = callPackage ../applications/video/kodi/addons/orftvthek { }; - radioparadise = callPackage ../applications/video/kodi/addons/radioparadise { }; + radioparadise = callPackage ../applications/video/kodi/addons/radioparadise { }; - svtplay = callPackage ../applications/video/kodi/addons/svtplay { }; + svtplay = callPackage ../applications/video/kodi/addons/svtplay { }; - steam-controller = callPackage ../applications/video/kodi/addons/steam-controller { }; + steam-controller = callPackage ../applications/video/kodi/addons/steam-controller { }; - steam-launcher = callPackage ../applications/video/kodi/addons/steam-launcher { }; + steam-launcher = callPackage ../applications/video/kodi/addons/steam-launcher { }; - steam-library = callPackage ../applications/video/kodi/addons/steam-library { }; + steam-library = callPackage ../applications/video/kodi/addons/steam-library { }; - somafm = callPackage ../applications/video/kodi/addons/somafm { }; + somafm = callPackage ../applications/video/kodi/addons/somafm { }; - pdfreader = callPackage ../applications/video/kodi/addons/pdfreader { }; + pdfreader = callPackage ../applications/video/kodi/addons/pdfreader { }; - pvr-hts = callPackage ../applications/video/kodi/addons/pvr-hts { }; + pvr-hts = callPackage ../applications/video/kodi/addons/pvr-hts { }; - pvr-hdhomerun = callPackage ../applications/video/kodi/addons/pvr-hdhomerun { }; + pvr-hdhomerun = callPackage ../applications/video/kodi/addons/pvr-hdhomerun { }; - pvr-iptvsimple = callPackage ../applications/video/kodi/addons/pvr-iptvsimple { }; + pvr-iptvsimple = callPackage ../applications/video/kodi/addons/pvr-iptvsimple { }; - pvr-vdr-vnsi = callPackage ../applications/video/kodi/addons/pvr-vdr-vnsi { }; + pvr-vdr-vnsi = callPackage ../applications/video/kodi/addons/pvr-vdr-vnsi { }; - osmc-skin = callPackage ../applications/video/kodi/addons/osmc-skin { }; + osmc-skin = callPackage ../applications/video/kodi/addons/osmc-skin { }; - vfs-libarchive = callPackage ../applications/video/kodi/addons/vfs-libarchive { }; + vfs-libarchive = callPackage ../applications/video/kodi/addons/vfs-libarchive { }; - vfs-rar = callPackage ../applications/video/kodi/addons/vfs-rar { }; + vfs-rar = callPackage ../applications/video/kodi/addons/vfs-rar { }; - vfs-sftp = callPackage ../applications/video/kodi/addons/vfs-sftp { }; + vfs-sftp = callPackage ../applications/video/kodi/addons/vfs-sftp { }; - visualization-fishbmc = callPackage ../applications/video/kodi/addons/visualization-fishbmc { }; + visualization-fishbmc = callPackage ../applications/video/kodi/addons/visualization-fishbmc { }; - visualization-goom = callPackage ../applications/video/kodi/addons/visualization-goom { }; + visualization-goom = callPackage ../applications/video/kodi/addons/visualization-goom { }; - visualization-matrix = callPackage ../applications/video/kodi/addons/visualization-matrix { }; + visualization-matrix = callPackage ../applications/video/kodi/addons/visualization-matrix { }; - visualization-pictureit = callPackage ../applications/video/kodi/addons/visualization-pictureit { }; + visualization-pictureit = callPackage ../applications/video/kodi/addons/visualization-pictureit { }; - visualization-projectm = callPackage ../applications/video/kodi/addons/visualization-projectm { }; + visualization-projectm = callPackage ../applications/video/kodi/addons/visualization-projectm { }; - visualization-shadertoy = callPackage ../applications/video/kodi/addons/visualization-shadertoy { }; + visualization-shadertoy = callPackage ../applications/video/kodi/addons/visualization-shadertoy { }; - visualization-spectrum = callPackage ../applications/video/kodi/addons/visualization-spectrum { }; + visualization-spectrum = callPackage ../applications/video/kodi/addons/visualization-spectrum { }; - visualization-starburst = callPackage ../applications/video/kodi/addons/visualization-starburst { }; + visualization-starburst = callPackage ../applications/video/kodi/addons/visualization-starburst { }; - visualization-waveform = callPackage ../applications/video/kodi/addons/visualization-waveform { }; + visualization-waveform = callPackage ../applications/video/kodi/addons/visualization-waveform { }; - youtube = callPackage ../applications/video/kodi/addons/youtube { }; + youtube = callPackage ../applications/video/kodi/addons/youtube { }; - # addon packages (dependencies) + # addon packages (dependencies) - archive_tool = callPackage ../applications/video/kodi/addons/archive_tool { }; + archive_tool = callPackage ../applications/video/kodi/addons/archive_tool { }; - certifi = callPackage ../applications/video/kodi/addons/certifi { }; + certifi = callPackage ../applications/video/kodi/addons/certifi { }; - chardet = callPackage ../applications/video/kodi/addons/chardet { }; + chardet = callPackage ../applications/video/kodi/addons/chardet { }; - dateutil = callPackage ../applications/video/kodi/addons/dateutil { }; + dateutil = callPackage ../applications/video/kodi/addons/dateutil { }; - defusedxml = callPackage ../applications/video/kodi/addons/defusedxml { }; + defusedxml = callPackage ../applications/video/kodi/addons/defusedxml { }; - future = callPackage ../applications/video/kodi/addons/future { }; + future = callPackage ../applications/video/kodi/addons/future { }; - idna = callPackage ../applications/video/kodi/addons/idna { }; + idna = callPackage ../applications/video/kodi/addons/idna { }; - infotagger = callPackage ../applications/video/kodi/addons/infotagger { }; + infotagger = callPackage ../applications/video/kodi/addons/infotagger { }; - inputstream-adaptive = callPackage ../applications/video/kodi/addons/inputstream-adaptive { }; + inputstream-adaptive = callPackage ../applications/video/kodi/addons/inputstream-adaptive { }; - inputstream-ffmpegdirect = callPackage ../applications/video/kodi/addons/inputstream-ffmpegdirect { }; + inputstream-ffmpegdirect = callPackage ../applications/video/kodi/addons/inputstream-ffmpegdirect { }; - inputstream-rtmp = callPackage ../applications/video/kodi/addons/inputstream-rtmp { }; + inputstream-rtmp = callPackage ../applications/video/kodi/addons/inputstream-rtmp { }; - inputstreamhelper = callPackage ../applications/video/kodi/addons/inputstreamhelper { }; + inputstreamhelper = callPackage ../applications/video/kodi/addons/inputstreamhelper { }; - kodi-six = callPackage ../applications/video/kodi/addons/kodi-six { }; + kodi-six = callPackage ../applications/video/kodi/addons/kodi-six { }; - myconnpy = callPackage ../applications/video/kodi/addons/myconnpy { }; + myconnpy = callPackage ../applications/video/kodi/addons/myconnpy { }; - requests = callPackage ../applications/video/kodi/addons/requests { }; + requests = callPackage ../applications/video/kodi/addons/requests { }; - requests-cache = callPackage ../applications/video/kodi/addons/requests-cache { }; + requests-cache = callPackage ../applications/video/kodi/addons/requests-cache { }; - routing = callPackage ../applications/video/kodi/addons/routing { }; + routing = callPackage ../applications/video/kodi/addons/routing { }; - sendtokodi = callPackage ../applications/video/kodi/addons/sendtokodi { }; + sendtokodi = callPackage ../applications/video/kodi/addons/sendtokodi { }; - signals = callPackage ../applications/video/kodi/addons/signals { }; + signals = callPackage ../applications/video/kodi/addons/signals { }; - simplejson = callPackage ../applications/video/kodi/addons/simplejson { }; + simplejson = callPackage ../applications/video/kodi/addons/simplejson { }; - six = callPackage ../applications/video/kodi/addons/six { }; + six = callPackage ../applications/video/kodi/addons/six { }; - sponsorblock = callPackage ../applications/video/kodi/addons/sponsorblock { }; + sponsorblock = callPackage ../applications/video/kodi/addons/sponsorblock { }; - urllib3 = callPackage ../applications/video/kodi/addons/urllib3 { }; + urllib3 = callPackage ../applications/video/kodi/addons/urllib3 { }; - websocket = callPackage ../applications/video/kodi/addons/websocket { }; + websocket = callPackage ../applications/video/kodi/addons/websocket { }; - xbmcswift2 = callPackage ../applications/video/kodi/addons/xbmcswift2 { }; + xbmcswift2 = callPackage ../applications/video/kodi/addons/xbmcswift2 { }; - typing_extensions = callPackage ../applications/video/kodi/addons/typing_extensions { }; + typing_extensions = callPackage ../applications/video/kodi/addons/typing_extensions { }; - arrow = callPackage ../applications/video/kodi/addons/arrow { }; + arrow = callPackage ../applications/video/kodi/addons/arrow { }; - trakt-module = callPackage ../applications/video/kodi/addons/trakt-module { }; + trakt-module = callPackage ../applications/video/kodi/addons/trakt-module { }; - trakt = callPackage ../applications/video/kodi/addons/trakt { }; -}; in self // lib.optionalAttrs config.allowAliases { + trakt = callPackage ../applications/video/kodi/addons/trakt { }; +}; in self // optionalAttrs config.allowAliases { # deprecated or renamed packages controllers = throw "kodi.packages.controllers has been replaced with kodi.packages.controller-topology-project - a package which contains a large number of controller profiles." { }; diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index 5f0fe736d38a..1a040f052c71 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -196,6 +196,16 @@ in { ]; }; + linux_6_8 = callPackage ../os-specific/linux/kernel/mainline.nix { + branch = "6.8"; + kernelPatches = [ + kernelPatches.bridge_stp_helper + kernelPatches.request_key_helper + kernelPatches.rust_1_75 + kernelPatches.rust_1_76 + ]; + }; + linux_testing = let testing = callPackage ../os-specific/linux/kernel/mainline.nix { # A special branch that tracks the kernel under the release process @@ -596,6 +606,7 @@ in { linux_6_1 = recurseIntoAttrs (packagesFor kernels.linux_6_1); linux_6_6 = recurseIntoAttrs (packagesFor kernels.linux_6_6); linux_6_7 = recurseIntoAttrs (packagesFor kernels.linux_6_7); + linux_6_8 = recurseIntoAttrs (packagesFor kernels.linux_6_8); __attrsFailEvaluation = true; } // lib.optionalAttrs config.allowAliases { linux_4_9 = throw "linux 4.9 was removed because it will reach its end of life within 22.11"; # Added 2022-11-08 @@ -662,7 +673,7 @@ in { packageAliases = { linux_default = packages.linux_6_6; # Update this when adding the newest kernel major version! - linux_latest = packages.linux_6_7; + linux_latest = packages.linux_6_8; linux_mptcp = throw "'linux_mptcp' has been moved to https://github.com/teto/mptcp-flake"; linux_rt_default = packages.linux_rt_5_4; linux_rt_latest = packages.linux_rt_6_6; diff --git a/pkgs/top-level/octave-packages.nix b/pkgs/top-level/octave-packages.nix index 374163fa5673..c6d0839e9682 100644 --- a/pkgs/top-level/octave-packages.nix +++ b/pkgs/top-level/octave-packages.nix @@ -19,7 +19,15 @@ , octave }: -with lib; +let + inherit (lib) + catAttrs + concatLists + filter + makeScope + unique + ; +in makeScope newScope (self: let diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 25a1c821ac52..e8144409ba12 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -372,7 +372,7 @@ lib.makeScope pkgs.newScope (self: with self; { "--enable-dom" ]; # Add a PHP lower version bound constraint to avoid applying the patch on older PHP versions. - patches = lib.optionals (lib.versionOlder php.version "8.2.14" && lib.versionAtLeast php.version "8.1") [ + patches = lib.optionals ((lib.versions.majorMinor php.version == "8.2" && lib.versionOlder php.version "8.2.14" && lib.versionAtLeast php.version "8.2.7") || (lib.versions.majorMinor php.version == "8.1" && lib.versionAtLeast php.version "8.1.27")) [ # Fix tests with libxml 2.12 # Part of 8.3.1RC1+, 8.2.14RC1+ (fetchpatch { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 097a37dbd234..b4d7841edaa9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1987,6 +1987,8 @@ self: super: with self; { cf-xarray = callPackage ../development/python-modules/cf-xarray { }; + cffconvert = callPackage ../development/python-modules/cffconvert { }; + cffi = callPackage ../development/python-modules/cffi { }; cffsubr = callPackage ../development/python-modules/cffsubr { }; @@ -2618,6 +2620,8 @@ self: super: with self; { daemonocle = callPackage ../development/python-modules/daemonocle { }; + daff = callPackage ../development/python-modules/daff { }; + daiquiri = callPackage ../development/python-modules/daiquiri { }; dalle-mini = callPackage ../development/python-modules/dalle-mini { }; @@ -5742,7 +5746,7 @@ self: super: with self; { ipwhois = callPackage ../development/python-modules/ipwhois { }; - ipy = callPackage ../development/python-modules/IPy { }; + ipy = callPackage ../development/python-modules/ipy { }; ipycanvas = callPackage ../development/python-modules/ipycanvas { }; @@ -11317,7 +11321,7 @@ self: super: with self; { pyqt6 = callPackage ../development/python-modules/pyqt/6.x.nix { }; - pyqt6-charts = callPackage ../development/python-modules/pyqt6-charts.nix { }; + pyqt6-charts = callPackage ../development/python-modules/pyqt6-charts { }; pyqt6-sip = callPackage ../development/python-modules/pyqt/pyqt6-sip.nix { }; diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix index 6fae32c9290b..93d1eaa9a83a 100644 --- a/pkgs/top-level/release-cross.nix +++ b/pkgs/top-level/release-cross.nix @@ -20,9 +20,40 @@ nixpkgsArgs ? { config = { allowUnfree = false; inHydra = true; }; } }: -with import ./release-lib.nix { inherit supportedSystems scrubJobs nixpkgsArgs; }; - let + release-lib = import ./release-lib.nix { + inherit supportedSystems scrubJobs nixpkgsArgs; + }; + + inherit (release-lib) + all + assertTrue + darwin + forMatchingSystems + hydraJob' + linux + mapTestOnCross + pkgsForCross + unix + ; + + inherit (release-lib.lib) + mapAttrs + addMetaAttrs + elem + getAttrFromPath + isDerivation + maintainers + mapAttrsRecursive + mapAttrsRecursiveCond + recursiveUpdate + systems + ; + + inherit (release-lib.lib.attrsets) + removeAttrs + ; + nativePlatforms = all; embedded = { @@ -42,14 +73,14 @@ let cargo = nativePlatforms; }; - gnuCommon = lib.recursiveUpdate common { + gnuCommon = recursiveUpdate common { buildPackages.gcc = nativePlatforms; coreutils = nativePlatforms; haskell.packages.ghcHEAD.hello = nativePlatforms; haskellPackages.hello = nativePlatforms; }; - linuxCommon = lib.recursiveUpdate gnuCommon { + linuxCommon = recursiveUpdate gnuCommon { buildPackages.gdb = nativePlatforms; bison = nativePlatforms; @@ -60,7 +91,7 @@ let patch = nativePlatforms; }; - windowsCommon = lib.recursiveUpdate gnuCommon { + windowsCommon = recursiveUpdate gnuCommon { boehmgc = nativePlatforms; guile_1_8 = nativePlatforms; libffi = nativePlatforms; @@ -120,7 +151,7 @@ in # good idea lest there be some irrelevant pass-through debug attrs that # cause false negatives. testEqualOne = path: system: let - f = path: crossSystem: system: builtins.toString (lib.getAttrFromPath path (pkgsForCross crossSystem system)); + f = path: crossSystem: system: toString (getAttrFromPath path (pkgsForCross crossSystem system)); in assertTrue ( f path null system == @@ -129,7 +160,7 @@ in testEqual = path: systems: forMatchingSystems systems (testEqualOne path); - mapTestEqual = lib.mapAttrsRecursive testEqual; + mapTestEqual = mapAttrsRecursive testEqual; in mapTestEqual { boehmgc = nativePlatforms; @@ -142,105 +173,107 @@ in guile = nativePlatforms; }; - crossIphone64 = mapTestOnCross lib.systems.examples.iphone64 darwinCommon; + crossIphone64 = mapTestOnCross systems.examples.iphone64 darwinCommon; - crossIphone32 = mapTestOnCross lib.systems.examples.iphone32 darwinCommon; + crossIphone32 = mapTestOnCross systems.examples.iphone32 darwinCommon; /* Test some cross builds to the Sheevaplug */ - crossSheevaplugLinux = mapTestOnCross lib.systems.examples.sheevaplug (linuxCommon // { + crossSheevaplugLinux = mapTestOnCross systems.examples.sheevaplug (linuxCommon // { ubootSheevaplug = nativePlatforms; }); /* Test some cross builds on 32 bit mingw-w64 */ - crossMingw32 = mapTestOnCross lib.systems.examples.mingw32 windowsCommon; + crossMingw32 = mapTestOnCross systems.examples.mingw32 windowsCommon; /* Test some cross builds on 64 bit mingw-w64 */ - crossMingwW64 = mapTestOnCross lib.systems.examples.mingwW64 windowsCommon; + crossMingwW64 = mapTestOnCross systems.examples.mingwW64 windowsCommon; /* Linux on mipsel */ - fuloongminipc = mapTestOnCross lib.systems.examples.fuloongminipc linuxCommon; - ben-nanonote = mapTestOnCross lib.systems.examples.ben-nanonote linuxCommon; + fuloongminipc = mapTestOnCross systems.examples.fuloongminipc linuxCommon; + ben-nanonote = mapTestOnCross systems.examples.ben-nanonote linuxCommon; /* Javacript */ - ghcjs = mapTestOnCross lib.systems.examples.ghcjs { + ghcjs = mapTestOnCross systems.examples.ghcjs { haskell.packages.ghcjs.hello = nativePlatforms; haskell.packages.native-bignum.ghcHEAD.hello = nativePlatforms; haskellPackages.hello = nativePlatforms; }; /* Linux on Raspberrypi */ - rpi = mapTestOnCross lib.systems.examples.raspberryPi rpiCommon; - rpi-musl = mapTestOnCross lib.systems.examples.muslpi rpiCommon; + rpi = mapTestOnCross systems.examples.raspberryPi rpiCommon; + rpi-musl = mapTestOnCross systems.examples.muslpi rpiCommon; /* Linux on the Remarkable */ - remarkable1 = mapTestOnCross lib.systems.examples.remarkable1 linuxCommon; - remarkable2 = mapTestOnCross lib.systems.examples.remarkable2 linuxCommon; + remarkable1 = mapTestOnCross systems.examples.remarkable1 linuxCommon; + remarkable2 = mapTestOnCross systems.examples.remarkable2 linuxCommon; /* Linux on armv7l-hf */ - armv7l-hf = mapTestOnCross lib.systems.examples.armv7l-hf-multiplatform linuxCommon; + armv7l-hf = mapTestOnCross systems.examples.armv7l-hf-multiplatform linuxCommon; - pogoplug4 = mapTestOnCross lib.systems.examples.pogoplug4 linuxCommon; + pogoplug4 = mapTestOnCross systems.examples.pogoplug4 linuxCommon; /* Linux on aarch64 */ - aarch64 = mapTestOnCross lib.systems.examples.aarch64-multiplatform linuxCommon; - aarch64-musl = mapTestOnCross lib.systems.examples.aarch64-multiplatform-musl linuxCommon; + aarch64 = mapTestOnCross systems.examples.aarch64-multiplatform linuxCommon; + aarch64-musl = mapTestOnCross systems.examples.aarch64-multiplatform-musl linuxCommon; /* Linux on RISCV */ - riscv64 = mapTestOnCross lib.systems.examples.riscv64 linuxCommon; - riscv32 = mapTestOnCross lib.systems.examples.riscv32 linuxCommon; + riscv64 = mapTestOnCross systems.examples.riscv64 linuxCommon; + riscv32 = mapTestOnCross systems.examples.riscv32 linuxCommon; /* Linux on LoongArch */ - loongarch64-linux = mapTestOnCross lib.systems.examples.loongarch64-linux linuxCommon; + loongarch64-linux = mapTestOnCross systems.examples.loongarch64-linux linuxCommon; - m68k = mapTestOnCross lib.systems.examples.m68k linuxCommon; - s390x = mapTestOnCross lib.systems.examples.s390x linuxCommon; + m68k = mapTestOnCross systems.examples.m68k linuxCommon; + s390x = mapTestOnCross systems.examples.s390x linuxCommon; /* (Cross-compiled) Linux on x86 */ - x86_64-musl = mapTestOnCross lib.systems.examples.musl64 linuxCommon; - x86_64-gnu = mapTestOnCross lib.systems.examples.gnu64 linuxCommon; - i686-musl = mapTestOnCross lib.systems.examples.musl32 linuxCommon; - i686-gnu = mapTestOnCross lib.systems.examples.gnu32 linuxCommon; - - ppc64le = mapTestOnCross lib.systems.examples.powernv linuxCommon; - ppc64le-musl = mapTestOnCross lib.systems.examples.musl-power linuxCommon; - - android64 = mapTestOnCross lib.systems.examples.aarch64-android-prebuilt linuxCommon; - android32 = mapTestOnCross lib.systems.examples.armv7a-android-prebuilt linuxCommon; - - wasi32 = mapTestOnCross lib.systems.examples.wasi32 wasiCommon; - - msp430 = mapTestOnCross lib.systems.examples.msp430 embedded; - mmix = mapTestOnCross lib.systems.examples.mmix embedded; - vc4 = mapTestOnCross lib.systems.examples.vc4 embedded; - or1k = mapTestOnCross lib.systems.examples.or1k embedded; - avr = mapTestOnCross lib.systems.examples.avr embedded; - arm-embedded = mapTestOnCross lib.systems.examples.arm-embedded embedded; - armhf-embedded = mapTestOnCross lib.systems.examples.armhf-embedded embedded; - aarch64-embedded = mapTestOnCross lib.systems.examples.aarch64-embedded embedded; - aarch64be-embedded = mapTestOnCross lib.systems.examples.aarch64be-embedded embedded; - powerpc-embedded = mapTestOnCross lib.systems.examples.ppc-embedded embedded; - powerpcle-embedded = mapTestOnCross lib.systems.examples.ppcle-embedded embedded; - i686-embedded = mapTestOnCross lib.systems.examples.i686-embedded embedded; - x86_64-embedded = mapTestOnCross lib.systems.examples.x86_64-embedded embedded; - riscv64-embedded = mapTestOnCross lib.systems.examples.riscv64-embedded embedded; - riscv32-embedded = mapTestOnCross lib.systems.examples.riscv32-embedded embedded; - rx-embedded = mapTestOnCross lib.systems.examples.rx-embedded embedded; - - x86_64-freebsd = mapTestOnCross lib.systems.examples.x86_64-freebsd common; - x86_64-netbsd = mapTestOnCross lib.systems.examples.x86_64-netbsd common; + x86_64-musl = mapTestOnCross systems.examples.musl64 linuxCommon; + x86_64-gnu = mapTestOnCross systems.examples.gnu64 linuxCommon; + i686-musl = mapTestOnCross systems.examples.musl32 linuxCommon; + i686-gnu = mapTestOnCross systems.examples.gnu32 linuxCommon; + + ppc64le = mapTestOnCross systems.examples.powernv linuxCommon; + ppc64le-musl = mapTestOnCross systems.examples.musl-power linuxCommon; + + android64 = mapTestOnCross systems.examples.aarch64-android-prebuilt linuxCommon; + android32 = mapTestOnCross systems.examples.armv7a-android-prebuilt linuxCommon; + + wasi32 = mapTestOnCross systems.examples.wasi32 wasiCommon; + + msp430 = mapTestOnCross systems.examples.msp430 embedded; + mmix = mapTestOnCross systems.examples.mmix embedded; + vc4 = mapTestOnCross systems.examples.vc4 embedded; + or1k = mapTestOnCross systems.examples.or1k embedded; + avr = mapTestOnCross systems.examples.avr embedded; + arm-embedded = mapTestOnCross systems.examples.arm-embedded embedded; + armhf-embedded = mapTestOnCross systems.examples.armhf-embedded embedded; + aarch64-embedded = mapTestOnCross systems.examples.aarch64-embedded embedded; + aarch64be-embedded = mapTestOnCross systems.examples.aarch64be-embedded embedded; + powerpc-embedded = mapTestOnCross systems.examples.ppc-embedded embedded; + powerpcle-embedded = mapTestOnCross systems.examples.ppcle-embedded embedded; + i686-embedded = mapTestOnCross systems.examples.i686-embedded embedded; + x86_64-embedded = mapTestOnCross systems.examples.x86_64-embedded embedded; + riscv64-embedded = mapTestOnCross systems.examples.riscv64-embedded embedded; + riscv32-embedded = mapTestOnCross systems.examples.riscv32-embedded embedded; + rx-embedded = mapTestOnCross systems.examples.rx-embedded embedded; + + x86_64-freebsd = mapTestOnCross systems.examples.x86_64-freebsd common; + x86_64-netbsd = mapTestOnCross systems.examples.x86_64-netbsd common; # we test `embedded` instead of `linuxCommon` because very few packages # successfully cross-compile to Redox so far - x86_64-redox = mapTestOnCross lib.systems.examples.x86_64-unknown-redox embedded; + x86_64-redox = mapTestOnCross systems.examples.x86_64-unknown-redox embedded; /* Cross-built bootstrap tools for every supported platform */ bootstrapTools = let tools = import ../stdenv/linux/make-bootstrap-tools-cross.nix { system = "x86_64-linux"; }; - maintainers = [ lib.maintainers.dezgeg ]; + meta = { + maintainers = [ maintainers.dezgeg ]; + }; mkBootstrapToolsJob = drv: - assert lib.elem drv.system supportedSystems; - hydraJob' (lib.addMetaAttrs { inherit maintainers; } drv); - in lib.mapAttrsRecursiveCond (as: !lib.isDerivation as) (name: mkBootstrapToolsJob) + assert elem drv.system supportedSystems; + hydraJob' (addMetaAttrs meta drv); + in mapAttrsRecursiveCond (as: !isDerivation as) (name: mkBootstrapToolsJob) # The `bootstrapTools.${platform}.bootstrapTools` derivation # *unpacks* the bootstrap-files using their own `busybox` binary, # so it will fail unless buildPlatform.canExecute hostPlatform. @@ -248,9 +281,9 @@ in # attribute, so there is no way to detect this -- we must add it # as a special case. We filter the "test" attribute (only from # *cross*-built bootstrapTools) for the same reason. - (builtins.mapAttrs (_: v: builtins.removeAttrs v ["bootstrapTools" "test"]) tools); + (mapAttrs (_: v: removeAttrs v ["bootstrapTools" "test"]) tools); # Cross-built nixStatic for platforms for enabled-but-unsupported platforms - mips64el-nixCrossStatic = mapTestOnCross lib.systems.examples.mips64el-linux-gnuabi64 nixCrossStatic; - powerpc64le-nixCrossStatic = mapTestOnCross lib.systems.examples.powernv nixCrossStatic; + mips64el-nixCrossStatic = mapTestOnCross systems.examples.mips64el-linux-gnuabi64 nixCrossStatic; + powerpc64le-nixCrossStatic = mapTestOnCross systems.examples.powernv nixCrossStatic; } diff --git a/pkgs/top-level/release-cuda.nix b/pkgs/top-level/release-cuda.nix index c96f08af41bf..f9577b9b72c7 100644 --- a/pkgs/top-level/release-cuda.nix +++ b/pkgs/top-level/release-cuda.nix @@ -18,10 +18,15 @@ nixpkgsArgs ? { config = { allowUnfree = true; inHydra = true; }; } }: -with import ./release-lib.nix {inherit supportedSystems nixpkgsArgs; }; -with lib; - let + release-lib = import ./release-lib.nix { + inherit supportedSystems nixpkgsArgs; + }; + + inherit (release-lib) linux mapTestOn packagePlatforms pkgs; + + inherit (release-lib.lib) genAttrs; + # Package sets to evaluate packageSets = [ "cudaPackages_10_0" diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix index 38e6f8072776..9f2886895689 100644 --- a/pkgs/top-level/release-lib.nix +++ b/pkgs/top-level/release-lib.nix @@ -7,13 +7,33 @@ let lib = import ../../lib; -in with lib; - -rec { - - pkgs = packageSet (lib.recursiveUpdate { system = "x86_64-linux"; config.allowUnsupportedSystem = true; } nixpkgsArgs); - inherit lib; + inherit (lib) + addMetaAttrs + any + derivations + filter + flip + genAttrs + getAttrFromPath + hydraJob + id + isDerivation + lists + maintainers + mapAttrs + mapAttrs' + mapAttrsRecursive + matchAttrs + meta + nameValuePair + platforms + recursiveUpdate + subtractLists + systems + ; + + pkgs = packageSet (recursiveUpdate { system = "x86_64-linux"; config.allowUnsupportedSystem = true; } nixpkgsArgs); hydraJob' = if scrubJobs then hydraJob else id; @@ -57,8 +77,8 @@ rec { # More poor man's memoisation pkgsForCross = let - examplesByConfig = lib.flip lib.mapAttrs' - lib.systems.examples + examplesByConfig = flip mapAttrs' + systems.examples (_: crossSystem: nameValuePair crossSystem.config { inherit crossSystem; pkgsFor = mkPkgsFor crossSystem; @@ -68,7 +88,7 @@ rec { candidate = examplesByConfig.${crossSystem.config} or null; in if crossSystem == null then native - else if candidate != null && lib.matchAttrs crossSystem candidate.crossSystem + else if candidate != null && matchAttrs crossSystem candidate.crossSystem then candidate.pkgsFor else mkPkgsFor crossSystem; # uncached fallback @@ -80,12 +100,12 @@ rec { # This is written in a funny way so that we only elaborate the systems once. supportedMatches = let supportedPlatforms = map - (system: lib.systems.elaborate { inherit system; }) + (system: systems.elaborate { inherit system; }) supportedSystems; in metaPatterns: let anyMatch = platform: - lib.any (lib.meta.platformMatch platform) metaPatterns; - matchingPlatforms = lib.filter anyMatch supportedPlatforms; + any (meta.platformMatch platform) metaPatterns; + matchingPlatforms = filter anyMatch supportedPlatforms; in map ({ system, ...}: system) matchingPlatforms; @@ -135,7 +155,6 @@ rec { (path: metaPatterns: testOnCross crossSystem metaPatterns (pkgs: f (getAttrFromPath path pkgs))); - /* Similar to the testOn function, but with an additional 'crossSystem' * parameter for packageSet', defining the target platform for cross builds, * and triggering the build of the host derivation. */ @@ -148,7 +167,7 @@ rec { packagePlatforms = mapAttrs (name: value: if isDerivation value then value.meta.hydraPlatforms - or (lib.subtractLists (value.meta.badPlatforms or []) + or (subtractLists (value.meta.badPlatforms or []) (value.meta.platforms or [ "x86_64-linux" ])) else if value.recurseForDerivations or false || value.recurseForRelease or false then packagePlatforms value @@ -156,8 +175,24 @@ rec { [] ); - +in { /* Common platform groups on which to test packages. */ inherit (platforms) unix linux darwin cygwin all mesaPlatforms; + inherit + assertTrue + forAllSystems + forMatchingSystems + hydraJob' + lib + mapTestOn + mapTestOnCross + packagePlatforms + pkgs + pkgsFor + pkgsForCross + supportedMatches + testOn + testOnCross + ; } diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix index bc54860d45f6..81ea4d3403a7 100644 --- a/pkgs/top-level/release-python.nix +++ b/pkgs/top-level/release-python.nix @@ -21,10 +21,15 @@ }; } }: -with import ./release-lib.nix {inherit supportedSystems nixpkgsArgs; }; -with lib; - let + release-lib = import ./release-lib.nix { + inherit supportedSystems nixpkgsArgs; + }; + + inherit (release-lib) mapTestOn pkgs; + + inherit (release-lib.lib) isDerivation mapAttrs optionals; + packagePython = mapAttrs (name: value: let res = builtins.tryEval ( if isDerivation value then @@ -33,7 +38,7 @@ let packagePython value else []); - in lib.optionals res.success res.value + in optionals res.success res.value ); jobs = { diff --git a/pkgs/top-level/release-r.nix b/pkgs/top-level/release-r.nix index 4c715a7786d6..898436de8cc4 100644 --- a/pkgs/top-level/release-r.nix +++ b/pkgs/top-level/release-r.nix @@ -6,7 +6,13 @@ */ { supportedSystems ? [ "x86_64-linux" "aarch64-linux" ] }: -with import ./release-lib.nix { inherit supportedSystems; }; +let + inherit (import ./release-lib.nix { inherit supportedSystems; }) + mapTestOn + packagePlatforms + pkgs + ; +in mapTestOn { rPackages = packagePlatforms pkgs.rPackages; diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix index 30e0c188bb70..2b143248948f 100644 --- a/pkgs/top-level/release-small.nix +++ b/pkgs/top-level/release-small.nix @@ -7,7 +7,13 @@ nixpkgsArgs ? { config = { allowUnfree = false; inHydra = true; }; } }: -with import ./release-lib.nix { inherit supportedSystems nixpkgsArgs; }; +let + release-lib = import ./release-lib.nix { + inherit supportedSystems nixpkgsArgs; + }; + + inherit (release-lib) all linux darwin mapTestOn unix; +in { diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index a8f1e69b361f..c3ea17b85d6c 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -52,15 +52,30 @@ , attrNamesOnly ? false }: -let release-lib = import ./release-lib.nix { inherit supportedSystems scrubJobs nixpkgsArgs; }; in -with release-lib; - let + release-lib = import ./release-lib.nix { + inherit supportedSystems scrubJobs nixpkgsArgs; + }; + + inherit (release-lib) mapTestOn pkgs; + + inherit (release-lib.lib) + collect + elem + genAttrs + hasInfix + hasSuffix + id + isDerivation + optionals + ; + + inherit (release-lib.lib.attrsets) unionOfDisjoint; - supportDarwin = lib.genAttrs [ + supportDarwin = genAttrs [ "x86_64" "aarch64" - ] (arch: builtins.elem "${arch}-darwin" supportedSystems); + ] (arch: elem "${arch}-darwin" supportedSystems); nonPackageJobs = { tarball = import ./make-tarball.nix { inherit pkgs nixpkgs officialRelease supportedSystems; }; @@ -162,8 +177,8 @@ let jobs.tests.stdenv.hooks.patch-shebangs.x86_64-linux */ ] - ++ lib.collect lib.isDerivation jobs.stdenvBootstrapTools - ++ lib.optionals supportDarwin.x86_64 [ + ++ collect isDerivation jobs.stdenvBootstrapTools + ++ optionals supportDarwin.x86_64 [ jobs.stdenv.x86_64-darwin jobs.cargo.x86_64-darwin jobs.cachix.x86_64-darwin @@ -190,7 +205,7 @@ let jobs.tests.stdenv.hooks.patch-shebangs.x86_64-darwin */ ] - ++ lib.optionals supportDarwin.aarch64 [ + ++ optionals supportDarwin.aarch64 [ jobs.stdenv.aarch64-darwin jobs.cargo.aarch64-darwin jobs.cachix.aarch64-darwin @@ -210,8 +225,7 @@ let ]; }; - stdenvBootstrapTools = with lib; - genAttrs bootstrapConfigs (config: + stdenvBootstrapTools = genAttrs bootstrapConfigs (config: if hasInfix "-linux-" config then let bootstrap = import ../stdenv/linux/make-bootstrap-tools.nix { @@ -244,13 +258,13 @@ let # Conflicts usually cause silent job drops like in # https://github.com/NixOS/nixpkgs/pull/182058 jobs = let - packagePlatforms = if attrNamesOnly then lib.id else release-lib.packagePlatforms; + packagePlatforms = if attrNamesOnly then id else release-lib.packagePlatforms; packageJobs = { haskell.compiler = packagePlatforms pkgs.haskell.compiler; haskellPackages = packagePlatforms pkgs.haskellPackages; # Build selected packages (HLS) for multiple Haskell compilers to rebuild # the cache after a staging merge - haskell.packages = lib.genAttrs [ + haskell.packages = genAttrs [ # TODO: share this list between release.nix and release-haskell.nix "ghc90" "ghc92" @@ -285,8 +299,6 @@ let then pkgs // packageJobs else mapTestOn ((packagePlatforms pkgs) // packageJobs); in - lib.attrsets.unionOfDisjoint - nonPackageJobs - mapTestOn-packages; + unionOfDisjoint nonPackageJobs mapTestOn-packages; in jobs diff --git a/pkgs/top-level/unixtools.nix b/pkgs/top-level/unixtools.nix index bcbbd6799d88..454c4802dc91 100644 --- a/pkgs/top-level/unixtools.nix +++ b/pkgs/top-level/unixtools.nix @@ -10,9 +10,14 @@ # instance, if your program needs to use "ps", just list it as a build # input, not "procps" which requires Linux. -with lib; - let + inherit (lib) + getBin + getOutput + mapAttrs + platforms + ; + version = "1003.1-2008"; singleBinary = cmd: providers: let @@ -23,7 +28,7 @@ let meta = { mainProgram = cmd; priority = 10; - platforms = lib.platforms.${stdenv.hostPlatform.parsed.kernel.name} or lib.platforms.all; + platforms = platforms.${stdenv.hostPlatform.parsed.kernel.name} or platforms.all; }; passthru = { inherit provider; }; preferLocalBuild = true; @@ -187,7 +192,7 @@ let # Compatibility derivations # Provided for old usage of these commands. - compat = with bins; lib.mapAttrs makeCompat { + compat = with bins; mapAttrs makeCompat { procps = [ ps sysctl top watch ]; util-linux = [ fsck fdisk getopt hexdump mount script umount whereis write col column ]; |