Merge master into staging-next

authored by

github-actions[bot] and committed by
GitHub
cc41bb58 2b997301

+275 -97
+5 -1
doc/languages-frameworks/dotnet.section.md
··· 77 77 * `runtimeDeps` is used to wrap libraries into `LD_LIBRARY_PATH`. This is how dotnet usually handles runtime dependencies. 78 78 * `buildType` is used to change the type of build. Possible values are `Release`, `Debug`, etc. By default, this is set to `Release`. 79 79 * `dotnet-sdk` is useful in cases where you need to change what dotnet SDK is being used. 80 - * `dotnet-runtime` is useful in cases where you need to change what dotnet runtime is being used. 80 + * `dotnet-runtime` is useful in cases where you need to change what dotnet runtime is being used. This can be either a regular dotnet runtime, or an aspnetcore. 81 + * `dotnet-test-sdk` is useful in cases where unit tests expect a different dotnet SDK. By default, this is set to the `dotnet-sdk` attribute. 82 + * `testProjectFile` is useful in cases where the regular project file does not contain the unit tests. By default, this is set to the `projectFile` attribute. 83 + * `disabledTests` is used to disable running specific unit tests. This gets passed as: `dotnet test --filter "FullyQualifiedName!={}"`, to ensure compatibility with all unit test frameworks. 81 84 * `dotnetRestoreFlags` can be used to pass flags to `dotnet restore`. 82 85 * `dotnetBuildFlags` can be used to pass flags to `dotnet build`. 86 + * `dotnetTestFlags` can be used to pass flags to `dotnet test`. 83 87 * `dotnetInstallFlags` can be used to pass flags to `dotnet install`. 84 88 * `dotnetFlags` can be used to pass flags to all of the above phases. 85 89
+53 -9
lib/modules.nix
··· 52 52 53 53 rec { 54 54 55 - /* Evaluate a set of modules. The result is a set of two 56 - attributes: ‘options’: the nested set of all option declarations, 57 - and ‘config’: the nested set of all option values. 55 + /* 56 + Evaluate a set of modules. The result is a set with the attributes: 57 + 58 + ‘options’: The nested set of all option declarations, 59 + 60 + ‘config’: The nested set of all option values. 61 + 62 + ‘type’: A module system type representing the module set as a submodule, 63 + to be extended by configuration from the containing module set. 64 + 65 + ‘extendModules’: A function similar to ‘evalModules’ but building on top 66 + of the module set. Its arguments, ‘modules’ and ‘specialArgs’ are 67 + added to the existing values. 68 + 69 + Using ‘extendModules’ a few times has no performance impact as long 70 + as you only reference the final ‘options’ and ‘config’. 71 + If you do reference multiple ‘config’ (or ‘options’) from before and 72 + after ‘extendModules’, performance is the same as with multiple 73 + ‘evalModules’ invocations, because the new modules' ability to 74 + override existing configuration fundamentally requires a new 75 + fixpoint to be constructed. 76 + 77 + ‘_module’: A portion of the configuration tree which is elided from 78 + ‘config’. It contains some values that are mostly internal to the 79 + module system implementation. 80 + 58 81 !!! Please think twice before adding to this argument list! The more 59 82 that is specified here instead of in the modules themselves the harder 60 83 it is to transparently move a set of modules to be a submodule of another 61 84 config (as the proper arguments need to be replicated at each call to 62 85 evalModules) and the less declarative the module set is. */ 63 - evalModules = { modules 86 + evalModules = evalModulesArgs@ 87 + { modules 64 88 , prefix ? [] 65 89 , # This should only be used for special arguments that need to be evaluated 66 90 # when resolving module structure (like in imports). For everything else, ··· 120 144 }; 121 145 122 146 config = { 123 - _module.args = args; 147 + _module.args = { 148 + inherit extendModules; 149 + } // args; 124 150 }; 125 151 }; 126 152 ··· 183 209 else throw baseMsg 184 210 else null; 185 211 186 - result = builtins.seq checkUnmatched { 187 - inherit options; 188 - config = removeAttrs config [ "_module" ]; 189 - inherit (config) _module; 212 + checked = builtins.seq checkUnmatched; 213 + 214 + extendModules = extendArgs@{ 215 + modules ? [], 216 + specialArgs ? {}, 217 + prefix ? [], 218 + }: 219 + evalModules (evalModulesArgs // { 220 + modules = evalModulesArgs.modules ++ modules; 221 + specialArgs = evalModulesArgs.specialArgs or {} // specialArgs; 222 + prefix = extendArgs.prefix or evalModulesArgs.prefix; 223 + }); 224 + 225 + type = lib.types.submoduleWith { 226 + inherit modules specialArgs; 227 + }; 228 + 229 + result = { 230 + options = checked options; 231 + config = checked (removeAttrs config [ "_module" ]); 232 + _module = checked (config._module); 233 + inherit extendModules type; 190 234 }; 191 235 in result; 192 236
+7 -3
lib/options.nix
··· 74 74 apply ? null, 75 75 # Whether the option is for NixOS developers only. 76 76 internal ? null, 77 - # Whether the option shows up in the manual. 77 + # Whether the option shows up in the manual. Default: true. Use false to hide the option and any sub-options from submodules. Use "shallow" to hide only sub-options. 78 78 visible ? null, 79 79 # Whether the option can be set only once 80 80 readOnly ? null, ··· 180 180 description = opt.description or (lib.warn "Option `${name}' has no description." "This option has no description."); 181 181 declarations = filter (x: x != unknownModule) opt.declarations; 182 182 internal = opt.internal or false; 183 - visible = opt.visible or true; 183 + visible = 184 + if (opt?visible && opt.visible == "shallow") 185 + then true 186 + else opt.visible or true; 184 187 readOnly = opt.readOnly or false; 185 188 type = opt.type.description or null; 186 189 } ··· 192 195 subOptions = 193 196 let ss = opt.type.getSubOptions opt.loc; 194 197 in if ss != {} then optionAttrSetToDocList' opt.loc ss else []; 198 + subOptionsVisible = docOption.visible && opt.visible or null != "shallow"; 195 199 in 196 - [ docOption ] ++ optionals docOption.visible subOptions) (collect isOption options); 200 + [ docOption ] ++ optionals subOptionsVisible subOptions) (collect isOption options); 197 201 198 202 199 203 /* This function recursively removes all derivation attributes from
+7
lib/tests/modules.sh
··· 179 179 # which evaluates all the modules defined by the type) 180 180 checkConfigOutput "submodule" options.submodule.type.description ./declare-submoduleWith-modules.nix 181 181 182 + ## submodules can be declared using (evalModules {...}).type 183 + checkConfigOutput "true" config.submodule.inner ./declare-submodule-via-evalModules.nix 184 + checkConfigOutput "true" config.submodule.outer ./declare-submodule-via-evalModules.nix 185 + # Should also be able to evaluate the type name (which evaluates freeformType, 186 + # which evaluates all the modules defined by the type) 187 + checkConfigOutput "submodule" options.submodule.type.description ./declare-submodule-via-evalModules.nix 188 + 182 189 ## Paths should be allowed as values and work as expected 183 190 checkConfigOutput "true" config.submodule.enable ./declare-submoduleWith-path.nix 184 191
+28
lib/tests/modules/declare-submodule-via-evalModules.nix
··· 1 + { lib, ... }: { 2 + options.submodule = lib.mkOption { 3 + inherit (lib.evalModules { 4 + modules = [ 5 + { 6 + options.inner = lib.mkOption { 7 + type = lib.types.bool; 8 + default = false; 9 + }; 10 + } 11 + ]; 12 + }) type; 13 + default = {}; 14 + }; 15 + 16 + config.submodule = lib.mkMerge [ 17 + ({ lib, ... }: { 18 + options.outer = lib.mkOption { 19 + type = lib.types.bool; 20 + default = false; 21 + }; 22 + }) 23 + { 24 + inner = true; 25 + outer = true; 26 + } 27 + ]; 28 + }
+28 -28
lib/types.nix
··· 505 505 then setFunctionArgs (args: unify (value args)) (functionArgs value) 506 506 else unify (if shorthandOnlyDefinesConfig then { config = value; } else value); 507 507 508 - allModules = defs: modules ++ imap1 (n: { value, file }: 508 + allModules = defs: imap1 (n: { value, file }: 509 509 if isAttrs value || isFunction value then 510 510 # Annotate the value with the location of its definition for better error messages 511 511 coerce (lib.modules.unifyModuleSyntax file "${toString file}-${toString n}") value 512 512 else value 513 513 ) defs; 514 514 515 - freeformType = (evalModules { 516 - inherit modules specialArgs; 517 - args.name = "‹name›"; 518 - })._module.freeformType; 515 + base = evalModules { 516 + inherit specialArgs; 517 + modules = [{ 518 + # This is a work-around for the fact that some sub-modules, 519 + # such as the one included in an attribute set, expects an "args" 520 + # attribute to be given to the sub-module. As the option 521 + # evaluation does not have any specific attribute name yet, we 522 + # provide a default for the documentation and the freeform type. 523 + # 524 + # This is necessary as some option declaration might use the 525 + # "name" attribute given as argument of the submodule and use it 526 + # as the default of option declarations. 527 + # 528 + # We use lookalike unicode single angle quotation marks because 529 + # of the docbook transformation the options receive. In all uses 530 + # &gt; and &lt; wouldn't be encoded correctly so the encoded values 531 + # would be used, and use of `<` and `>` would break the XML document. 532 + # It shouldn't cause an issue since this is cosmetic for the manual. 533 + _module.args.name = lib.mkOptionDefault "‹name›"; 534 + }] ++ modules; 535 + }; 536 + 537 + freeformType = base._module.freeformType; 519 538 520 539 in 521 540 mkOptionType rec { ··· 523 542 description = freeformType.description or name; 524 543 check = x: isAttrs x || isFunction x || path.check x; 525 544 merge = loc: defs: 526 - (evalModules { 527 - modules = allModules defs; 528 - inherit specialArgs; 529 - args.name = last loc; 545 + (base.extendModules { 546 + modules = [ { _module.args.name = last loc; } ] ++ allModules defs; 530 547 prefix = loc; 531 548 }).config; 532 549 emptyValue = { value = {}; }; 533 - getSubOptions = prefix: (evalModules 534 - { inherit modules prefix specialArgs; 535 - # This is a work-around due to the fact that some sub-modules, 536 - # such as the one included in an attribute set, expects a "args" 537 - # attribute to be given to the sub-module. As the option 538 - # evaluation does not have any specific attribute name, we 539 - # provide a default one for the documentation. 540 - # 541 - # This is mandatory as some option declaration might use the 542 - # "name" attribute given as argument of the submodule and use it 543 - # as the default of option declarations. 544 - # 545 - # Using lookalike unicode single angle quotation marks because 546 - # of the docbook transformation the options receive. In all uses 547 - # &gt; and &lt; wouldn't be encoded correctly so the encoded values 548 - # would be used, and use of `<` and `>` would break the XML document. 549 - # It shouldn't cause an issue since this is cosmetic for the manual. 550 - args.name = "‹name›"; 551 - }).options // optionalAttrs (freeformType != null) { 550 + getSubOptions = prefix: (base.extendModules 551 + { inherit prefix; }).options // optionalAttrs (freeformType != null) { 552 552 # Expose the sub options of the freeform type. Note that the option 553 553 # discovery doesn't care about the attribute name used here, so this 554 554 # is just to avoid conflicts with potential options from the submodule
+1 -1
nixos/lib/eval-config.nix
··· 61 61 args = extraArgs; 62 62 specialArgs = 63 63 { modulesPath = builtins.toString ../modules; } // specialArgs; 64 - }) config options _module; 64 + }) config options _module type; 65 65 66 66 # These are the extra arguments passed to every module. In 67 67 # particular, Nixpkgs is passed through the "pkgs" argument.
+7 -15
nixos/tests/kernel-generic.nix
··· 23 23 assert "${linuxPackages.kernel.modDirVersion}" in machine.succeed("uname -a") 24 24 ''; 25 25 }) args); 26 - kernels = { 27 - inherit (pkgs) 28 - linuxPackages_4_4 29 - linuxPackages_4_9 30 - linuxPackages_4_14 31 - linuxPackages_4_19 32 - linuxPackages_5_4 33 - linuxPackages_5_10 34 - linuxPackages_5_14 35 - 36 - linuxPackages_4_14_hardened 37 - linuxPackages_4_19_hardened 38 - linuxPackages_5_4_hardened 39 - linuxPackages_5_10_hardened 26 + kernels = pkgs.linuxKernel.vanillaPackages // { 27 + inherit (pkgs.linuxKernel.packages) 28 + linux_4_14_hardened 29 + linux_4_19_hardened 30 + linux_5_4_hardened 31 + linux_5_10_hardened 40 32 41 - linuxPackages_testing; 33 + linux_testing; 42 34 }; 43 35 44 36 in mapAttrs (_: lP: testsForLinuxPackages lP) kernels // {
+3 -4
pkgs/applications/audio/plexamp/default.nix
··· 3 3 let 4 4 pname = "plexamp"; 5 5 version = "3.7.1"; 6 - name = "${pname}-${version}"; 7 6 8 7 src = fetchurl { 9 8 url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage"; ··· 12 11 }; 13 12 14 13 appimageContents = appimageTools.extractType2 { 15 - inherit name src; 14 + inherit pname version src; 16 15 }; 17 16 in appimageTools.wrapType2 { 18 - inherit name src; 17 + inherit pname version src; 19 18 20 19 multiPkgs = null; # no 32bit needed 21 20 extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs ++ [ pkgs.bash ]; 22 21 23 22 extraInstallCommands = '' 24 - ln -s $out/bin/${name} $out/bin/${pname} 23 + ln -s $out/bin/${pname}-${version} $out/bin/${pname} 25 24 install -m 444 -D ${appimageContents}/plexamp.desktop $out/share/applications/plexamp.desktop 26 25 install -m 444 -D ${appimageContents}/plexamp.png \ 27 26 $out/share/icons/hicolor/512x512/apps/plexamp.png
+10
pkgs/applications/graphics/monado/default.nix
··· 1 1 { lib 2 2 , stdenv 3 3 , fetchFromGitLab 4 + , fetchpatch 4 5 , writeText 5 6 , cmake 6 7 , doxygen ··· 53 54 rev = "v${version}"; 54 55 sha256 = "07zxs96i3prjqww1f68496cl2xxqaidx32lpfyy0pn5am4c297zc"; 55 56 }; 57 + 58 + patches = [ 59 + # https://github.com/NixOS/nixpkgs/issues/137245 60 + # Fix warning after Vulkan 1.2.174 VK_NULL_HANDLE change 61 + (fetchpatch { 62 + url = "https://gitlab.freedesktop.org/monado/monado/-/commit/c47775a95d8e139a2f234063793eb6726f830510.patch"; 63 + sha256 = "093ymvi9ifpk4vyjcwhhci9cnscxwbv5f80xdbppcqa0j92nmkmp"; 64 + }) 65 + ]; 56 66 57 67 nativeBuildInputs = [ 58 68 cmake
+2 -2
pkgs/applications/graphics/weylus/default.nix
··· 14 14 15 15 stdenv.mkDerivation rec { 16 16 pname = "weylus"; 17 - version = "0.11.3"; 17 + version = "0.11.4"; 18 18 19 19 src = fetchzip { 20 20 url = "https://github.com/H-M-H/Weylus/releases/download/v${version}/linux.zip"; 21 - sha256 = "sha256-1nEdn3KKCMWIzYv4ryqTxtQvR9eln9IX1Z4Y6/vuo7o="; 21 + sha256 = "sha256-EW3TdI4F4d4X/BeSqI05QtS77ym1U5jdswFfNtSFyFk="; 22 22 stripRoot = false; 23 23 }; 24 24
+2 -2
pkgs/applications/misc/logseq/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "logseq"; 5 - version = "0.4.2"; 5 + version = "0.4.5"; 6 6 7 7 src = fetchurl { 8 8 url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage"; 9 - sha256 = "BEDScQtGfkp74Gx3RKK8ItNQ9JD8AJkl1zdS/gZqyXk="; 9 + sha256 = "EMybZH3heUWeCP74KdFr6zJY1R3hePo6RssbJXrkd9g="; 10 10 name = "${pname}-${version}.AppImage"; 11 11 }; 12 12
+2
pkgs/applications/networking/instant-messengers/pidgin/default.nix
··· 10 10 , gnutls ? null 11 11 , libgcrypt ? null 12 12 , plugins, symlinkJoin 13 + , cacert 13 14 }: 14 15 15 16 # FIXME: clean the mess around choosing the SSL library (nss by default) ··· 59 60 "--with-nss-includes=${nss.dev}/include/nss" 60 61 "--with-nss-libs=${nss.out}/lib" 61 62 "--with-ncurses-headers=${ncurses.dev}/include" 63 + "--with-system-ssl-certs=${cacert}/etc/ssl/certs" 62 64 "--disable-meanwhile" 63 65 "--disable-nm" 64 66 "--disable-tcl"
+12 -2
pkgs/applications/networking/mailreaders/neomutt/default.nix
··· 1 1 { lib, stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which 2 2 , ncurses, perl , cyrus_sasl, gss, gpgme, libkrb5, libidn, libxml2, notmuch, openssl 3 3 , lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, w3m, mailcap, sqlite, zlib 4 + , fetchpatch 4 5 }: 5 6 6 7 stdenv.mkDerivation rec { 7 - version = "20211022"; 8 + version = "20211029"; 8 9 pname = "neomutt"; 9 10 10 11 src = fetchFromGitHub { 11 12 owner = "neomutt"; 12 13 repo = "neomutt"; 13 14 rev = version; 14 - sha256 = "sha256-gPMbl+g9tU7YmT3uJoJozCdDBb/4eFyVyvHdREK1Ss0="; 15 + sha256 = "sha256-haPDZorAfKuIEMiBCXJRMALAYnurQyjmCSOnj9IsoKk="; 15 16 }; 16 17 17 18 buildInputs = [ ··· 22 23 23 24 nativeBuildInputs = [ 24 25 docbook_xsl docbook_xml_dtd_42 gettext libxml2 libxslt.bin makeWrapper tcl which zlib w3m 26 + ]; 27 + 28 + patches = [ 29 + # Remove on next update, see 30 + # https://github.com/NixOS/nixpkgs/pull/143641#issuecomment-954991746 for context. 31 + (fetchpatch { 32 + url = "https://github.com/neomutt/neomutt/commit/4242a31313e0b600693215c01047bbda8a6dd25a.patch"; 33 + sha256 = "sha256-fcuNeBkPjqln5QA9VFcfXCQD/VrUoSEMSxQ//Xj+yxY="; 34 + }) 25 35 ]; 26 36 27 37 enableParallelBuilding = true;
+28
pkgs/build-support/build-dotnet-module/default.nix
··· 2 2 3 3 { name ? "${args.pname}-${args.version}" 4 4 , enableParallelBuilding ? true 5 + , doCheck ? false 5 6 # Flags to pass to `makeWrapper`. This is done to avoid double wrapping. 6 7 , makeWrapperArgs ? [] 7 8 ··· 9 10 , dotnetRestoreFlags ? [] 10 11 # Flags to pass to `dotnet build`. 11 12 , dotnetBuildFlags ? [] 13 + # Flags to pass to `dotnet test`, if running tests is enabled. 14 + , dotnetTestFlags ? [] 12 15 # Flags to pass to `dotnet install`. 13 16 , dotnetInstallFlags ? [] 14 17 # Flags to pass to dotnet in all phases. ··· 27 30 # These get wrapped into `LD_LIBRARY_PATH`. 28 31 , runtimeDeps ? [] 29 32 33 + # Tests to disable. This gets passed to `dotnet test --filter "FullyQualifiedName!={}"`, to ensure compatibility with all frameworks. 34 + # See https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-test#filter-option-details for more details. 35 + , disabledTests ? [] 36 + # The project file to run unit tests against. This is usually the regular project file, but sometimes it needs to be manually set. 37 + , testProjectFile ? projectFile 38 + 30 39 # The type of build to perform. This is passed to `dotnet` with the `--configuration` flag. Possible values are `Release`, `Debug`, etc. 31 40 , buildType ? "Release" 32 41 # The dotnet SDK to use. 33 42 , dotnet-sdk ? dotnetCorePackages.sdk_5_0 34 43 # The dotnet runtime to use. 35 44 , dotnet-runtime ? dotnetCorePackages.runtime_5_0 45 + # The dotnet SDK to run tests against. This can differentiate from the SDK compiled against. 46 + , dotnet-test-sdk ? dotnet-sdk 36 47 , ... } @ args: 37 48 38 49 assert projectFile == null -> throw "Defining the `projectFile` attribute is required. This is usually an `.csproj`, or `.sln` file."; ··· 117 128 "''${dotnetFlags[@]}" 118 129 119 130 runHook postBuild 131 + ''; 132 + 133 + checkPhase = args.checkPhase or '' 134 + runHook preCheck 135 + 136 + ${lib.getBin dotnet-test-sdk}/bin/dotnet test "$testProjectFile" \ 137 + -maxcpucount:${if enableParallelBuilding then "$NIX_BUILD_CORES" else "1"} \ 138 + -p:ContinuousIntegrationBuild=true \ 139 + -p:Deterministic=true \ 140 + --configuration "$buildType" \ 141 + --no-build \ 142 + --logger "console;verbosity=normal" \ 143 + ${lib.optionalString (disabledTests != []) "--filter \"FullyQualifiedName!=${lib.concatStringsSep "|FullyQualifiedName!=" disabledTests}\""} \ 144 + "''${dotnetTestFlags[@]}" \ 145 + "''${dotnetFlags[@]}" 146 + 147 + runHook postCheck 120 148 ''; 121 149 122 150 installPhase = args.installPhase or ''
+12 -6
pkgs/development/python-modules/ibis/default.nix
··· 2 2 , buildPythonPackage 3 3 , fetchFromGitHub 4 4 , python 5 - , isPy27 5 + , pythonOlder 6 6 }: 7 7 8 8 buildPythonPackage rec { 9 9 pname = "ibis"; 10 - version = "1.6.0"; 11 - disabled = isPy27; 10 + version = "3.2.0"; 11 + format = "setuptools"; 12 + 13 + disabled = pythonOlder "3.8"; 12 14 13 15 src = fetchFromGitHub { 14 16 owner = "dmulholl"; 15 17 repo = pname; 16 18 rev = version; 17 - sha256 = "0xqhk397gzanvj2znwcgy4n5l1lc9r310smxkhjbm1xwvawpixx0"; 19 + sha256 = "sha256-EPz9zHnxR75WoRaiHKJNiCRWFwU1TBpC4uHz62jUOqM="; 18 20 }; 19 21 20 22 checkPhase = '' 21 23 ${python.interpreter} test_ibis.py 22 24 ''; 25 + 26 + pythonImportsCheck = [ 27 + "ibis" 28 + ]; 23 29 24 30 meta = with lib; { 25 - description = "A lightweight template engine"; 31 + description = "Lightweight template engine"; 26 32 homepage = "https://github.com/dmulholland/ibis"; 27 33 license = licenses.publicDomain; 28 - maintainers = [ maintainers.costrouc ]; 34 + maintainers = with maintainers; [ costrouc ]; 29 35 }; 30 36 }
+2 -2
pkgs/development/python-modules/icmplib/default.nix
··· 8 8 9 9 buildPythonPackage rec { 10 10 pname = "icmplib"; 11 - version = "3.0.1"; 11 + version = "3.0.2"; 12 12 disabled = pythonOlder "3.7"; 13 13 14 14 src = fetchFromGitHub { 15 15 owner = "ValentinBELYN"; 16 16 repo = pname; 17 17 rev = "v${version}"; 18 - sha256 = "sha256-avCy/s54JOeHf6py4sPDV+QC2oq2AU6A6J2YOnrQsm0="; 18 + sha256 = "sha256-4aq89Nw55OL7JQx3Ra6Ppp5yKLdS6Lc0YA8UJxVhz84="; 19 19 }; 20 20 21 21 propagatedBuildInputs = [
+4 -5
pkgs/os-specific/linux/bcc/default.nix
··· 1 1 { lib, stdenv, fetchFromGitHub 2 2 , makeWrapper, cmake, llvmPackages, kernel 3 3 , flex, bison, elfutils, python, luajit, netperf, iperf, libelf 4 - , systemtap, bash, libbpf 4 + , systemtap, bash 5 5 }: 6 6 7 7 python.pkgs.buildPythonApplication rec { 8 8 pname = "bcc"; 9 - version = "0.20.0"; 9 + version = "0.22.0"; 10 10 11 11 disabled = !stdenv.isLinux; 12 12 ··· 14 14 owner = "iovisor"; 15 15 repo = "bcc"; 16 16 rev = "v${version}"; 17 - sha256 = "1xnpz2zv445dp5h0160drv6xlvrnwfj23ngc4dp3clcd59jh1baq"; 17 + sha256 = "sha256-7FQz02APzjCjxCaw+e3H2GWz+UKsH0Dzgk9LoDgwDpU="; 18 + fetchSubmodules = true; 18 19 }; 19 20 format = "other"; 20 21 ··· 22 23 llvm llvm.dev libclang kernel 23 24 elfutils luajit netperf iperf 24 25 systemtap.stapBuild flex bash 25 - libbpf 26 26 ]; 27 27 28 28 patches = [ ··· 41 41 "-DREVISION=${version}" 42 42 "-DENABLE_USDT=ON" 43 43 "-DENABLE_CPP_API=ON" 44 - "-DCMAKE_USE_LIBBPF_PACKAGE=ON" 45 44 ]; 46 45 47 46 postPatch = ''
+18
pkgs/os-specific/linux/kernel/linux-5.15.nix
··· 1 + { lib, buildPackages, fetchurl, perl, buildLinux, nixosTests, modDirVersionArg ? null, ... } @ args: 2 + 3 + with lib; 4 + 5 + buildLinux (args // rec { 6 + version = "5.15"; 7 + 8 + # modDirVersion needs to be x.y.z, will automatically add .0 if needed 9 + modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; 10 + 11 + # branchVersion needs to be x.y 12 + extraMeta.branch = versions.majorMinor version; 13 + 14 + src = fetchurl { 15 + url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; 16 + sha256 = "sha256-V7LPaZGRDjtnobNJACLooGdLaWXHTBLaHpnRONGZHug="; 17 + }; 18 + } // (args.argsOverride or { }))
+8
pkgs/os-specific/linux/nvidia-x11/default.nix
··· 45 45 url = "https://developer.nvidia.com/vulkan-beta-${lib.concatStrings (lib.splitString "." version)}-linux"; 46 46 }; 47 47 48 + # Last one supporting Kepler architecture 49 + legacy_470 = generic { 50 + version = "470.82.00"; 51 + sha256_64bit = "sha256:0i35frgil917ig1s2qsgqww58h66gabnxz3q39vcl3rlwb0pmgfh"; 52 + settingsSha256 = "sha256:1kacgifzqqi2zjq62m404w99iv168j5a4xg7xbfnll62vzx7yr5j"; 53 + persistencedSha256 = "sha256:06qsjp0n872b37wvhnwaddn1nrwn668zskmkcmpx33bv1940apsk"; 54 + }; 55 + 48 56 # Last one supporting x86 49 57 legacy_390 = generic { 50 58 version = "390.143";
+5 -1
pkgs/tools/games/opentracker/default.nix
··· 25 25 }; 26 26 27 27 dotnet-runtime = dotnetCorePackages.runtime_3_1; 28 + nugetDeps = ./deps.nix; 29 + 28 30 projectFile = "OpenTracker.sln"; 29 - nugetDeps = ./deps.nix; 30 31 executables = [ "OpenTracker" ]; 32 + 33 + doCheck = true; 34 + dotnet-test-sdk = dotnetCorePackages.sdk_3_1; 31 35 32 36 nativeBuildInputs = [ 33 37 autoPatchelfHook
+3 -3
pkgs/tools/networking/sniffglue/default.nix
··· 2 2 3 3 rustPlatform.buildRustPackage rec { 4 4 pname = "sniffglue"; 5 - version = "0.13.1"; 5 + version = "0.14.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "kpcyrd"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-P8ubw523sw1O6Gpruy1Wa/Y0I3qJgvMdT53wBBoEGhE="; 11 + sha256 = "sha256-s+2YzfSy7+o0VZZ4j/Cfd6F5GvBytthmDJqrPw+7SU0="; 12 12 }; 13 13 14 - cargoSha256 = "sha256-+Wh+/C9LvYppCghv11e8NKNhiMy0SV4S3nEWA6b1hQk="; 14 + cargoSha256 = "sha256-4G1OGY7/vE8NKBFeuOZzqyZ0DQN4hy/HBO9qrEtBYlM="; 15 15 16 16 nativeBuildInputs = [ pkg-config ]; 17 17
+16 -10
pkgs/tools/security/sedutil/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, autoreconfHook }: 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , autoreconfHook 5 + }: 2 6 3 7 stdenv.mkDerivation rec { 4 8 pname = "sedutil"; 5 - version = "1.15.1"; 9 + version = "1.20.0"; 6 10 7 11 src = fetchFromGitHub { 8 - owner = "Drive-Trust-Alliance"; 9 - repo = "sedutil"; 10 - rev = version; 11 - sha256 = "0zg5v27vbrzzl2vqzks91zj48z30qgcshkqkm1g8ycnhi145l0mf"; 12 + owner = "Drive-Trust-Alliance"; 13 + repo = "sedutil"; 14 + rev = version; 15 + sha256 = "sha256-NG/7aqe48ShHWW5hW8axYWV4+zX0dBE7Wy9q58l0S3E="; 12 16 }; 13 17 14 18 postPatch = '' 15 19 patchShebangs . 16 20 ''; 17 21 18 - nativeBuildInputs = [ autoreconfHook ]; 22 + nativeBuildInputs = [ 23 + autoreconfHook 24 + ]; 19 25 20 26 enableParallelBuilding = true; 21 27 22 28 meta = with lib; { 23 29 description = "DTA sedutil Self encrypting drive software"; 24 - homepage = "https://www.drivetrust.com"; 25 - license = licenses.gpl3; 26 - platforms = platforms.linux; 30 + homepage = "https://www.drivetrust.com"; 31 + license = licenses.gpl3Plus; 32 + platforms = platforms.linux; 27 33 }; 28 34 }
+2 -2
pkgs/tools/text/crowdin-cli/default.nix
··· 12 12 13 13 stdenv.mkDerivation rec { 14 14 pname = "crowdin-cli"; 15 - version = "3.7.0"; 15 + version = "3.7.1"; 16 16 17 17 src = fetchurl { 18 18 url = "https://github.com/crowdin/${pname}/releases/download/${version}/${pname}.zip"; 19 - sha256 = "sha256-2TQL5k2ndckFjOOXNz7clVpwPUMStR4xgd1P+qUhNC8="; 19 + sha256 = "sha256-WoDFBV1Nid1y57MIrTFMOB2yqHRUrvhp974Dz5agar0="; 20 20 }; 21 21 22 22 nativeBuildInputs = [ installShellFiles makeWrapper unzip ];
+10 -1
pkgs/top-level/linux-kernels.nix
··· 174 174 ]; 175 175 }; 176 176 177 + linux_5_15 = callPackage ../os-specific/linux/kernel/linux-5.15.nix { 178 + kernelPatches = [ 179 + kernelPatches.bridge_stp_helper 180 + kernelPatches.request_key_helper 181 + ]; 182 + }; 183 + 177 184 linux_testing = callPackage ../os-specific/linux/kernel/linux-testing.nix { 178 185 kernelPatches = [ 179 186 kernelPatches.bridge_stp_helper ··· 320 327 321 328 nvidia_x11_legacy340 = nvidiaPackages.legacy_340; 322 329 nvidia_x11_legacy390 = nvidiaPackages.legacy_390; 330 + nvidia_x11_legacy470 = nvidiaPackages.legacy_470; 323 331 nvidia_x11_beta = nvidiaPackages.beta; 324 332 nvidia_x11_vulkan_beta = nvidiaPackages.vulkan_beta; 325 333 nvidia_x11 = nvidiaPackages.stable; ··· 467 475 linux_5_4 = recurseIntoAttrs (packagesFor kernels.linux_5_4); 468 476 linux_5_10 = recurseIntoAttrs (packagesFor kernels.linux_5_10); 469 477 linux_5_14 = recurseIntoAttrs (packagesFor kernels.linux_5_14); 478 + linux_5_15 = recurseIntoAttrs (packagesFor kernels.linux_5_15); 470 479 }; 471 480 472 481 rtPackages = { ··· 512 521 packageAliases = { 513 522 linux_default = packages.linux_5_10; 514 523 # Update this when adding the newest kernel major version! 515 - linux_latest = packages.linux_5_14; 524 + linux_latest = packages.linux_5_15; 516 525 linux_mptcp = packages.linux_mptcp_95; 517 526 linux_rt_default = packages.linux_rt_5_4; 518 527 linux_rt_latest = packages.linux_rt_5_11;