forked from mirrors/nixpkgs
Merge staging-next into staging
This commit is contained in:
commit
2eac3106df
|
@ -9,7 +9,7 @@ let
|
|||
catAttrs
|
||||
concatLists
|
||||
concatMap
|
||||
count
|
||||
concatStringsSep
|
||||
elem
|
||||
filter
|
||||
findFirst
|
||||
|
@ -47,6 +47,20 @@ let
|
|||
showOption
|
||||
unknownModule
|
||||
;
|
||||
|
||||
showDeclPrefix = loc: decl: prefix:
|
||||
" - option(s) with prefix `${showOption (loc ++ [prefix])}' in module `${decl._file}'";
|
||||
showRawDecls = loc: decls:
|
||||
concatStringsSep "\n"
|
||||
(sort (a: b: a < b)
|
||||
(concatMap
|
||||
(decl: map
|
||||
(showDeclPrefix loc decl)
|
||||
(attrNames decl.options)
|
||||
)
|
||||
decls
|
||||
));
|
||||
|
||||
in
|
||||
|
||||
rec {
|
||||
|
@ -474,26 +488,61 @@ rec {
|
|||
[{ inherit (module) file; inherit value; }]
|
||||
) configs;
|
||||
|
||||
# Convert an option tree decl to a submodule option decl
|
||||
optionTreeToOption = decl:
|
||||
if isOption decl.options
|
||||
then decl
|
||||
else decl // {
|
||||
options = mkOption {
|
||||
type = types.submoduleWith {
|
||||
modules = [ { options = decl.options; } ];
|
||||
# `null` is not intended for use by modules. It is an internal
|
||||
# value that means "whatever the user has declared elsewhere".
|
||||
# This might become obsolete with https://github.com/NixOS/nixpkgs/issues/162398
|
||||
shorthandOnlyDefinesConfig = null;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
resultsByName = mapAttrs (name: decls:
|
||||
# We're descending into attribute ‘name’.
|
||||
let
|
||||
loc = prefix ++ [name];
|
||||
defns = defnsByName.${name} or [];
|
||||
defns' = defnsByName'.${name} or [];
|
||||
nrOptions = count (m: isOption m.options) decls;
|
||||
optionDecls = filter (m: isOption m.options) decls;
|
||||
in
|
||||
if nrOptions == length decls then
|
||||
if length optionDecls == length decls then
|
||||
let opt = fixupOptionType loc (mergeOptionDecls loc decls);
|
||||
in {
|
||||
matchedOptions = evalOptionValue loc opt defns';
|
||||
unmatchedDefns = [];
|
||||
}
|
||||
else if nrOptions != 0 then
|
||||
let
|
||||
firstOption = findFirst (m: isOption m.options) "" decls;
|
||||
firstNonOption = findFirst (m: !isOption m.options) "" decls;
|
||||
in
|
||||
throw "The option `${showOption loc}' in `${firstOption._file}' is a prefix of options in `${firstNonOption._file}'."
|
||||
else if optionDecls != [] then
|
||||
if all (x: x.options.type.name == "submodule") optionDecls
|
||||
# Raw options can only be merged into submodules. Merging into
|
||||
# attrsets might be nice, but ambiguous. Suppose we have
|
||||
# attrset as a `attrsOf submodule`. User declares option
|
||||
# attrset.foo.bar, this could mean:
|
||||
# a. option `bar` is only available in `attrset.foo`
|
||||
# b. option `foo.bar` is available in all `attrset.*`
|
||||
# c. reject and require "<name>" as a reminder that it behaves like (b).
|
||||
# d. magically combine (a) and (c).
|
||||
# All of the above are merely syntax sugar though.
|
||||
then
|
||||
let opt = fixupOptionType loc (mergeOptionDecls loc (map optionTreeToOption decls));
|
||||
in {
|
||||
matchedOptions = evalOptionValue loc opt defns';
|
||||
unmatchedDefns = [];
|
||||
}
|
||||
else
|
||||
let
|
||||
firstNonOption = findFirst (m: !isOption m.options) "" decls;
|
||||
nonOptions = filter (m: !isOption m.options) decls;
|
||||
in
|
||||
throw "The option `${showOption loc}' in module `${(lib.head optionDecls)._file}' would be a parent of the following options, but its type `${(lib.head optionDecls).options.type.description or "<no description>"}' does not support nested options.\n${
|
||||
showRawDecls loc nonOptions
|
||||
}"
|
||||
else
|
||||
mergeModules' loc decls defns) declsByName;
|
||||
|
||||
|
@ -753,13 +802,14 @@ rec {
|
|||
compare = a: b: (a.priority or 1000) < (b.priority or 1000);
|
||||
in sort compare defs';
|
||||
|
||||
/* Hack for backward compatibility: convert options of type
|
||||
optionSet to options of type submodule. FIXME: remove
|
||||
eventually. */
|
||||
fixupOptionType = loc: opt:
|
||||
let
|
||||
options = opt.options or
|
||||
(throw "Option `${showOption loc}' has type optionSet but has no option attribute, in ${showFiles opt.declarations}.");
|
||||
|
||||
# Hack for backward compatibility: convert options of type
|
||||
# optionSet to options of type submodule. FIXME: remove
|
||||
# eventually.
|
||||
f = tp:
|
||||
if tp.name == "option set" || tp.name == "submodule" then
|
||||
throw "The option ${showOption loc} uses submodules without a wrapping type, in ${showFiles opt.declarations}."
|
||||
|
|
|
@ -231,7 +231,7 @@ rec {
|
|||
then true
|
||||
else opt.visible or true;
|
||||
readOnly = opt.readOnly or false;
|
||||
type = opt.type.description or null;
|
||||
type = opt.type.description or "unspecified";
|
||||
}
|
||||
// optionalAttrs (opt ? example) { example = scrubOptionValue opt.example; }
|
||||
// optionalAttrs (opt ? default) { default = scrubOptionValue opt.default; }
|
||||
|
|
|
@ -62,6 +62,13 @@ checkConfigError() {
|
|||
checkConfigOutput '^false$' config.enable ./declare-enable.nix
|
||||
checkConfigError 'The option .* does not exist. Definition values:\n\s*- In .*: true' config.enable ./define-enable.nix
|
||||
|
||||
checkConfigOutput '^1$' config.bare-submodule.nested ./declare-bare-submodule.nix ./declare-bare-submodule-nested-option.nix
|
||||
checkConfigOutput '^2$' config.bare-submodule.deep ./declare-bare-submodule.nix ./declare-bare-submodule-deep-option.nix
|
||||
checkConfigOutput '^42$' config.bare-submodule.nested ./declare-bare-submodule.nix ./declare-bare-submodule-nested-option.nix ./declare-bare-submodule-deep-option.nix ./define-bare-submodule-values.nix
|
||||
checkConfigOutput '^420$' config.bare-submodule.deep ./declare-bare-submodule.nix ./declare-bare-submodule-nested-option.nix ./declare-bare-submodule-deep-option.nix ./define-bare-submodule-values.nix
|
||||
checkConfigOutput '^2$' config.bare-submodule.deep ./declare-bare-submodule.nix ./declare-bare-submodule-deep-option.nix ./define-shorthandOnlyDefinesConfig-true.nix
|
||||
checkConfigError 'The option .bare-submodule.deep. in .*/declare-bare-submodule-deep-option.nix. is already declared in .*/declare-bare-submodule-deep-option-duplicate.nix' config.bare-submodule.deep ./declare-bare-submodule.nix ./declare-bare-submodule-deep-option.nix ./declare-bare-submodule-deep-option-duplicate.nix
|
||||
|
||||
# Check integer types.
|
||||
# unsigned
|
||||
checkConfigOutput '^42$' config.value ./declare-int-unsigned-value.nix ./define-value-int-positive.nix
|
||||
|
@ -304,6 +311,12 @@ checkConfigOutput "10" config.processedToplevel ./raw.nix
|
|||
checkConfigError "The option .multiple. is defined multiple times" config.multiple ./raw.nix
|
||||
checkConfigOutput "bar" config.priorities ./raw.nix
|
||||
|
||||
## Option collision
|
||||
checkConfigError \
|
||||
'The option .set. in module .*/declare-set.nix. would be a parent of the following options, but its type .attribute set of signed integers. does not support nested options.\n\s*- option[(]s[)] with prefix .set.enable. in module .*/declare-enable-nested.nix.' \
|
||||
config.set \
|
||||
./declare-set.nix ./declare-enable-nested.nix
|
||||
|
||||
# Test that types.optionType merges types correctly
|
||||
checkConfigOutput '^10$' config.theOption.int ./optionTypeMerging.nix
|
||||
checkConfigOutput '^"hello"$' config.theOption.str ./optionTypeMerging.nix
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
{ lib, ... }:
|
||||
let
|
||||
inherit (lib) mkOption types;
|
||||
in
|
||||
{
|
||||
options.bare-submodule.deep = mkOption {
|
||||
type = types.int;
|
||||
default = 2;
|
||||
};
|
||||
}
|
10
lib/tests/modules/declare-bare-submodule-deep-option.nix
Normal file
10
lib/tests/modules/declare-bare-submodule-deep-option.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{ lib, ... }:
|
||||
let
|
||||
inherit (lib) mkOption types;
|
||||
in
|
||||
{
|
||||
options.bare-submodule.deep = mkOption {
|
||||
type = types.int;
|
||||
default = 2;
|
||||
};
|
||||
}
|
19
lib/tests/modules/declare-bare-submodule-nested-option.nix
Normal file
19
lib/tests/modules/declare-bare-submodule-nested-option.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (lib) mkOption types;
|
||||
in
|
||||
{
|
||||
options.bare-submodule = mkOption {
|
||||
type = types.submoduleWith {
|
||||
shorthandOnlyDefinesConfig = config.shorthandOnlyDefinesConfig;
|
||||
modules = [
|
||||
{
|
||||
options.nested = mkOption {
|
||||
type = types.int;
|
||||
default = 1;
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
18
lib/tests/modules/declare-bare-submodule.nix
Normal file
18
lib/tests/modules/declare-bare-submodule.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (lib) mkOption types;
|
||||
in
|
||||
{
|
||||
options.bare-submodule = mkOption {
|
||||
type = types.submoduleWith {
|
||||
modules = [ ];
|
||||
shorthandOnlyDefinesConfig = config.shorthandOnlyDefinesConfig;
|
||||
};
|
||||
default = {};
|
||||
};
|
||||
|
||||
# config-dependent options: won't recommend, but useful for making this test parameterized
|
||||
options.shorthandOnlyDefinesConfig = mkOption {
|
||||
default = false;
|
||||
};
|
||||
}
|
12
lib/tests/modules/declare-set.nix
Normal file
12
lib/tests/modules/declare-set.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{ lib, ... }:
|
||||
|
||||
{
|
||||
options.set = lib.mkOption {
|
||||
default = { };
|
||||
example = { a = 1; };
|
||||
type = lib.types.attrsOf lib.types.int;
|
||||
description = ''
|
||||
Some descriptive text
|
||||
'';
|
||||
};
|
||||
}
|
4
lib/tests/modules/define-bare-submodule-values.nix
Normal file
4
lib/tests/modules/define-bare-submodule-values.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
bare-submodule.nested = 42;
|
||||
bare-submodule.deep = 420;
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{ shorthandOnlyDefinesConfig = true; }
|
|
@ -572,14 +572,18 @@ rec {
|
|||
let
|
||||
inherit (lib.modules) evalModules;
|
||||
|
||||
coerce = unify: value: if isFunction value
|
||||
then setFunctionArgs (args: unify (value args)) (functionArgs value)
|
||||
else unify (if shorthandOnlyDefinesConfig then { config = value; } else value);
|
||||
shorthandToModule = if shorthandOnlyDefinesConfig == false
|
||||
then value: value
|
||||
else value: { config = value; };
|
||||
|
||||
allModules = defs: imap1 (n: { value, file }:
|
||||
if isAttrs value || isFunction value then
|
||||
# Annotate the value with the location of its definition for better error messages
|
||||
coerce (lib.modules.unifyModuleSyntax file "${toString file}-${toString n}") value
|
||||
if isFunction value
|
||||
then setFunctionArgs
|
||||
(args: lib.modules.unifyModuleSyntax file "${toString file}-${toString n}" (value args))
|
||||
(functionArgs value)
|
||||
else if isAttrs value
|
||||
then
|
||||
lib.modules.unifyModuleSyntax file "${toString file}-${toString n}" (shorthandToModule value)
|
||||
else value
|
||||
) defs;
|
||||
|
||||
|
@ -647,7 +651,11 @@ rec {
|
|||
then lhs.specialArgs // rhs.specialArgs
|
||||
else throw "A submoduleWith option is declared multiple times with the same specialArgs \"${toString (attrNames intersecting)}\"";
|
||||
shorthandOnlyDefinesConfig =
|
||||
if lhs.shorthandOnlyDefinesConfig == rhs.shorthandOnlyDefinesConfig
|
||||
if lhs.shorthandOnlyDefinesConfig == null
|
||||
then rhs.shorthandOnlyDefinesConfig
|
||||
else if rhs.shorthandOnlyDefinesConfig == null
|
||||
then lhs.shorthandOnlyDefinesConfig
|
||||
else if lhs.shorthandOnlyDefinesConfig == rhs.shorthandOnlyDefinesConfig
|
||||
then lhs.shorthandOnlyDefinesConfig
|
||||
else throw "A submoduleWith option is declared multiple times with conflicting shorthandOnlyDefinesConfig values";
|
||||
};
|
||||
|
|
|
@ -1901,6 +1901,12 @@
|
|||
githubId = 82591;
|
||||
name = "Carl Sverre";
|
||||
};
|
||||
carpinchomug = {
|
||||
email = "aki.suda@protonmail.com";
|
||||
github = "carpinchomug";
|
||||
githubId = 101536256;
|
||||
name = "Akiyoshi Suda";
|
||||
};
|
||||
cartr = {
|
||||
email = "carter.sande@duodecima.technology";
|
||||
github = "cartr";
|
||||
|
|
|
@ -27,9 +27,10 @@ The function `mkOption` accepts the following arguments.
|
|||
|
||||
`type`
|
||||
|
||||
: The type of the option (see [](#sec-option-types)). It may be
|
||||
omitted, but that's not advisable since it may lead to errors that
|
||||
are hard to diagnose.
|
||||
: The type of the option (see [](#sec-option-types)). This
|
||||
argument is mandatory for nixpkgs modules. Setting this is highly
|
||||
recommended for the sake of documentation and type checking. In case it is
|
||||
not set, a fallback type with unspecified behavior is used.
|
||||
|
||||
`default`
|
||||
|
||||
|
|
|
@ -38,9 +38,11 @@ options = {
|
|||
<listitem>
|
||||
<para>
|
||||
The type of the option (see
|
||||
<xref linkend="sec-option-types" />). It may be omitted, but
|
||||
that’s not advisable since it may lead to errors that are hard
|
||||
to diagnose.
|
||||
<xref linkend="sec-option-types" />). This argument is
|
||||
mandatory for nixpkgs modules. Setting this is highly
|
||||
recommended for the sake of documentation and type checking.
|
||||
In case it is not set, a fallback type with unspecified
|
||||
behavior is used.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
|
|
@ -1343,6 +1343,52 @@
|
|||
instead of <literal>configuration.nix</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
ORY Kratos was updated to version 0.8.3-alpha.1.pre.0, which
|
||||
introduces some breaking changes:
|
||||
</para>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
If you are relying on the SQLite images, update your
|
||||
Docker Pull commands as follows:
|
||||
</para>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>docker pull oryd/kratos:{version}</literal>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Additionally, all passwords now have to be at least 8
|
||||
characters long.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
For more details, see:
|
||||
</para>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://github.com/ory/kratos/releases/tag/v0.8.1-alpha.1">Release
|
||||
Notes for v0.8.1-alpha-1</link>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://github.com/ory/kratos/releases/tag/v0.8.2-alpha.1">Release
|
||||
Notes for v0.8.2-alpha-1</link>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>fetchFromSourcehut</literal> now allows fetching
|
||||
|
|
|
@ -499,6 +499,14 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- `nixos-generate-config` now puts the dhcp configuration in `hardware-configuration.nix` instead of `configuration.nix`.
|
||||
|
||||
- ORY Kratos was updated to version 0.8.3-alpha.1.pre.0, which introduces some breaking changes:
|
||||
- If you are relying on the SQLite images, update your Docker Pull commands as follows:
|
||||
- `docker pull oryd/kratos:{version}`
|
||||
- Additionally, all passwords now have to be at least 8 characters long.
|
||||
- For more details, see:
|
||||
- [Release Notes for v0.8.1-alpha-1](https://github.com/ory/kratos/releases/tag/v0.8.1-alpha.1)
|
||||
- [Release Notes for v0.8.2-alpha-1](https://github.com/ory/kratos/releases/tag/v0.8.2-alpha.1)
|
||||
|
||||
- `fetchFromSourcehut` now allows fetching repositories recursively
|
||||
using `fetchgit` or `fetchhg` if the argument `fetchSubmodules`
|
||||
is set to `true`.
|
||||
|
|
|
@ -66,14 +66,21 @@ for (k, v) in overrides.items():
|
|||
elif ov is not None or cur.get(ok, None) is None:
|
||||
cur[ok] = ov
|
||||
|
||||
severity = "error" if warningsAreErrors else "warning"
|
||||
|
||||
# check that every option has a description
|
||||
hasWarnings = False
|
||||
for (k, v) in options.items():
|
||||
if v.value.get('description', None) is None:
|
||||
severity = "error" if warningsAreErrors else "warning"
|
||||
hasWarnings = True
|
||||
print(f"\x1b[1;31m{severity}: option {v.name} has no description\x1b[0m", file=sys.stderr)
|
||||
v.value['description'] = "This option has no description."
|
||||
if v.value.get('type', "unspecified") == "unspecified":
|
||||
hasWarnings = True
|
||||
print(
|
||||
f"\x1b[1;31m{severity}: option {v.name} has no type. Please specify a valid type, see " +
|
||||
"https://nixos.org/manual/nixos/stable/index.html#sec-option-types\x1b[0m", file=sys.stderr)
|
||||
|
||||
if hasWarnings and warningsAreErrors:
|
||||
print(
|
||||
"\x1b[1;31m" +
|
||||
|
|
|
@ -5,6 +5,7 @@ with lib;
|
|||
let
|
||||
cfg = config.systemd;
|
||||
lndir = "${pkgs.buildPackages.xorg.lndir}/bin/lndir";
|
||||
systemd = cfg.package;
|
||||
in rec {
|
||||
|
||||
shellEscape = s: (replaceChars [ "\\" ] [ "\\\\" ] s);
|
||||
|
@ -235,4 +236,205 @@ in rec {
|
|||
''}
|
||||
''; # */
|
||||
|
||||
makeJobScript = name: text:
|
||||
let
|
||||
scriptName = replaceChars [ "\\" "@" ] [ "-" "_" ] (shellEscape name);
|
||||
out = (pkgs.writeShellScriptBin scriptName ''
|
||||
set -e
|
||||
${text}
|
||||
'').overrideAttrs (_: {
|
||||
# The derivation name is different from the script file name
|
||||
# to keep the script file name short to avoid cluttering logs.
|
||||
name = "unit-script-${scriptName}";
|
||||
});
|
||||
in "${out}/bin/${scriptName}";
|
||||
|
||||
unitConfig = { config, options, ... }: {
|
||||
config = {
|
||||
unitConfig =
|
||||
optionalAttrs (config.requires != [])
|
||||
{ Requires = toString config.requires; }
|
||||
// optionalAttrs (config.wants != [])
|
||||
{ Wants = toString config.wants; }
|
||||
// optionalAttrs (config.after != [])
|
||||
{ After = toString config.after; }
|
||||
// optionalAttrs (config.before != [])
|
||||
{ Before = toString config.before; }
|
||||
// optionalAttrs (config.bindsTo != [])
|
||||
{ BindsTo = toString config.bindsTo; }
|
||||
// optionalAttrs (config.partOf != [])
|
||||
{ PartOf = toString config.partOf; }
|
||||
// optionalAttrs (config.conflicts != [])
|
||||
{ Conflicts = toString config.conflicts; }
|
||||
// optionalAttrs (config.requisite != [])
|
||||
{ Requisite = toString config.requisite; }
|
||||
// optionalAttrs (config.restartTriggers != [])
|
||||
{ X-Restart-Triggers = toString config.restartTriggers; }
|
||||
// optionalAttrs (config.reloadTriggers != [])
|
||||
{ X-Reload-Triggers = toString config.reloadTriggers; }
|
||||
// optionalAttrs (config.description != "") {
|
||||
Description = config.description; }
|
||||
// optionalAttrs (config.documentation != []) {
|
||||
Documentation = toString config.documentation; }
|
||||
// optionalAttrs (config.onFailure != []) {
|
||||
OnFailure = toString config.onFailure; }
|
||||
// optionalAttrs (options.startLimitIntervalSec.isDefined) {
|
||||
StartLimitIntervalSec = toString config.startLimitIntervalSec;
|
||||
} // optionalAttrs (options.startLimitBurst.isDefined) {
|
||||
StartLimitBurst = toString config.startLimitBurst;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
serviceConfig = { name, config, ... }: {
|
||||
config = mkMerge
|
||||
[ { # Default path for systemd services. Should be quite minimal.
|
||||
path = mkAfter
|
||||
[ pkgs.coreutils
|
||||
pkgs.findutils
|
||||
pkgs.gnugrep
|
||||
pkgs.gnused
|
||||
systemd
|
||||
];
|
||||
environment.PATH = "${makeBinPath config.path}:${makeSearchPathOutput "bin" "sbin" config.path}";
|
||||
}
|
||||
(mkIf (config.preStart != "")
|
||||
{ serviceConfig.ExecStartPre =
|
||||
[ (makeJobScript "${name}-pre-start" config.preStart) ];
|
||||
})
|
||||
(mkIf (config.script != "")
|
||||
{ serviceConfig.ExecStart =
|
||||
makeJobScript "${name}-start" config.script + " " + config.scriptArgs;
|
||||
})
|
||||
(mkIf (config.postStart != "")
|
||||
{ serviceConfig.ExecStartPost =
|
||||
[ (makeJobScript "${name}-post-start" config.postStart) ];
|
||||
})
|
||||
(mkIf (config.reload != "")
|
||||
{ serviceConfig.ExecReload =
|
||||
makeJobScript "${name}-reload" config.reload;
|
||||
})
|
||||
(mkIf (config.preStop != "")
|
||||
{ serviceConfig.ExecStop =
|
||||
makeJobScript "${name}-pre-stop" config.preStop;
|
||||
})
|
||||
(mkIf (config.postStop != "")
|
||||
{ serviceConfig.ExecStopPost =
|
||||
makeJobScript "${name}-post-stop" config.postStop;
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
mountConfig = { config, ... }: {
|
||||
config = {
|
||||
mountConfig =
|
||||
{ What = config.what;
|
||||
Where = config.where;
|
||||
} // optionalAttrs (config.type != "") {
|
||||
Type = config.type;
|
||||
} // optionalAttrs (config.options != "") {
|
||||
Options = config.options;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
automountConfig = { config, ... }: {
|
||||
config = {
|
||||
automountConfig =
|
||||
{ Where = config.where;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
commonUnitText = def: ''
|
||||
[Unit]
|
||||
${attrsToSection def.unitConfig}
|
||||
'';
|
||||
|
||||
targetToUnit = name: def:
|
||||
{ inherit (def) aliases wantedBy requiredBy enable;
|
||||
text =
|
||||
''
|
||||
[Unit]
|
||||
${attrsToSection def.unitConfig}
|
||||
'';
|
||||
};
|
||||
|
||||
serviceToUnit = name: def:
|
||||
{ inherit (def) aliases wantedBy requiredBy enable;
|
||||
text = commonUnitText def +
|
||||
''
|
||||
[Service]
|
||||
${let env = cfg.globalEnvironment // def.environment;
|
||||
in concatMapStrings (n:
|
||||
let s = optionalString (env.${n} != null)
|
||||
"Environment=${builtins.toJSON "${n}=${env.${n}}"}\n";
|
||||
# systemd max line length is now 1MiB
|
||||
# https://github.com/systemd/systemd/commit/e6dde451a51dc5aaa7f4d98d39b8fe735f73d2af
|
||||
in if stringLength s >= 1048576 then throw "The value of the environment variable ‘${n}’ in systemd service ‘${name}.service’ is too long." else s) (attrNames env)}
|
||||
${if def.reloadIfChanged then ''
|
||||
X-ReloadIfChanged=true
|
||||
'' else if !def.restartIfChanged then ''
|
||||
X-RestartIfChanged=false
|
||||
'' else ""}
|
||||
${optionalString (!def.stopIfChanged) "X-StopIfChanged=false"}
|
||||
${attrsToSection def.serviceConfig}
|
||||
'';
|
||||
};
|
||||
|
||||
socketToUnit = name: def:
|
||||
{ inherit (def) aliases wantedBy requiredBy enable;
|
||||
text = commonUnitText def +
|
||||
''
|
||||
[Socket]
|
||||
${attrsToSection def.socketConfig}
|
||||
${concatStringsSep "\n" (map (s: "ListenStream=${s}") def.listenStreams)}
|
||||
${concatStringsSep "\n" (map (s: "ListenDatagram=${s}") def.listenDatagrams)}
|
||||
'';
|
||||
};
|
||||
|
||||
timerToUnit = name: def:
|
||||
{ inherit (def) aliases wantedBy requiredBy enable;
|
||||
text = commonUnitText def +
|
||||
''
|
||||
[Timer]
|
||||
${attrsToSection def.timerConfig}
|
||||
'';
|
||||
};
|
||||
|
||||
pathToUnit = name: def:
|
||||
{ inherit (def) aliases wantedBy requiredBy enable;
|
||||
text = commonUnitText def +
|
||||
''
|
||||
[Path]
|
||||
${attrsToSection def.pathConfig}
|
||||
'';
|
||||
};
|
||||
|
||||
mountToUnit = name: def:
|
||||
{ inherit (def) aliases wantedBy requiredBy enable;
|
||||
text = commonUnitText def +
|
||||
''
|
||||
[Mount]
|
||||
${attrsToSection def.mountConfig}
|
||||
'';
|
||||
};
|
||||
|
||||
automountToUnit = name: def:
|
||||
{ inherit (def) aliases wantedBy requiredBy enable;
|
||||
text = commonUnitText def +
|
||||
''
|
||||
[Automount]
|
||||
${attrsToSection def.automountConfig}
|
||||
'';
|
||||
};
|
||||
|
||||
sliceToUnit = name: def:
|
||||
{ inherit (def) aliases wantedBy requiredBy enable;
|
||||
text = commonUnitText def +
|
||||
''
|
||||
[Slice]
|
||||
${attrsToSection def.sliceConfig}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -183,7 +183,11 @@ in
|
|||
|
||||
pruneNames = mkOption {
|
||||
type = listOf str;
|
||||
default = [ ".bzr" ".cache" ".git" ".hg" ".svn" ];
|
||||
default = lib.optionals (!isFindutils) [ ".bzr" ".cache" ".git" ".hg" ".svn" ];
|
||||
defaultText = literalDocBook ''
|
||||
<literal>[ ".bzr" ".cache" ".git" ".hg" ".svn" ]</literal>, if
|
||||
supported by the locate implementation (i.e. mlocate or plocate).
|
||||
'';
|
||||
description = ''
|
||||
Directory components which should exclude paths containing them from indexing
|
||||
'';
|
||||
|
|
|
@ -194,19 +194,8 @@ let
|
|||
zone.children
|
||||
);
|
||||
|
||||
# fighting infinite recursion
|
||||
zoneOptions = zoneOptionsRaw // childConfig zoneOptions1 true;
|
||||
zoneOptions1 = zoneOptionsRaw // childConfig zoneOptions2 false;
|
||||
zoneOptions2 = zoneOptionsRaw // childConfig zoneOptions3 false;
|
||||
zoneOptions3 = zoneOptionsRaw // childConfig zoneOptions4 false;
|
||||
zoneOptions4 = zoneOptionsRaw // childConfig zoneOptions5 false;
|
||||
zoneOptions5 = zoneOptionsRaw // childConfig zoneOptions6 false;
|
||||
zoneOptions6 = zoneOptionsRaw // childConfig null false;
|
||||
|
||||
childConfig = x: v: { options.children = { type = types.attrsOf x; visible = v; }; };
|
||||
|
||||
# options are ordered alphanumerically
|
||||
zoneOptionsRaw = types.submodule {
|
||||
zoneOptions = types.submodule {
|
||||
options = {
|
||||
|
||||
allowAXFRFallback = mkOption {
|
||||
|
@ -246,6 +235,13 @@ let
|
|||
};
|
||||
|
||||
children = mkOption {
|
||||
# TODO: This relies on the fact that `types.anything` doesn't set any
|
||||
# values of its own to any defaults, because in the above zoneConfigs',
|
||||
# values from children override ones from parents, but only if the
|
||||
# attributes are defined. Because of this, we can't replace the element
|
||||
# type here with `zoneConfigs`, since that would set all the attributes
|
||||
# to default values, breaking the parent inheriting function.
|
||||
type = types.attrsOf types.anything;
|
||||
default = {};
|
||||
description = ''
|
||||
Children zones inherit all options of their parents. Attributes
|
||||
|
|
|
@ -62,6 +62,7 @@ in {
|
|||
};
|
||||
|
||||
stateDir = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/lib/unbound";
|
||||
description = "Directory holding all state for unbound to run.";
|
||||
};
|
||||
|
|
|
@ -153,6 +153,7 @@ in
|
|||
|
||||
userlist = mkOption {
|
||||
default = [];
|
||||
type = types.listOf types.str;
|
||||
description = "See <option>userlistFile</option>.";
|
||||
};
|
||||
|
||||
|
|
|
@ -219,6 +219,24 @@ in
|
|||
|
||||
session = mkOption {
|
||||
default = [];
|
||||
type = with types; listOf (submodule ({ ... }: {
|
||||
options = {
|
||||
manage = mkOption {
|
||||
description = "Whether this is a desktop or a window manager";
|
||||
type = enum [ "desktop" "window" ];
|
||||
};
|
||||
|
||||
name = mkOption {
|
||||
description = "Name of this session";
|
||||
type = str;
|
||||
};
|
||||
|
||||
start = mkOption {
|
||||
description = "Commands to run to start this session";
|
||||
type = lines;
|
||||
};
|
||||
};
|
||||
}));
|
||||
example = literalExpression
|
||||
''
|
||||
[ { manage = "desktop";
|
||||
|
|
|
@ -36,7 +36,7 @@ in
|
|||
|
||||
boot.kernelPackages = mkOption {
|
||||
default = pkgs.linuxPackages;
|
||||
type = types.unspecified // { merge = mergeEqualOption; };
|
||||
type = types.raw;
|
||||
apply = kernelPackages: kernelPackages.extend (self: super: {
|
||||
kernel = super.kernel.override (originalArgs: {
|
||||
inherit randstructSeed;
|
||||
|
|
|
@ -601,7 +601,7 @@ in
|
|||
else "gzip"
|
||||
);
|
||||
defaultText = literalDocBook "<literal>zstd</literal> if the kernel supports it (5.9+), <literal>gzip</literal> if not";
|
||||
type = types.unspecified; # We don't have a function type...
|
||||
type = types.either types.str (types.functionTo types.str);
|
||||
description = ''
|
||||
The compressor to use on the initrd image. May be any of:
|
||||
|
||||
|
|
|
@ -11,6 +11,22 @@ let
|
|||
|
||||
systemd = cfg.package;
|
||||
|
||||
inherit (systemdUtils.lib)
|
||||
makeJobScript
|
||||
unitConfig
|
||||
serviceConfig
|
||||
mountConfig
|
||||
automountConfig
|
||||
commonUnitText
|
||||
targetToUnit
|
||||
serviceToUnit
|
||||
socketToUnit
|
||||
timerToUnit
|
||||
pathToUnit
|
||||
mountToUnit
|
||||
automountToUnit
|
||||
sliceToUnit;
|
||||
|
||||
upstreamSystemUnits =
|
||||
[ # Targets.
|
||||
"basic.target"
|
||||
|
@ -209,207 +225,6 @@ let
|
|||
"xdg-desktop-autostart.target"
|
||||
];
|
||||
|
||||
makeJobScript = name: text:
|
||||
let
|
||||
scriptName = replaceChars [ "\\" "@" ] [ "-" "_" ] (shellEscape name);
|
||||
out = (pkgs.writeShellScriptBin scriptName ''
|
||||
set -e
|
||||
${text}
|
||||
'').overrideAttrs (_: {
|
||||
# The derivation name is different from the script file name
|
||||
# to keep the script file name short to avoid cluttering logs.
|
||||
name = "unit-script-${scriptName}";
|
||||
});
|
||||
in "${out}/bin/${scriptName}";
|
||||
|
||||
unitConfig = { config, options, ... }: {
|
||||
config = {
|
||||
unitConfig =
|
||||
optionalAttrs (config.requires != [])
|
||||
{ Requires = toString config.requires; }
|
||||
// optionalAttrs (config.wants != [])
|
||||
{ Wants = toString config.wants; }
|
||||
// optionalAttrs (config.after != [])
|
||||
{ After = toString config.after; }
|
||||
// optionalAttrs (config.before != [])
|
||||
{ Before = toString config.before; }
|
||||
// optionalAttrs (config.bindsTo != [])
|
||||
{ BindsTo = toString config.bindsTo; }
|
||||
// optionalAttrs (config.partOf != [])
|
||||
{ PartOf = toString config.partOf; }
|
||||
// optionalAttrs (config.conflicts != [])
|
||||
{ Conflicts = toString config.conflicts; }
|
||||
// optionalAttrs (config.requisite != [])
|
||||
{ Requisite = toString config.requisite; }
|
||||
// optionalAttrs (config.restartTriggers != [])
|
||||
{ X-Restart-Triggers = toString config.restartTriggers; }
|
||||
// optionalAttrs (config.reloadTriggers != [])
|
||||
{ X-Reload-Triggers = toString config.reloadTriggers; }
|
||||
// optionalAttrs (config.description != "") {
|
||||
Description = config.description; }
|
||||
// optionalAttrs (config.documentation != []) {
|
||||
Documentation = toString config.documentation; }
|
||||
// optionalAttrs (config.onFailure != []) {
|
||||
OnFailure = toString config.onFailure; }
|
||||
// optionalAttrs (options.startLimitIntervalSec.isDefined) {
|
||||
StartLimitIntervalSec = toString config.startLimitIntervalSec;
|
||||
} // optionalAttrs (options.startLimitBurst.isDefined) {
|
||||
StartLimitBurst = toString config.startLimitBurst;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
serviceConfig = { name, config, ... }: {
|
||||
config = mkMerge
|
||||
[ { # Default path for systemd services. Should be quite minimal.
|
||||
path = mkAfter
|
||||
[ pkgs.coreutils
|
||||
pkgs.findutils
|
||||
pkgs.gnugrep
|
||||
pkgs.gnused
|
||||
systemd
|
||||
];
|
||||
environment.PATH = "${makeBinPath config.path}:${makeSearchPathOutput "bin" "sbin" config.path}";
|
||||
}
|
||||
(mkIf (config.preStart != "")
|
||||
{ serviceConfig.ExecStartPre =
|
||||
[ (makeJobScript "${name}-pre-start" config.preStart) ];
|
||||
})
|
||||
(mkIf (config.script != "")
|
||||
{ serviceConfig.ExecStart =
|
||||
makeJobScript "${name}-start" config.script + " " + config.scriptArgs;
|
||||
})
|
||||
(mkIf (config.postStart != "")
|
||||
{ serviceConfig.ExecStartPost =
|
||||
[ (makeJobScript "${name}-post-start" config.postStart) ];
|
||||
})
|
||||
(mkIf (config.reload != "")
|
||||
{ serviceConfig.ExecReload =
|
||||
makeJobScript "${name}-reload" config.reload;
|
||||
})
|
||||
(mkIf (config.preStop != "")
|
||||
{ serviceConfig.ExecStop =
|
||||
makeJobScript "${name}-pre-stop" config.preStop;
|
||||
})
|
||||
(mkIf (config.postStop != "")
|
||||
{ serviceConfig.ExecStopPost =
|
||||
makeJobScript "${name}-post-stop" config.postStop;
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
mountConfig = { config, ... }: {
|
||||
config = {
|
||||
mountConfig =
|
||||
{ What = config.what;
|
||||
Where = config.where;
|
||||
} // optionalAttrs (config.type != "") {
|
||||
Type = config.type;
|
||||
} // optionalAttrs (config.options != "") {
|
||||
Options = config.options;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
automountConfig = { config, ... }: {
|
||||
config = {
|
||||
automountConfig =
|
||||
{ Where = config.where;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
commonUnitText = def: ''
|
||||
[Unit]
|
||||
${attrsToSection def.unitConfig}
|
||||
'';
|
||||
|
||||
targetToUnit = name: def:
|
||||
{ inherit (def) aliases wantedBy requiredBy enable;
|
||||
text =
|
||||
''
|
||||
[Unit]
|
||||
${attrsToSection def.unitConfig}
|
||||
'';
|
||||
};
|
||||
|
||||
serviceToUnit = name: def:
|
||||
{ inherit (def) aliases wantedBy requiredBy enable;
|
||||
text = commonUnitText def +
|
||||
''
|
||||
[Service]
|
||||
${let env = cfg.globalEnvironment // def.environment;
|
||||
in concatMapStrings (n:
|
||||
let s = optionalString (env.${n} != null)
|
||||
"Environment=${builtins.toJSON "${n}=${env.${n}}"}\n";
|
||||
# systemd max line length is now 1MiB
|
||||
# https://github.com/systemd/systemd/commit/e6dde451a51dc5aaa7f4d98d39b8fe735f73d2af
|
||||
in if stringLength s >= 1048576 then throw "The value of the environment variable ‘${n}’ in systemd service ‘${name}.service’ is too long." else s) (attrNames env)}
|
||||
${if def.reloadIfChanged then ''
|
||||
X-ReloadIfChanged=true
|
||||
'' else if !def.restartIfChanged then ''
|
||||
X-RestartIfChanged=false
|
||||
'' else ""}
|
||||
${optionalString (!def.stopIfChanged) "X-StopIfChanged=false"}
|
||||
${attrsToSection def.serviceConfig}
|
||||
'';
|
||||
};
|
||||
|
||||
socketToUnit = name: def:
|
||||
{ inherit (def) aliases wantedBy requiredBy enable;
|
||||
text = commonUnitText def +
|
||||
''
|
||||
[Socket]
|
||||
${attrsToSection def.socketConfig}
|
||||
${concatStringsSep "\n" (map (s: "ListenStream=${s}") def.listenStreams)}
|
||||
${concatStringsSep "\n" (map (s: "ListenDatagram=${s}") def.listenDatagrams)}
|
||||
'';
|
||||
};
|
||||
|
||||
timerToUnit = name: def:
|
||||
{ inherit (def) aliases wantedBy requiredBy enable;
|
||||
text = commonUnitText def +
|
||||
''
|
||||
[Timer]
|
||||
${attrsToSection def.timerConfig}
|
||||
'';
|
||||
};
|
||||
|
||||
pathToUnit = name: def:
|
||||
{ inherit (def) aliases wantedBy requiredBy enable;
|
||||
text = commonUnitText def +
|
||||
''
|
||||
[Path]
|
||||
${attrsToSection def.pathConfig}
|
||||
'';
|
||||
};
|
||||
|
||||
mountToUnit = name: def:
|
||||
{ inherit (def) aliases wantedBy requiredBy enable;
|
||||
text = commonUnitText def +
|
||||
''
|
||||
[Mount]
|
||||
${attrsToSection def.mountConfig}
|
||||
'';
|
||||
};
|
||||
|
||||
automountToUnit = name: def:
|
||||
{ inherit (def) aliases wantedBy requiredBy enable;
|
||||
text = commonUnitText def +
|
||||
''
|
||||
[Automount]
|
||||
${attrsToSection def.automountConfig}
|
||||
'';
|
||||
};
|
||||
|
||||
sliceToUnit = name: def:
|
||||
{ inherit (def) aliases wantedBy requiredBy enable;
|
||||
text = commonUnitText def +
|
||||
''
|
||||
[Slice]
|
||||
${attrsToSection def.sliceConfig}
|
||||
'';
|
||||
};
|
||||
|
||||
logindHandlerType = types.enum [
|
||||
"ignore" "poweroff" "reboot" "halt" "kexec" "suspend"
|
||||
|
|
|
@ -2,24 +2,33 @@
|
|||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "mopidy-ytmusic";
|
||||
version = "0.3.2";
|
||||
version = "0.3.5";
|
||||
|
||||
src = python3Packages.fetchPypi {
|
||||
inherit version;
|
||||
pname = "Mopidy-YTMusic";
|
||||
sha256 = "sha256-BZtW+qHsTnOMj+jdAFI8ZMwGxJc9lNosgPJZGbt4JgU=";
|
||||
sha256 = "0pncyxfqxvznb9y4ksndbny1yf5mxh4089ak0yz86dp2qi5j99iv";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace 'ytmusicapi>=0.20.0,<0.21.0' 'ytmusicapi>=0.20.0'
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
mopidy
|
||||
python3Packages.ytmusicapi
|
||||
python3Packages.pytube
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "mopidy_ytmusic" ];
|
||||
|
||||
# has no tests
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Mopidy extension for playing music from YouTube Music";
|
||||
homepage = "https://github.com/OzymandiasTheGreat/mopidy-ytmusic";
|
||||
license = licenses.asl20;
|
||||
maintainers = [ maintainers.nickhu ];
|
||||
};
|
||||
|
|
83
pkgs/applications/editors/lapce/default.nix
Normal file
83
pkgs/applications/editors/lapce/default.nix
Normal file
|
@ -0,0 +1,83 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, rustPlatform
|
||||
, cmake
|
||||
, pkg-config
|
||||
, python3
|
||||
, perl
|
||||
, freetype
|
||||
, fontconfig
|
||||
, libxkbcommon
|
||||
, xcbutil
|
||||
, libX11
|
||||
, libXcursor
|
||||
, libXrandr
|
||||
, libXi
|
||||
, vulkan-loader
|
||||
, copyDesktopItems
|
||||
, makeDesktopItem
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "lapce";
|
||||
version = "0.0.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lapce";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "tOVFm4DFQurFU4DtpPwxXQLbTGCZnrV1FfYKtvkRxRE=";
|
||||
};
|
||||
|
||||
cargoPatches = [ ./fix-version.patch ];
|
||||
|
||||
cargoSha256 = "BwB3KgmI5XnZ5uHv6f+kGKBzpyxPWcoKvF7qw90eorI=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
python3
|
||||
perl
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
freetype
|
||||
fontconfig
|
||||
libxkbcommon
|
||||
xcbutil
|
||||
libX11
|
||||
libXcursor
|
||||
libXrandr
|
||||
libXi
|
||||
vulkan-loader
|
||||
];
|
||||
|
||||
# Add missing vulkan dependency to rpath
|
||||
preFixup = ''
|
||||
patchelf --add-needed ${vulkan-loader}/lib/libvulkan.so.1 $out/bin/lapce
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
install -Dm0644 $src/extra/images/logo.svg $out/share/icons/hicolor/scalable/apps/lapce.svg
|
||||
'';
|
||||
|
||||
desktopItems = [ (makeDesktopItem {
|
||||
name = "lapce";
|
||||
exec = "lapce %F";
|
||||
icon = "lapce";
|
||||
desktopName = "Lapce";
|
||||
comment = meta.description;
|
||||
genericName = "Code Editor";
|
||||
categories = [ "Development" "Utility" "TextEditor" ];
|
||||
}) ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Lightning-fast and Powerful Code Editor written in Rust";
|
||||
homepage = "https://github.com/lapce/lapce";
|
||||
license = with licenses; [ asl20 ];
|
||||
maintainers = with maintainers; [ elliot ];
|
||||
broken = stdenv.isDarwin;
|
||||
};
|
||||
}
|
31
pkgs/applications/editors/lapce/fix-version.patch
Normal file
31
pkgs/applications/editors/lapce/fix-version.patch
Normal file
|
@ -0,0 +1,31 @@
|
|||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
index bc9a0f8..45a74ad 100644
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -2165,7 +2165,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "lapce"
|
||||
-version = "0.0.9"
|
||||
+version = "0.0.10"
|
||||
dependencies = [
|
||||
"lapce-core",
|
||||
"lapce-proxy",
|
||||
@@ -2173,7 +2173,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "lapce-core"
|
||||
-version = "0.0.9"
|
||||
+version = "0.0.10"
|
||||
dependencies = [
|
||||
"Inflector",
|
||||
"alacritty_terminal 0.15.0",
|
||||
@@ -2233,7 +2233,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "lapce-proxy"
|
||||
-version = "0.0.9"
|
||||
+version = "0.0.10"
|
||||
dependencies = [
|
||||
"alacritty_terminal 0.16.0-rc2",
|
||||
"anyhow",
|
|
@ -1 +1 @@
|
|||
WGET_ARGS=( https://download.kde.org/stable/release-service/21.12.2/src -A '*.tar.xz' )
|
||||
WGET_ARGS=( https://download.kde.org/stable/release-service/21.12.3/src -A '*.tar.xz' )
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "kratos";
|
||||
version = "0.8.0-alpha.3";
|
||||
version = "0.8.3-alpha.1.pre.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ory";
|
||||
repo = "kratos";
|
||||
rev = "v${version}";
|
||||
sha256 = "0ihq2kxjackicxg0hrpmx6bsgz056xbaq3j8py37z2w6mwszarcg";
|
||||
sha256 = "1225paf0x6lb6cb3q5f4lyz0r426ifx4x8145q7nsc6v64srck2y";
|
||||
};
|
||||
|
||||
vendorSha256 = "175pckj30cm5xkbvsdvwzarvwapsylyjgj4ss8v5r1sa0fjpj008";
|
||||
vendorSha256 = "10zhxbccjsp6hbmk2lnvbag6c92hz703mcaigaj4wvlf7glpldm6";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
|
@ -25,7 +25,7 @@ buildGoModule rec {
|
|||
test/e2e/run.sh
|
||||
script/testenv.sh
|
||||
script/test-envs.sh
|
||||
persistence/sql/migratest/update_fixtures.sh
|
||||
script/debug-entrypoint.sh
|
||||
)
|
||||
patchShebangs "''${files[@]}"
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{ lib
|
||||
, buildGoPackage
|
||||
, fetchFromGitHub
|
||||
|
||||
, withSpeech ? true
|
||||
, stdenv
|
||||
, withSpeech ? !stdenv.isDarwin
|
||||
, makeWrapper
|
||||
, espeak-ng
|
||||
}:
|
||||
|
|
|
@ -91,11 +91,11 @@ in
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "brave";
|
||||
version = "1.36.112";
|
||||
version = "1.36.116";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
|
||||
sha256 = "AottJZ+WEc47Y47XefVdN0AW6PO18CR77QGGwLuKOso=";
|
||||
sha256 = "whGV0VgCm6JSyrcFQTKbM35b/qLQdBmChTrYuyC+OlI=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"stable": {
|
||||
"version": "99.0.4844.51",
|
||||
"sha256": "1qxsn8zvvvsnn0k7nn606rhaial8ikrlfh175msqpp50xibjxicp",
|
||||
"sha256bin64": "04kqfppa88g2q54vp53avyyhqzrxljz49p4wqk76kq7fz2rm94x1",
|
||||
"version": "99.0.4844.74",
|
||||
"sha256": "165vzxv3xi4r9ia3qnqsr4p9ai0344w1pnq03c6jdq7x613lcprd",
|
||||
"sha256bin64": "1xzr7qv4rcardl3apr8w22dn81lzqkklhp26qqlbdcylacqqji04",
|
||||
"deps": {
|
||||
"gn": {
|
||||
"version": "2022-01-10",
|
||||
|
@ -12,10 +12,10 @@
|
|||
}
|
||||
},
|
||||
"chromedriver": {
|
||||
"version": "99.0.4844.35",
|
||||
"sha256_linux": "1q10mn34s03zy0nqcgrjd7ry53g4paxpwcki1bgicpcrwnjlzc3y",
|
||||
"sha256_darwin": "0mcfry8vqqc8n1sgyn2azr8pc4lgjnkpnhz0ggjqm12njq0lfjfx",
|
||||
"sha256_darwin_aarch64": "19wpqd5mq2vrgma899vbbdqhg660x47v4ppbz1r8dcg5r5y93x3s"
|
||||
"version": "99.0.4844.51",
|
||||
"sha256_linux": "1r5wbcfbj9s216jyjasmiscsrsix9ap3pplp12rznrwn4898p51y",
|
||||
"sha256_darwin": "1nak8p5hdrw94lx73m9c110zrwag4qr6487dhplm3qfrnrkdh8wp",
|
||||
"sha256_darwin_aarch64": "0hkcx6a8bcjlbmp6z3ld23mi1kpyjn2g7m3ns9qw6ns4x3rn5i3r"
|
||||
}
|
||||
},
|
||||
"beta": {
|
||||
|
|
|
@ -23,11 +23,11 @@ stdenv.mkDerivation rec {
|
|||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin $out/share/${pname} $out/share/applications
|
||||
mkdir -p $out/bin $out/share/${pname} $out/share/applications $out/share/icons/hicolor/scalable/apps
|
||||
|
||||
cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
|
||||
cp -a ${appimageContents}/freetube.desktop $out/share/applications/${pname}.desktop
|
||||
cp -a ${appimageContents}/usr/share/icons $out/share
|
||||
cp -a ${appimageContents}/usr/share/icons/hicolor/scalable/freetube.svg $out/share/icons/hicolor/scalable/apps
|
||||
|
||||
substituteInPlace $out/share/applications/${pname}.desktop \
|
||||
--replace 'Exec=AppRun' 'Exec=${pname}'
|
||||
|
|
26
pkgs/data/fonts/borg-sans-mono/default.nix
Normal file
26
pkgs/data/fonts/borg-sans-mono/default.nix
Normal file
|
@ -0,0 +1,26 @@
|
|||
{ lib, fetchzip }:
|
||||
|
||||
let
|
||||
pname = "borg-sans-mono";
|
||||
version = "0.2.0";
|
||||
in
|
||||
fetchzip {
|
||||
name = "${pname}-${version}";
|
||||
|
||||
# https://github.com/marnen/borg-sans-mono/issues/19
|
||||
url = "https://github.com/marnen/borg-sans-mono/files/107663/BorgSansMono.ttf.zip";
|
||||
sha256 = "1gz4ab0smw76ih5cs2l3n92c77nv7ld5zghq42avjsfhxrc2n5ri";
|
||||
|
||||
postFetch = ''
|
||||
mkdir -p $out/share/fonts
|
||||
unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Droid Sans Mono Slashed + Hasklig-style ligatures";
|
||||
homepage = "https://github.com/marnen/borg-sans-mono";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ atila ];
|
||||
};
|
||||
}
|
|
@ -33,6 +33,7 @@ let
|
|||
i686-linux = "linux-i686";
|
||||
x86_64-darwin = "darwin-x86_64";
|
||||
aarch64-darwin = "darwin-universal";
|
||||
aarch64-linux = "linux-aarch64";
|
||||
};
|
||||
|
||||
arch = archs.${stdenv.system} or (throw "system ${stdenv.system} not supported");
|
||||
|
@ -40,13 +41,19 @@ let
|
|||
|
||||
checkInputs = [ git gmp openssl readline libxml2 libyaml ];
|
||||
|
||||
binaryUrl = version: rel:
|
||||
if arch == archs.aarch64-linux then
|
||||
"https://dev.alpinelinux.org/archive/crystal/crystal-${version}-aarch64-alpine-linux-musl.tar.gz"
|
||||
else
|
||||
"https://github.com/crystal-lang/crystal/releases/download/${version}/crystal-${version}-${toString rel}-${arch}.tar.gz";
|
||||
|
||||
genericBinary = { version, sha256s, rel ? 1 }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "crystal-binary";
|
||||
inherit version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/crystal-lang/crystal/releases/download/${version}/crystal-${version}-${toString rel}-${arch}.tar.gz";
|
||||
url = binaryUrl version rel;
|
||||
sha256 = sha256s.${stdenv.system};
|
||||
};
|
||||
|
||||
|
@ -225,6 +232,7 @@ rec {
|
|||
x86_64-linux = "1949argajiyqyq09824yj3wjyv88gd8wbf20xh895saqfykiq880";
|
||||
i686-linux = "0w0f4fwr2ijhx59i7ppicbh05hfmq7vffmgl7lal6im945m29vch";
|
||||
x86_64-darwin = "01n0rf8zh551vv8wq3h0ifnsai0fz9a77yq87xx81y9dscl9h099";
|
||||
aarch64-linux = "0sns7l4q3z82qi3dc2r4p63f4s8hvifqzgq56ykwyrvawynjhd53";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -24,8 +24,6 @@ self: super: {
|
|||
|
||||
nix-linter = self.callPackage ../../development/tools/analysis/nix-linter { };
|
||||
|
||||
nix-output-monitor = self.callPackage ../../tools/nix/nix-output-monitor { };
|
||||
|
||||
# hasura graphql-engine is not released to hackage.
|
||||
# https://github.com/hasura/graphql-engine/issues/7391
|
||||
ci-info = self.callPackage ../misc/haskell/hasura/ci-info.nix {};
|
||||
|
|
|
@ -201,9 +201,9 @@ in {
|
|||
major = "3";
|
||||
minor = "11";
|
||||
patch = "0";
|
||||
suffix = "a4";
|
||||
suffix = "a6";
|
||||
};
|
||||
sha256 = "sha256-Q3/nN2w2Pa+vNM6A8ERrQfyaQsDiqMflGdPwoLfPs+0=";
|
||||
sha256 = "sha256-HFOi/3WHljPjDKwp0qpregEONVuV8L+axpG+zPX50So=";
|
||||
inherit (darwin) configd;
|
||||
inherit passthruFun;
|
||||
};
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "intel-gmmlib";
|
||||
version = "22.0.3";
|
||||
version = "22.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "intel";
|
||||
repo = "gmmlib";
|
||||
rev = "intel-gmmlib-${version}";
|
||||
sha256 = "sha256-cXolz4hKLSTs8K9tCxaKnC2Pr0lQ0M+pPeF2w6bOAR8=";
|
||||
sha256 = "sha256-4LFBokMEhhobKIMzZYlt3Nn88lX60l+IZZ0gi+o7Tds=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
|
31
pkgs/development/libraries/libctl/default.nix
Normal file
31
pkgs/development/libraries/libctl/default.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, gfortran
|
||||
, guile
|
||||
, pkg-config
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libctl";
|
||||
version = "4.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "NanoComp";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "uOydBWYPXSBUi+4MM6FNx6B5l2to7Ny9Uc1MMTV9bGA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook gfortran guile pkg-config ];
|
||||
|
||||
configureFlags = [ "--enable-shared" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Guile-based library for supporting flexible control files in scientific simulations";
|
||||
homepage = "https://github.com/NanoComp/libctl";
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = with maintainers; [ carpinchomug ];
|
||||
};
|
||||
}
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "androidtv";
|
||||
version = "0.0.64";
|
||||
version = "0.0.65";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
|||
owner = "JeffLIrion";
|
||||
repo = "python-androidtv";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-CJJ+mWAX9XG1/E2PljUZ8oz/la3hYXF1tMfuKt0Zvjw=";
|
||||
hash = "sha256-bhXmPplRT9gzeD/GdD2HxN+Z4vvaiaxBwkqSml9SJUs=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -1,22 +1,24 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, isPy3k
|
||||
, pythonOlder
|
||||
, msrest
|
||||
, msrestazure
|
||||
, azure-common
|
||||
, azure-mgmt-core
|
||||
, azure-mgmt-nspkg
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "azure-mgmt-monitor";
|
||||
version = "3.0.0";
|
||||
version = "3.1.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
extension = "zip";
|
||||
sha256 = "91ddb7333bf2b9541a53864cc8d2501e3694a03a9c0e41cbfae3348558675ce6";
|
||||
hash = "sha256-ROcUAm0KgIjO2A2XBpS00IeEPgd8x4cjoMfn6X9C+Gw=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -24,13 +26,13 @@ buildPythonPackage rec {
|
|||
msrestazure
|
||||
azure-common
|
||||
azure-mgmt-core
|
||||
] ++ lib.optionals (!isPy3k) [
|
||||
azure-mgmt-nspkg
|
||||
];
|
||||
|
||||
pythonNamespaces = [ "azure.mgmt" ];
|
||||
pythonNamespaces = [
|
||||
"azure.mgmt"
|
||||
];
|
||||
|
||||
# has no tests
|
||||
# Module has no tests
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "env-canada";
|
||||
version = "0.5.20";
|
||||
version = "0.5.21";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
|||
owner = "michaeldavie";
|
||||
repo = "env_canada";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-gYl5+rtOzci3nhgP74VM37tNk9pPWgcNBfcSSG1fSJs=";
|
||||
sha256 = "sha256-jildWpYWll5j7siYhNECMBjz9bF41xFA6NyydWNdgQE=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "intellifire4py";
|
||||
version = "1.0.0";
|
||||
version = "1.0.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
|||
owner = "jeeftor";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-lQV5KpASbrz+wCi9x/0rNYrQE+dLCZzsNBFhYAQvPH4=";
|
||||
hash = "sha256-hKe9sDn5t2qQ0THqFQypAGgr7cJXaZs8562NpPR/iJU=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
, tls-parser
|
||||
, cacert
|
||||
, pytestCheckHook
|
||||
, pythonAtLeast
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
|
@ -50,9 +51,11 @@ let
|
|||
"enable-tls1_3"
|
||||
"no-async"
|
||||
];
|
||||
patches = builtins.filter (
|
||||
p: (builtins.baseNameOf (toString p)) != "macos-yosemite-compat.patch"
|
||||
) oldAttrs.patches;
|
||||
patches = builtins.filter
|
||||
(
|
||||
p: (builtins.baseNameOf (toString p)) != "macos-yosemite-compat.patch"
|
||||
)
|
||||
oldAttrs.patches;
|
||||
buildInputs = oldAttrs.buildInputs ++ [ zlibStatic cacert ];
|
||||
meta = oldAttrs.meta // {
|
||||
knownVulnerabilities = [
|
||||
|
@ -76,9 +79,11 @@ let
|
|||
sha256 = "1zqb1rff1wikc62a7vj5qxd1k191m8qif5d05mwdxz2wnzywlg72";
|
||||
};
|
||||
configureFlags = oldAttrs.configureFlags ++ nasslOpensslFlagsCommon;
|
||||
patches = builtins.filter (
|
||||
p: (builtins.baseNameOf (toString p)) == "darwin64-arm64.patch"
|
||||
) oldAttrs.patches;
|
||||
patches = builtins.filter
|
||||
(
|
||||
p: (builtins.baseNameOf (toString p)) == "darwin64-arm64.patch"
|
||||
)
|
||||
oldAttrs.patches;
|
||||
buildInputs = oldAttrs.buildInputs ++ [ zlibStatic ];
|
||||
# openssl_1_0_2 needs `withDocs = false`
|
||||
outputs = lib.remove "doc" oldAttrs.outputs;
|
||||
|
@ -87,42 +92,54 @@ let
|
|||
in
|
||||
buildPythonPackage rec {
|
||||
pname = "nassl";
|
||||
version = "4.0.1";
|
||||
version = "4.0.2";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nabla-c0d3";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-QzO7ABh2weBO6NVFIj7kZpS8ashbDGompuvdKteJeUc=";
|
||||
hash = "sha256-lLyHXLmBVvT+LgsKBU8DcUXd0qaLSrwvXxFnIB9CHcU=";
|
||||
};
|
||||
|
||||
postPatch = let
|
||||
legacyOpenSSLVersion = lib.replaceStrings ["."] ["_"] opensslLegacyStatic.version;
|
||||
modernOpenSSLVersion = lib.replaceStrings ["."] ["_"] opensslStatic.version;
|
||||
zlibVersion = zlibStatic.version;
|
||||
in ''
|
||||
mkdir -p deps/openssl-OpenSSL_${legacyOpenSSLVersion}/
|
||||
cp ${opensslLegacyStatic.out}/lib/libssl.a \
|
||||
${opensslLegacyStatic.out}/lib/libcrypto.a \
|
||||
deps/openssl-OpenSSL_${legacyOpenSSLVersion}/
|
||||
ln -s ${opensslLegacyStatic.out.dev}/include deps/openssl-OpenSSL_${legacyOpenSSLVersion}/include
|
||||
ln -s ${opensslLegacyStatic.bin}/bin deps/openssl-OpenSSL_${legacyOpenSSLVersion}/apps
|
||||
postPatch =
|
||||
let
|
||||
legacyOpenSSLVersion = lib.replaceStrings [ "." ] [ "_" ] opensslLegacyStatic.version;
|
||||
modernOpenSSLVersion = lib.replaceStrings [ "." ] [ "_" ] opensslStatic.version;
|
||||
zlibVersion = zlibStatic.version;
|
||||
in
|
||||
''
|
||||
mkdir -p deps/openssl-OpenSSL_${legacyOpenSSLVersion}/
|
||||
cp ${opensslLegacyStatic.out}/lib/libssl.a \
|
||||
${opensslLegacyStatic.out}/lib/libcrypto.a \
|
||||
deps/openssl-OpenSSL_${legacyOpenSSLVersion}/
|
||||
ln -s ${opensslLegacyStatic.out.dev}/include deps/openssl-OpenSSL_${legacyOpenSSLVersion}/include
|
||||
ln -s ${opensslLegacyStatic.bin}/bin deps/openssl-OpenSSL_${legacyOpenSSLVersion}/apps
|
||||
|
||||
mkdir -p deps/openssl-OpenSSL_${modernOpenSSLVersion}/
|
||||
cp ${opensslStatic.out}/lib/libssl.a \
|
||||
${opensslStatic.out}/lib/libcrypto.a \
|
||||
deps/openssl-OpenSSL_${modernOpenSSLVersion}/
|
||||
ln -s ${opensslStatic.out.dev}/include deps/openssl-OpenSSL_${modernOpenSSLVersion}/include
|
||||
ln -s ${opensslStatic.bin}/bin deps/openssl-OpenSSL_${modernOpenSSLVersion}/apps
|
||||
mkdir -p deps/openssl-OpenSSL_${modernOpenSSLVersion}/
|
||||
cp ${opensslStatic.out}/lib/libssl.a \
|
||||
${opensslStatic.out}/lib/libcrypto.a \
|
||||
deps/openssl-OpenSSL_${modernOpenSSLVersion}/
|
||||
ln -s ${opensslStatic.out.dev}/include deps/openssl-OpenSSL_${modernOpenSSLVersion}/include
|
||||
ln -s ${opensslStatic.bin}/bin deps/openssl-OpenSSL_${modernOpenSSLVersion}/apps
|
||||
|
||||
mkdir -p deps/zlib-${zlibVersion}/
|
||||
cp ${zlibStatic.out}/lib/libz.a deps/zlib-${zlibVersion}/
|
||||
'';
|
||||
mkdir -p deps/zlib-${zlibVersion}/
|
||||
cp ${zlibStatic.out}/lib/libz.a deps/zlib-${zlibVersion}/
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [ tls-parser ];
|
||||
nativeBuildInputs = [
|
||||
invoke
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ invoke ];
|
||||
propagatedBuildInputs = [
|
||||
tls-parser
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
invoke build.nassl
|
||||
|
@ -131,19 +148,23 @@ buildPythonPackage rec {
|
|||
|
||||
doCheck = true;
|
||||
|
||||
pythonImportsCheck = [ "nassl" ];
|
||||
|
||||
checkInputs = [ pytestCheckHook ];
|
||||
pythonImportsCheck = [
|
||||
"nassl"
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
"Online"
|
||||
] ++ lib.optionals (pythonAtLeast "3.10") [
|
||||
"test_write_bad"
|
||||
"test_client_authentication_no_certificate_supplied"
|
||||
"test_client_authentication_succeeds"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Low-level OpenSSL wrapper for Python";
|
||||
homepage = "https://github.com/nabla-c0d3/nassl";
|
||||
description = "Low-level OpenSSL wrapper for Python 3.7+";
|
||||
platforms = with platforms; linux ++ darwin;
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = with maintainers; [ veehaitch ];
|
||||
platforms = with platforms; linux ++ darwin;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pykrakenapi";
|
||||
version = "0.2.4";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dominiktraxl";
|
||||
repo = "pykrakenapi";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-i2r6t+JcL6INI8Y26gvVvNjv6XxMj4G+pF9Xf/hsx1A=";
|
||||
hash = "sha256-ZhP4TEWFEGIqI/nk2It1IVFKrX4HKP+dWxu+gLJNIeg=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pysigma-backend-splunk";
|
||||
version = "0.1.1";
|
||||
version = "0.1.2";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
|||
owner = "SigmaHQ";
|
||||
repo = "pySigma-backend-splunk";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-AGT+7BKtINe2ukmomYyoUa5PHYAH1N0tUTtbyjMD+kw=";
|
||||
hash = "sha256-jKvGBUO55DtF6bpgEL82XB5Ba+kmqJsCqUdzftcpSJ0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pysigma-pipeline-crowdstrike";
|
||||
version = "0.1.3";
|
||||
version = "0.1.4";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
|||
owner = "SigmaHQ";
|
||||
repo = "pySigma-pipeline-crowdstrike";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-JNJHKydMzKreN+6liLlGMT1CFBUr/IX8Ah+exddKR3g=";
|
||||
hash = "sha256-Riu2u1IouS1BMtXauXrNMIl06TU11pHdC0jjlOiR71s=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pysigma-pipeline-sysmon";
|
||||
version = "0.1.1";
|
||||
version = "0.1.2";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
|||
owner = "SigmaHQ";
|
||||
repo = "pySigma-pipeline-sysmon";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-BBJt2SAbnPEzIwJ+tXW4NmA4Nrb/glIaPlnmYHLoMD0=";
|
||||
hash = "sha256-Y9X9/ynrfs4gVTLl7pOvK3TH2Eh2vNF1S6Cnt3tByJM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pysigma";
|
||||
version = "0.3.2";
|
||||
version = "0.4.1";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
|||
owner = "SigmaHQ";
|
||||
repo = "pySigma";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-V/E2rZqVrk0kIvk+hPhNcAifhMM/rN3mk3pB+CGd43w=";
|
||||
hash = "sha256-egyzeniid2PZZQ6hsd44W+YURI8uGaXvDMuhNIXUqO0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -36,21 +36,9 @@ buildPythonPackage rec {
|
|||
pytestCheckHook
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Switch to poetry-core, https://github.com/SigmaHQ/pySigma/pull/31
|
||||
(fetchpatch {
|
||||
name = "switch-to-poetry-core.patch";
|
||||
url = "https://github.com/SigmaHQ/pySigma/commit/b7a852d18852007da90c2ec35bff347c97b36f07.patch";
|
||||
sha256 = "sha256-zgg8Bsc37W2uuQluFpIZT4jHCQaitY2ZgS93Wk6Hxt0=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# https://github.com/SigmaHQ/pySigma/issues/32
|
||||
# https://github.com/SigmaHQ/pySigma/issues/33
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace 'pyparsing = "^2.4.7"' 'pyparsing = "*"' \
|
||||
--replace 'pyyaml = "^5.3.1"' 'pyyaml = "*"'
|
||||
--replace 'pyparsing = "^3.0.7"' 'pyparsing = "*"' \
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "soco";
|
||||
version = "0.26.4";
|
||||
version = "0.27.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
@ -24,7 +24,7 @@ buildPythonPackage rec {
|
|||
owner = "SoCo";
|
||||
repo = "SoCo";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-DoONq6Iqi8t47jtqggKYMHSNJAf/Kha3tszR6mYeB9Y=";
|
||||
hash = "sha256-8U7wfxqen+hgK8j9ooPHCAKvd9kSZicToTyP7XzQFrg=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -16,14 +16,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "sslyze";
|
||||
version = "5.0.2";
|
||||
version = "5.0.3";
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nabla-c0d3";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-8xtnE5oFxH3wo2Smt65/xGDHxivexN6ggUpyUg42Cjk=";
|
||||
hash = "sha256-d465WJIDsgNAPe8KW5v2KDSgzMH7OPLSiFfFH9n+jiA=";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
|
|
|
@ -7,23 +7,29 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "tls-parser";
|
||||
version = "1.2.2";
|
||||
version = "2.0.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nabla-c0d3";
|
||||
repo = "tls_parser";
|
||||
rev = version;
|
||||
sha256 = "12qj3vg02r5a51w6gbgb1gcxicqc10lbbsdi57jkkfvbqiindbd0";
|
||||
hash = "sha256-A1lYRe1sHDoOFdF20DP+xRMcPBWzokIXFphIpaBmwBc=";
|
||||
};
|
||||
|
||||
checkInputs = [ pytestCheckHook ];
|
||||
checkInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "tls_parser" ];
|
||||
pythonImportsCheck = [
|
||||
"tls_parser"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/nabla-c0d3/tls_parser";
|
||||
description = "Small library to parse TLS records";
|
||||
homepage = "https://github.com/nabla-c0d3/tls_parser";
|
||||
platforms = with platforms; linux ++ darwin;
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ veehaitch ];
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "twentemilieu";
|
||||
version = "0.5.0";
|
||||
version = "0.6.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
|||
owner = "frenck";
|
||||
repo = "python-twentemilieu";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-7HQ0+h8oiyY+TacQdX84K0r994rH0AMZAvZz8PUvQl0=";
|
||||
sha256 = "sha256-UE7fhbSThXmMns1XfUUQqw0wn5/w/x+UncansIBiank=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -73,43 +73,43 @@ rec {
|
|||
headers = "0vvizddmhprprbdf6bklasz6amwc254bpc9j0zlx23d1pgyxpnhc";
|
||||
};
|
||||
|
||||
electron_14 = mkElectron "14.2.6" {
|
||||
armv7l-linux = "fd115652f491fff6a28bf39dc41e3c7f1b638e7dcc7856c33b6a97c7763ea9a3";
|
||||
aarch64-linux = "530df3030aeb2c0f67ba4bc210c0f0fe77670001d2ba30ad6858f74952528df2";
|
||||
x86_64-linux = "c3f91ced7e429079d43c182f47cea1eceef17ab65c390e15f9c6af56e58ed3d9";
|
||||
i686-linux = "d66881d0747c99618c500b46e044eb4e97442400624fbcf9a6af114743e6e8db";
|
||||
x86_64-darwin = "15db43c17a33bf9e31f66f5025e0810dfbd2b237f7645eda51409de7930cc9d1";
|
||||
aarch64-darwin = "a5f7b8cc5f6dfc7561368d2f09745967bb553a29a22ef74af8f795225483338a";
|
||||
headers = "0rxbij6qvi0xzcmbxf3fm1snvakaxp9c512z9ni36y98sgg4s3l8";
|
||||
electron_14 = mkElectron "14.2.7" {
|
||||
armv7l-linux = "bb0c25671daa0dc235e212831d62f18b9a7f2692279bcd8e4a15f2d84ee7124d";
|
||||
aarch64-linux = "149c5df2cf98ee0a2ce5445b3fb00752f42c3f7ab9677b7a54ba01fba2e2f4ec";
|
||||
x86_64-linux = "ad80f424e8d8d79f0be078d8a1ddef8fd659fa3dd8aaf6704ab97f2a13489558";
|
||||
i686-linux = "82b29272cb52dbe969c0bd6cf9b69896c86abe1d9ef473a3844c0ab3dc92b353";
|
||||
x86_64-darwin = "2a5d8336dcd140158964801d482344756377d924a06e6605959034a41f7e026b";
|
||||
aarch64-darwin = "b45869ff61bdf392bca498529b6445d47a784079f6a33af6b19d517953f03fd8";
|
||||
headers = "0339fs3iyp869xi1xmn9z2b1n32wf408cc0z9bz6shns44ymkyhd";
|
||||
};
|
||||
|
||||
electron_15 = mkElectron "15.4.0" {
|
||||
armv7l-linux = "40c073a3b416f83264327bdf5e33b334ffcd56a729ef237360d66f520f670d16";
|
||||
aarch64-linux = "ef18ba74b4fa34a26f9ee819bb908c60d0dd9ec2048414629979760f262d72f8";
|
||||
x86_64-linux = "5bdea4cbf5559491e9ad9f365fa6f7ec26603fd6f68bfa8848f2884ebd51662d";
|
||||
i686-linux = "636d0e28bb20ca127c9b8722fe39e7e7d95fc63bd15b156b7af563296b3d9595";
|
||||
x86_64-darwin = "8a132b2be0f27c7e8fa9a91a8b4b0fcdf3ec571c721cb5f5610dc8a6b3f0fd26";
|
||||
aarch64-darwin = "82b29c37a427464a9278d617435ca19f472b00689c9e58163e99f30b90f33046";
|
||||
headers = "0fc1sck7g160klpqzfcqv9zc45ia914mrncyma58zzcbzpk6k6yb";
|
||||
electron_15 = mkElectron "15.4.1" {
|
||||
armv7l-linux = "e0fe5daed46a5d718b3209fa301aea743df694daf6605f9313f4ca6c70fe5167";
|
||||
aarch64-linux = "fa108edd4c146811bdee842fcd278b046ae0ff157de5e072c3ff3ac0bcb310c2";
|
||||
x86_64-linux = "867095924d434b3918df8576e7af94fecea4d29461fcfb69c40161f02158ff15";
|
||||
i686-linux = "8e79fa9f4125f254abb437445fed8f3f8ec10dd2462e1ced3e7df49c622e087d";
|
||||
x86_64-darwin = "899d16a0e0157809c297ceb3710c53441ec4396333d9ad5b65297446874e14dc";
|
||||
aarch64-darwin = "8295bf45dab1131dfdfd15654a0b1d85bfae221052ba64353368a2c0faaaa3ff";
|
||||
headers = "073697wjq60cnz42xmnjsr0xqcmcsl4m48mmzrz1rxrc8mvi86gr";
|
||||
};
|
||||
|
||||
electron_16 = mkElectron "16.0.10" {
|
||||
armv7l-linux = "1a72fe59011cfcc1f376f2948dd5a70d2f75d6c12fb682a0246d2e596227b5e0";
|
||||
aarch64-linux = "46cd1393816364a666ead410505bce4b51d68ce872446a71d16886b88c4b275a";
|
||||
x86_64-linux = "3b4779e41e27200ce5fa94d20f9df05ff5c757be6805eb0e8952fe198d66f324";
|
||||
i686-linux = "9e1426a8135d3fe195ba9fc1a5ea5ad4d5ce96bd513691897b39106698e3c3c8";
|
||||
x86_64-darwin = "00b0222efa67fbb29f723fabebc4221646ebd6d5fdc09524df9a203f63ce660c";
|
||||
aarch64-darwin = "1203f6ec4e8b97312254ceb122ca4399f39ae67bfe1636e426a798c89ec2a9ee";
|
||||
headers = "10f6px88vg6napyhniczi6l660qs4l5mm0b9gdlds4i1y94s1zrl";
|
||||
electron_16 = mkElectron "16.1.0" {
|
||||
armv7l-linux = "f3ab34c73b4100ffc5041ed9aa0608d1dc6b98fe3c2caa14be3d5c3ffbebda76";
|
||||
aarch64-linux = "e80a7e4a59b94c7cd02b16ca37a2b0f26ddb58ddac23135c6180b238589f1c62";
|
||||
x86_64-linux = "36c79af4d05e89ef9c9616a156f63adc5b453ee6bee5d8f4331e75ee77198e85";
|
||||
i686-linux = "7129a96fc33de70cfe5d6d0e17ecff1b4dcf52d825a6ad05b10ca67da7b43665";
|
||||
x86_64-darwin = "723859249e959948cdd339acf708022fb0195b433809af25b4a9f4d69b9da52f";
|
||||
aarch64-darwin = "e76558028979f70107e5b1897275a9789be20b13991bfbcebeab7fc220f15764";
|
||||
headers = "0yv9rssrfi0hdzrjf1n735dsz9sgy78jzxdcf9is2387yrr1qiyz";
|
||||
};
|
||||
|
||||
electron_17 = mkElectron "17.1.0" {
|
||||
armv7l-linux = "09d92195821aad4ac03fbc858287a7372b6aa059081bb825d267853ee1b0425d";
|
||||
aarch64-linux = "6a34d6802d44a391902f53baf0adc8b819d33e7c31b34614757b17b3223c9d1e";
|
||||
x86_64-linux = "106ec28a5969366c1e1f642cc33ac41950c68bd182db23b04d7ac6886bfe28e8";
|
||||
i686-linux = "19fe206be07a6df7f9f0ecdb411e3cafd3a53618edb19cc6adc77156f698444e";
|
||||
x86_64-darwin = "bd80d6b0b62c9bec195d264aa21a255f4324a8b56849e04972c1fcc262757c31";
|
||||
aarch64-darwin = "83fe2fc24976d09a0e0fcc3a60226f190cf9b67287fe4434d3d76d59fa45315c";
|
||||
headers = "1zv1pigfbis1bsan28wx3bgkdwjc48pjq19wmxs73kd1khsy6w8r";
|
||||
electron_17 = mkElectron "17.1.2" {
|
||||
armv7l-linux = "b561c04c9fa8c512f418ea5c32f5526732e1ccd150ee4830a0091d0fa1b7e31c";
|
||||
aarch64-linux = "cda7e66c6672def9edd881107c28e2eec09b7802a38227ac89bb233191ce4840";
|
||||
x86_64-linux = "7e7c35e8c1a0fc451e7af19fa73264881ae2c4672c52a2ae1cdd61604650ca94";
|
||||
i686-linux = "de87a7952c93c1d8e8c533a700bbfc76d3893e9ad438413507d11450b80a9c97";
|
||||
x86_64-darwin = "d4382d3f01b750676a1f3c9e2273ad69cac16dc64a4145469c663bcda8d2471b";
|
||||
aarch64-darwin = "135dec87211fcefdb53ab1fef13344c7b71a321f7c4f6846f260c1e0848e73bf";
|
||||
headers = "15k234d044lgmc3psyxz9syy9wvzgn54znklak9sv6gcajjzll10";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,19 +2,17 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "gomodifytags";
|
||||
version = "1.6.0";
|
||||
|
||||
vendorSha256 = null;
|
||||
|
||||
doCheck = false;
|
||||
version = "1.16.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fatih";
|
||||
repo = "gomodifytags";
|
||||
rev = "v${version}";
|
||||
sha256 = "1wmzl5sk5mc46njzn86007sqyyv6han058ppiw536qyhk88rzazq";
|
||||
sha256 = "1yhkn9mdvsn9i5v03c5smz32zlhkylnxhkcbjb7llafxzbhzgfm6";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-8efqJfu+gtoFbhdlDZfb8NsXV9hBDI2pvAQNH18VVhU=";
|
||||
|
||||
meta = {
|
||||
description = "Go tool to modify struct field tags";
|
||||
homepage = "https://github.com/fatih/gomodifytags";
|
||||
|
|
|
@ -13,8 +13,6 @@ buildGoModule rec {
|
|||
|
||||
vendorSha256 = "0zj2hls8m0l9xsfv680wiwq1g2qjdjslv2yx3yd4rzxdsv2wz09a";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "4.14.271";
|
||||
version = "4.14.272";
|
||||
|
||||
# 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;
|
||||
|
@ -13,6 +13,6 @@ buildLinux (args // rec {
|
|||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||
sha256 = "1mzxcjzw6y7b3fffz0hbgsl6328w3m5yv5xb21z57kr9vm828y80";
|
||||
sha256 = "0scx13pc5y5jmm5xa17my242gsgb1mf0cgqzjx656g7kkh4phqcv";
|
||||
};
|
||||
} // (args.argsOverride or {}))
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "4.19.234";
|
||||
version = "4.19.235";
|
||||
|
||||
# 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;
|
||||
|
@ -13,6 +13,6 @@ buildLinux (args // rec {
|
|||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||
sha256 = "12rd468wvmmdmgzy9vs2ny155yp9wxrf15lrslpc8xm4wimrd0h0";
|
||||
sha256 = "1615y3ma9icmqqr7lisl8nd8zvvkh77a81yl39yvy6qi9345l32k";
|
||||
};
|
||||
} // (args.argsOverride or {}))
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{ buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "4.9.306";
|
||||
version = "4.9.307";
|
||||
extraMeta.branch = "4.9";
|
||||
extraMeta.broken = stdenv.isAarch64;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||
sha256 = "1cvsz3sf24g2623m7fxc6ilzsdmzi8s8lnks3sg68sax0qdx0ny7";
|
||||
sha256 = "1xyhz7hq8yyclxyavzk36sbl41vlb74pccd56240kq34ma1hyis7";
|
||||
};
|
||||
} // (args.argsOverride or {}))
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "5.10.105";
|
||||
version = "5.10.106";
|
||||
|
||||
# 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;
|
||||
|
@ -13,6 +13,6 @@ buildLinux (args // rec {
|
|||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
|
||||
sha256 = "11fb9y6sqrf0hvak83ym7sbbacjl3q51w523vxjdpjmrn850xp1x";
|
||||
sha256 = "0yjrlghcxw3lhd6nc2m4zy4gk536w3a3w6mxdsml690fqz4531n6";
|
||||
};
|
||||
} // (args.argsOverride or {}))
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "5.15.28";
|
||||
version = "5.15.29";
|
||||
|
||||
# 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;
|
||||
|
@ -15,6 +15,6 @@ buildLinux (args // rec {
|
|||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
|
||||
sha256 = "1rhhn2a7799nnvx8dj83glb0p0qakxanhxvvl7crznvip7rvp8nq";
|
||||
sha256 = "0vl7xm4xs59z071wfjna392yada3hg5h6h3dfjaswircc22fc1ar";
|
||||
};
|
||||
} // (args.argsOverride or { }))
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "5.16.14";
|
||||
version = "5.16.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;
|
||||
|
@ -13,6 +13,6 @@ buildLinux (args // rec {
|
|||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
|
||||
sha256 = "1xkl0mfjby7w6r3fqyjds94h2lmc77nzp970w7wz1rfmb63ab2vs";
|
||||
sha256 = "1mi41npkk1inqchm3yp14xmzc5lrp50d7vbpazwxwq5kw04c8c4g";
|
||||
};
|
||||
} // (args.argsOverride or { }))
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "5.4.184";
|
||||
version = "5.4.185";
|
||||
|
||||
# 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;
|
||||
|
@ -13,6 +13,6 @@ buildLinux (args // rec {
|
|||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
|
||||
sha256 = "128laiqkr6z3pya8ws7r2ddrpbc3xyn80zwclz2wlrf6wqwwm546";
|
||||
sha256 = "11rp3x05bq9cs9gwy4x36ynkgl7nb5ss29zi6m7n5ywvczdfjpyi";
|
||||
};
|
||||
} // (args.argsOverride or {}))
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{ stdenv, lib, fetchsvn, linux
|
||||
, scripts ? fetchsvn {
|
||||
url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
|
||||
rev = "18627";
|
||||
sha256 = "0qlalxpw2a24625ck5mxchpxl6i6cgmzkzfgyp9apmhdy8590fv5";
|
||||
rev = "18635";
|
||||
sha256 = "0d74hji2cms9z3h3s1j4i7qnw1350a95vafrqargf9s2zz0bkgfc";
|
||||
}
|
||||
, ...
|
||||
}:
|
||||
|
|
|
@ -24,14 +24,14 @@
|
|||
assert libgcrypt != null -> libsodium == null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.1.0";
|
||||
version = "1.1.1";
|
||||
pname = "usbguard";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "USBGuard";
|
||||
repo = pname;
|
||||
rev = "usbguard-${version}";
|
||||
sha256 = "sha256-lnHeU/X/2N81WPLakRYLs8TjpBhxBPhiXDJ+wNW0sU0=";
|
||||
sha256 = "sha256-lAh+l9GF+FHQqv2kEYU5JienZKGwR5e45BYAwjieYgw=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -13,12 +13,19 @@ buildGoModule rec {
|
|||
|
||||
vendorSha256 = "sha256-Vxs+k4WF55xwjgdlW/1NM4NWnYqj2EOLOONflj+BoY4=";
|
||||
|
||||
doCheck = false;
|
||||
postPatch = ''
|
||||
substituteInPlace test/file_cname_proxy_test.go \
|
||||
--replace "TestZoneExternalCNAMELookupWithProxy" \
|
||||
"SkipZoneExternalCNAMELookupWithProxy"
|
||||
|
||||
substituteInPlace test/readme_test.go \
|
||||
--replace "TestReadme" "SkipReadme"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://coredns.io";
|
||||
description = "A DNS server that runs middleware";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ rushmorem rtreffer deltaevo ];
|
||||
maintainers = with maintainers; [ rushmorem rtreffer deltaevo superherointj ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchurl, perl, zlib, apr, aprutil, pcre, libiconv, lynx
|
||||
{ lib, stdenv, fetchurl, perl, zlib, apr, aprutil, pcre2, libiconv, lynx, which
|
||||
, nixosTests
|
||||
, proxySupport ? true
|
||||
, sslSupport ? true, openssl
|
||||
|
@ -11,17 +11,19 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "apache-httpd";
|
||||
version = "2.4.52";
|
||||
version = "2.4.53";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
|
||||
sha256 = "sha256-ASf33El+mYPpxRR0vtdeRWB/L4cKdnWobckK9tVy9ck=";
|
||||
sha256 = "sha256-0LvREhpXtfKm/5LXuW+AUMWkXT8U2xGPZJedUlhY22M=";
|
||||
};
|
||||
|
||||
# FIXME: -dev depends on -doc
|
||||
outputs = [ "out" "dev" "man" "doc" ];
|
||||
setOutputFlags = false; # it would move $out/modules, etc.
|
||||
|
||||
nativeBuildInputs = [ which ];
|
||||
|
||||
buildInputs = [ perl ] ++
|
||||
lib.optional brotliSupport brotli ++
|
||||
lib.optional sslSupport openssl ++
|
||||
|
@ -42,7 +44,7 @@ stdenv.mkDerivation rec {
|
|||
"--with-apr=${apr.dev}"
|
||||
"--with-apr-util=${aprutil.dev}"
|
||||
"--with-z=${zlib.dev}"
|
||||
"--with-pcre=${pcre.dev}"
|
||||
"--with-pcre=${pcre2.dev}/bin/pcre2-config"
|
||||
"--disable-maintainer-mode"
|
||||
"--disable-debugger-mode"
|
||||
"--enable-mods-shared=all"
|
||||
|
|
|
@ -1,19 +1,44 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
let
|
||||
skipTests = {
|
||||
access = "Access";
|
||||
create = "Create";
|
||||
delete = "Delete";
|
||||
list = "List";
|
||||
read = "Read";
|
||||
replace = "Replace";
|
||||
resolver = "Resolve";
|
||||
revoke = "Revoke";
|
||||
update = "Update";
|
||||
};
|
||||
|
||||
skipTestsCommand =
|
||||
builtins.foldl' (acc: goFileName:
|
||||
let testName = builtins.getAttr goFileName skipTests; in
|
||||
''
|
||||
${acc}
|
||||
substituteInPlace pkg/berglas/${goFileName}_test.go \
|
||||
--replace "TestClient_${testName}_storage" "SkipClient_${testName}_storage" \
|
||||
--replace "TestClient_${testName}_secretManager" "SkipClient_${testName}_secretManager"
|
||||
''
|
||||
) "" (builtins.attrNames skipTests);
|
||||
in
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "berglas";
|
||||
version = "0.5.1";
|
||||
version = "0.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GoogleCloudPlatform";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0y393g36h35zzqyf5b10j6qq2jhvz83j17cmasnv6wbyrb3vnn0n";
|
||||
sha256 = "sha256-aLsrrK+z080qn7L2zggA8yD+QqLaSRJLTjWQnFKFogQ=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
vendorSha256 = "sha256-HjZT0jezJzoEvXuzrjoTv/zSex+xDuGoP1h82CIlX14=";
|
||||
|
||||
doCheck = false;
|
||||
postPatch = skipTestsCommand;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tool for managing secrets on Google Cloud";
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "fits-cloudctl";
|
||||
version = "0.10.11";
|
||||
version = "0.10.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fi-ts";
|
||||
repo = "cloudctl";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-hGKnQk2OPpHsjbRh/xx3MidbUMio6tYn+oJB0t1a/yM=";
|
||||
sha256 = "sha256-nFxudeJJ5BkfZxSnRquyATHyHwI+7xwfQxiY8cedtis=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-f35Asf9l6ZfixpjMGzesTsxmANreilMxH2CULMH3b2o=";
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "syft";
|
||||
version = "0.41.4";
|
||||
version = "0.41.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "anchore";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-QRT5wvud9VMtXQ8QPC7joIMq7kYYlfVUSgzqMFW5LIE=";
|
||||
sha256 = "sha256-Ebs0IVdcll7bTNjoZalD5Ye0GFXJeas1nPseYLzZxOk=";
|
||||
# populate values that require us to use git. By doing this in postFetch we
|
||||
# can delete .git afterwards and maintain better reproducibility of the src.
|
||||
leaveDotGit = true;
|
||||
|
@ -22,7 +22,7 @@ buildGoModule rec {
|
|||
find "$out" -name .git -print0 | xargs -0 rm -rf
|
||||
'';
|
||||
};
|
||||
vendorSha256 = "sha256-9/Mtjqny68HN4FItT2+yoknzdHBAS1aQL0VkTdm6624=";
|
||||
vendorSha256 = "sha256-/WGkQfCUDmolGdzNxIZKzZnXWnqO2vvizBLJgO+s4Ak=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
|
|
@ -5,16 +5,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "trivy";
|
||||
version = "0.24.2";
|
||||
version = "0.24.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aquasecurity";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-xMLSou+8kIQVEJlkA7ygv623hvETcEAdyFPR3HJr5ZQ=";
|
||||
sha256 = "sha256-8ozoSorVoYt5C4F2FgEwGYQErBVnoTt2FhxiC3/SGsA=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-qRkxDvrqMVOsz5r3m3I+E0HAVoUwFykkfGzTz9Qc/S4=";
|
||||
vendorSha256 = "sha256-HM4SxCvvHz7MZsHa8+Orx1KKCRhyZH28JlN9wW+/xIw=";
|
||||
|
||||
excludedPackages = "misc";
|
||||
|
||||
|
|
|
@ -1,69 +1,20 @@
|
|||
{ lib, stdenv, fetchFromGitHub, maven, jdk17_headless }:
|
||||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
let
|
||||
version = "1.2022.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "plantuml";
|
||||
repo = "plantuml-server";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-55IBhulFo42jscBFrHM39qA0GRgKBoYNye4q9QkmjsM=";
|
||||
};
|
||||
|
||||
# perform fake build to make a fixed-output derivation out of the files downloaded from maven central
|
||||
deps = stdenv.mkDerivation {
|
||||
name = "plantuml-server-${version}-deps";
|
||||
inherit src;
|
||||
nativeBuildInputs = [ jdk17_headless maven ];
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
while mvn package -Dmaven.repo.local=$out/.m2; [ $? = 1 ]; do
|
||||
echo "timeout, restart maven to continue downloading"
|
||||
done
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
# keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside
|
||||
installPhase = ''
|
||||
find $out/.m2 -type f -regex '.+\(\.lastUpdated\|resolver-status\.properties\|_remote\.repositories\)' -delete
|
||||
'';
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-AheCBX5jFzDHqTI2pCWBIiDESEKMClXlvWIcFvu0goA=";
|
||||
};
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "plantuml-server";
|
||||
inherit version;
|
||||
inherit src;
|
||||
|
||||
nativeBuildInputs = [ jdk17_headless maven ];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
# maven can output reproducible files after setting project.build.outputTimestamp property
|
||||
# see https://maven.apache.org/guides/mini/guide-reproducible-builds.html#how-do-i-configure-my-maven-build
|
||||
# 'maven.repo.local' must be writable so copy it out of nix store
|
||||
cp -R $src repo
|
||||
chmod +w -R repo
|
||||
cd repo
|
||||
mvn package --offline \
|
||||
-Dproject.build.outputTimestamp=0 \
|
||||
-Dmaven.repo.local=$(cp -dpR ${deps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
src = fetchurl {
|
||||
url = "https://github.com/plantuml/plantuml-server/releases/download/v${version}/plantuml-v${version}.war";
|
||||
sha256 = "sha256-h4ulXzZ5L+VPhk2CnZQNxfnEJzWT3B9TNvDEWt4o9Hk=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p "$out/webapps"
|
||||
cp "target/plantuml.war" "$out/webapps/plantuml.war"
|
||||
|
||||
runHook postInstall
|
||||
cp "$src" "$out/webapps/plantuml.war"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -13,8 +13,6 @@ buildGoModule rec {
|
|||
|
||||
vendorSha256 = null;
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "HTTP load generator, ApacheBench (ab) replacement";
|
||||
homepage = "https://github.com/rakyll/hey";
|
||||
|
|
|
@ -1,19 +1,20 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, installShellFiles
|
||||
, python3Packages
|
||||
, python3
|
||||
, pandoc
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "httpie";
|
||||
version = "3.0.2";
|
||||
version = "3.1.0";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "httpie";
|
||||
repo = "httpie";
|
||||
rev = version;
|
||||
sha256 = "sha256-s3IFzEUQmPBocgspVGx1nINkUamsi7tzwW37IqdBMxo=";
|
||||
hash = "sha256-x7Zucb2i8D4Xbn77eBzSxOAcc2fGg5MFKFiyJhytQ0s=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -21,7 +22,7 @@ python3Packages.buildPythonApplication rec {
|
|||
pandoc
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
charset-normalizer
|
||||
defusedxml
|
||||
multidict
|
||||
|
@ -31,10 +32,11 @@ python3Packages.buildPythonApplication rec {
|
|||
setuptools
|
||||
];
|
||||
|
||||
checkInputs = with python3Packages; [
|
||||
checkInputs = with python3.pkgs; [
|
||||
mock
|
||||
pytest
|
||||
pytest-httpbin
|
||||
pytest-lazy-fixture
|
||||
pytestCheckHook
|
||||
responses
|
||||
];
|
||||
|
@ -65,7 +67,9 @@ python3Packages.buildPythonApplication rec {
|
|||
"httpie.encoding.detect_encoding"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "httpie" ];
|
||||
pythonImportsCheck = [
|
||||
"httpie"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A command line HTTP client whose goal is to make CLI human-friendly";
|
||||
|
|
|
@ -1,164 +1,23 @@
|
|||
# This file has been autogenerate with cabal2nix.
|
||||
# Update via ./update.sh"
|
||||
{
|
||||
mkDerivation,
|
||||
ansi-terminal,
|
||||
async,
|
||||
attoparsec,
|
||||
base,
|
||||
bytestring,
|
||||
cassava,
|
||||
containers,
|
||||
data-default,
|
||||
directory,
|
||||
haskell,
|
||||
expect,
|
||||
extra,
|
||||
fetchzip,
|
||||
filepath,
|
||||
generic-optics,
|
||||
HUnit,
|
||||
haskellPackages,
|
||||
installShellFiles,
|
||||
lib,
|
||||
lock-file,
|
||||
MemoTrie,
|
||||
mtl,
|
||||
nix-derivation,
|
||||
optics,
|
||||
process,
|
||||
random,
|
||||
relude,
|
||||
runtimeShell,
|
||||
safe,
|
||||
stm,
|
||||
streamly,
|
||||
terminal-size,
|
||||
text,
|
||||
time,
|
||||
unix,
|
||||
vector,
|
||||
wcwidth,
|
||||
word8,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "nix-output-monitor";
|
||||
version = "1.1.2.0";
|
||||
src = fetchzip {
|
||||
url = "https://github.com/maralorn/nix-output-monitor/archive/refs/tags/v1.1.2.0.tar.gz";
|
||||
sha256 = "03qhy4xzika41pxlmvpz3psgy54va72ipn9v1lv33l6369ikrhl1";
|
||||
}: let
|
||||
inherit (haskell.lib.compose) justStaticExecutables overrideCabal;
|
||||
overrides = {
|
||||
passthru.updateScript = ./update.sh;
|
||||
testTarget = "unit-tests";
|
||||
buildTools = [installShellFiles];
|
||||
postInstall = ''
|
||||
substitute "exe-sh/nom-build" "$out/bin/nom-build" \
|
||||
--replace 'unbuffer' '${expect}/bin/unbuffer' \
|
||||
--replace 'nom' "$out/bin/nom"
|
||||
chmod a+x $out/bin/nom-build
|
||||
installShellCompletion --zsh --name _nom-build completions/completion.zsh
|
||||
'';
|
||||
};
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = [
|
||||
ansi-terminal
|
||||
async
|
||||
attoparsec
|
||||
base
|
||||
bytestring
|
||||
cassava
|
||||
containers
|
||||
data-default
|
||||
directory
|
||||
extra
|
||||
filepath
|
||||
generic-optics
|
||||
lock-file
|
||||
MemoTrie
|
||||
mtl
|
||||
nix-derivation
|
||||
optics
|
||||
random
|
||||
relude
|
||||
safe
|
||||
stm
|
||||
streamly
|
||||
terminal-size
|
||||
text
|
||||
time
|
||||
unix
|
||||
vector
|
||||
wcwidth
|
||||
word8
|
||||
];
|
||||
executableHaskellDepends = [
|
||||
ansi-terminal
|
||||
async
|
||||
attoparsec
|
||||
base
|
||||
bytestring
|
||||
cassava
|
||||
containers
|
||||
data-default
|
||||
directory
|
||||
extra
|
||||
filepath
|
||||
generic-optics
|
||||
lock-file
|
||||
MemoTrie
|
||||
mtl
|
||||
nix-derivation
|
||||
optics
|
||||
random
|
||||
relude
|
||||
safe
|
||||
stm
|
||||
streamly
|
||||
terminal-size
|
||||
text
|
||||
time
|
||||
unix
|
||||
vector
|
||||
wcwidth
|
||||
word8
|
||||
];
|
||||
testHaskellDepends = [
|
||||
ansi-terminal
|
||||
async
|
||||
attoparsec
|
||||
base
|
||||
bytestring
|
||||
cassava
|
||||
containers
|
||||
data-default
|
||||
directory
|
||||
extra
|
||||
filepath
|
||||
generic-optics
|
||||
HUnit
|
||||
lock-file
|
||||
MemoTrie
|
||||
mtl
|
||||
nix-derivation
|
||||
optics
|
||||
process
|
||||
random
|
||||
relude
|
||||
safe
|
||||
stm
|
||||
streamly
|
||||
terminal-size
|
||||
text
|
||||
time
|
||||
unix
|
||||
vector
|
||||
wcwidth
|
||||
word8
|
||||
];
|
||||
homepage = "https://github.com/maralorn/nix-output-monitor";
|
||||
description = "Parses output of nix-build to show additional information";
|
||||
license = lib.licenses.agpl3Plus;
|
||||
maintainers = with lib.maintainers; [maralorn];
|
||||
passthru.updateScript = ./update.sh;
|
||||
testTarget = "unit-tests";
|
||||
buildTools = [installShellFiles];
|
||||
postInstall = ''
|
||||
cat > $out/bin/nom-build << EOF
|
||||
#!${runtimeShell}
|
||||
${expect}/bin/unbuffer nix-build "\$@" 2>&1 | exec $out/bin/nom
|
||||
EOF
|
||||
chmod a+x $out/bin/nom-build
|
||||
installShellCompletion --zsh --name _nom-build ${builtins.toFile "completion.zsh" ''
|
||||
#compdef nom-build
|
||||
compdef nom-build=nix-build
|
||||
''}
|
||||
'';
|
||||
}
|
||||
in
|
||||
justStaticExecutables
|
||||
(overrideCabal overrides
|
||||
(haskellPackages.callPackage ./generated-package.nix {}))
|
||||
|
|
147
pkgs/tools/nix/nix-output-monitor/generated-package.nix
Normal file
147
pkgs/tools/nix/nix-output-monitor/generated-package.nix
Normal file
|
@ -0,0 +1,147 @@
|
|||
# This file has been autogenerate with cabal2nix.
|
||||
# Update via ./update.sh"
|
||||
{
|
||||
mkDerivation,
|
||||
ansi-terminal,
|
||||
async,
|
||||
attoparsec,
|
||||
base,
|
||||
bytestring,
|
||||
cassava,
|
||||
containers,
|
||||
data-default,
|
||||
directory,
|
||||
extra,
|
||||
fetchzip,
|
||||
filepath,
|
||||
generic-optics,
|
||||
HUnit,
|
||||
lib,
|
||||
lock-file,
|
||||
MemoTrie,
|
||||
mtl,
|
||||
nix-derivation,
|
||||
optics,
|
||||
process,
|
||||
random,
|
||||
relude,
|
||||
safe,
|
||||
stm,
|
||||
streamly,
|
||||
terminal-size,
|
||||
text,
|
||||
time,
|
||||
unix,
|
||||
vector,
|
||||
wcwidth,
|
||||
word8,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "nix-output-monitor";
|
||||
version = "1.1.2.1";
|
||||
src = fetchzip {
|
||||
url = "https://github.com/maralorn/nix-output-monitor/archive/refs/tags/v1.1.2.1.tar.gz";
|
||||
sha256 = "00jn963jskyqnwvbvn5x0z92x2gv105p5h8m13nlmr90lj4axynx";
|
||||
};
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = [
|
||||
ansi-terminal
|
||||
async
|
||||
attoparsec
|
||||
base
|
||||
bytestring
|
||||
cassava
|
||||
containers
|
||||
data-default
|
||||
directory
|
||||
extra
|
||||
filepath
|
||||
generic-optics
|
||||
lock-file
|
||||
MemoTrie
|
||||
mtl
|
||||
nix-derivation
|
||||
optics
|
||||
random
|
||||
relude
|
||||
safe
|
||||
stm
|
||||
streamly
|
||||
terminal-size
|
||||
text
|
||||
time
|
||||
unix
|
||||
vector
|
||||
wcwidth
|
||||
word8
|
||||
];
|
||||
executableHaskellDepends = [
|
||||
ansi-terminal
|
||||
async
|
||||
attoparsec
|
||||
base
|
||||
bytestring
|
||||
cassava
|
||||
containers
|
||||
data-default
|
||||
directory
|
||||
extra
|
||||
filepath
|
||||
generic-optics
|
||||
lock-file
|
||||
MemoTrie
|
||||
mtl
|
||||
nix-derivation
|
||||
optics
|
||||
random
|
||||
relude
|
||||
safe
|
||||
stm
|
||||
streamly
|
||||
terminal-size
|
||||
text
|
||||
time
|
||||
unix
|
||||
vector
|
||||
wcwidth
|
||||
word8
|
||||
];
|
||||
testHaskellDepends = [
|
||||
ansi-terminal
|
||||
async
|
||||
attoparsec
|
||||
base
|
||||
bytestring
|
||||
cassava
|
||||
containers
|
||||
data-default
|
||||
directory
|
||||
extra
|
||||
filepath
|
||||
generic-optics
|
||||
HUnit
|
||||
lock-file
|
||||
MemoTrie
|
||||
mtl
|
||||
nix-derivation
|
||||
optics
|
||||
process
|
||||
random
|
||||
relude
|
||||
safe
|
||||
stm
|
||||
streamly
|
||||
terminal-size
|
||||
text
|
||||
time
|
||||
unix
|
||||
vector
|
||||
wcwidth
|
||||
word8
|
||||
];
|
||||
homepage = "https://github.com/maralorn/nix-output-monitor";
|
||||
description = "Parses output of nix-build to show additional information";
|
||||
license = lib.licenses.agpl3Plus;
|
||||
maintainers = with lib.maintainers; [maralorn];
|
||||
}
|
|
@ -9,7 +9,7 @@ set -eo pipefail
|
|||
# This is the directory of this update.sh script.
|
||||
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||
|
||||
derivation_file="${script_dir}/default.nix"
|
||||
derivation_file="${script_dir}/generated-package.nix"
|
||||
|
||||
# This is the latest released version of nix-output-monitor on GitHub.
|
||||
new_version=$(curl --silent "https://api.github.com/repos/maralorn/nix-output-monitor/releases" | jq '.[0].tag_name' --raw-output)
|
||||
|
@ -23,30 +23,9 @@ cat > "$derivation_file" << EOF
|
|||
EOF
|
||||
|
||||
cabal2nix \
|
||||
--extra-arguments expect \
|
||||
--extra-arguments runtimeShell\
|
||||
--extra-arguments installShellFiles\
|
||||
--maintainer maralorn \
|
||||
"https://github.com/maralorn/nix-output-monitor/archive/refs/tags/${new_version}.tar.gz" \
|
||||
| head -n-1 >> "$derivation_file"
|
||||
|
||||
cat >> "$derivation_file" << EOF
|
||||
passthru.updateScript = ./update.sh;
|
||||
testTarget = "unit-tests";
|
||||
buildTools = [ installShellFiles ];
|
||||
postInstall = ''
|
||||
cat > \$out/bin/nom-build << EOF
|
||||
#!\${runtimeShell}
|
||||
\${expect}/bin/unbuffer nix-build "\\\$@" 2>&1 | exec \$out/bin/nom
|
||||
EOF
|
||||
chmod a+x \$out/bin/nom-build
|
||||
installShellCompletion --zsh --name _nom-build \${builtins.toFile "completion.zsh" ''
|
||||
#compdef nom-build
|
||||
compdef nom-build=nix-build
|
||||
''}
|
||||
'';
|
||||
}
|
||||
EOF
|
||||
>> "$derivation_file"
|
||||
|
||||
alejandra "${derivation_file}" | cat
|
||||
|
||||
|
|
|
@ -5,16 +5,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "cariddi";
|
||||
version = "1.1.5";
|
||||
version = "1.1.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "edoardottt";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-PXQljC9rwlxXQ96fII3EjD4NXu61EMkYvMWqkcJZ4vU=";
|
||||
sha256 = "sha256-/ez2biYU8NnVny8v5Mu9pLq0oqzcIenpyEb3qkPd9v8=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-zNUdglsfy6lEV54afCAoigxa3rR0qf/e3+B4PvVRIa4=";
|
||||
vendorSha256 = "sha256-zJ39tAq+ooROMHG1vC2m2rbq+wttxqYxAd2hLg5GtJM=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Crawler for URLs and endpoints";
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "cfripper";
|
||||
version = "1.5.1";
|
||||
version = "1.5.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Skyscanner";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-/qcpLCk1ZZMKxhqK6q6sSbRDjiF5GQmDJzvCaV2kAqQ=";
|
||||
hash = "sha256-tl0g08nnY1CZ4SNcMFPARIRquiO9SCen9VWeNalLHds=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
|
|
45
pkgs/tools/security/feroxbuster/default.nix
Normal file
45
pkgs/tools/security/feroxbuster/default.nix
Normal file
|
@ -0,0 +1,45 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, openssl
|
||||
, pkg-config
|
||||
, rustPlatform
|
||||
, Security
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "feroxbuster";
|
||||
version = "2.6.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "epi052";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-RY9bFuALRaVXDrC0eIx0inPjRqNpRKNZf3mCrKIdGL8=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-0Zawlx/lhF7K8nOsHYKO84pnctVMpm3RfnAFCOltOqE=";
|
||||
|
||||
OPENSSL_NO_VENDOR = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
Security
|
||||
];
|
||||
|
||||
# Tests require network access
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Fast, simple, recursive content discovery tool";
|
||||
homepage = "https://github.com/epi052/feroxbuster";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "grype";
|
||||
version = "0.34.1";
|
||||
version = "0.34.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "anchore";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Xr3ws6qmfL25Kml7Klw095N9MNrm6a8lBtOWiucnzXE=";
|
||||
sha256 = "sha256-tMkMGM45/LcFllEgQ3UTl6FsLJmdsU8SLcLH/8+zMA4=";
|
||||
# populate values that require us to use git. By doing this in postFetch we
|
||||
# can delete .git afterwards and maintain better reproducibility of the src.
|
||||
leaveDotGit = true;
|
||||
|
@ -27,7 +27,7 @@ buildGoModule rec {
|
|||
'';
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-fuOAfLESs/97aQUkIy6DkmYFyvKKCHazgt1WnE8GeH8=";
|
||||
vendorSha256 = "sha256-WrUZFlN7dPbyN9InjX/Y9J+iYKu5v2/SHmRgDP5BJi8=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "sigma-cli";
|
||||
version = "0.3.0";
|
||||
version = "0.3.2";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SigmaHQ";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Nfd78Y35naDTzwodcdvJr/02CptcHxS717VGsR/QOuI=";
|
||||
hash = "sha256-We6vJXLIxGe//78pgJFrihFJHl0gRd02I53hoYWcao0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
|
|
|
@ -2388,6 +2388,8 @@ with pkgs;
|
|||
|
||||
borgmatic = callPackage ../tools/backup/borgmatic { };
|
||||
|
||||
borg-sans-mono = callPackage ../data/fonts/borg-sans-mono { };
|
||||
|
||||
boringtun = callPackage ../tools/networking/boringtun { };
|
||||
|
||||
bookstack = callPackage ../servers/web-apps/bookstack { };
|
||||
|
@ -3428,6 +3430,8 @@ with pkgs;
|
|||
inherit (darwin.apple_sdk.frameworks) Security;
|
||||
};
|
||||
|
||||
lapce = callPackage ../applications/editors/lapce { };
|
||||
|
||||
lcdproc = callPackage ../servers/monitoring/lcdproc { };
|
||||
|
||||
languagetool = callPackage ../tools/text/languagetool { };
|
||||
|
@ -3602,7 +3606,7 @@ with pkgs;
|
|||
|
||||
nix-direnv = callPackage ../tools/misc/nix-direnv { };
|
||||
|
||||
nix-output-monitor = haskell.lib.compose.justStaticExecutables (haskellPackages.nix-output-monitor);
|
||||
nix-output-monitor = callPackage ../tools/nix/nix-output-monitor { };
|
||||
|
||||
nix-template = callPackage ../tools/package-management/nix-template {
|
||||
inherit (darwin.apple_sdk.frameworks) Security;
|
||||
|
@ -5437,6 +5441,10 @@ with pkgs;
|
|||
|
||||
ferm = callPackage ../tools/networking/ferm { };
|
||||
|
||||
feroxbuster = callPackage ../tools/security/feroxbuster {
|
||||
inherit (darwin.apple_sdk.frameworks) Security;
|
||||
};
|
||||
|
||||
ffsend = callPackage ../tools/misc/ffsend {
|
||||
inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Security AppKit;
|
||||
};
|
||||
|
@ -17906,6 +17914,8 @@ with pkgs;
|
|||
|
||||
libctemplate = callPackage ../development/libraries/libctemplate { };
|
||||
|
||||
libctl = callPackage ../development/libraries/libctl { };
|
||||
|
||||
libcotp = callPackage ../development/libraries/libcotp { };
|
||||
|
||||
libcouchbase = callPackage ../development/libraries/libcouchbase { };
|
||||
|
|
Loading…
Reference in a new issue