3
0
Fork 0
forked from mirrors/nixpkgs

Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-11-01 12:01:00 +00:00 committed by GitHub
commit cc41bb5851
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
25 changed files with 275 additions and 97 deletions

View file

@ -77,9 +77,13 @@ To package Dotnet applications, you can use `buildDotnetModule`. This has simila
* `runtimeDeps` is used to wrap libraries into `LD_LIBRARY_PATH`. This is how dotnet usually handles runtime dependencies. * `runtimeDeps` is used to wrap libraries into `LD_LIBRARY_PATH`. This is how dotnet usually handles runtime dependencies.
* `buildType` is used to change the type of build. Possible values are `Release`, `Debug`, etc. By default, this is set to `Release`. * `buildType` is used to change the type of build. Possible values are `Release`, `Debug`, etc. By default, this is set to `Release`.
* `dotnet-sdk` is useful in cases where you need to change what dotnet SDK is being used. * `dotnet-sdk` is useful in cases where you need to change what dotnet SDK is being used.
* `dotnet-runtime` is useful in cases where you need to change what dotnet runtime is being used. * `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.
* `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.
* `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.
* `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.
* `dotnetRestoreFlags` can be used to pass flags to `dotnet restore`. * `dotnetRestoreFlags` can be used to pass flags to `dotnet restore`.
* `dotnetBuildFlags` can be used to pass flags to `dotnet build`. * `dotnetBuildFlags` can be used to pass flags to `dotnet build`.
* `dotnetTestFlags` can be used to pass flags to `dotnet test`.
* `dotnetInstallFlags` can be used to pass flags to `dotnet install`. * `dotnetInstallFlags` can be used to pass flags to `dotnet install`.
* `dotnetFlags` can be used to pass flags to all of the above phases. * `dotnetFlags` can be used to pass flags to all of the above phases.

View file

@ -52,15 +52,39 @@ in
rec { rec {
/* Evaluate a set of modules. The result is a set of two /*
attributes: options: the nested set of all option declarations, Evaluate a set of modules. The result is a set with the attributes:
and config: the nested set of all option values.
options: The nested set of all option declarations,
config: The nested set of all option values.
type: A module system type representing the module set as a submodule,
to be extended by configuration from the containing module set.
extendModules: A function similar to evalModules but building on top
of the module set. Its arguments, modules and specialArgs are
added to the existing values.
Using extendModules a few times has no performance impact as long
as you only reference the final options and config.
If you do reference multiple config (or options) from before and
after extendModules, performance is the same as with multiple
evalModules invocations, because the new modules' ability to
override existing configuration fundamentally requires a new
fixpoint to be constructed.
_module: A portion of the configuration tree which is elided from
config. It contains some values that are mostly internal to the
module system implementation.
!!! Please think twice before adding to this argument list! The more !!! Please think twice before adding to this argument list! The more
that is specified here instead of in the modules themselves the harder that is specified here instead of in the modules themselves the harder
it is to transparently move a set of modules to be a submodule of another it is to transparently move a set of modules to be a submodule of another
config (as the proper arguments need to be replicated at each call to config (as the proper arguments need to be replicated at each call to
evalModules) and the less declarative the module set is. */ evalModules) and the less declarative the module set is. */
evalModules = { modules evalModules = evalModulesArgs@
{ modules
, prefix ? [] , prefix ? []
, # This should only be used for special arguments that need to be evaluated , # This should only be used for special arguments that need to be evaluated
# when resolving module structure (like in imports). For everything else, # when resolving module structure (like in imports). For everything else,
@ -120,7 +144,9 @@ rec {
}; };
config = { config = {
_module.args = args; _module.args = {
inherit extendModules;
} // args;
}; };
}; };
@ -183,10 +209,28 @@ rec {
else throw baseMsg else throw baseMsg
else null; else null;
result = builtins.seq checkUnmatched { checked = builtins.seq checkUnmatched;
inherit options;
config = removeAttrs config [ "_module" ]; extendModules = extendArgs@{
inherit (config) _module; modules ? [],
specialArgs ? {},
prefix ? [],
}:
evalModules (evalModulesArgs // {
modules = evalModulesArgs.modules ++ modules;
specialArgs = evalModulesArgs.specialArgs or {} // specialArgs;
prefix = extendArgs.prefix or evalModulesArgs.prefix;
});
type = lib.types.submoduleWith {
inherit modules specialArgs;
};
result = {
options = checked options;
config = checked (removeAttrs config [ "_module" ]);
_module = checked (config._module);
inherit extendModules type;
}; };
in result; in result;

View file

@ -74,7 +74,7 @@ rec {
apply ? null, apply ? null,
# Whether the option is for NixOS developers only. # Whether the option is for NixOS developers only.
internal ? null, internal ? null,
# Whether the option shows up in the manual. # 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.
visible ? null, visible ? null,
# Whether the option can be set only once # Whether the option can be set only once
readOnly ? null, readOnly ? null,
@ -180,7 +180,10 @@ rec {
description = opt.description or (lib.warn "Option `${name}' has no description." "This option has no description."); description = opt.description or (lib.warn "Option `${name}' has no description." "This option has no description.");
declarations = filter (x: x != unknownModule) opt.declarations; declarations = filter (x: x != unknownModule) opt.declarations;
internal = opt.internal or false; internal = opt.internal or false;
visible = opt.visible or true; visible =
if (opt?visible && opt.visible == "shallow")
then true
else opt.visible or true;
readOnly = opt.readOnly or false; readOnly = opt.readOnly or false;
type = opt.type.description or null; type = opt.type.description or null;
} }
@ -192,8 +195,9 @@ rec {
subOptions = subOptions =
let ss = opt.type.getSubOptions opt.loc; let ss = opt.type.getSubOptions opt.loc;
in if ss != {} then optionAttrSetToDocList' opt.loc ss else []; in if ss != {} then optionAttrSetToDocList' opt.loc ss else [];
subOptionsVisible = docOption.visible && opt.visible or null != "shallow";
in in
[ docOption ] ++ optionals docOption.visible subOptions) (collect isOption options); [ docOption ] ++ optionals subOptionsVisible subOptions) (collect isOption options);
/* This function recursively removes all derivation attributes from /* This function recursively removes all derivation attributes from

View file

@ -179,6 +179,13 @@ checkConfigOutput "true" config.submodule.outer ./declare-submoduleWith-modules.
# which evaluates all the modules defined by the type) # which evaluates all the modules defined by the type)
checkConfigOutput "submodule" options.submodule.type.description ./declare-submoduleWith-modules.nix checkConfigOutput "submodule" options.submodule.type.description ./declare-submoduleWith-modules.nix
## submodules can be declared using (evalModules {...}).type
checkConfigOutput "true" config.submodule.inner ./declare-submodule-via-evalModules.nix
checkConfigOutput "true" config.submodule.outer ./declare-submodule-via-evalModules.nix
# Should also be able to evaluate the type name (which evaluates freeformType,
# which evaluates all the modules defined by the type)
checkConfigOutput "submodule" options.submodule.type.description ./declare-submodule-via-evalModules.nix
## Paths should be allowed as values and work as expected ## Paths should be allowed as values and work as expected
checkConfigOutput "true" config.submodule.enable ./declare-submoduleWith-path.nix checkConfigOutput "true" config.submodule.enable ./declare-submoduleWith-path.nix

View file

@ -0,0 +1,28 @@
{ lib, ... }: {
options.submodule = lib.mkOption {
inherit (lib.evalModules {
modules = [
{
options.inner = lib.mkOption {
type = lib.types.bool;
default = false;
};
}
];
}) type;
default = {};
};
config.submodule = lib.mkMerge [
({ lib, ... }: {
options.outer = lib.mkOption {
type = lib.types.bool;
default = false;
};
})
{
inner = true;
outer = true;
}
];
}

View file

@ -505,17 +505,36 @@ rec {
then setFunctionArgs (args: unify (value args)) (functionArgs value) then setFunctionArgs (args: unify (value args)) (functionArgs value)
else unify (if shorthandOnlyDefinesConfig then { config = value; } else value); else unify (if shorthandOnlyDefinesConfig then { config = value; } else value);
allModules = defs: modules ++ imap1 (n: { value, file }: allModules = defs: imap1 (n: { value, file }:
if isAttrs value || isFunction value then if isAttrs value || isFunction value then
# Annotate the value with the location of its definition for better error messages # Annotate the value with the location of its definition for better error messages
coerce (lib.modules.unifyModuleSyntax file "${toString file}-${toString n}") value coerce (lib.modules.unifyModuleSyntax file "${toString file}-${toString n}") value
else value else value
) defs; ) defs;
freeformType = (evalModules { base = evalModules {
inherit modules specialArgs; inherit specialArgs;
args.name = "name"; modules = [{
})._module.freeformType; # This is a work-around for the fact that some sub-modules,
# such as the one included in an attribute set, expects an "args"
# attribute to be given to the sub-module. As the option
# evaluation does not have any specific attribute name yet, we
# provide a default for the documentation and the freeform type.
#
# This is necessary as some option declaration might use the
# "name" attribute given as argument of the submodule and use it
# as the default of option declarations.
#
# We use lookalike unicode single angle quotation marks because
# of the docbook transformation the options receive. In all uses
# > and < wouldn't be encoded correctly so the encoded values
# would be used, and use of `<` and `>` would break the XML document.
# It shouldn't cause an issue since this is cosmetic for the manual.
_module.args.name = lib.mkOptionDefault "name";
}] ++ modules;
};
freeformType = base._module.freeformType;
in in
mkOptionType rec { mkOptionType rec {
@ -523,32 +542,13 @@ rec {
description = freeformType.description or name; description = freeformType.description or name;
check = x: isAttrs x || isFunction x || path.check x; check = x: isAttrs x || isFunction x || path.check x;
merge = loc: defs: merge = loc: defs:
(evalModules { (base.extendModules {
modules = allModules defs; modules = [ { _module.args.name = last loc; } ] ++ allModules defs;
inherit specialArgs;
args.name = last loc;
prefix = loc; prefix = loc;
}).config; }).config;
emptyValue = { value = {}; }; emptyValue = { value = {}; };
getSubOptions = prefix: (evalModules getSubOptions = prefix: (base.extendModules
{ inherit modules prefix specialArgs; { inherit prefix; }).options // optionalAttrs (freeformType != null) {
# This is a work-around due to the fact that some sub-modules,
# such as the one included in an attribute set, expects a "args"
# attribute to be given to the sub-module. As the option
# evaluation does not have any specific attribute name, we
# provide a default one for the documentation.
#
# This is mandatory as some option declaration might use the
# "name" attribute given as argument of the submodule and use it
# as the default of option declarations.
#
# Using lookalike unicode single angle quotation marks because
# of the docbook transformation the options receive. In all uses
# &gt; and &lt; wouldn't be encoded correctly so the encoded values
# would be used, and use of `<` and `>` would break the XML document.
# It shouldn't cause an issue since this is cosmetic for the manual.
args.name = "name";
}).options // optionalAttrs (freeformType != null) {
# Expose the sub options of the freeform type. Note that the option # Expose the sub options of the freeform type. Note that the option
# discovery doesn't care about the attribute name used here, so this # discovery doesn't care about the attribute name used here, so this
# is just to avoid conflicts with potential options from the submodule # is just to avoid conflicts with potential options from the submodule

View file

@ -61,7 +61,7 @@ in rec {
args = extraArgs; args = extraArgs;
specialArgs = specialArgs =
{ modulesPath = builtins.toString ../modules; } // specialArgs; { modulesPath = builtins.toString ../modules; } // specialArgs;
}) config options _module; }) config options _module type;
# These are the extra arguments passed to every module. In # These are the extra arguments passed to every module. In
# particular, Nixpkgs is passed through the "pkgs" argument. # particular, Nixpkgs is passed through the "pkgs" argument.

View file

@ -23,22 +23,14 @@ let
assert "${linuxPackages.kernel.modDirVersion}" in machine.succeed("uname -a") assert "${linuxPackages.kernel.modDirVersion}" in machine.succeed("uname -a")
''; '';
}) args); }) args);
kernels = { kernels = pkgs.linuxKernel.vanillaPackages // {
inherit (pkgs) inherit (pkgs.linuxKernel.packages)
linuxPackages_4_4 linux_4_14_hardened
linuxPackages_4_9 linux_4_19_hardened
linuxPackages_4_14 linux_5_4_hardened
linuxPackages_4_19 linux_5_10_hardened
linuxPackages_5_4
linuxPackages_5_10
linuxPackages_5_14
linuxPackages_4_14_hardened linux_testing;
linuxPackages_4_19_hardened
linuxPackages_5_4_hardened
linuxPackages_5_10_hardened
linuxPackages_testing;
}; };
in mapAttrs (_: lP: testsForLinuxPackages lP) kernels // { in mapAttrs (_: lP: testsForLinuxPackages lP) kernels // {

View file

@ -3,7 +3,6 @@
let let
pname = "plexamp"; pname = "plexamp";
version = "3.7.1"; version = "3.7.1";
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage"; url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage";
@ -12,16 +11,16 @@ let
}; };
appimageContents = appimageTools.extractType2 { appimageContents = appimageTools.extractType2 {
inherit name src; inherit pname version src;
}; };
in appimageTools.wrapType2 { in appimageTools.wrapType2 {
inherit name src; inherit pname version src;
multiPkgs = null; # no 32bit needed multiPkgs = null; # no 32bit needed
extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs ++ [ pkgs.bash ]; extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs ++ [ pkgs.bash ];
extraInstallCommands = '' extraInstallCommands = ''
ln -s $out/bin/${name} $out/bin/${pname} ln -s $out/bin/${pname}-${version} $out/bin/${pname}
install -m 444 -D ${appimageContents}/plexamp.desktop $out/share/applications/plexamp.desktop install -m 444 -D ${appimageContents}/plexamp.desktop $out/share/applications/plexamp.desktop
install -m 444 -D ${appimageContents}/plexamp.png \ install -m 444 -D ${appimageContents}/plexamp.png \
$out/share/icons/hicolor/512x512/apps/plexamp.png $out/share/icons/hicolor/512x512/apps/plexamp.png

View file

@ -1,6 +1,7 @@
{ lib { lib
, stdenv , stdenv
, fetchFromGitLab , fetchFromGitLab
, fetchpatch
, writeText , writeText
, cmake , cmake
, doxygen , doxygen
@ -54,6 +55,15 @@ stdenv.mkDerivation rec {
sha256 = "07zxs96i3prjqww1f68496cl2xxqaidx32lpfyy0pn5am4c297zc"; sha256 = "07zxs96i3prjqww1f68496cl2xxqaidx32lpfyy0pn5am4c297zc";
}; };
patches = [
# https://github.com/NixOS/nixpkgs/issues/137245
# Fix warning after Vulkan 1.2.174 VK_NULL_HANDLE change
(fetchpatch {
url = "https://gitlab.freedesktop.org/monado/monado/-/commit/c47775a95d8e139a2f234063793eb6726f830510.patch";
sha256 = "093ymvi9ifpk4vyjcwhhci9cnscxwbv5f80xdbppcqa0j92nmkmp";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
doxygen doxygen

View file

@ -14,11 +14,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "weylus"; pname = "weylus";
version = "0.11.3"; version = "0.11.4";
src = fetchzip { src = fetchzip {
url = "https://github.com/H-M-H/Weylus/releases/download/v${version}/linux.zip"; url = "https://github.com/H-M-H/Weylus/releases/download/v${version}/linux.zip";
sha256 = "sha256-1nEdn3KKCMWIzYv4ryqTxtQvR9eln9IX1Z4Y6/vuo7o="; sha256 = "sha256-EW3TdI4F4d4X/BeSqI05QtS77ym1U5jdswFfNtSFyFk=";
stripRoot = false; stripRoot = false;
}; };

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "logseq"; pname = "logseq";
version = "0.4.2"; version = "0.4.5";
src = fetchurl { src = fetchurl {
url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage"; url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
sha256 = "BEDScQtGfkp74Gx3RKK8ItNQ9JD8AJkl1zdS/gZqyXk="; sha256 = "EMybZH3heUWeCP74KdFr6zJY1R3hePo6RssbJXrkd9g=";
name = "${pname}-${version}.AppImage"; name = "${pname}-${version}.AppImage";
}; };

View file

@ -10,6 +10,7 @@
, gnutls ? null , gnutls ? null
, libgcrypt ? null , libgcrypt ? null
, plugins, symlinkJoin , plugins, symlinkJoin
, cacert
}: }:
# FIXME: clean the mess around choosing the SSL library (nss by default) # FIXME: clean the mess around choosing the SSL library (nss by default)
@ -59,6 +60,7 @@ let unwrapped = stdenv.mkDerivation rec {
"--with-nss-includes=${nss.dev}/include/nss" "--with-nss-includes=${nss.dev}/include/nss"
"--with-nss-libs=${nss.out}/lib" "--with-nss-libs=${nss.out}/lib"
"--with-ncurses-headers=${ncurses.dev}/include" "--with-ncurses-headers=${ncurses.dev}/include"
"--with-system-ssl-certs=${cacert}/etc/ssl/certs"
"--disable-meanwhile" "--disable-meanwhile"
"--disable-nm" "--disable-nm"
"--disable-tcl" "--disable-tcl"

View file

@ -1,17 +1,18 @@
{ lib, stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which { lib, stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which
, ncurses, perl , cyrus_sasl, gss, gpgme, libkrb5, libidn, libxml2, notmuch, openssl , ncurses, perl , cyrus_sasl, gss, gpgme, libkrb5, libidn, libxml2, notmuch, openssl
, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, w3m, mailcap, sqlite, zlib , lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, w3m, mailcap, sqlite, zlib
, fetchpatch
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "20211022"; version = "20211029";
pname = "neomutt"; pname = "neomutt";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "neomutt"; owner = "neomutt";
repo = "neomutt"; repo = "neomutt";
rev = version; rev = version;
sha256 = "sha256-gPMbl+g9tU7YmT3uJoJozCdDBb/4eFyVyvHdREK1Ss0="; sha256 = "sha256-haPDZorAfKuIEMiBCXJRMALAYnurQyjmCSOnj9IsoKk=";
}; };
buildInputs = [ buildInputs = [
@ -24,6 +25,15 @@ stdenv.mkDerivation rec {
docbook_xsl docbook_xml_dtd_42 gettext libxml2 libxslt.bin makeWrapper tcl which zlib w3m docbook_xsl docbook_xml_dtd_42 gettext libxml2 libxslt.bin makeWrapper tcl which zlib w3m
]; ];
patches = [
# Remove on next update, see
# https://github.com/NixOS/nixpkgs/pull/143641#issuecomment-954991746 for context.
(fetchpatch {
url = "https://github.com/neomutt/neomutt/commit/4242a31313e0b600693215c01047bbda8a6dd25a.patch";
sha256 = "sha256-fcuNeBkPjqln5QA9VFcfXCQD/VrUoSEMSxQ//Xj+yxY=";
})
];
enableParallelBuilding = true; enableParallelBuilding = true;
postPatch = '' postPatch = ''

View file

@ -2,6 +2,7 @@
{ name ? "${args.pname}-${args.version}" { name ? "${args.pname}-${args.version}"
, enableParallelBuilding ? true , enableParallelBuilding ? true
, doCheck ? false
# Flags to pass to `makeWrapper`. This is done to avoid double wrapping. # Flags to pass to `makeWrapper`. This is done to avoid double wrapping.
, makeWrapperArgs ? [] , makeWrapperArgs ? []
@ -9,6 +10,8 @@
, dotnetRestoreFlags ? [] , dotnetRestoreFlags ? []
# Flags to pass to `dotnet build`. # Flags to pass to `dotnet build`.
, dotnetBuildFlags ? [] , dotnetBuildFlags ? []
# Flags to pass to `dotnet test`, if running tests is enabled.
, dotnetTestFlags ? []
# Flags to pass to `dotnet install`. # Flags to pass to `dotnet install`.
, dotnetInstallFlags ? [] , dotnetInstallFlags ? []
# Flags to pass to dotnet in all phases. # Flags to pass to dotnet in all phases.
@ -27,12 +30,20 @@
# These get wrapped into `LD_LIBRARY_PATH`. # These get wrapped into `LD_LIBRARY_PATH`.
, runtimeDeps ? [] , runtimeDeps ? []
# Tests to disable. This gets passed to `dotnet test --filter "FullyQualifiedName!={}"`, to ensure compatibility with all frameworks.
# See https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-test#filter-option-details for more details.
, disabledTests ? []
# The project file to run unit tests against. This is usually the regular project file, but sometimes it needs to be manually set.
, testProjectFile ? projectFile
# The type of build to perform. This is passed to `dotnet` with the `--configuration` flag. Possible values are `Release`, `Debug`, etc. # The type of build to perform. This is passed to `dotnet` with the `--configuration` flag. Possible values are `Release`, `Debug`, etc.
, buildType ? "Release" , buildType ? "Release"
# The dotnet SDK to use. # The dotnet SDK to use.
, dotnet-sdk ? dotnetCorePackages.sdk_5_0 , dotnet-sdk ? dotnetCorePackages.sdk_5_0
# The dotnet runtime to use. # The dotnet runtime to use.
, dotnet-runtime ? dotnetCorePackages.runtime_5_0 , dotnet-runtime ? dotnetCorePackages.runtime_5_0
# The dotnet SDK to run tests against. This can differentiate from the SDK compiled against.
, dotnet-test-sdk ? dotnet-sdk
, ... } @ args: , ... } @ args:
assert projectFile == null -> throw "Defining the `projectFile` attribute is required. This is usually an `.csproj`, or `.sln` file."; assert projectFile == null -> throw "Defining the `projectFile` attribute is required. This is usually an `.csproj`, or `.sln` file.";
@ -119,6 +130,23 @@ let
runHook postBuild runHook postBuild
''; '';
checkPhase = args.checkPhase or ''
runHook preCheck
${lib.getBin dotnet-test-sdk}/bin/dotnet test "$testProjectFile" \
-maxcpucount:${if enableParallelBuilding then "$NIX_BUILD_CORES" else "1"} \
-p:ContinuousIntegrationBuild=true \
-p:Deterministic=true \
--configuration "$buildType" \
--no-build \
--logger "console;verbosity=normal" \
${lib.optionalString (disabledTests != []) "--filter \"FullyQualifiedName!=${lib.concatStringsSep "|FullyQualifiedName!=" disabledTests}\""} \
"''${dotnetTestFlags[@]}" \
"''${dotnetFlags[@]}"
runHook postCheck
'';
installPhase = args.installPhase or '' installPhase = args.installPhase or ''
runHook preInstall runHook preInstall

View file

@ -2,29 +2,35 @@
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, python , python
, isPy27 , pythonOlder
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "ibis"; pname = "ibis";
version = "1.6.0"; version = "3.2.0";
disabled = isPy27; format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dmulholl"; owner = "dmulholl";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0xqhk397gzanvj2znwcgy4n5l1lc9r310smxkhjbm1xwvawpixx0"; sha256 = "sha256-EPz9zHnxR75WoRaiHKJNiCRWFwU1TBpC4uHz62jUOqM=";
}; };
checkPhase = '' checkPhase = ''
${python.interpreter} test_ibis.py ${python.interpreter} test_ibis.py
''; '';
pythonImportsCheck = [
"ibis"
];
meta = with lib; { meta = with lib; {
description = "A lightweight template engine"; description = "Lightweight template engine";
homepage = "https://github.com/dmulholland/ibis"; homepage = "https://github.com/dmulholland/ibis";
license = licenses.publicDomain; license = licenses.publicDomain;
maintainers = [ maintainers.costrouc ]; maintainers = with maintainers; [ costrouc ];
}; };
} }

View file

@ -8,14 +8,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "icmplib"; pname = "icmplib";
version = "3.0.1"; version = "3.0.2";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ValentinBELYN"; owner = "ValentinBELYN";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-avCy/s54JOeHf6py4sPDV+QC2oq2AU6A6J2YOnrQsm0="; sha256 = "sha256-4aq89Nw55OL7JQx3Ra6Ppp5yKLdS6Lc0YA8UJxVhz84=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -1,12 +1,12 @@
{ lib, stdenv, fetchFromGitHub { lib, stdenv, fetchFromGitHub
, makeWrapper, cmake, llvmPackages, kernel , makeWrapper, cmake, llvmPackages, kernel
, flex, bison, elfutils, python, luajit, netperf, iperf, libelf , flex, bison, elfutils, python, luajit, netperf, iperf, libelf
, systemtap, bash, libbpf , systemtap, bash
}: }:
python.pkgs.buildPythonApplication rec { python.pkgs.buildPythonApplication rec {
pname = "bcc"; pname = "bcc";
version = "0.20.0"; version = "0.22.0";
disabled = !stdenv.isLinux; disabled = !stdenv.isLinux;
@ -14,7 +14,8 @@ python.pkgs.buildPythonApplication rec {
owner = "iovisor"; owner = "iovisor";
repo = "bcc"; repo = "bcc";
rev = "v${version}"; rev = "v${version}";
sha256 = "1xnpz2zv445dp5h0160drv6xlvrnwfj23ngc4dp3clcd59jh1baq"; sha256 = "sha256-7FQz02APzjCjxCaw+e3H2GWz+UKsH0Dzgk9LoDgwDpU=";
fetchSubmodules = true;
}; };
format = "other"; format = "other";
@ -22,7 +23,6 @@ python.pkgs.buildPythonApplication rec {
llvm llvm.dev libclang kernel llvm llvm.dev libclang kernel
elfutils luajit netperf iperf elfutils luajit netperf iperf
systemtap.stapBuild flex bash systemtap.stapBuild flex bash
libbpf
]; ];
patches = [ patches = [
@ -41,7 +41,6 @@ python.pkgs.buildPythonApplication rec {
"-DREVISION=${version}" "-DREVISION=${version}"
"-DENABLE_USDT=ON" "-DENABLE_USDT=ON"
"-DENABLE_CPP_API=ON" "-DENABLE_CPP_API=ON"
"-DCMAKE_USE_LIBBPF_PACKAGE=ON"
]; ];
postPatch = '' postPatch = ''

View file

@ -0,0 +1,18 @@
{ lib, buildPackages, fetchurl, perl, buildLinux, nixosTests, modDirVersionArg ? null, ... } @ args:
with lib;
buildLinux (args // rec {
version = "5.15";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
# branchVersion needs to be x.y
extraMeta.branch = versions.majorMinor version;
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
sha256 = "sha256-V7LPaZGRDjtnobNJACLooGdLaWXHTBLaHpnRONGZHug=";
};
} // (args.argsOverride or { }))

View file

@ -45,6 +45,14 @@ rec {
url = "https://developer.nvidia.com/vulkan-beta-${lib.concatStrings (lib.splitString "." version)}-linux"; url = "https://developer.nvidia.com/vulkan-beta-${lib.concatStrings (lib.splitString "." version)}-linux";
}; };
# Last one supporting Kepler architecture
legacy_470 = generic {
version = "470.82.00";
sha256_64bit = "sha256:0i35frgil917ig1s2qsgqww58h66gabnxz3q39vcl3rlwb0pmgfh";
settingsSha256 = "sha256:1kacgifzqqi2zjq62m404w99iv168j5a4xg7xbfnll62vzx7yr5j";
persistencedSha256 = "sha256:06qsjp0n872b37wvhnwaddn1nrwn668zskmkcmpx33bv1940apsk";
};
# Last one supporting x86 # Last one supporting x86
legacy_390 = generic { legacy_390 = generic {
version = "390.143"; version = "390.143";

View file

@ -25,10 +25,14 @@ buildDotnetModule rec {
}; };
dotnet-runtime = dotnetCorePackages.runtime_3_1; dotnet-runtime = dotnetCorePackages.runtime_3_1;
projectFile = "OpenTracker.sln";
nugetDeps = ./deps.nix; nugetDeps = ./deps.nix;
projectFile = "OpenTracker.sln";
executables = [ "OpenTracker" ]; executables = [ "OpenTracker" ];
doCheck = true;
dotnet-test-sdk = dotnetCorePackages.sdk_3_1;
nativeBuildInputs = [ nativeBuildInputs = [
autoPatchelfHook autoPatchelfHook
wrapGAppsHook wrapGAppsHook

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "sniffglue"; pname = "sniffglue";
version = "0.13.1"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kpcyrd"; owner = "kpcyrd";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-P8ubw523sw1O6Gpruy1Wa/Y0I3qJgvMdT53wBBoEGhE="; sha256 = "sha256-s+2YzfSy7+o0VZZ4j/Cfd6F5GvBytthmDJqrPw+7SU0=";
}; };
cargoSha256 = "sha256-+Wh+/C9LvYppCghv11e8NKNhiMy0SV4S3nEWA6b1hQk="; cargoSha256 = "sha256-4G1OGY7/vE8NKBFeuOZzqyZ0DQN4hy/HBO9qrEtBYlM=";
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];

View file

@ -1,28 +1,34 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook }: { lib
, stdenv
, fetchFromGitHub
, autoreconfHook
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "sedutil"; pname = "sedutil";
version = "1.15.1"; version = "1.20.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Drive-Trust-Alliance"; owner = "Drive-Trust-Alliance";
repo = "sedutil"; repo = "sedutil";
rev = version; rev = version;
sha256 = "0zg5v27vbrzzl2vqzks91zj48z30qgcshkqkm1g8ycnhi145l0mf"; sha256 = "sha256-NG/7aqe48ShHWW5hW8axYWV4+zX0dBE7Wy9q58l0S3E=";
}; };
postPatch = '' postPatch = ''
patchShebangs . patchShebangs .
''; '';
nativeBuildInputs = [ autoreconfHook ]; nativeBuildInputs = [
autoreconfHook
];
enableParallelBuilding = true; enableParallelBuilding = true;
meta = with lib; { meta = with lib; {
description = "DTA sedutil Self encrypting drive software"; description = "DTA sedutil Self encrypting drive software";
homepage = "https://www.drivetrust.com"; homepage = "https://www.drivetrust.com";
license = licenses.gpl3; license = licenses.gpl3Plus;
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View file

@ -12,11 +12,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "crowdin-cli"; pname = "crowdin-cli";
version = "3.7.0"; version = "3.7.1";
src = fetchurl { src = fetchurl {
url = "https://github.com/crowdin/${pname}/releases/download/${version}/${pname}.zip"; url = "https://github.com/crowdin/${pname}/releases/download/${version}/${pname}.zip";
sha256 = "sha256-2TQL5k2ndckFjOOXNz7clVpwPUMStR4xgd1P+qUhNC8="; sha256 = "sha256-WoDFBV1Nid1y57MIrTFMOB2yqHRUrvhp974Dz5agar0=";
}; };
nativeBuildInputs = [ installShellFiles makeWrapper unzip ]; nativeBuildInputs = [ installShellFiles makeWrapper unzip ];

View file

@ -174,6 +174,13 @@ in {
]; ];
}; };
linux_5_15 = callPackage ../os-specific/linux/kernel/linux-5.15.nix {
kernelPatches = [
kernelPatches.bridge_stp_helper
kernelPatches.request_key_helper
];
};
linux_testing = callPackage ../os-specific/linux/kernel/linux-testing.nix { linux_testing = callPackage ../os-specific/linux/kernel/linux-testing.nix {
kernelPatches = [ kernelPatches = [
kernelPatches.bridge_stp_helper kernelPatches.bridge_stp_helper
@ -320,6 +327,7 @@ in {
nvidia_x11_legacy340 = nvidiaPackages.legacy_340; nvidia_x11_legacy340 = nvidiaPackages.legacy_340;
nvidia_x11_legacy390 = nvidiaPackages.legacy_390; nvidia_x11_legacy390 = nvidiaPackages.legacy_390;
nvidia_x11_legacy470 = nvidiaPackages.legacy_470;
nvidia_x11_beta = nvidiaPackages.beta; nvidia_x11_beta = nvidiaPackages.beta;
nvidia_x11_vulkan_beta = nvidiaPackages.vulkan_beta; nvidia_x11_vulkan_beta = nvidiaPackages.vulkan_beta;
nvidia_x11 = nvidiaPackages.stable; nvidia_x11 = nvidiaPackages.stable;
@ -467,6 +475,7 @@ in {
linux_5_4 = recurseIntoAttrs (packagesFor kernels.linux_5_4); linux_5_4 = recurseIntoAttrs (packagesFor kernels.linux_5_4);
linux_5_10 = recurseIntoAttrs (packagesFor kernels.linux_5_10); linux_5_10 = recurseIntoAttrs (packagesFor kernels.linux_5_10);
linux_5_14 = recurseIntoAttrs (packagesFor kernels.linux_5_14); linux_5_14 = recurseIntoAttrs (packagesFor kernels.linux_5_14);
linux_5_15 = recurseIntoAttrs (packagesFor kernels.linux_5_15);
}; };
rtPackages = { rtPackages = {
@ -512,7 +521,7 @@ in {
packageAliases = { packageAliases = {
linux_default = packages.linux_5_10; linux_default = packages.linux_5_10;
# Update this when adding the newest kernel major version! # Update this when adding the newest kernel major version!
linux_latest = packages.linux_5_14; linux_latest = packages.linux_5_15;
linux_mptcp = packages.linux_mptcp_95; linux_mptcp = packages.linux_mptcp_95;
linux_rt_default = packages.linux_rt_5_4; linux_rt_default = packages.linux_rt_5_4;
linux_rt_latest = packages.linux_rt_5_11; linux_rt_latest = packages.linux_rt_5_11;