git.iko.soy/typeable/nixpkgs
on master help sign in
Merge master into staging-next
commitd748b42756f99fa3e17febe7149b52316560f316 authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> dateThu 17 Mar 2022, 00:02 (5 years ago) parentdecff882e80229
84 files changed+1165−687
lib/modules.nix+62−12 lib/options.nix+1−1 lib/tests/modules.sh+13 lib/tests/modules/declare-bare-submodule-deep-option-duplicate.nix+10 lib/tests/modules/declare-bare-submodule-deep-option.nix+10 lib/tests/modules/declare-bare-submodule-nested-option.nix+19 lib/tests/modules/declare-bare-submodule.nix+18 lib/tests/modules/declare-set.nix+12 lib/tests/modules/define-bare-submodule-values.nix+4 lib/tests/modules/define-shorthandOnlyDefinesConfig-true.nix+1 lib/types.nix+15−7 maintainers/maintainer-list.nix+6 nixos/doc/manual/development/option-declarations.section.md+4−3 nixos/doc/manual/from_md/development/option-declarations.section.xml+5−3 nixos/doc/manual/from_md/release-notes/rl-2205.section.xml+46 nixos/doc/manual/release-notes/rl-2205.section.md+8 nixos/lib/make-options-doc/mergeJSON.py+8−1 nixos/lib/systemd-lib.nix+202 nixos/modules/misc/locate.nix+5−1 nixos/modules/services/networking/nsd.nix+8−12 nixos/modules/services/networking/unbound.nix+1 nixos/modules/services/networking/vsftpd.nix+1 nixos/modules/services/x11/display-managers/default.nix+18 nixos/modules/system/boot/kernel.nix+1−1 nixos/modules/system/boot/stage-1.nix+1−1 nixos/modules/system/boot/systemd.nix+16−201 pkgs/applications/audio/mopidy/ytmusic.nix+11−2 pkgs/applications/editors/lapce/default.nix+83 pkgs/applications/editors/lapce/fix-version.patch+31 pkgs/applications/misc/kratos/default.nix+4−4 pkgs/applications/misc/mob/default.nix+2−2 pkgs/applications/networking/browsers/brave/default.nix+2−2 pkgs/applications/networking/browsers/chromium/upstream-info.json+7−7 pkgs/applications/video/freetube/default.nix+2−2 pkgs/data/fonts/borg-sans-mono/default.nix+26 pkgs/development/compilers/crystal/default.nix+9−1 pkgs/development/haskell-modules/non-hackage-packages.nix−2 pkgs/development/interpreters/python/default.nix+2−2 pkgs/development/libraries/intel-gmmlib/default.nix+2−2 pkgs/development/libraries/libctl/default.nix+31 pkgs/development/python-modules/androidtv/default.nix+2−2 pkgs/development/python-modules/azure-mgmt-monitor/default.nix+10−8 pkgs/development/python-modules/env-canada/default.nix+2−2 pkgs/development/python-modules/intellifire4py/default.nix+2−2 pkgs/development/python-modules/nassl/default.nix+56−35 pkgs/development/python-modules/pykrakenapi/default.nix+2−2 pkgs/development/python-modules/pysigma-backend-splunk/default.nix+2−2 pkgs/development/python-modules/pysigma-pipeline-crowdstrike/default.nix+2−2 pkgs/development/python-modules/pysigma-pipeline-sysmon/default.nix+2−2 pkgs/development/python-modules/pysigma/default.nix+3−15 pkgs/development/python-modules/soco/default.nix+2−2 pkgs/development/python-modules/sslyze/default.nix+2−2 pkgs/development/python-modules/tls-parser/default.nix+11−5 pkgs/development/python-modules/twentemilieu/default.nix+2−2 pkgs/development/tools/electron/default.nix+32−32 pkgs/development/tools/gomodifytags/default.nix+4−6 pkgs/development/tools/kcli/default.nix−2 pkgs/os-specific/linux/kernel/linux-4.14.nix+2−2 pkgs/os-specific/linux/kernel/linux-4.19.nix+2−2 pkgs/os-specific/linux/kernel/linux-4.9.nix+2−2 pkgs/os-specific/linux/kernel/linux-5.10.nix+2−2 pkgs/os-specific/linux/kernel/linux-5.15.nix+2−2 pkgs/os-specific/linux/kernel/linux-5.16.nix+2−2 pkgs/os-specific/linux/kernel/linux-5.4.nix+2−2 pkgs/os-specific/linux/kernel/linux-libre.nix+2−2 pkgs/os-specific/linux/usbguard/default.nix+2−2 pkgs/servers/dns/coredns/default.nix+9−2 pkgs/servers/http/apache-httpd/2.4.nix+6−4 pkgs/tools/admin/berglas/default.nix+29−4 pkgs/tools/admin/fits-cloudctl/default.nix+2−2 pkgs/tools/admin/syft/default.nix+3−3 pkgs/tools/admin/trivy/default.nix+3−3 pkgs/tools/misc/plantuml-server/default.nix+7−56 pkgs/tools/networking/hey/default.nix−2 pkgs/tools/networking/httpie/default.nix+11−7 pkgs/tools/nix/nix-output-monitor/default.nix+19−160 pkgs/tools/nix/nix-output-monitor/generated-package.nix+147 pkgs/tools/nix/nix-output-monitor/update.sh+2−23 pkgs/tools/security/cariddi/default.nix+3−3 pkgs/tools/security/cfripper/default.nix+2−2 pkgs/tools/security/feroxbuster/default.nix+45 pkgs/tools/security/grype/default.nix+3−3 pkgs/tools/security/sigma-cli/default.nix+2−2 pkgs/top-level/all-packages.nix+11−1
lib/modules.nix+62−12
@@ -9,7 +9,7 @@ let
99 catAttrs
1010 concatLists
1111 concatMap
12− count
12+ concatStringsSep
1313 elem
1414 filter
1515 findFirst
@@ -47,6 +47,20 @@ let
4747 showOption
4848 unknownModule
4949 ;
50+
51+ showDeclPrefix = loc: decl: prefix:
52+ " - option(s) with prefix `${showOption (loc ++ [prefix])}' in module `${decl._file}'";
53+ showRawDecls = loc: decls:
54+ concatStringsSep "\n"
55+ (sort (a: b: a < b)
56+ (concatMap
57+ (decl: map
58+ (showDeclPrefix loc decl)
59+ (attrNames decl.options)
60+ )
61+ decls
62+ ));
63+
5064in
5165
5266rec {
@@ -474,26 +488,61 @@ rec {
474488 [{ inherit (module) file; inherit value; }]
475489 ) configs;
476490
491+ # Convert an option tree decl to a submodule option decl
492+ optionTreeToOption = decl:
493+ if isOption decl.options
494+ then decl
495+ else decl // {
496+ options = mkOption {
497+ type = types.submoduleWith {
498+ modules = [ { options = decl.options; } ];
499+ # `null` is not intended for use by modules. It is an internal
500+ # value that means "whatever the user has declared elsewhere".
501+ # This might become obsolete with https://github.com/NixOS/nixpkgs/issues/162398
502+ shorthandOnlyDefinesConfig = null;
503+ };
504+ };
505+ };
506+
477507 resultsByName = mapAttrs (name: decls:
478508 # We're descending into attribute ‘name’.
479509 let
480510 loc = prefix ++ [name];
481511 defns = defnsByName.${name} or [];
482512 defns' = defnsByName'.${name} or [];
483− nrOptions = count (m: isOption m.options) decls;
513+ optionDecls = filter (m: isOption m.options) decls;
484514 in
485− if nrOptions == length decls then
515+ if length optionDecls == length decls then
486516 let opt = fixupOptionType loc (mergeOptionDecls loc decls);
487517 in {
488518 matchedOptions = evalOptionValue loc opt defns';
489519 unmatchedDefns = [];
490520 }
491− else if nrOptions != 0 then
492− let
493− firstOption = findFirst (m: isOption m.options) "" decls;
494− firstNonOption = findFirst (m: !isOption m.options) "" decls;
495− in
496− throw "The option `${showOption loc}' in `${firstOption._file}' is a prefix of options in `${firstNonOption._file}'."
521+ else if optionDecls != [] then
522+ if all (x: x.options.type.name == "submodule") optionDecls
523+ # Raw options can only be merged into submodules. Merging into
524+ # attrsets might be nice, but ambiguous. Suppose we have
525+ # attrset as a `attrsOf submodule`. User declares option
526+ # attrset.foo.bar, this could mean:
527+ # a. option `bar` is only available in `attrset.foo`
528+ # b. option `foo.bar` is available in all `attrset.*`
529+ # c. reject and require "<name>" as a reminder that it behaves like (b).
530+ # d. magically combine (a) and (c).
531+ # All of the above are merely syntax sugar though.
532+ then
533+ let opt = fixupOptionType loc (mergeOptionDecls loc (map optionTreeToOption decls));
534+ in {
535+ matchedOptions = evalOptionValue loc opt defns';
536+ unmatchedDefns = [];
537+ }
538+ else
539+ let
540+ firstNonOption = findFirst (m: !isOption m.options) "" decls;
541+ nonOptions = filter (m: !isOption m.options) decls;
542+ in
543+ 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${
544+ showRawDecls loc nonOptions
545+ }"
497546 else
498547 mergeModules' loc decls defns) declsByName;
499548
@@ -753,13 +802,14 @@ rec {
753802 compare = a: b: (a.priority or 1000) < (b.priority or 1000);
754803 in sort compare defs';
755804
756− /* Hack for backward compatibility: convert options of type
757− optionSet to options of type submodule. FIXME: remove
758− eventually. */
759805 fixupOptionType = loc: opt:
760806 let
761807 options = opt.options or
762808 (throw "Option `${showOption loc}' has type optionSet but has no option attribute, in ${showFiles opt.declarations}.");
809+
810+ # Hack for backward compatibility: convert options of type
811+ # optionSet to options of type submodule. FIXME: remove
812+ # eventually.
763813 f = tp:
764814 if tp.name == "option set" || tp.name == "submodule" then
765815 throw "The option ${showOption loc} uses submodules without a wrapping type, in ${showFiles opt.declarations}."
lib/options.nix+1−1
@@ -231,7 +231,7 @@ rec {
231231 then true
232232 else opt.visible or true;
233233 readOnly = opt.readOnly or false;
234− type = opt.type.description or null;
234+ type = opt.type.description or "unspecified";
235235 }
236236 // optionalAttrs (opt ? example) { example = scrubOptionValue opt.example; }
237237 // optionalAttrs (opt ? default) { default = scrubOptionValue opt.default; }
lib/tests/modules.sh+13
@@ -62,6 +62,13 @@ checkConfigError() {
6262checkConfigOutput '^false$' config.enable ./declare-enable.nix
6363checkConfigError 'The option .* does not exist. Definition values:\n\s*- In .*: true' config.enable ./define-enable.nix
6464
65+checkConfigOutput '^1$' config.bare-submodule.nested ./declare-bare-submodule.nix ./declare-bare-submodule-nested-option.nix
66+checkConfigOutput '^2$' config.bare-submodule.deep ./declare-bare-submodule.nix ./declare-bare-submodule-deep-option.nix
67+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
68+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
69+checkConfigOutput '^2$' config.bare-submodule.deep ./declare-bare-submodule.nix ./declare-bare-submodule-deep-option.nix ./define-shorthandOnlyDefinesConfig-true.nix
70+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
71+
6572# Check integer types.
6673# unsigned
6774checkConfigOutput '^42$' config.value ./declare-int-unsigned-value.nix ./define-value-int-positive.nix
@@ -304,6 +311,12 @@ checkConfigOutput "10" config.processedToplevel ./raw.nix
304311checkConfigError "The option .multiple. is defined multiple times" config.multiple ./raw.nix
305312checkConfigOutput "bar" config.priorities ./raw.nix
306313
314+## Option collision
315+checkConfigError \
316+ '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.' \
317+ config.set \
318+ ./declare-set.nix ./declare-enable-nested.nix
319+
307320# Test that types.optionType merges types correctly
308321checkConfigOutput '^10$' config.theOption.int ./optionTypeMerging.nix
309322checkConfigOutput '^"hello"$' config.theOption.str ./optionTypeMerging.nix
lib/tests/modules/declare-bare-submodule-deep-option-duplicate.nixnew file+10
@@ -0,0 +1,10 @@
1+{ lib, ... }:
2+let
3+ inherit (lib) mkOption types;
4+in
5+{
6+ options.bare-submodule.deep = mkOption {
7+ type = types.int;
8+ default = 2;
9+ };
10+}
lib/tests/modules/declare-bare-submodule-deep-option.nixnew file+10
@@ -0,0 +1,10 @@
1+{ lib, ... }:
2+let
3+ inherit (lib) mkOption types;
4+in
5+{
6+ options.bare-submodule.deep = mkOption {
7+ type = types.int;
8+ default = 2;
9+ };
10+}
lib/tests/modules/declare-bare-submodule-nested-option.nixnew file+19
@@ -0,0 +1,19 @@
1+{ config, lib, ... }:
2+let
3+ inherit (lib) mkOption types;
4+in
5+{
6+ options.bare-submodule = mkOption {
7+ type = types.submoduleWith {
8+ shorthandOnlyDefinesConfig = config.shorthandOnlyDefinesConfig;
9+ modules = [
10+ {
11+ options.nested = mkOption {
12+ type = types.int;
13+ default = 1;
14+ };
15+ }
16+ ];
17+ };
18+ };
19+}
lib/tests/modules/declare-bare-submodule.nixnew file+18
@@ -0,0 +1,18 @@
1+{ config, lib, ... }:
2+let
3+ inherit (lib) mkOption types;
4+in
5+{
6+ options.bare-submodule = mkOption {
7+ type = types.submoduleWith {
8+ modules = [ ];
9+ shorthandOnlyDefinesConfig = config.shorthandOnlyDefinesConfig;
10+ };
11+ default = {};
12+ };
13+
14+ # config-dependent options: won't recommend, but useful for making this test parameterized
15+ options.shorthandOnlyDefinesConfig = mkOption {
16+ default = false;
17+ };
18+}
lib/tests/modules/declare-set.nixnew file+12
@@ -0,0 +1,12 @@
1+{ lib, ... }:
2+
3+{
4+ options.set = lib.mkOption {
5+ default = { };
6+ example = { a = 1; };
7+ type = lib.types.attrsOf lib.types.int;
8+ description = ''
9+ Some descriptive text
10+ '';
11+ };
12+}
lib/tests/modules/define-bare-submodule-values.nixnew file+4
@@ -0,0 +1,4 @@
1+{
2+ bare-submodule.nested = 42;
3+ bare-submodule.deep = 420;
4+}
lib/tests/modules/define-shorthandOnlyDefinesConfig-true.nixnew file+1
@@ -0,0 +1 @@
1+{ shorthandOnlyDefinesConfig = true; }
lib/types.nix+15−7
@@ -572,14 +572,18 @@ rec {
572572 let
573573 inherit (lib.modules) evalModules;
574574
575− coerce = unify: value: if isFunction value
576− then setFunctionArgs (args: unify (value args)) (functionArgs value)
577− else unify (if shorthandOnlyDefinesConfig then { config = value; } else value);
575+ shorthandToModule = if shorthandOnlyDefinesConfig == false
576+ then value: value
577+ else value: { config = value; };
578578
579579 allModules = defs: imap1 (n: { value, file }:
580− if isAttrs value || isFunction value then
581− # Annotate the value with the location of its definition for better error messages
582− coerce (lib.modules.unifyModuleSyntax file "${toString file}-${toString n}") value
580+ if isFunction value
581+ then setFunctionArgs
582+ (args: lib.modules.unifyModuleSyntax file "${toString file}-${toString n}" (value args))
583+ (functionArgs value)
584+ else if isAttrs value
585+ then
586+ lib.modules.unifyModuleSyntax file "${toString file}-${toString n}" (shorthandToModule value)
583587 else value
584588 ) defs;
585589
@@ -647,7 +651,11 @@ rec {
647651 then lhs.specialArgs // rhs.specialArgs
648652 else throw "A submoduleWith option is declared multiple times with the same specialArgs \"${toString (attrNames intersecting)}\"";
649653 shorthandOnlyDefinesConfig =
650− if lhs.shorthandOnlyDefinesConfig == rhs.shorthandOnlyDefinesConfig
654+ if lhs.shorthandOnlyDefinesConfig == null
655+ then rhs.shorthandOnlyDefinesConfig
656+ else if rhs.shorthandOnlyDefinesConfig == null
657+ then lhs.shorthandOnlyDefinesConfig
658+ else if lhs.shorthandOnlyDefinesConfig == rhs.shorthandOnlyDefinesConfig
651659 then lhs.shorthandOnlyDefinesConfig
652660 else throw "A submoduleWith option is declared multiple times with conflicting shorthandOnlyDefinesConfig values";
653661 };
maintainers/maintainer-list.nix+6
@@ -1901,6 +1901,12 @@
19011901 githubId = 82591;
19021902 name = "Carl Sverre";
19031903 };
1904+ carpinchomug = {
1905+ email = "aki.suda@protonmail.com";
1906+ github = "carpinchomug";
1907+ githubId = 101536256;
1908+ name = "Akiyoshi Suda";
1909+ };
19041910 cartr = {
19051911 email = "carter.sande@duodecima.technology";
19061912 github = "cartr";
nixos/doc/manual/development/option-declarations.section.md+4−3
@@ -27,9 +27,10 @@ The function `mkOption` accepts the following arguments.
2727
2828`type`
2929
30−: The type of the option (see [](#sec-option-types)). It may be
31− omitted, but that's not advisable since it may lead to errors that
32− are hard to diagnose.
30+: The type of the option (see [](#sec-option-types)). This
31+ argument is mandatory for nixpkgs modules. Setting this is highly
32+ recommended for the sake of documentation and type checking. In case it is
33+ not set, a fallback type with unspecified behavior is used.
3334
3435`default`
3536
nixos/doc/manual/from_md/development/option-declarations.section.xml+5−3
@@ -38,9 +38,11 @@ options = {
3838 <listitem>
3939 <para>
4040 The type of the option (see
41− <xref linkend="sec-option-types" />). It may be omitted, but
42− that’s not advisable since it may lead to errors that are hard
43− to diagnose.
41+ <xref linkend="sec-option-types" />). This argument is
42+ mandatory for nixpkgs modules. Setting this is highly
43+ recommended for the sake of documentation and type checking.
44+ In case it is not set, a fallback type with unspecified
45+ behavior is used.
4446 </para>
4547 </listitem>
4648 </varlistentry>
nixos/doc/manual/from_md/release-notes/rl-2205.section.xml+46
@@ -1332,6 +1332,52 @@
13321332 instead of <literal>configuration.nix</literal>.
13331333 </para>
13341334 </listitem>
1335+ <listitem>
1336+ <para>
1337+ ORY Kratos was updated to version 0.8.3-alpha.1.pre.0, which
1338+ introduces some breaking changes:
1339+ </para>
1340+ <itemizedlist spacing="compact">
1341+ <listitem>
1342+ <para>
1343+ If you are relying on the SQLite images, update your
1344+ Docker Pull commands as follows:
1345+ </para>
1346+ <itemizedlist spacing="compact">
1347+ <listitem>
1348+ <para>
1349+ <literal>docker pull oryd/kratos:{version}</literal>
1350+ </para>
1351+ </listitem>
1352+ </itemizedlist>
1353+ </listitem>
1354+ <listitem>
1355+ <para>
1356+ Additionally, all passwords now have to be at least 8
1357+ characters long.
1358+ </para>
1359+ </listitem>
1360+ <listitem>
1361+ <para>
1362+ For more details, see:
1363+ </para>
1364+ <itemizedlist spacing="compact">
1365+ <listitem>
1366+ <para>
1367+ <link xlink:href="https://github.com/ory/kratos/releases/tag/v0.8.1-alpha.1">Release
1368+ Notes for v0.8.1-alpha-1</link>
1369+ </para>
1370+ </listitem>
1371+ <listitem>
1372+ <para>
1373+ <link xlink:href="https://github.com/ory/kratos/releases/tag/v0.8.2-alpha.1">Release
1374+ Notes for v0.8.2-alpha-1</link>
1375+ </para>
1376+ </listitem>
1377+ </itemizedlist>
1378+ </listitem>
1379+ </itemizedlist>
1380+ </listitem>
13351381 <listitem>
13361382 <para>
13371383 <literal>fetchFromSourcehut</literal> now allows fetching
nixos/doc/manual/release-notes/rl-2205.section.md+8
@@ -495,6 +495,14 @@ In addition to numerous new and upgraded packages, this release has the followin
495495
496496- `nixos-generate-config` now puts the dhcp configuration in `hardware-configuration.nix` instead of `configuration.nix`.
497497
498+- ORY Kratos was updated to version 0.8.3-alpha.1.pre.0, which introduces some breaking changes:
499+ - If you are relying on the SQLite images, update your Docker Pull commands as follows:
500+ - `docker pull oryd/kratos:{version}`
501+ - Additionally, all passwords now have to be at least 8 characters long.
502+ - For more details, see:
503+ - [Release Notes for v0.8.1-alpha-1](https://github.com/ory/kratos/releases/tag/v0.8.1-alpha.1)
504+ - [Release Notes for v0.8.2-alpha-1](https://github.com/ory/kratos/releases/tag/v0.8.2-alpha.1)
505+
498506- `fetchFromSourcehut` now allows fetching repositories recursively
499507 using `fetchgit` or `fetchhg` if the argument `fetchSubmodules`
500508 is set to `true`.
nixos/lib/make-options-doc/mergeJSON.py+8−1
@@ -66,14 +66,21 @@ for (k, v) in overrides.items():
6666 elif ov is not None or cur.get(ok, None) is None:
6767 cur[ok] = ov
6868
69+severity = "error" if warningsAreErrors else "warning"
70+
6971# check that every option has a description
7072hasWarnings = False
7173for (k, v) in options.items():
7274 if v.value.get('description', None) is None:
73− severity = "error" if warningsAreErrors else "warning"
7475 hasWarnings = True
7576 print(f"\x1b[1;31m{severity}: option {v.name} has no description\x1b[0m", file=sys.stderr)
7677 v.value['description'] = "This option has no description."
78+ if v.value.get('type', "unspecified") == "unspecified":
79+ hasWarnings = True
80+ print(
81+ f"\x1b[1;31m{severity}: option {v.name} has no type. Please specify a valid type, see " +
82+ "https://nixos.org/manual/nixos/stable/index.html#sec-option-types\x1b[0m", file=sys.stderr)
83+
7784if hasWarnings and warningsAreErrors:
7885 print(
7986 "\x1b[1;31m" +
nixos/lib/systemd-lib.nix+202
@@ -5,6 +5,7 @@ with lib;
55let
66 cfg = config.systemd;
77 lndir = "${pkgs.buildPackages.xorg.lndir}/bin/lndir";
8+ systemd = cfg.package;
89in rec {
910
1011 shellEscape = s: (replaceChars [ "\\" ] [ "\\\\" ] s);
@@ -235,4 +236,205 @@ in rec {
235236 ''}
236237 ''; # */
237238
239+ makeJobScript = name: text:
240+ let
241+ scriptName = replaceChars [ "\\" "@" ] [ "-" "_" ] (shellEscape name);
242+ out = (pkgs.writeShellScriptBin scriptName ''
243+ set -e
244+ ${text}
245+ '').overrideAttrs (_: {
246+ # The derivation name is different from the script file name
247+ # to keep the script file name short to avoid cluttering logs.
248+ name = "unit-script-${scriptName}";
249+ });
250+ in "${out}/bin/${scriptName}";
251+
252+ unitConfig = { config, options, ... }: {
253+ config = {
254+ unitConfig =
255+ optionalAttrs (config.requires != [])
256+ { Requires = toString config.requires; }
257+ // optionalAttrs (config.wants != [])
258+ { Wants = toString config.wants; }
259+ // optionalAttrs (config.after != [])
260+ { After = toString config.after; }
261+ // optionalAttrs (config.before != [])
262+ { Before = toString config.before; }
263+ // optionalAttrs (config.bindsTo != [])
264+ { BindsTo = toString config.bindsTo; }
265+ // optionalAttrs (config.partOf != [])
266+ { PartOf = toString config.partOf; }
267+ // optionalAttrs (config.conflicts != [])
268+ { Conflicts = toString config.conflicts; }
269+ // optionalAttrs (config.requisite != [])
270+ { Requisite = toString config.requisite; }
271+ // optionalAttrs (config.restartTriggers != [])
272+ { X-Restart-Triggers = toString config.restartTriggers; }
273+ // optionalAttrs (config.reloadTriggers != [])
274+ { X-Reload-Triggers = toString config.reloadTriggers; }
275+ // optionalAttrs (config.description != "") {
276+ Description = config.description; }
277+ // optionalAttrs (config.documentation != []) {
278+ Documentation = toString config.documentation; }
279+ // optionalAttrs (config.onFailure != []) {
280+ OnFailure = toString config.onFailure; }
281+ // optionalAttrs (options.startLimitIntervalSec.isDefined) {
282+ StartLimitIntervalSec = toString config.startLimitIntervalSec;
283+ } // optionalAttrs (options.startLimitBurst.isDefined) {
284+ StartLimitBurst = toString config.startLimitBurst;
285+ };
286+ };
287+ };
288+
289+ serviceConfig = { name, config, ... }: {
290+ config = mkMerge
291+ [ { # Default path for systemd services. Should be quite minimal.
292+ path = mkAfter
293+ [ pkgs.coreutils
294+ pkgs.findutils
295+ pkgs.gnugrep
296+ pkgs.gnused
297+ systemd
298+ ];
299+ environment.PATH = "${makeBinPath config.path}:${makeSearchPathOutput "bin" "sbin" config.path}";
300+ }
301+ (mkIf (config.preStart != "")
302+ { serviceConfig.ExecStartPre =
303+ [ (makeJobScript "${name}-pre-start" config.preStart) ];
304+ })
305+ (mkIf (config.script != "")
306+ { serviceConfig.ExecStart =
307+ makeJobScript "${name}-start" config.script + " " + config.scriptArgs;
308+ })
309+ (mkIf (config.postStart != "")
310+ { serviceConfig.ExecStartPost =
311+ [ (makeJobScript "${name}-post-start" config.postStart) ];
312+ })
313+ (mkIf (config.reload != "")
314+ { serviceConfig.ExecReload =
315+ makeJobScript "${name}-reload" config.reload;
316+ })
317+ (mkIf (config.preStop != "")
318+ { serviceConfig.ExecStop =
319+ makeJobScript "${name}-pre-stop" config.preStop;
320+ })
321+ (mkIf (config.postStop != "")
322+ { serviceConfig.ExecStopPost =
323+ makeJobScript "${name}-post-stop" config.postStop;
324+ })
325+ ];
326+ };
327+
328+ mountConfig = { config, ... }: {
329+ config = {
330+ mountConfig =
331+ { What = config.what;
332+ Where = config.where;
333+ } // optionalAttrs (config.type != "") {
334+ Type = config.type;
335+ } // optionalAttrs (config.options != "") {
336+ Options = config.options;
337+ };
338+ };
339+ };
340+
341+ automountConfig = { config, ... }: {
342+ config = {
343+ automountConfig =
344+ { Where = config.where;
345+ };
346+ };
347+ };
348+
349+ commonUnitText = def: ''
350+ [Unit]
351+ ${attrsToSection def.unitConfig}
352+ '';
353+
354+ targetToUnit = name: def:
355+ { inherit (def) aliases wantedBy requiredBy enable;
356+ text =
357+ ''
358+ [Unit]
359+ ${attrsToSection def.unitConfig}
360+ '';
361+ };
362+
363+ serviceToUnit = name: def:
364+ { inherit (def) aliases wantedBy requiredBy enable;
365+ text = commonUnitText def +
366+ ''
367+ [Service]
368+ ${let env = cfg.globalEnvironment // def.environment;
369+ in concatMapStrings (n:
370+ let s = optionalString (env.${n} != null)
371+ "Environment=${builtins.toJSON "${n}=${env.${n}}"}\n";
372+ # systemd max line length is now 1MiB
373+ # https://github.com/systemd/systemd/commit/e6dde451a51dc5aaa7f4d98d39b8fe735f73d2af
374+ 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)}
375+ ${if def.reloadIfChanged then ''
376+ X-ReloadIfChanged=true
377+ '' else if !def.restartIfChanged then ''
378+ X-RestartIfChanged=false
379+ '' else ""}
380+ ${optionalString (!def.stopIfChanged) "X-StopIfChanged=false"}
381+ ${attrsToSection def.serviceConfig}
382+ '';
383+ };
384+
385+ socketToUnit = name: def:
386+ { inherit (def) aliases wantedBy requiredBy enable;
387+ text = commonUnitText def +
388+ ''
389+ [Socket]
390+ ${attrsToSection def.socketConfig}
391+ ${concatStringsSep "\n" (map (s: "ListenStream=${s}") def.listenStreams)}
392+ ${concatStringsSep "\n" (map (s: "ListenDatagram=${s}") def.listenDatagrams)}
393+ '';
394+ };
395+
396+ timerToUnit = name: def:
397+ { inherit (def) aliases wantedBy requiredBy enable;
398+ text = commonUnitText def +
399+ ''
400+ [Timer]
401+ ${attrsToSection def.timerConfig}
402+ '';
403+ };
404+
405+ pathToUnit = name: def:
406+ { inherit (def) aliases wantedBy requiredBy enable;
407+ text = commonUnitText def +
408+ ''
409+ [Path]
410+ ${attrsToSection def.pathConfig}
411+ '';
412+ };
413+
414+ mountToUnit = name: def:
415+ { inherit (def) aliases wantedBy requiredBy enable;
416+ text = commonUnitText def +
417+ ''
418+ [Mount]
419+ ${attrsToSection def.mountConfig}
420+ '';
421+ };
422+
423+ automountToUnit = name: def:
424+ { inherit (def) aliases wantedBy requiredBy enable;
425+ text = commonUnitText def +
426+ ''
427+ [Automount]
428+ ${attrsToSection def.automountConfig}
429+ '';
430+ };
431+
432+ sliceToUnit = name: def:
433+ { inherit (def) aliases wantedBy requiredBy enable;
434+ text = commonUnitText def +
435+ ''
436+ [Slice]
437+ ${attrsToSection def.sliceConfig}
438+ '';
439+ };
238440}
nixos/modules/misc/locate.nix+5−1
@@ -183,7 +183,11 @@ in
183183
184184 pruneNames = mkOption {
185185 type = listOf str;
186− default = [ ".bzr" ".cache" ".git" ".hg" ".svn" ];
186+ default = lib.optionals (!isFindutils) [ ".bzr" ".cache" ".git" ".hg" ".svn" ];
187+ defaultText = literalDocBook ''
188+ <literal>[ ".bzr" ".cache" ".git" ".hg" ".svn" ]</literal>, if
189+ supported by the locate implementation (i.e. mlocate or plocate).
190+ '';
187191 description = ''
188192 Directory components which should exclude paths containing them from indexing
189193 '';
nixos/modules/services/networking/nsd.nix+8−12
@@ -194,19 +194,8 @@ let
194194 zone.children
195195 );
196196
197− # fighting infinite recursion
198− zoneOptions = zoneOptionsRaw // childConfig zoneOptions1 true;
199− zoneOptions1 = zoneOptionsRaw // childConfig zoneOptions2 false;
200− zoneOptions2 = zoneOptionsRaw // childConfig zoneOptions3 false;
201− zoneOptions3 = zoneOptionsRaw // childConfig zoneOptions4 false;
202− zoneOptions4 = zoneOptionsRaw // childConfig zoneOptions5 false;
203− zoneOptions5 = zoneOptionsRaw // childConfig zoneOptions6 false;
204− zoneOptions6 = zoneOptionsRaw // childConfig null false;
205−
206− childConfig = x: v: { options.children = { type = types.attrsOf x; visible = v; }; };
207−
208197 # options are ordered alphanumerically
209− zoneOptionsRaw = types.submodule {
198+ zoneOptions = types.submodule {
210199 options = {
211200
212201 allowAXFRFallback = mkOption {
@@ -246,6 +235,13 @@ let
246235 };
247236
248237 children = mkOption {
238+ # TODO: This relies on the fact that `types.anything` doesn't set any
239+ # values of its own to any defaults, because in the above zoneConfigs',
240+ # values from children override ones from parents, but only if the
241+ # attributes are defined. Because of this, we can't replace the element
242+ # type here with `zoneConfigs`, since that would set all the attributes
243+ # to default values, breaking the parent inheriting function.
244+ type = types.attrsOf types.anything;
249245 default = {};
250246 description = ''
251247 Children zones inherit all options of their parents. Attributes
nixos/modules/services/networking/unbound.nix+1
@@ -62,6 +62,7 @@ in {
6262 };
6363
6464 stateDir = mkOption {
65+ type = types.path;
6566 default = "/var/lib/unbound";
6667 description = "Directory holding all state for unbound to run.";
6768 };
nixos/modules/services/networking/vsftpd.nix+1
@@ -153,6 +153,7 @@ in
153153
154154 userlist = mkOption {
155155 default = [];
156+ type = types.listOf types.str;
156157 description = "See <option>userlistFile</option>.";
157158 };
158159
nixos/modules/services/x11/display-managers/default.nix+18
@@ -219,6 +219,24 @@ in
219219
220220 session = mkOption {
221221 default = [];
222+ type = with types; listOf (submodule ({ ... }: {
223+ options = {
224+ manage = mkOption {
225+ description = "Whether this is a desktop or a window manager";
226+ type = enum [ "desktop" "window" ];
227+ };
228+
229+ name = mkOption {
230+ description = "Name of this session";
231+ type = str;
232+ };
233+
234+ start = mkOption {
235+ description = "Commands to run to start this session";
236+ type = lines;
237+ };
238+ };
239+ }));
222240 example = literalExpression
223241 ''
224242 [ { manage = "desktop";
nixos/modules/system/boot/kernel.nix+1−1
@@ -36,7 +36,7 @@ in
3636
3737 boot.kernelPackages = mkOption {
3838 default = pkgs.linuxPackages;
39− type = types.unspecified // { merge = mergeEqualOption; };
39+ type = types.raw;
4040 apply = kernelPackages: kernelPackages.extend (self: super: {
4141 kernel = super.kernel.override (originalArgs: {
4242 inherit randstructSeed;
nixos/modules/system/boot/stage-1.nix+1−1
@@ -581,7 +581,7 @@ in
581581 else "gzip"
582582 );
583583 defaultText = literalDocBook "<literal>zstd</literal> if the kernel supports it (5.9+), <literal>gzip</literal> if not";
584− type = types.unspecified; # We don't have a function type...
584+ type = types.either types.str (types.functionTo types.str);
585585 description = ''
586586 The compressor to use on the initrd image. May be any of:
587587
nixos/modules/system/boot/systemd.nix+16−201
@@ -11,6 +11,22 @@ let
1111
1212 systemd = cfg.package;
1313
14+ inherit (systemdUtils.lib)
15+ makeJobScript
16+ unitConfig
17+ serviceConfig
18+ mountConfig
19+ automountConfig
20+ commonUnitText
21+ targetToUnit
22+ serviceToUnit
23+ socketToUnit
24+ timerToUnit
25+ pathToUnit
26+ mountToUnit
27+ automountToUnit
28+ sliceToUnit;
29+
1430 upstreamSystemUnits =
1531 [ # Targets.
1632 "basic.target"
@@ -209,207 +225,6 @@ let
209225 "xdg-desktop-autostart.target"
210226 ];
211227
212− makeJobScript = name: text:
213− let
214− scriptName = replaceChars [ "\\" "@" ] [ "-" "_" ] (shellEscape name);
215− out = (pkgs.writeShellScriptBin scriptName ''
216− set -e
217− ${text}
218− '').overrideAttrs (_: {
219− # The derivation name is different from the script file name
220− # to keep the script file name short to avoid cluttering logs.
221− name = "unit-script-${scriptName}";
222− });
223− in "${out}/bin/${scriptName}";
224−
225− unitConfig = { config, options, ... }: {
226− config = {
227− unitConfig =
228− optionalAttrs (config.requires != [])
229− { Requires = toString config.requires; }
230− // optionalAttrs (config.wants != [])
231− { Wants = toString config.wants; }
232− // optionalAttrs (config.after != [])
233− { After = toString config.after; }
234− // optionalAttrs (config.before != [])
235− { Before = toString config.before; }
236− // optionalAttrs (config.bindsTo != [])
237− { BindsTo = toString config.bindsTo; }
238− // optionalAttrs (config.partOf != [])
239− { PartOf = toString config.partOf; }
240− // optionalAttrs (config.conflicts != [])
241− { Conflicts = toString config.conflicts; }
242− // optionalAttrs (config.requisite != [])
243− { Requisite = toString config.requisite; }
244− // optionalAttrs (config.restartTriggers != [])
245− { X-Restart-Triggers = toString config.restartTriggers; }
246− // optionalAttrs (config.reloadTriggers != [])
247− { X-Reload-Triggers = toString config.reloadTriggers; }
248− // optionalAttrs (config.description != "") {
249− Description = config.description; }
250− // optionalAttrs (config.documentation != []) {
251− Documentation = toString config.documentation; }
252− // optionalAttrs (config.onFailure != []) {
253− OnFailure = toString config.onFailure; }
254− // optionalAttrs (options.startLimitIntervalSec.isDefined) {
255− StartLimitIntervalSec = toString config.startLimitIntervalSec;
256− } // optionalAttrs (options.startLimitBurst.isDefined) {
257− StartLimitBurst = toString config.startLimitBurst;
258− };
259− };
260− };
261−
262− serviceConfig = { name, config, ... }: {
263− config = mkMerge
264− [ { # Default path for systemd services. Should be quite minimal.
265− path = mkAfter
266− [ pkgs.coreutils
267− pkgs.findutils
268− pkgs.gnugrep
269− pkgs.gnused
270− systemd
271− ];
272− environment.PATH = "${makeBinPath config.path}:${makeSearchPathOutput "bin" "sbin" config.path}";
273− }
274− (mkIf (config.preStart != "")
275− { serviceConfig.ExecStartPre =
276− [ (makeJobScript "${name}-pre-start" config.preStart) ];
277− })
278− (mkIf (config.script != "")
279− { serviceConfig.ExecStart =
280− makeJobScript "${name}-start" config.script + " " + config.scriptArgs;
281− })
282− (mkIf (config.postStart != "")
283− { serviceConfig.ExecStartPost =
284− [ (makeJobScript "${name}-post-start" config.postStart) ];
285− })
286− (mkIf (config.reload != "")
287− { serviceConfig.ExecReload =
288− makeJobScript "${name}-reload" config.reload;
289− })
290− (mkIf (config.preStop != "")
291− { serviceConfig.ExecStop =
292− makeJobScript "${name}-pre-stop" config.preStop;
293− })
294− (mkIf (config.postStop != "")
295− { serviceConfig.ExecStopPost =
296− makeJobScript "${name}-post-stop" config.postStop;
297− })
298− ];
299− };
300−
301− mountConfig = { config, ... }: {
302− config = {
303− mountConfig =
304− { What = config.what;
305− Where = config.where;
306− } // optionalAttrs (config.type != "") {
307− Type = config.type;
308− } // optionalAttrs (config.options != "") {
309− Options = config.options;
310− };
311− };
312− };
313−
314− automountConfig = { config, ... }: {
315− config = {
316− automountConfig =
317− { Where = config.where;
318− };
319− };
320− };
321−
322− commonUnitText = def: ''
323− [Unit]
324− ${attrsToSection def.unitConfig}
325− '';
326−
327− targetToUnit = name: def:
328− { inherit (def) aliases wantedBy requiredBy enable;
329− text =
330− ''
331− [Unit]
332− ${attrsToSection def.unitConfig}
333− '';
334− };
335−
336− serviceToUnit = name: def:
337− { inherit (def) aliases wantedBy requiredBy enable;
338− text = commonUnitText def +
339− ''
340− [Service]
341− ${let env = cfg.globalEnvironment // def.environment;
342− in concatMapStrings (n:
343− let s = optionalString (env.${n} != null)
344− "Environment=${builtins.toJSON "${n}=${env.${n}}"}\n";
345− # systemd max line length is now 1MiB
346− # https://github.com/systemd/systemd/commit/e6dde451a51dc5aaa7f4d98d39b8fe735f73d2af
347− 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)}
348− ${if def.reloadIfChanged then ''
349− X-ReloadIfChanged=true
350− '' else if !def.restartIfChanged then ''
351− X-RestartIfChanged=false
352− '' else ""}
353− ${optionalString (!def.stopIfChanged) "X-StopIfChanged=false"}
354− ${attrsToSection def.serviceConfig}
355− '';
356− };
357−
358− socketToUnit = name: def:
359− { inherit (def) aliases wantedBy requiredBy enable;
360− text = commonUnitText def +
361− ''
362− [Socket]
363− ${attrsToSection def.socketConfig}
364− ${concatStringsSep "\n" (map (s: "ListenStream=${s}") def.listenStreams)}
365− ${concatStringsSep "\n" (map (s: "ListenDatagram=${s}") def.listenDatagrams)}
366− '';
367− };
368−
369− timerToUnit = name: def:
370− { inherit (def) aliases wantedBy requiredBy enable;
371− text = commonUnitText def +
372− ''
373− [Timer]
374− ${attrsToSection def.timerConfig}
375− '';
376− };
377−
378− pathToUnit = name: def:
379− { inherit (def) aliases wantedBy requiredBy enable;
380− text = commonUnitText def +
381− ''
382− [Path]
383− ${attrsToSection def.pathConfig}
384− '';
385− };
386−
387− mountToUnit = name: def:
388− { inherit (def) aliases wantedBy requiredBy enable;
389− text = commonUnitText def +
390− ''
391− [Mount]
392− ${attrsToSection def.mountConfig}
393− '';
394− };
395−
396− automountToUnit = name: def:
397− { inherit (def) aliases wantedBy requiredBy enable;
398− text = commonUnitText def +
399− ''
400− [Automount]
401− ${attrsToSection def.automountConfig}
402− '';
403− };
404−
405− sliceToUnit = name: def:
406− { inherit (def) aliases wantedBy requiredBy enable;
407− text = commonUnitText def +
408− ''
409− [Slice]
410− ${attrsToSection def.sliceConfig}
411− '';
412− };
413228
414229 logindHandlerType = types.enum [
415230 "ignore" "poweroff" "reboot" "halt" "kexec" "suspend"
pkgs/applications/audio/mopidy/ytmusic.nix+11−2
@@ -2,24 +2,33 @@
22
33python3Packages.buildPythonApplication rec {
44 pname = "mopidy-ytmusic";
5− version = "0.3.2";
5+ version = "0.3.5";
66
77 src = python3Packages.fetchPypi {
88 inherit version;
99 pname = "Mopidy-YTMusic";
10− sha256 = "sha256-BZtW+qHsTnOMj+jdAFI8ZMwGxJc9lNosgPJZGbt4JgU=";
10+ sha256 = "0pncyxfqxvznb9y4ksndbny1yf5mxh4089ak0yz86dp2qi5j99iv";
1111 };
1212
13+ postPatch = ''
14+ substituteInPlace setup.py \
15+ --replace 'ytmusicapi>=0.20.0,<0.21.0' 'ytmusicapi>=0.20.0'
16+ '';
17+
1318 propagatedBuildInputs = [
1419 mopidy
1520 python3Packages.ytmusicapi
1621 python3Packages.pytube
1722 ];
1823
24+ pythonImportsCheck = [ "mopidy_ytmusic" ];
25+
26+ # has no tests
1927 doCheck = false;
2028
2129 meta = with lib; {
2230 description = "Mopidy extension for playing music from YouTube Music";
31+ homepage = "https://github.com/OzymandiasTheGreat/mopidy-ytmusic";
2332 license = licenses.asl20;
2433 maintainers = [ maintainers.nickhu ];
2534 };
pkgs/applications/editors/lapce/default.nixnew file+83
@@ -0,0 +1,83 @@
1+{ lib
2+, stdenv
3+, fetchFromGitHub
4+, rustPlatform
5+, cmake
6+, pkg-config
7+, python3
8+, perl
9+, freetype
10+, fontconfig
11+, libxkbcommon
12+, xcbutil
13+, libX11
14+, libXcursor
15+, libXrandr
16+, libXi
17+, vulkan-loader
18+, copyDesktopItems
19+, makeDesktopItem
20+}:
21+
22+rustPlatform.buildRustPackage rec {
23+ pname = "lapce";
24+ version = "0.0.10";
25+
26+ src = fetchFromGitHub {
27+ owner = "lapce";
28+ repo = pname;
29+ rev = "v${version}";
30+ sha256 = "tOVFm4DFQurFU4DtpPwxXQLbTGCZnrV1FfYKtvkRxRE=";
31+ };
32+
33+ cargoPatches = [ ./fix-version.patch ];
34+
35+ cargoSha256 = "BwB3KgmI5XnZ5uHv6f+kGKBzpyxPWcoKvF7qw90eorI=";
36+
37+ nativeBuildInputs = [
38+ cmake
39+ pkg-config
40+ python3
41+ perl
42+ copyDesktopItems
43+ ];
44+
45+ buildInputs = [
46+ freetype
47+ fontconfig
48+ libxkbcommon
49+ xcbutil
50+ libX11
51+ libXcursor
52+ libXrandr
53+ libXi
54+ vulkan-loader
55+ ];
56+
57+ # Add missing vulkan dependency to rpath
58+ preFixup = ''
59+ patchelf --add-needed ${vulkan-loader}/lib/libvulkan.so.1 $out/bin/lapce
60+ '';
61+
62+ postInstall = ''
63+ install -Dm0644 $src/extra/images/logo.svg $out/share/icons/hicolor/scalable/apps/lapce.svg
64+ '';
65+
66+ desktopItems = [ (makeDesktopItem {
67+ name = "lapce";
68+ exec = "lapce %F";
69+ icon = "lapce";
70+ desktopName = "Lapce";
71+ comment = meta.description;
72+ genericName = "Code Editor";
73+ categories = [ "Development" "Utility" "TextEditor" ];
74+ }) ];
75+
76+ meta = with lib; {
77+ description = "Lightning-fast and Powerful Code Editor written in Rust";
78+ homepage = "https://github.com/lapce/lapce";
79+ license = with licenses; [ asl20 ];
80+ maintainers = with maintainers; [ elliot ];
81+ broken = stdenv.isDarwin;
82+ };
83+}
pkgs/applications/editors/lapce/fix-version.patchnew file+31
@@ -0,0 +1,31 @@
1+diff --git a/Cargo.lock b/Cargo.lock
2+index bc9a0f8..45a74ad 100644
3+--- a/Cargo.lock
4++++ b/Cargo.lock
5+@@ -2165,7 +2165,7 @@ dependencies = [
6+
7+ [[package]]
8+ name = "lapce"
9+-version = "0.0.9"
10++version = "0.0.10"
11+ dependencies = [
12+ "lapce-core",
13+ "lapce-proxy",
14+@@ -2173,7 +2173,7 @@ dependencies = [
15+
16+ [[package]]
17+ name = "lapce-core"
18+-version = "0.0.9"
19++version = "0.0.10"
20+ dependencies = [
21+ "Inflector",
22+ "alacritty_terminal 0.15.0",
23+@@ -2233,7 +2233,7 @@ dependencies = [
24+
25+ [[package]]
26+ name = "lapce-proxy"
27+-version = "0.0.9"
28++version = "0.0.10"
29+ dependencies = [
30+ "alacritty_terminal 0.16.0-rc2",
31+ "anyhow",
pkgs/applications/misc/kratos/default.nix+4−4
@@ -2,16 +2,16 @@
22
33buildGoModule rec {
44 pname = "kratos";
5− version = "0.8.0-alpha.3";
5+ version = "0.8.3-alpha.1.pre.0";
66
77 src = fetchFromGitHub {
88 owner = "ory";
99 repo = "kratos";
1010 rev = "v${version}";
11− sha256 = "0ihq2kxjackicxg0hrpmx6bsgz056xbaq3j8py37z2w6mwszarcg";
11+ sha256 = "1225paf0x6lb6cb3q5f4lyz0r426ifx4x8145q7nsc6v64srck2y";
1212 };
1313
14− vendorSha256 = "175pckj30cm5xkbvsdvwzarvwapsylyjgj4ss8v5r1sa0fjpj008";
14+ vendorSha256 = "10zhxbccjsp6hbmk2lnvbag6c92hz703mcaigaj4wvlf7glpldm6";
1515
1616 subPackages = [ "." ];
1717
@@ -25,7 +25,7 @@ buildGoModule rec {
2525 test/e2e/run.sh
2626 script/testenv.sh
2727 script/test-envs.sh
28− persistence/sql/migratest/update_fixtures.sh
28+ script/debug-entrypoint.sh
2929 )
3030 patchShebangs "''${files[@]}"
3131
pkgs/applications/misc/mob/default.nix+2−2
@@ -1,8 +1,8 @@
11{ lib
22, buildGoPackage
33, fetchFromGitHub
4−
5−, withSpeech ? true
4+, stdenv
5+, withSpeech ? !stdenv.isDarwin
66, makeWrapper
77, espeak-ng
88}:
pkgs/applications/networking/browsers/brave/default.nix+2−2
@@ -91,11 +91,11 @@ in
9191
9292stdenv.mkDerivation rec {
9393 pname = "brave";
94− version = "1.36.112";
94+ version = "1.36.116";
9595
9696 src = fetchurl {
9797 url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
98− sha256 = "AottJZ+WEc47Y47XefVdN0AW6PO18CR77QGGwLuKOso=";
98+ sha256 = "whGV0VgCm6JSyrcFQTKbM35b/qLQdBmChTrYuyC+OlI=";
9999 };
100100
101101 dontConfigure = true;
pkgs/applications/networking/browsers/chromium/upstream-info.json+7−7
@@ -1,8 +1,8 @@
11{
22 "stable": {
3− "version": "99.0.4844.51",
4− "sha256": "1qxsn8zvvvsnn0k7nn606rhaial8ikrlfh175msqpp50xibjxicp",
5− "sha256bin64": "04kqfppa88g2q54vp53avyyhqzrxljz49p4wqk76kq7fz2rm94x1",
3+ "version": "99.0.4844.74",
4+ "sha256": "165vzxv3xi4r9ia3qnqsr4p9ai0344w1pnq03c6jdq7x613lcprd",
5+ "sha256bin64": "1xzr7qv4rcardl3apr8w22dn81lzqkklhp26qqlbdcylacqqji04",
66 "deps": {
77 "gn": {
88 "version": "2022-01-10",
@@ -12,10 +12,10 @@
1212 }
1313 },
1414 "chromedriver": {
15− "version": "99.0.4844.35",
16− "sha256_linux": "1q10mn34s03zy0nqcgrjd7ry53g4paxpwcki1bgicpcrwnjlzc3y",
17− "sha256_darwin": "0mcfry8vqqc8n1sgyn2azr8pc4lgjnkpnhz0ggjqm12njq0lfjfx",
18− "sha256_darwin_aarch64": "19wpqd5mq2vrgma899vbbdqhg660x47v4ppbz1r8dcg5r5y93x3s"
15+ "version": "99.0.4844.51",
16+ "sha256_linux": "1r5wbcfbj9s216jyjasmiscsrsix9ap3pplp12rznrwn4898p51y",
17+ "sha256_darwin": "1nak8p5hdrw94lx73m9c110zrwag4qr6487dhplm3qfrnrkdh8wp",
18+ "sha256_darwin_aarch64": "0hkcx6a8bcjlbmp6z3ld23mi1kpyjn2g7m3ns9qw6ns4x3rn5i3r"
1919 }
2020 },
2121 "beta": {
pkgs/applications/video/freetube/default.nix+2−2
@@ -23,11 +23,11 @@ stdenv.mkDerivation rec {
2323 installPhase = ''
2424 runHook preInstall
2525
26− mkdir -p $out/bin $out/share/${pname} $out/share/applications
26+ mkdir -p $out/bin $out/share/${pname} $out/share/applications $out/share/icons/hicolor/scalable/apps
2727
2828 cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
2929 cp -a ${appimageContents}/freetube.desktop $out/share/applications/${pname}.desktop
30− cp -a ${appimageContents}/usr/share/icons $out/share
30+ cp -a ${appimageContents}/usr/share/icons/hicolor/scalable/freetube.svg $out/share/icons/hicolor/scalable/apps
3131
3232 substituteInPlace $out/share/applications/${pname}.desktop \
3333 --replace 'Exec=AppRun' 'Exec=${pname}'
pkgs/data/fonts/borg-sans-mono/default.nixnew file+26
@@ -0,0 +1,26 @@
1+{ lib, fetchzip }:
2+
3+let
4+ pname = "borg-sans-mono";
5+ version = "0.2.0";
6+in
7+fetchzip {
8+ name = "${pname}-${version}";
9+
10+ # https://github.com/marnen/borg-sans-mono/issues/19
11+ url = "https://github.com/marnen/borg-sans-mono/files/107663/BorgSansMono.ttf.zip";
12+ sha256 = "1gz4ab0smw76ih5cs2l3n92c77nv7ld5zghq42avjsfhxrc2n5ri";
13+
14+ postFetch = ''
15+ mkdir -p $out/share/fonts
16+ unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
17+ '';
18+
19+ meta = with lib; {
20+ description = "Droid Sans Mono Slashed + Hasklig-style ligatures";
21+ homepage = "https://github.com/marnen/borg-sans-mono";
22+ license = licenses.asl20;
23+ platforms = platforms.all;
24+ maintainers = with maintainers; [ atila ];
25+ };
26+}
pkgs/development/compilers/crystal/default.nix+9−1
@@ -33,6 +33,7 @@ let
3333 i686-linux = "linux-i686";
3434 x86_64-darwin = "darwin-x86_64";
3535 aarch64-darwin = "darwin-universal";
36+ aarch64-linux = "linux-aarch64";
3637 };
3738
3839 arch = archs.${stdenv.system} or (throw "system ${stdenv.system} not supported");
@@ -40,13 +41,19 @@ let
4041
4142 checkInputs = [ git gmp openssl readline libxml2 libyaml ];
4243
44+ binaryUrl = version: rel:
45+ if arch == archs.aarch64-linux then
46+ "https://dev.alpinelinux.org/archive/crystal/crystal-${version}-aarch64-alpine-linux-musl.tar.gz"
47+ else
48+ "https://github.com/crystal-lang/crystal/releases/download/${version}/crystal-${version}-${toString rel}-${arch}.tar.gz";
49+
4350 genericBinary = { version, sha256s, rel ? 1 }:
4451 stdenv.mkDerivation rec {
4552 pname = "crystal-binary";
4653 inherit version;
4754
4855 src = fetchurl {
49− url = "https://github.com/crystal-lang/crystal/releases/download/${version}/crystal-${version}-${toString rel}-${arch}.tar.gz";
56+ url = binaryUrl version rel;
5057 sha256 = sha256s.${stdenv.system};
5158 };
5259
@@ -225,6 +232,7 @@ rec {
225232 x86_64-linux = "1949argajiyqyq09824yj3wjyv88gd8wbf20xh895saqfykiq880";
226233 i686-linux = "0w0f4fwr2ijhx59i7ppicbh05hfmq7vffmgl7lal6im945m29vch";
227234 x86_64-darwin = "01n0rf8zh551vv8wq3h0ifnsai0fz9a77yq87xx81y9dscl9h099";
235+ aarch64-linux = "0sns7l4q3z82qi3dc2r4p63f4s8hvifqzgq56ykwyrvawynjhd53";
228236 };
229237 };
230238
pkgs/development/haskell-modules/non-hackage-packages.nix−2
@@ -24,8 +24,6 @@ self: super: {
2424
2525 nix-linter = self.callPackage ../../development/tools/analysis/nix-linter { };
2626
27− nix-output-monitor = self.callPackage ../../tools/nix/nix-output-monitor { };
28−
2927 # hasura graphql-engine is not released to hackage.
3028 # https://github.com/hasura/graphql-engine/issues/7391
3129 ci-info = self.callPackage ../misc/haskell/hasura/ci-info.nix {};
pkgs/development/interpreters/python/default.nix+2−2
@@ -201,9 +201,9 @@ in {
201201 major = "3";
202202 minor = "11";
203203 patch = "0";
204− suffix = "a4";
204+ suffix = "a6";
205205 };
206− sha256 = "sha256-Q3/nN2w2Pa+vNM6A8ERrQfyaQsDiqMflGdPwoLfPs+0=";
206+ sha256 = "sha256-HFOi/3WHljPjDKwp0qpregEONVuV8L+axpG+zPX50So=";
207207 inherit (darwin) configd;
208208 inherit passthruFun;
209209 };
pkgs/development/libraries/intel-gmmlib/default.nix+2−2
@@ -6,13 +6,13 @@
66
77stdenv.mkDerivation rec {
88 pname = "intel-gmmlib";
9− version = "22.0.3";
9+ version = "22.1.0";
1010
1111 src = fetchFromGitHub {
1212 owner = "intel";
1313 repo = "gmmlib";
1414 rev = "intel-gmmlib-${version}";
15− sha256 = "sha256-cXolz4hKLSTs8K9tCxaKnC2Pr0lQ0M+pPeF2w6bOAR8=";
15+ sha256 = "sha256-4LFBokMEhhobKIMzZYlt3Nn88lX60l+IZZ0gi+o7Tds=";
1616 };
1717
1818 nativeBuildInputs = [ cmake ];
pkgs/development/libraries/libctl/default.nixnew file+31
@@ -0,0 +1,31 @@
1+{ lib
2+, stdenv
3+, fetchFromGitHub
4+, autoreconfHook
5+, gfortran
6+, guile
7+, pkg-config
8+}:
9+
10+stdenv.mkDerivation rec {
11+ pname = "libctl";
12+ version = "4.5.1";
13+
14+ src = fetchFromGitHub {
15+ owner = "NanoComp";
16+ repo = pname;
17+ rev = "v${version}";
18+ sha256 = "uOydBWYPXSBUi+4MM6FNx6B5l2to7Ny9Uc1MMTV9bGA=";
19+ };
20+
21+ nativeBuildInputs = [ autoreconfHook gfortran guile pkg-config ];
22+
23+ configureFlags = [ "--enable-shared" ];
24+
25+ meta = with lib; {
26+ description = "Guile-based library for supporting flexible control files in scientific simulations";
27+ homepage = "https://github.com/NanoComp/libctl";
28+ license = licenses.gpl2Only;
29+ maintainers = with maintainers; [ carpinchomug ];
30+ };
31+}
pkgs/development/python-modules/androidtv/default.nix+2−2
@@ -11,7 +11,7 @@
1111
1212buildPythonPackage rec {
1313 pname = "androidtv";
14− version = "0.0.64";
14+ version = "0.0.65";
1515 format = "setuptools";
1616
1717 disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
2020 owner = "JeffLIrion";
2121 repo = "python-androidtv";
2222 rev = "v${version}";
23− hash = "sha256-CJJ+mWAX9XG1/E2PljUZ8oz/la3hYXF1tMfuKt0Zvjw=";
23+ hash = "sha256-bhXmPplRT9gzeD/GdD2HxN+Z4vvaiaxBwkqSml9SJUs=";
2424 };
2525
2626 propagatedBuildInputs = [
pkgs/development/python-modules/azure-mgmt-monitor/default.nix+10−8
@@ -1,22 +1,24 @@
11{ lib
22, buildPythonPackage
33, fetchPypi
4−, isPy3k
4+, pythonOlder
55, msrest
66, msrestazure
77, azure-common
88, azure-mgmt-core
9−, azure-mgmt-nspkg
109}:
1110
1211buildPythonPackage rec {
1312 pname = "azure-mgmt-monitor";
14− version = "3.0.0";
13+ version = "3.1.0";
14+ format = "setuptools";
15+
16+ disabled = pythonOlder "3.6";
1517
1618 src = fetchPypi {
1719 inherit pname version;
1820 extension = "zip";
19− sha256 = "91ddb7333bf2b9541a53864cc8d2501e3694a03a9c0e41cbfae3348558675ce6";
21+ hash = "sha256-ROcUAm0KgIjO2A2XBpS00IeEPgd8x4cjoMfn6X9C+Gw=";
2022 };
2123
2224 propagatedBuildInputs = [
@@ -24,13 +26,13 @@ buildPythonPackage rec {
2426 msrestazure
2527 azure-common
2628 azure-mgmt-core
27− ] ++ lib.optionals (!isPy3k) [
28− azure-mgmt-nspkg
2929 ];
3030
31− pythonNamespaces = [ "azure.mgmt" ];
31+ pythonNamespaces = [
32+ "azure.mgmt"
33+ ];
3234
33− # has no tests
35+ # Module has no tests
3436 doCheck = false;
3537
3638 meta = with lib; {
pkgs/development/python-modules/env-canada/default.nix+2−2
@@ -14,7 +14,7 @@
1414
1515buildPythonPackage rec {
1616 pname = "env-canada";
17− version = "0.5.20";
17+ version = "0.5.21";
1818 format = "setuptools";
1919
2020 disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
2323 owner = "michaeldavie";
2424 repo = "env_canada";
2525 rev = "v${version}";
26− sha256 = "sha256-gYl5+rtOzci3nhgP74VM37tNk9pPWgcNBfcSSG1fSJs=";
26+ sha256 = "sha256-jildWpYWll5j7siYhNECMBjz9bF41xFA6NyydWNdgQE=";
2727 };
2828
2929 propagatedBuildInputs = [
pkgs/development/python-modules/intellifire4py/default.nix+2−2
@@ -11,7 +11,7 @@
1111
1212buildPythonPackage rec {
1313 pname = "intellifire4py";
14− version = "1.0.0";
14+ version = "1.0.1";
1515 format = "setuptools";
1616
1717 disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
2020 owner = "jeeftor";
2121 repo = pname;
2222 rev = version;
23− hash = "sha256-lQV5KpASbrz+wCi9x/0rNYrQE+dLCZzsNBFhYAQvPH4=";
23+ hash = "sha256-hKe9sDn5t2qQ0THqFQypAGgr7cJXaZs8562NpPR/iJU=";
2424 };
2525
2626 propagatedBuildInputs = [
pkgs/development/python-modules/nassl/default.nix+56−35
@@ -9,6 +9,7 @@
99, tls-parser
1010, cacert
1111, pytestCheckHook
12+, pythonAtLeast
1213, pythonOlder
1314}:
1415
@@ -50,9 +51,11 @@ let
5051 "enable-tls1_3"
5152 "no-async"
5253 ];
53− patches = builtins.filter (
54− p: (builtins.baseNameOf (toString p)) != "macos-yosemite-compat.patch"
55− ) oldAttrs.patches;
54+ patches = builtins.filter
55+ (
56+ p: (builtins.baseNameOf (toString p)) != "macos-yosemite-compat.patch"
57+ )
58+ oldAttrs.patches;
5659 buildInputs = oldAttrs.buildInputs ++ [ zlibStatic cacert ];
5760 meta = oldAttrs.meta // {
5861 knownVulnerabilities = [
@@ -76,9 +79,11 @@ let
7679 sha256 = "1zqb1rff1wikc62a7vj5qxd1k191m8qif5d05mwdxz2wnzywlg72";
7780 };
7881 configureFlags = oldAttrs.configureFlags ++ nasslOpensslFlagsCommon;
79− patches = builtins.filter (
80− p: (builtins.baseNameOf (toString p)) == "darwin64-arm64.patch"
81− ) oldAttrs.patches;
82+ patches = builtins.filter
83+ (
84+ p: (builtins.baseNameOf (toString p)) == "darwin64-arm64.patch"
85+ )
86+ oldAttrs.patches;
8287 buildInputs = oldAttrs.buildInputs ++ [ zlibStatic ];
8388 # openssl_1_0_2 needs `withDocs = false`
8489 outputs = lib.remove "doc" oldAttrs.outputs;
@@ -87,42 +92,54 @@ let
8792in
8893buildPythonPackage rec {
8994 pname = "nassl";
90− version = "4.0.1";
95+ version = "4.0.2";
96+ format = "setuptools";
97+
9198 disabled = pythonOlder "3.7";
9299
93100 src = fetchFromGitHub {
94101 owner = "nabla-c0d3";
95102 repo = pname;
96103 rev = version;
97− hash = "sha256-QzO7ABh2weBO6NVFIj7kZpS8ashbDGompuvdKteJeUc=";
104+ hash = "sha256-lLyHXLmBVvT+LgsKBU8DcUXd0qaLSrwvXxFnIB9CHcU=";
98105 };
99106
100− postPatch = let
101− legacyOpenSSLVersion = lib.replaceStrings ["."] ["_"] opensslLegacyStatic.version;
102− modernOpenSSLVersion = lib.replaceStrings ["."] ["_"] opensslStatic.version;
103− zlibVersion = zlibStatic.version;
104− in ''
105− mkdir -p deps/openssl-OpenSSL_${legacyOpenSSLVersion}/
106− cp ${opensslLegacyStatic.out}/lib/libssl.a \
107− ${opensslLegacyStatic.out}/lib/libcrypto.a \
108− deps/openssl-OpenSSL_${legacyOpenSSLVersion}/
109− ln -s ${opensslLegacyStatic.out.dev}/include deps/openssl-OpenSSL_${legacyOpenSSLVersion}/include
110− ln -s ${opensslLegacyStatic.bin}/bin deps/openssl-OpenSSL_${legacyOpenSSLVersion}/apps
107+ postPatch =
108+ let
109+ legacyOpenSSLVersion = lib.replaceStrings [ "." ] [ "_" ] opensslLegacyStatic.version;
110+ modernOpenSSLVersion = lib.replaceStrings [ "." ] [ "_" ] opensslStatic.version;
111+ zlibVersion = zlibStatic.version;
112+ in
113+ ''
114+ mkdir -p deps/openssl-OpenSSL_${legacyOpenSSLVersion}/
115+ cp ${opensslLegacyStatic.out}/lib/libssl.a \
116+ ${opensslLegacyStatic.out}/lib/libcrypto.a \
117+ deps/openssl-OpenSSL_${legacyOpenSSLVersion}/
118+ ln -s ${opensslLegacyStatic.out.dev}/include deps/openssl-OpenSSL_${legacyOpenSSLVersion}/include
119+ ln -s ${opensslLegacyStatic.bin}/bin deps/openssl-OpenSSL_${legacyOpenSSLVersion}/apps
111120
112− mkdir -p deps/openssl-OpenSSL_${modernOpenSSLVersion}/
113− cp ${opensslStatic.out}/lib/libssl.a \
114− ${opensslStatic.out}/lib/libcrypto.a \
115− deps/openssl-OpenSSL_${modernOpenSSLVersion}/
116− ln -s ${opensslStatic.out.dev}/include deps/openssl-OpenSSL_${modernOpenSSLVersion}/include
117− ln -s ${opensslStatic.bin}/bin deps/openssl-OpenSSL_${modernOpenSSLVersion}/apps
121+ mkdir -p deps/openssl-OpenSSL_${modernOpenSSLVersion}/
122+ cp ${opensslStatic.out}/lib/libssl.a \
123+ ${opensslStatic.out}/lib/libcrypto.a \
124+ deps/openssl-OpenSSL_${modernOpenSSLVersion}/
125+ ln -s ${opensslStatic.out.dev}/include deps/openssl-OpenSSL_${modernOpenSSLVersion}/include
126+ ln -s ${opensslStatic.bin}/bin deps/openssl-OpenSSL_${modernOpenSSLVersion}/apps
118127
119− mkdir -p deps/zlib-${zlibVersion}/
120− cp ${zlibStatic.out}/lib/libz.a deps/zlib-${zlibVersion}/
121− '';
128+ mkdir -p deps/zlib-${zlibVersion}/
129+ cp ${zlibStatic.out}/lib/libz.a deps/zlib-${zlibVersion}/
130+ '';
122131
123− propagatedBuildInputs = [ tls-parser ];
132+ nativeBuildInputs = [
133+ invoke
134+ ];
135+
136+ propagatedBuildInputs = [
137+ tls-parser
138+ ];
124139
125− nativeBuildInputs = [ invoke ];
140+ checkInputs = [
141+ pytestCheckHook
142+ ];
126143
127144 buildPhase = ''
128145 invoke build.nassl
@@ -131,19 +148,23 @@ buildPythonPackage rec {
131148
132149 doCheck = true;
133150
134− pythonImportsCheck = [ "nassl" ];
135−
136− checkInputs = [ pytestCheckHook ];
151+ pythonImportsCheck = [
152+ "nassl"
153+ ];
137154
138155 disabledTests = [
139156 "Online"
157+ ] ++ lib.optionals (pythonAtLeast "3.10") [
158+ "test_write_bad"
159+ "test_client_authentication_no_certificate_supplied"
160+ "test_client_authentication_succeeds"
140161 ];
141162
142163 meta = with lib; {
164+ description = "Low-level OpenSSL wrapper for Python";
143165 homepage = "https://github.com/nabla-c0d3/nassl";
144− description = "Low-level OpenSSL wrapper for Python 3.7+";
145− platforms = with platforms; linux ++ darwin;
146166 license = licenses.agpl3Only;
147167 maintainers = with maintainers; [ veehaitch ];
168+ platforms = with platforms; linux ++ darwin;
148169 };
149170}
pkgs/development/python-modules/pykrakenapi/default.nix+2−2
@@ -7,13 +7,13 @@
77
88buildPythonPackage rec {
99 pname = "pykrakenapi";
10− version = "0.2.4";
10+ version = "0.3.0";
1111
1212 src = fetchFromGitHub {
1313 owner = "dominiktraxl";
1414 repo = "pykrakenapi";
1515 rev = "v${version}";
16− hash = "sha256-i2r6t+JcL6INI8Y26gvVvNjv6XxMj4G+pF9Xf/hsx1A=";
16+ hash = "sha256-ZhP4TEWFEGIqI/nk2It1IVFKrX4HKP+dWxu+gLJNIeg=";
1717 };
1818
1919 propagatedBuildInputs = [
pkgs/development/python-modules/pysigma-backend-splunk/default.nix+2−2
@@ -9,7 +9,7 @@
99
1010buildPythonPackage rec {
1111 pname = "pysigma-backend-splunk";
12− version = "0.1.1";
12+ version = "0.1.2";
1313 format = "pyproject";
1414
1515 disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
1818 owner = "SigmaHQ";
1919 repo = "pySigma-backend-splunk";
2020 rev = "v${version}";
21− hash = "sha256-AGT+7BKtINe2ukmomYyoUa5PHYAH1N0tUTtbyjMD+kw=";
21+ hash = "sha256-jKvGBUO55DtF6bpgEL82XB5Ba+kmqJsCqUdzftcpSJ0=";
2222 };
2323
2424 nativeBuildInputs = [
pkgs/development/python-modules/pysigma-pipeline-crowdstrike/default.nix+2−2
@@ -9,7 +9,7 @@
99
1010buildPythonPackage rec {
1111 pname = "pysigma-pipeline-crowdstrike";
12− version = "0.1.3";
12+ version = "0.1.4";
1313 format = "pyproject";
1414
1515 disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
1818 owner = "SigmaHQ";
1919 repo = "pySigma-pipeline-crowdstrike";
2020 rev = "v${version}";
21− hash = "sha256-JNJHKydMzKreN+6liLlGMT1CFBUr/IX8Ah+exddKR3g=";
21+ hash = "sha256-Riu2u1IouS1BMtXauXrNMIl06TU11pHdC0jjlOiR71s=";
2222 };
2323
2424 nativeBuildInputs = [
pkgs/development/python-modules/pysigma-pipeline-sysmon/default.nix+2−2
@@ -9,7 +9,7 @@
99
1010buildPythonPackage rec {
1111 pname = "pysigma-pipeline-sysmon";
12− version = "0.1.1";
12+ version = "0.1.2";
1313 format = "pyproject";
1414
1515 disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
1818 owner = "SigmaHQ";
1919 repo = "pySigma-pipeline-sysmon";
2020 rev = "v${version}";
21− hash = "sha256-BBJt2SAbnPEzIwJ+tXW4NmA4Nrb/glIaPlnmYHLoMD0=";
21+ hash = "sha256-Y9X9/ynrfs4gVTLl7pOvK3TH2Eh2vNF1S6Cnt3tByJM=";
2222 };
2323
2424 nativeBuildInputs = [
pkgs/development/python-modules/pysigma/default.nix+3−15
@@ -11,7 +11,7 @@
1111
1212buildPythonPackage rec {
1313 pname = "pysigma";
14− version = "0.3.2";
14+ version = "0.4.1";
1515 format = "pyproject";
1616
1717 disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
2020 owner = "SigmaHQ";
2121 repo = "pySigma";
2222 rev = "v${version}";
23− hash = "sha256-V/E2rZqVrk0kIvk+hPhNcAifhMM/rN3mk3pB+CGd43w=";
23+ hash = "sha256-egyzeniid2PZZQ6hsd44W+YURI8uGaXvDMuhNIXUqO0=";
2424 };
2525
2626 nativeBuildInputs = [
@@ -36,21 +36,9 @@ buildPythonPackage rec {
3636 pytestCheckHook
3737 ];
3838
39− patches = [
40− # Switch to poetry-core, https://github.com/SigmaHQ/pySigma/pull/31
41− (fetchpatch {
42− name = "switch-to-poetry-core.patch";
43− url = "https://github.com/SigmaHQ/pySigma/commit/b7a852d18852007da90c2ec35bff347c97b36f07.patch";
44− sha256 = "sha256-zgg8Bsc37W2uuQluFpIZT4jHCQaitY2ZgS93Wk6Hxt0=";
45− })
46− ];
47−
4839 postPatch = ''
49− # https://github.com/SigmaHQ/pySigma/issues/32
50− # https://github.com/SigmaHQ/pySigma/issues/33
5140 substituteInPlace pyproject.toml \
52− --replace 'pyparsing = "^2.4.7"' 'pyparsing = "*"' \
53− --replace 'pyyaml = "^5.3.1"' 'pyyaml = "*"'
41+ --replace 'pyparsing = "^3.0.7"' 'pyparsing = "*"' \
5442 '';
5543
5644 pythonImportsCheck = [
pkgs/development/python-modules/soco/default.nix+2−2
@@ -15,7 +15,7 @@
1515
1616buildPythonPackage rec {
1717 pname = "soco";
18− version = "0.26.4";
18+ version = "0.27.1";
1919 format = "setuptools";
2020
2121 disabled = pythonOlder "3.6";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
2424 owner = "SoCo";
2525 repo = "SoCo";
2626 rev = "v${version}";
27− hash = "sha256-DoONq6Iqi8t47jtqggKYMHSNJAf/Kha3tszR6mYeB9Y=";
27+ hash = "sha256-8U7wfxqen+hgK8j9ooPHCAKvd9kSZicToTyP7XzQFrg=";
2828 };
2929
3030 propagatedBuildInputs = [
pkgs/development/python-modules/sslyze/default.nix+2−2
@@ -16,14 +16,14 @@
1616
1717buildPythonPackage rec {
1818 pname = "sslyze";
19− version = "5.0.2";
19+ version = "5.0.3";
2020 disabled = pythonOlder "3.7";
2121
2222 src = fetchFromGitHub {
2323 owner = "nabla-c0d3";
2424 repo = pname;
2525 rev = version;
26− hash = "sha256-8xtnE5oFxH3wo2Smt65/xGDHxivexN6ggUpyUg42Cjk=";
26+ hash = "sha256-d465WJIDsgNAPe8KW5v2KDSgzMH7OPLSiFfFH9n+jiA=";
2727 };
2828
2929 patchPhase = ''
pkgs/development/python-modules/tls-parser/default.nix+11−5
@@ -7,23 +7,29 @@
77
88buildPythonPackage rec {
99 pname = "tls-parser";
10− version = "1.2.2";
10+ version = "2.0.0";
11+ format = "setuptools";
12+
1113 disabled = pythonOlder "3.7";
1214
1315 src = fetchFromGitHub {
1416 owner = "nabla-c0d3";
1517 repo = "tls_parser";
1618 rev = version;
17− sha256 = "12qj3vg02r5a51w6gbgb1gcxicqc10lbbsdi57jkkfvbqiindbd0";
19+ hash = "sha256-A1lYRe1sHDoOFdF20DP+xRMcPBWzokIXFphIpaBmwBc=";
1820 };
1921
20− checkInputs = [ pytestCheckHook ];
22+ checkInputs = [
23+ pytestCheckHook
24+ ];
2125
22− pythonImportsCheck = [ "tls_parser" ];
26+ pythonImportsCheck = [
27+ "tls_parser"
28+ ];
2329
2430 meta = with lib; {
25− homepage = "https://github.com/nabla-c0d3/tls_parser";
2631 description = "Small library to parse TLS records";
32+ homepage = "https://github.com/nabla-c0d3/tls_parser";
2733 platforms = with platforms; linux ++ darwin;
2834 license = licenses.mit;
2935 maintainers = with maintainers; [ veehaitch ];
pkgs/development/python-modules/twentemilieu/default.nix+2−2
@@ -12,7 +12,7 @@
1212
1313buildPythonPackage rec {
1414 pname = "twentemilieu";
15− version = "0.5.0";
15+ version = "0.6.0";
1616 format = "pyproject";
1717
1818 disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
2121 owner = "frenck";
2222 repo = "python-twentemilieu";
2323 rev = "v${version}";
24− sha256 = "sha256-7HQ0+h8oiyY+TacQdX84K0r994rH0AMZAvZz8PUvQl0=";
24+ sha256 = "sha256-UE7fhbSThXmMns1XfUUQqw0wn5/w/x+UncansIBiank=";
2525 };
2626
2727 postPatch = ''
pkgs/development/tools/electron/default.nix+32−32
@@ -73,43 +73,43 @@ rec {
7373 headers = "0vvizddmhprprbdf6bklasz6amwc254bpc9j0zlx23d1pgyxpnhc";
7474 };
7575
76− electron_14 = mkElectron "14.2.6" {
77− armv7l-linux = "fd115652f491fff6a28bf39dc41e3c7f1b638e7dcc7856c33b6a97c7763ea9a3";
78− aarch64-linux = "530df3030aeb2c0f67ba4bc210c0f0fe77670001d2ba30ad6858f74952528df2";
79− x86_64-linux = "c3f91ced7e429079d43c182f47cea1eceef17ab65c390e15f9c6af56e58ed3d9";
80− i686-linux = "d66881d0747c99618c500b46e044eb4e97442400624fbcf9a6af114743e6e8db";
81− x86_64-darwin = "15db43c17a33bf9e31f66f5025e0810dfbd2b237f7645eda51409de7930cc9d1";
82− aarch64-darwin = "a5f7b8cc5f6dfc7561368d2f09745967bb553a29a22ef74af8f795225483338a";
83− headers = "0rxbij6qvi0xzcmbxf3fm1snvakaxp9c512z9ni36y98sgg4s3l8";
76+ electron_14 = mkElectron "14.2.7" {
77+ armv7l-linux = "bb0c25671daa0dc235e212831d62f18b9a7f2692279bcd8e4a15f2d84ee7124d";
78+ aarch64-linux = "149c5df2cf98ee0a2ce5445b3fb00752f42c3f7ab9677b7a54ba01fba2e2f4ec";
79+ x86_64-linux = "ad80f424e8d8d79f0be078d8a1ddef8fd659fa3dd8aaf6704ab97f2a13489558";
80+ i686-linux = "82b29272cb52dbe969c0bd6cf9b69896c86abe1d9ef473a3844c0ab3dc92b353";
81+ x86_64-darwin = "2a5d8336dcd140158964801d482344756377d924a06e6605959034a41f7e026b";
82+ aarch64-darwin = "b45869ff61bdf392bca498529b6445d47a784079f6a33af6b19d517953f03fd8";
83+ headers = "0339fs3iyp869xi1xmn9z2b1n32wf408cc0z9bz6shns44ymkyhd";
8484 };
8585
86− electron_15 = mkElectron "15.4.0" {
87− armv7l-linux = "40c073a3b416f83264327bdf5e33b334ffcd56a729ef237360d66f520f670d16";
88− aarch64-linux = "ef18ba74b4fa34a26f9ee819bb908c60d0dd9ec2048414629979760f262d72f8";
89− x86_64-linux = "5bdea4cbf5559491e9ad9f365fa6f7ec26603fd6f68bfa8848f2884ebd51662d";
90− i686-linux = "636d0e28bb20ca127c9b8722fe39e7e7d95fc63bd15b156b7af563296b3d9595";
91− x86_64-darwin = "8a132b2be0f27c7e8fa9a91a8b4b0fcdf3ec571c721cb5f5610dc8a6b3f0fd26";
92− aarch64-darwin = "82b29c37a427464a9278d617435ca19f472b00689c9e58163e99f30b90f33046";
93− headers = "0fc1sck7g160klpqzfcqv9zc45ia914mrncyma58zzcbzpk6k6yb";
86+ electron_15 = mkElectron "15.4.1" {
87+ armv7l-linux = "e0fe5daed46a5d718b3209fa301aea743df694daf6605f9313f4ca6c70fe5167";
88+ aarch64-linux = "fa108edd4c146811bdee842fcd278b046ae0ff157de5e072c3ff3ac0bcb310c2";
89+ x86_64-linux = "867095924d434b3918df8576e7af94fecea4d29461fcfb69c40161f02158ff15";
90+ i686-linux = "8e79fa9f4125f254abb437445fed8f3f8ec10dd2462e1ced3e7df49c622e087d";
91+ x86_64-darwin = "899d16a0e0157809c297ceb3710c53441ec4396333d9ad5b65297446874e14dc";
92+ aarch64-darwin = "8295bf45dab1131dfdfd15654a0b1d85bfae221052ba64353368a2c0faaaa3ff";
93+ headers = "073697wjq60cnz42xmnjsr0xqcmcsl4m48mmzrz1rxrc8mvi86gr";
9494 };
9595
96− electron_16 = mkElectron "16.0.10" {
97− armv7l-linux = "1a72fe59011cfcc1f376f2948dd5a70d2f75d6c12fb682a0246d2e596227b5e0";
98− aarch64-linux = "46cd1393816364a666ead410505bce4b51d68ce872446a71d16886b88c4b275a";
99− x86_64-linux = "3b4779e41e27200ce5fa94d20f9df05ff5c757be6805eb0e8952fe198d66f324";
100− i686-linux = "9e1426a8135d3fe195ba9fc1a5ea5ad4d5ce96bd513691897b39106698e3c3c8";
101− x86_64-darwin = "00b0222efa67fbb29f723fabebc4221646ebd6d5fdc09524df9a203f63ce660c";
102− aarch64-darwin = "1203f6ec4e8b97312254ceb122ca4399f39ae67bfe1636e426a798c89ec2a9ee";
103− headers = "10f6px88vg6napyhniczi6l660qs4l5mm0b9gdlds4i1y94s1zrl";
96+ electron_16 = mkElectron "16.1.0" {
97+ armv7l-linux = "f3ab34c73b4100ffc5041ed9aa0608d1dc6b98fe3c2caa14be3d5c3ffbebda76";
98+ aarch64-linux = "e80a7e4a59b94c7cd02b16ca37a2b0f26ddb58ddac23135c6180b238589f1c62";
99+ x86_64-linux = "36c79af4d05e89ef9c9616a156f63adc5b453ee6bee5d8f4331e75ee77198e85";
100+ i686-linux = "7129a96fc33de70cfe5d6d0e17ecff1b4dcf52d825a6ad05b10ca67da7b43665";
101+ x86_64-darwin = "723859249e959948cdd339acf708022fb0195b433809af25b4a9f4d69b9da52f";
102+ aarch64-darwin = "e76558028979f70107e5b1897275a9789be20b13991bfbcebeab7fc220f15764";
103+ headers = "0yv9rssrfi0hdzrjf1n735dsz9sgy78jzxdcf9is2387yrr1qiyz";
104104 };
105105
106− electron_17 = mkElectron "17.1.0" {
107− armv7l-linux = "09d92195821aad4ac03fbc858287a7372b6aa059081bb825d267853ee1b0425d";
108− aarch64-linux = "6a34d6802d44a391902f53baf0adc8b819d33e7c31b34614757b17b3223c9d1e";
109− x86_64-linux = "106ec28a5969366c1e1f642cc33ac41950c68bd182db23b04d7ac6886bfe28e8";
110− i686-linux = "19fe206be07a6df7f9f0ecdb411e3cafd3a53618edb19cc6adc77156f698444e";
111− x86_64-darwin = "bd80d6b0b62c9bec195d264aa21a255f4324a8b56849e04972c1fcc262757c31";
112− aarch64-darwin = "83fe2fc24976d09a0e0fcc3a60226f190cf9b67287fe4434d3d76d59fa45315c";
113− headers = "1zv1pigfbis1bsan28wx3bgkdwjc48pjq19wmxs73kd1khsy6w8r";
106+ electron_17 = mkElectron "17.1.2" {
107+ armv7l-linux = "b561c04c9fa8c512f418ea5c32f5526732e1ccd150ee4830a0091d0fa1b7e31c";
108+ aarch64-linux = "cda7e66c6672def9edd881107c28e2eec09b7802a38227ac89bb233191ce4840";
109+ x86_64-linux = "7e7c35e8c1a0fc451e7af19fa73264881ae2c4672c52a2ae1cdd61604650ca94";
110+ i686-linux = "de87a7952c93c1d8e8c533a700bbfc76d3893e9ad438413507d11450b80a9c97";
111+ x86_64-darwin = "d4382d3f01b750676a1f3c9e2273ad69cac16dc64a4145469c663bcda8d2471b";
112+ aarch64-darwin = "135dec87211fcefdb53ab1fef13344c7b71a321f7c4f6846f260c1e0848e73bf";
113+ headers = "15k234d044lgmc3psyxz9syy9wvzgn54znklak9sv6gcajjzll10";
114114 };
115115}
pkgs/development/tools/gomodifytags/default.nix+4−6
@@ -2,19 +2,17 @@
22
33buildGoModule rec {
44 pname = "gomodifytags";
5− version = "1.6.0";
6−
7− vendorSha256 = null;
8−
9− doCheck = false;
5+ version = "1.16.0";
106
117 src = fetchFromGitHub {
128 owner = "fatih";
139 repo = "gomodifytags";
1410 rev = "v${version}";
15− sha256 = "1wmzl5sk5mc46njzn86007sqyyv6han058ppiw536qyhk88rzazq";
11+ sha256 = "1yhkn9mdvsn9i5v03c5smz32zlhkylnxhkcbjb7llafxzbhzgfm6";
1612 };
1713
14+ vendorSha256 = "sha256-8efqJfu+gtoFbhdlDZfb8NsXV9hBDI2pvAQNH18VVhU=";
15+
1816 meta = {
1917 description = "Go tool to modify struct field tags";
2018 homepage = "https://github.com/fatih/gomodifytags";
pkgs/development/tools/kcli/default.nix−2
@@ -13,8 +13,6 @@ buildGoModule rec {
1313
1414 vendorSha256 = "0zj2hls8m0l9xsfv680wiwq1g2qjdjslv2yx3yd4rzxdsv2wz09a";
1515
16− doCheck = false;
17−
1816 subPackages = [ "." ];
1917
2018 meta = with lib; {
pkgs/os-specific/linux/kernel/linux-4.14.nix+2−2
@@ -3,7 +3,7 @@
33with lib;
44
55buildLinux (args // rec {
6− version = "4.14.271";
6+ version = "4.14.272";
77
88 # modDirVersion needs to be x.y.z, will automatically add .0 if needed
99 modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
1313
1414 src = fetchurl {
1515 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
16− sha256 = "1mzxcjzw6y7b3fffz0hbgsl6328w3m5yv5xb21z57kr9vm828y80";
16+ sha256 = "0scx13pc5y5jmm5xa17my242gsgb1mf0cgqzjx656g7kkh4phqcv";
1717 };
1818} // (args.argsOverride or {}))
pkgs/os-specific/linux/kernel/linux-4.19.nix+2−2
@@ -3,7 +3,7 @@
33with lib;
44
55buildLinux (args // rec {
6− version = "4.19.234";
6+ version = "4.19.235";
77
88 # modDirVersion needs to be x.y.z, will automatically add .0 if needed
99 modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
1313
1414 src = fetchurl {
1515 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
16− sha256 = "12rd468wvmmdmgzy9vs2ny155yp9wxrf15lrslpc8xm4wimrd0h0";
16+ sha256 = "1615y3ma9icmqqr7lisl8nd8zvvkh77a81yl39yvy6qi9345l32k";
1717 };
1818} // (args.argsOverride or {}))
pkgs/os-specific/linux/kernel/linux-4.9.nix+2−2
@@ -1,12 +1,12 @@
11{ buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
22
33buildLinux (args // rec {
4− version = "4.9.306";
4+ version = "4.9.307";
55 extraMeta.branch = "4.9";
66 extraMeta.broken = stdenv.isAarch64;
77
88 src = fetchurl {
99 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
10− sha256 = "1cvsz3sf24g2623m7fxc6ilzsdmzi8s8lnks3sg68sax0qdx0ny7";
10+ sha256 = "1xyhz7hq8yyclxyavzk36sbl41vlb74pccd56240kq34ma1hyis7";
1111 };
1212} // (args.argsOverride or {}))
pkgs/os-specific/linux/kernel/linux-5.10.nix+2−2
@@ -3,7 +3,7 @@
33with lib;
44
55buildLinux (args // rec {
6− version = "5.10.105";
6+ version = "5.10.106";
77
88 # modDirVersion needs to be x.y.z, will automatically add .0 if needed
99 modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
1313
1414 src = fetchurl {
1515 url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
16− sha256 = "11fb9y6sqrf0hvak83ym7sbbacjl3q51w523vxjdpjmrn850xp1x";
16+ sha256 = "0yjrlghcxw3lhd6nc2m4zy4gk536w3a3w6mxdsml690fqz4531n6";
1717 };
1818} // (args.argsOverride or {}))
pkgs/os-specific/linux/kernel/linux-5.15.nix+2−2
@@ -3,7 +3,7 @@
33with lib;
44
55buildLinux (args // rec {
6− version = "5.15.28";
6+ version = "5.15.29";
77
88 # modDirVersion needs to be x.y.z, will automatically add .0 if needed
99 modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -15,6 +15,6 @@ buildLinux (args // rec {
1515
1616 src = fetchurl {
1717 url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
18− sha256 = "1rhhn2a7799nnvx8dj83glb0p0qakxanhxvvl7crznvip7rvp8nq";
18+ sha256 = "0vl7xm4xs59z071wfjna392yada3hg5h6h3dfjaswircc22fc1ar";
1919 };
2020} // (args.argsOverride or { }))
pkgs/os-specific/linux/kernel/linux-5.16.nix+2−2
@@ -3,7 +3,7 @@
33with lib;
44
55buildLinux (args // rec {
6− version = "5.16.14";
6+ version = "5.16.15";
77
88 # modDirVersion needs to be x.y.z, will automatically add .0 if needed
99 modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
1313
1414 src = fetchurl {
1515 url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
16− sha256 = "1xkl0mfjby7w6r3fqyjds94h2lmc77nzp970w7wz1rfmb63ab2vs";
16+ sha256 = "1mi41npkk1inqchm3yp14xmzc5lrp50d7vbpazwxwq5kw04c8c4g";
1717 };
1818} // (args.argsOverride or { }))
pkgs/os-specific/linux/kernel/linux-5.4.nix+2−2
@@ -3,7 +3,7 @@
33with lib;
44
55buildLinux (args // rec {
6− version = "5.4.184";
6+ version = "5.4.185";
77
88 # modDirVersion needs to be x.y.z, will automatically add .0 if needed
99 modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
1313
1414 src = fetchurl {
1515 url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
16− sha256 = "128laiqkr6z3pya8ws7r2ddrpbc3xyn80zwclz2wlrf6wqwwm546";
16+ sha256 = "11rp3x05bq9cs9gwy4x36ynkgl7nb5ss29zi6m7n5ywvczdfjpyi";
1717 };
1818} // (args.argsOverride or {}))
pkgs/os-specific/linux/kernel/linux-libre.nix+2−2
@@ -1,8 +1,8 @@
11{ stdenv, lib, fetchsvn, linux
22, scripts ? fetchsvn {
33 url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
4− rev = "18627";
5− sha256 = "0qlalxpw2a24625ck5mxchpxl6i6cgmzkzfgyp9apmhdy8590fv5";
4+ rev = "18635";
5+ sha256 = "0d74hji2cms9z3h3s1j4i7qnw1350a95vafrqargf9s2zz0bkgfc";
66 }
77, ...
88}:
pkgs/os-specific/linux/usbguard/default.nix+2−2
@@ -24,14 +24,14 @@
2424assert libgcrypt != null -> libsodium == null;
2525
2626stdenv.mkDerivation rec {
27− version = "1.1.0";
27+ version = "1.1.1";
2828 pname = "usbguard";
2929
3030 src = fetchFromGitHub {
3131 owner = "USBGuard";
3232 repo = pname;
3333 rev = "usbguard-${version}";
34− sha256 = "sha256-lnHeU/X/2N81WPLakRYLs8TjpBhxBPhiXDJ+wNW0sU0=";
34+ sha256 = "sha256-lAh+l9GF+FHQqv2kEYU5JienZKGwR5e45BYAwjieYgw=";
3535 fetchSubmodules = true;
3636 };
3737
pkgs/servers/dns/coredns/default.nix+9−2
@@ -13,12 +13,19 @@ buildGoModule rec {
1313
1414 vendorSha256 = "sha256-Vxs+k4WF55xwjgdlW/1NM4NWnYqj2EOLOONflj+BoY4=";
1515
16− doCheck = false;
16+ postPatch = ''
17+ substituteInPlace test/file_cname_proxy_test.go \
18+ --replace "TestZoneExternalCNAMELookupWithProxy" \
19+ "SkipZoneExternalCNAMELookupWithProxy"
20+
21+ substituteInPlace test/readme_test.go \
22+ --replace "TestReadme" "SkipReadme"
23+ '';
1724
1825 meta = with lib; {
1926 homepage = "https://coredns.io";
2027 description = "A DNS server that runs middleware";
2128 license = licenses.asl20;
22− maintainers = with maintainers; [ rushmorem rtreffer deltaevo ];
29+ maintainers = with maintainers; [ rushmorem rtreffer deltaevo superherointj ];
2330 };
2431}
pkgs/servers/http/apache-httpd/2.4.nix+6−4
@@ -1,4 +1,4 @@
1−{ lib, stdenv, fetchurl, perl, zlib, apr, aprutil, pcre, libiconv, lynx
1+{ lib, stdenv, fetchurl, perl, zlib, apr, aprutil, pcre2, libiconv, lynx, which
22, nixosTests
33, proxySupport ? true
44, sslSupport ? true, openssl
@@ -11,17 +11,19 @@
1111
1212stdenv.mkDerivation rec {
1313 pname = "apache-httpd";
14− version = "2.4.52";
14+ version = "2.4.53";
1515
1616 src = fetchurl {
1717 url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
18− sha256 = "sha256-ASf33El+mYPpxRR0vtdeRWB/L4cKdnWobckK9tVy9ck=";
18+ sha256 = "sha256-0LvREhpXtfKm/5LXuW+AUMWkXT8U2xGPZJedUlhY22M=";
1919 };
2020
2121 # FIXME: -dev depends on -doc
2222 outputs = [ "out" "dev" "man" "doc" ];
2323 setOutputFlags = false; # it would move $out/modules, etc.
2424
25+ nativeBuildInputs = [ which ];
26+
2527 buildInputs = [ perl ] ++
2628 lib.optional brotliSupport brotli ++
2729 lib.optional sslSupport openssl ++
@@ -42,7 +44,7 @@ stdenv.mkDerivation rec {
4244 "--with-apr=${apr.dev}"
4345 "--with-apr-util=${aprutil.dev}"
4446 "--with-z=${zlib.dev}"
45− "--with-pcre=${pcre.dev}"
47+ "--with-pcre=${pcre2.dev}/bin/pcre2-config"
4648 "--disable-maintainer-mode"
4749 "--disable-debugger-mode"
4850 "--enable-mods-shared=all"
pkgs/tools/admin/berglas/default.nix+29−4
@@ -1,19 +1,44 @@
11{ lib, buildGoModule, fetchFromGitHub }:
22
3+let
4+ skipTests = {
5+ access = "Access";
6+ create = "Create";
7+ delete = "Delete";
8+ list = "List";
9+ read = "Read";
10+ replace = "Replace";
11+ resolver = "Resolve";
12+ revoke = "Revoke";
13+ update = "Update";
14+ };
15+
16+ skipTestsCommand =
17+ builtins.foldl' (acc: goFileName:
18+ let testName = builtins.getAttr goFileName skipTests; in
19+ ''
20+ ${acc}
21+ substituteInPlace pkg/berglas/${goFileName}_test.go \
22+ --replace "TestClient_${testName}_storage" "SkipClient_${testName}_storage" \
23+ --replace "TestClient_${testName}_secretManager" "SkipClient_${testName}_secretManager"
24+ ''
25+ ) "" (builtins.attrNames skipTests);
26+in
27+
328buildGoModule rec {
429 pname = "berglas";
5− version = "0.5.1";
30+ version = "0.6.2";
631
732 src = fetchFromGitHub {
833 owner = "GoogleCloudPlatform";
934 repo = pname;
1035 rev = "v${version}";
11− sha256 = "0y393g36h35zzqyf5b10j6qq2jhvz83j17cmasnv6wbyrb3vnn0n";
36+ sha256 = "sha256-aLsrrK+z080qn7L2zggA8yD+QqLaSRJLTjWQnFKFogQ=";
1237 };
1338
14− vendorSha256 = null;
39+ vendorSha256 = "sha256-HjZT0jezJzoEvXuzrjoTv/zSex+xDuGoP1h82CIlX14=";
1540
16− doCheck = false;
41+ postPatch = skipTestsCommand;
1742
1843 meta = with lib; {
1944 description = "A tool for managing secrets on Google Cloud";
pkgs/tools/admin/fits-cloudctl/default.nix+2−2
@@ -5,13 +5,13 @@
55
66buildGoModule rec {
77 pname = "fits-cloudctl";
8− version = "0.10.11";
8+ version = "0.10.12";
99
1010 src = fetchFromGitHub {
1111 owner = "fi-ts";
1212 repo = "cloudctl";
1313 rev = "v${version}";
14− sha256 = "sha256-hGKnQk2OPpHsjbRh/xx3MidbUMio6tYn+oJB0t1a/yM=";
14+ sha256 = "sha256-nFxudeJJ5BkfZxSnRquyATHyHwI+7xwfQxiY8cedtis=";
1515 };
1616
1717 vendorSha256 = "sha256-f35Asf9l6ZfixpjMGzesTsxmANreilMxH2CULMH3b2o=";
pkgs/tools/admin/syft/default.nix+3−3
@@ -2,13 +2,13 @@
22
33buildGoModule rec {
44 pname = "syft";
5− version = "0.41.4";
5+ version = "0.41.6";
66
77 src = fetchFromGitHub {
88 owner = "anchore";
99 repo = pname;
1010 rev = "v${version}";
11− sha256 = "sha256-QRT5wvud9VMtXQ8QPC7joIMq7kYYlfVUSgzqMFW5LIE=";
11+ sha256 = "sha256-Ebs0IVdcll7bTNjoZalD5Ye0GFXJeas1nPseYLzZxOk=";
1212 # populate values that require us to use git. By doing this in postFetch we
1313 # can delete .git afterwards and maintain better reproducibility of the src.
1414 leaveDotGit = true;
@@ -22,7 +22,7 @@ buildGoModule rec {
2222 find "$out" -name .git -print0 | xargs -0 rm -rf
2323 '';
2424 };
25− vendorSha256 = "sha256-9/Mtjqny68HN4FItT2+yoknzdHBAS1aQL0VkTdm6624=";
25+ vendorSha256 = "sha256-/WGkQfCUDmolGdzNxIZKzZnXWnqO2vvizBLJgO+s4Ak=";
2626
2727 nativeBuildInputs = [ installShellFiles ];
2828
pkgs/tools/admin/trivy/default.nix+3−3
@@ -5,16 +5,16 @@
55
66buildGoModule rec {
77 pname = "trivy";
8− version = "0.24.2";
8+ version = "0.24.3";
99
1010 src = fetchFromGitHub {
1111 owner = "aquasecurity";
1212 repo = pname;
1313 rev = "v${version}";
14− sha256 = "sha256-xMLSou+8kIQVEJlkA7ygv623hvETcEAdyFPR3HJr5ZQ=";
14+ sha256 = "sha256-8ozoSorVoYt5C4F2FgEwGYQErBVnoTt2FhxiC3/SGsA=";
1515 };
1616
17− vendorSha256 = "sha256-qRkxDvrqMVOsz5r3m3I+E0HAVoUwFykkfGzTz9Qc/S4=";
17+ vendorSha256 = "sha256-HM4SxCvvHz7MZsHa8+Orx1KKCRhyZH28JlN9wW+/xIw=";
1818
1919 excludedPackages = "misc";
2020
pkgs/tools/misc/plantuml-server/default.nix+7−56
@@ -1,69 +1,20 @@
1−{ lib, stdenv, fetchFromGitHub, maven, jdk17_headless }:
1+{ lib, stdenv, fetchurl }:
22
33let
44 version = "1.2022.2";
5−
6− src = fetchFromGitHub {
7− owner = "plantuml";
8− repo = "plantuml-server";
9− rev = "v${version}";
10− sha256 = "sha256-55IBhulFo42jscBFrHM39qA0GRgKBoYNye4q9QkmjsM=";
11− };
12−
13− # perform fake build to make a fixed-output derivation out of the files downloaded from maven central
14− deps = stdenv.mkDerivation {
15− name = "plantuml-server-${version}-deps";
16− inherit src;
17− nativeBuildInputs = [ jdk17_headless maven ];
18− buildPhase = ''
19− runHook preBuild
20−
21− while mvn package -Dmaven.repo.local=$out/.m2; [ $? = 1 ]; do
22− echo "timeout, restart maven to continue downloading"
23− done
24−
25− runHook postBuild
26− '';
27− # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside
28− installPhase = ''
29− find $out/.m2 -type f -regex '.+\(\.lastUpdated\|resolver-status\.properties\|_remote\.repositories\)' -delete
30− '';
31− outputHashAlgo = "sha256";
32− outputHashMode = "recursive";
33− outputHash = "sha256-AheCBX5jFzDHqTI2pCWBIiDESEKMClXlvWIcFvu0goA=";
34− };
355in
36−
376stdenv.mkDerivation rec {
387 pname = "plantuml-server";
398 inherit version;
40− inherit src;
41−
42− nativeBuildInputs = [ jdk17_headless maven ];
43−
44− buildPhase = ''
45− runHook preBuild
46−
47− # maven can output reproducible files after setting project.build.outputTimestamp property
48− # see https://maven.apache.org/guides/mini/guide-reproducible-builds.html#how-do-i-configure-my-maven-build
49− # 'maven.repo.local' must be writable so copy it out of nix store
50− cp -R $src repo
51− chmod +w -R repo
52− cd repo
53− mvn package --offline \
54− -Dproject.build.outputTimestamp=0 \
55− -Dmaven.repo.local=$(cp -dpR ${deps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2
56−
57− runHook postBuild
58− '';
9+ src = fetchurl {
10+ url = "https://github.com/plantuml/plantuml-server/releases/download/v${version}/plantuml-v${version}.war";
11+ sha256 = "sha256-h4ulXzZ5L+VPhk2CnZQNxfnEJzWT3B9TNvDEWt4o9Hk=";
12+ };
5913
14+ dontUnpack = true;
6015 installPhase = ''
61− runHook preInstall
62−
6316 mkdir -p "$out/webapps"
64− cp "target/plantuml.war" "$out/webapps/plantuml.war"
65−
66− runHook postInstall
17+ cp "$src" "$out/webapps/plantuml.war"
6718 '';
6819
6920 meta = with lib; {
pkgs/tools/networking/hey/default.nix−2
@@ -13,8 +13,6 @@ buildGoModule rec {
1313
1414 vendorSha256 = null;
1515
16− doCheck = false;
17−
1816 meta = with lib; {
1917 description = "HTTP load generator, ApacheBench (ab) replacement";
2018 homepage = "https://github.com/rakyll/hey";
pkgs/tools/networking/httpie/default.nix+11−7
@@ -1,19 +1,20 @@
11{ lib
22, fetchFromGitHub
33, installShellFiles
4−, python3Packages
4+, python3
55, pandoc
66}:
77
8−python3Packages.buildPythonApplication rec {
8+python3.pkgs.buildPythonApplication rec {
99 pname = "httpie";
10− version = "3.0.2";
10+ version = "3.1.0";
11+ format = "setuptools";
1112
1213 src = fetchFromGitHub {
1314 owner = "httpie";
1415 repo = "httpie";
1516 rev = version;
16− sha256 = "sha256-s3IFzEUQmPBocgspVGx1nINkUamsi7tzwW37IqdBMxo=";
17+ hash = "sha256-x7Zucb2i8D4Xbn77eBzSxOAcc2fGg5MFKFiyJhytQ0s=";
1718 };
1819
1920 nativeBuildInputs = [
@@ -21,7 +22,7 @@ python3Packages.buildPythonApplication rec {
2122 pandoc
2223 ];
2324
24− propagatedBuildInputs = with python3Packages; [
25+ propagatedBuildInputs = with python3.pkgs; [
2526 charset-normalizer
2627 defusedxml
2728 multidict
@@ -31,10 +32,11 @@ python3Packages.buildPythonApplication rec {
3132 setuptools
3233 ];
3334
34− checkInputs = with python3Packages; [
35+ checkInputs = with python3.pkgs; [
3536 mock
3637 pytest
3738 pytest-httpbin
39+ pytest-lazy-fixture
3840 pytestCheckHook
3941 responses
4042 ];
@@ -65,7 +67,9 @@ python3Packages.buildPythonApplication rec {
6567 "httpie.encoding.detect_encoding"
6668 ];
6769
68− pythonImportsCheck = [ "httpie" ];
70+ pythonImportsCheck = [
71+ "httpie"
72+ ];
6973
7074 meta = with lib; {
7175 description = "A command line HTTP client whose goal is to make CLI human-friendly";
pkgs/tools/nix/nix-output-monitor/default.nix+19−160
@@ -1,164 +1,23 @@
1−# This file has been autogenerate with cabal2nix.
2−# Update via ./update.sh"
31{
4− mkDerivation,
5− ansi-terminal,
6− async,
7− attoparsec,
8− base,
9− bytestring,
10− cassava,
11− containers,
12− data-default,
13− directory,
2+ haskell,
143 expect,
15− extra,
16− fetchzip,
17− filepath,
18− generic-optics,
19− HUnit,
4+ haskellPackages,
205 installShellFiles,
21− lib,
22− lock-file,
23− MemoTrie,
24− mtl,
25− nix-derivation,
26− optics,
27− process,
28− random,
29− relude,
30− runtimeShell,
31− safe,
32− stm,
33− streamly,
34− terminal-size,
35− text,
36− time,
37− unix,
38− vector,
39− wcwidth,
40− word8,
41−}:
42−mkDerivation {
43− pname = "nix-output-monitor";
44− version = "1.1.2.0";
45− src = fetchzip {
46− url = "https://github.com/maralorn/nix-output-monitor/archive/refs/tags/v1.1.2.0.tar.gz";
47− sha256 = "03qhy4xzika41pxlmvpz3psgy54va72ipn9v1lv33l6369ikrhl1";
6+}: let
7+ inherit (haskell.lib.compose) justStaticExecutables overrideCabal;
8+ overrides = {
9+ passthru.updateScript = ./update.sh;
10+ testTarget = "unit-tests";
11+ buildTools = [installShellFiles];
12+ postInstall = ''
13+ substitute "exe-sh/nom-build" "$out/bin/nom-build" \
14+ --replace 'unbuffer' '${expect}/bin/unbuffer' \
15+ --replace 'nom' "$out/bin/nom"
16+ chmod a+x $out/bin/nom-build
17+ installShellCompletion --zsh --name _nom-build completions/completion.zsh
18+ '';
4819 };
49− isLibrary = true;
50− isExecutable = true;
51− libraryHaskellDepends = [
52− ansi-terminal
53− async
54− attoparsec
55− base
56− bytestring
57− cassava
58− containers
59− data-default
60− directory
61− extra
62− filepath
63− generic-optics
64− lock-file
65− MemoTrie
66− mtl
67− nix-derivation
68− optics
69− random
70− relude
71− safe
72− stm
73− streamly
74− terminal-size
75− text
76− time
77− unix
78− vector
79− wcwidth
80− word8
81− ];
82− executableHaskellDepends = [
83− ansi-terminal
84− async
85− attoparsec
86− base
87− bytestring
88− cassava
89− containers
90− data-default
91− directory
92− extra
93− filepath
94− generic-optics
95− lock-file
96− MemoTrie
97− mtl
98− nix-derivation
99− optics
100− random
101− relude
102− safe
103− stm
104− streamly
105− terminal-size
106− text
107− time
108− unix
109− vector
110− wcwidth
111− word8
112− ];
113− testHaskellDepends = [
114− ansi-terminal
115− async
116− attoparsec
117− base
118− bytestring
119− cassava
120− containers
121− data-default
122− directory
123− extra
124− filepath
125− generic-optics
126− HUnit
127− lock-file
128− MemoTrie
129− mtl
130− nix-derivation
131− optics
132− process
133− random
134− relude
135− safe
136− stm
137− streamly
138− terminal-size
139− text
140− time
141− unix
142− vector
143− wcwidth
144− word8
145− ];
146− homepage = "https://github.com/maralorn/nix-output-monitor";
147− description = "Parses output of nix-build to show additional information";
148− license = lib.licenses.agpl3Plus;
149− maintainers = with lib.maintainers; [maralorn];
150− passthru.updateScript = ./update.sh;
151− testTarget = "unit-tests";
152− buildTools = [installShellFiles];
153− postInstall = ''
154− cat > $out/bin/nom-build << EOF
155− #!${runtimeShell}
156− ${expect}/bin/unbuffer nix-build "\$@" 2>&1 | exec $out/bin/nom
157− EOF
158− chmod a+x $out/bin/nom-build
159− installShellCompletion --zsh --name _nom-build ${builtins.toFile "completion.zsh" ''
160− #compdef nom-build
161− compdef nom-build=nix-build
162− ''}
163− '';
164−}
20+in
21+ justStaticExecutables
22+ (overrideCabal overrides
23+ (haskellPackages.callPackage ./generated-package.nix {}))
pkgs/tools/nix/nix-output-monitor/generated-package.nixnew file+147
@@ -0,0 +1,147 @@
1+# This file has been autogenerate with cabal2nix.
2+# Update via ./update.sh"
3+{
4+ mkDerivation,
5+ ansi-terminal,
6+ async,
7+ attoparsec,
8+ base,
9+ bytestring,
10+ cassava,
11+ containers,
12+ data-default,
13+ directory,
14+ extra,
15+ fetchzip,
16+ filepath,
17+ generic-optics,
18+ HUnit,
19+ lib,
20+ lock-file,
21+ MemoTrie,
22+ mtl,
23+ nix-derivation,
24+ optics,
25+ process,
26+ random,
27+ relude,
28+ safe,
29+ stm,
30+ streamly,
31+ terminal-size,
32+ text,
33+ time,
34+ unix,
35+ vector,
36+ wcwidth,
37+ word8,
38+}:
39+mkDerivation {
40+ pname = "nix-output-monitor";
41+ version = "1.1.2.1";
42+ src = fetchzip {
43+ url = "https://github.com/maralorn/nix-output-monitor/archive/refs/tags/v1.1.2.1.tar.gz";
44+ sha256 = "00jn963jskyqnwvbvn5x0z92x2gv105p5h8m13nlmr90lj4axynx";
45+ };
46+ isLibrary = true;
47+ isExecutable = true;
48+ libraryHaskellDepends = [
49+ ansi-terminal
50+ async
51+ attoparsec
52+ base
53+ bytestring
54+ cassava
55+ containers
56+ data-default
57+ directory
58+ extra
59+ filepath
60+ generic-optics
61+ lock-file
62+ MemoTrie
63+ mtl
64+ nix-derivation
65+ optics
66+ random
67+ relude
68+ safe
69+ stm
70+ streamly
71+ terminal-size
72+ text
73+ time
74+ unix
75+ vector
76+ wcwidth
77+ word8
78+ ];
79+ executableHaskellDepends = [
80+ ansi-terminal
81+ async
82+ attoparsec
83+ base
84+ bytestring
85+ cassava
86+ containers
87+ data-default
88+ directory
89+ extra
90+ filepath
91+ generic-optics
92+ lock-file
93+ MemoTrie
94+ mtl
95+ nix-derivation
96+ optics
97+ random
98+ relude
99+ safe
100+ stm
101+ streamly
102+ terminal-size
103+ text
104+ time
105+ unix
106+ vector
107+ wcwidth
108+ word8
109+ ];
110+ testHaskellDepends = [
111+ ansi-terminal
112+ async
113+ attoparsec
114+ base
115+ bytestring
116+ cassava
117+ containers
118+ data-default
119+ directory
120+ extra
121+ filepath
122+ generic-optics
123+ HUnit
124+ lock-file
125+ MemoTrie
126+ mtl
127+ nix-derivation
128+ optics
129+ process
130+ random
131+ relude
132+ safe
133+ stm
134+ streamly
135+ terminal-size
136+ text
137+ time
138+ unix
139+ vector
140+ wcwidth
141+ word8
142+ ];
143+ homepage = "https://github.com/maralorn/nix-output-monitor";
144+ description = "Parses output of nix-build to show additional information";
145+ license = lib.licenses.agpl3Plus;
146+ maintainers = with lib.maintainers; [maralorn];
147+}
pkgs/tools/nix/nix-output-monitor/update.sh+2−23
@@ -9,7 +9,7 @@ set -eo pipefail
99# This is the directory of this update.sh script.
1010script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
1111
12−derivation_file="${script_dir}/default.nix"
12+derivation_file="${script_dir}/generated-package.nix"
1313
1414# This is the latest released version of nix-output-monitor on GitHub.
1515new_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
2323EOF
2424
2525cabal2nix \
26− --extra-arguments expect \
27− --extra-arguments runtimeShell\
28− --extra-arguments installShellFiles\
2926 --maintainer maralorn \
3027 "https://github.com/maralorn/nix-output-monitor/archive/refs/tags/${new_version}.tar.gz" \
31− | head -n-1 >> "$derivation_file"
32−
33−cat >> "$derivation_file" << EOF
34− passthru.updateScript = ./update.sh;
35− testTarget = "unit-tests";
36− buildTools = [ installShellFiles ];
37− postInstall = ''
38− cat > \$out/bin/nom-build << EOF
39− #!\${runtimeShell}
40− \${expect}/bin/unbuffer nix-build "\\\$@" 2>&1 | exec \$out/bin/nom
41− EOF
42− chmod a+x \$out/bin/nom-build
43− installShellCompletion --zsh --name _nom-build \${builtins.toFile "completion.zsh" ''
44− #compdef nom-build
45− compdef nom-build=nix-build
46− ''}
47− '';
48−}
49−EOF
28+ >> "$derivation_file"
5029
5130alejandra "${derivation_file}" | cat
5231
pkgs/tools/security/cariddi/default.nix+3−3
@@ -5,16 +5,16 @@
55
66buildGoModule rec {
77 pname = "cariddi";
8− version = "1.1.5";
8+ version = "1.1.6";
99
1010 src = fetchFromGitHub {
1111 owner = "edoardottt";
1212 repo = pname;
1313 rev = "v${version}";
14− sha256 = "sha256-PXQljC9rwlxXQ96fII3EjD4NXu61EMkYvMWqkcJZ4vU=";
14+ sha256 = "sha256-/ez2biYU8NnVny8v5Mu9pLq0oqzcIenpyEb3qkPd9v8=";
1515 };
1616
17− vendorSha256 = "sha256-zNUdglsfy6lEV54afCAoigxa3rR0qf/e3+B4PvVRIa4=";
17+ vendorSha256 = "sha256-zJ39tAq+ooROMHG1vC2m2rbq+wttxqYxAd2hLg5GtJM=";
1818
1919 meta = with lib; {
2020 description = "Crawler for URLs and endpoints";
pkgs/tools/security/cfripper/default.nix+2−2
@@ -5,13 +5,13 @@
55
66python3.pkgs.buildPythonApplication rec {
77 pname = "cfripper";
8− version = "1.5.1";
8+ version = "1.5.2";
99
1010 src = fetchFromGitHub {
1111 owner = "Skyscanner";
1212 repo = pname;
1313 rev = version;
14− hash = "sha256-/qcpLCk1ZZMKxhqK6q6sSbRDjiF5GQmDJzvCaV2kAqQ=";
14+ hash = "sha256-tl0g08nnY1CZ4SNcMFPARIRquiO9SCen9VWeNalLHds=";
1515 };
1616
1717 propagatedBuildInputs = with python3.pkgs; [
pkgs/tools/security/feroxbuster/default.nixnew file+45
@@ -0,0 +1,45 @@
1+{ lib
2+, stdenv
3+, fetchFromGitHub
4+, openssl
5+, pkg-config
6+, rustPlatform
7+, Security
8+}:
9+
10+rustPlatform.buildRustPackage rec {
11+ pname = "feroxbuster";
12+ version = "2.6.1";
13+
14+ src = fetchFromGitHub {
15+ owner = "epi052";
16+ repo = pname;
17+ rev = "v${version}";
18+ hash = "sha256-RY9bFuALRaVXDrC0eIx0inPjRqNpRKNZf3mCrKIdGL8=";
19+ };
20+
21+ cargoSha256 = "sha256-0Zawlx/lhF7K8nOsHYKO84pnctVMpm3RfnAFCOltOqE=";
22+
23+ OPENSSL_NO_VENDOR = true;
24+
25+ nativeBuildInputs = [
26+ pkg-config
27+ ];
28+
29+ buildInputs = [
30+ openssl
31+ ] ++ lib.optionals stdenv.isDarwin [
32+ Security
33+ ];
34+
35+ # Tests require network access
36+ doCheck = false;
37+
38+ meta = with lib; {
39+ description = "Fast, simple, recursive content discovery tool";
40+ homepage = "https://github.com/epi052/feroxbuster";
41+ license = with licenses; [ mit ];
42+ maintainers = with maintainers; [ fab ];
43+ };
44+}
45+
pkgs/tools/security/grype/default.nix+3−3
@@ -6,13 +6,13 @@
66
77buildGoModule rec {
88 pname = "grype";
9− version = "0.34.1";
9+ version = "0.34.2";
1010
1111 src = fetchFromGitHub {
1212 owner = "anchore";
1313 repo = pname;
1414 rev = "v${version}";
15− sha256 = "sha256-Xr3ws6qmfL25Kml7Klw095N9MNrm6a8lBtOWiucnzXE=";
15+ sha256 = "sha256-tMkMGM45/LcFllEgQ3UTl6FsLJmdsU8SLcLH/8+zMA4=";
1616 # populate values that require us to use git. By doing this in postFetch we
1717 # can delete .git afterwards and maintain better reproducibility of the src.
1818 leaveDotGit = true;
@@ -27,7 +27,7 @@ buildGoModule rec {
2727 '';
2828 };
2929
30− vendorSha256 = "sha256-fuOAfLESs/97aQUkIy6DkmYFyvKKCHazgt1WnE8GeH8=";
30+ vendorSha256 = "sha256-WrUZFlN7dPbyN9InjX/Y9J+iYKu5v2/SHmRgDP5BJi8=";
3131
3232 nativeBuildInputs = [
3333 installShellFiles
pkgs/tools/security/sigma-cli/default.nix+2−2
@@ -5,14 +5,14 @@
55
66python3.pkgs.buildPythonApplication rec {
77 pname = "sigma-cli";
8− version = "0.3.0";
8+ version = "0.3.2";
99 format = "pyproject";
1010
1111 src = fetchFromGitHub {
1212 owner = "SigmaHQ";
1313 repo = pname;
1414 rev = "v${version}";
15− hash = "sha256-Nfd78Y35naDTzwodcdvJr/02CptcHxS717VGsR/QOuI=";
15+ hash = "sha256-We6vJXLIxGe//78pgJFrihFJHl0gRd02I53hoYWcao0=";
1616 };
1717
1818 nativeBuildInputs = with python3.pkgs; [
pkgs/top-level/all-packages.nix+11−1
@@ -2388,6 +2388,8 @@ with pkgs;
23882388
23892389 borgmatic = callPackage ../tools/backup/borgmatic { };
23902390
2391+ borg-sans-mono = callPackage ../data/fonts/borg-sans-mono { };
2392+
23912393 boringtun = callPackage ../tools/networking/boringtun { };
23922394
23932395 bookstack = callPackage ../servers/web-apps/bookstack { };
@@ -3428,6 +3430,8 @@ with pkgs;
34283430 inherit (darwin.apple_sdk.frameworks) Security;
34293431 };
34303432
3433+ lapce = callPackage ../applications/editors/lapce { };
3434+
34313435 lcdproc = callPackage ../servers/monitoring/lcdproc { };
34323436
34333437 languagetool = callPackage ../tools/text/languagetool { };
@@ -3602,7 +3606,7 @@ with pkgs;
36023606
36033607 nix-direnv = callPackage ../tools/misc/nix-direnv { };
36043608
3605− nix-output-monitor = haskell.lib.compose.justStaticExecutables (haskellPackages.nix-output-monitor);
3609+ nix-output-monitor = callPackage ../tools/nix/nix-output-monitor { };
36063610
36073611 nix-template = callPackage ../tools/package-management/nix-template {
36083612 inherit (darwin.apple_sdk.frameworks) Security;
@@ -5437,6 +5441,10 @@ with pkgs;
54375441
54385442 ferm = callPackage ../tools/networking/ferm { };
54395443
5444+ feroxbuster = callPackage ../tools/security/feroxbuster {
5445+ inherit (darwin.apple_sdk.frameworks) Security;
5446+ };
5447+
54405448 ffsend = callPackage ../tools/misc/ffsend {
54415449 inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Security AppKit;
54425450 };
@@ -17906,6 +17914,8 @@ with pkgs;
1790617914
1790717915 libctemplate = callPackage ../development/libraries/libctemplate { };
1790817916
17917+ libctl = callPackage ../development/libraries/libctl { };
17918+
1790917919 libcotp = callPackage ../development/libraries/libcotp { };
1791017920
1791117921 libcouchbase = callPackage ../development/libraries/libcouchbase { };